Rewrite font handling, use dalamud font chooser
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Version>1.27.7</Version>
|
<Version>1.27.8</Version>
|
||||||
<TargetFramework>net8.0-windows</TargetFramework>
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
@@ -54,8 +54,7 @@
|
|||||||
<PackageReference Include="MessagePack" Version="2.5.140" />
|
<PackageReference Include="MessagePack" Version="2.5.140" />
|
||||||
<PackageReference Include="Microsoft.Data.Sqlite" Version="8.0.4" />
|
<PackageReference Include="Microsoft.Data.Sqlite" Version="8.0.4" />
|
||||||
<PackageReference Include="Pidgin" Version="3.2.2"/>
|
<PackageReference Include="Pidgin" Version="3.2.2"/>
|
||||||
<PackageReference Include="SharpDX.Direct2D1" Version="4.2.0"/>
|
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.5" />
|
||||||
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.4" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2,10 +2,11 @@ using System.Collections;
|
|||||||
using ChatTwo.Code;
|
using ChatTwo.Code;
|
||||||
using ChatTwo.GameFunctions.Types;
|
using ChatTwo.GameFunctions.Types;
|
||||||
using ChatTwo.Resources;
|
using ChatTwo.Resources;
|
||||||
using ChatTwo.Ui;
|
|
||||||
using ChatTwo.Util;
|
using ChatTwo.Util;
|
||||||
|
using Dalamud;
|
||||||
using Dalamud.Configuration;
|
using Dalamud.Configuration;
|
||||||
using Dalamud.Game.ClientState.Keys;
|
using Dalamud.Game.ClientState.Keys;
|
||||||
|
using Dalamud.Interface.FontIdentifier;
|
||||||
using ImGuiNET;
|
using ImGuiNET;
|
||||||
|
|
||||||
namespace ChatTwo;
|
namespace ChatTwo;
|
||||||
@@ -80,11 +81,25 @@ internal class Configuration : IPluginConfiguration
|
|||||||
|
|
||||||
public bool FontsEnabled = true;
|
public bool FontsEnabled = true;
|
||||||
public ExtraGlyphRanges ExtraGlyphRanges = 0;
|
public ExtraGlyphRanges ExtraGlyphRanges = 0;
|
||||||
|
public float FontSizeV2 = 12.75f;
|
||||||
|
public float SymbolsFontSizeV2 = 12.75f;
|
||||||
|
public SingleFontSpec GlobalFontV2 = new()
|
||||||
|
{
|
||||||
|
FontId = new DalamudAssetFontAndFamilyId(DalamudAsset.NotoSansKrRegular), // dalamud only ships KR as regular, which chat2 used previously for global fonts
|
||||||
|
SizePt = 12.75f,
|
||||||
|
};
|
||||||
|
public SingleFontSpec JapaneseFontV3 = new()
|
||||||
|
{
|
||||||
|
FontId = new DalamudAssetFontAndFamilyId(DalamudAsset.NotoSansJpMedium),
|
||||||
|
SizePt = 12.75f,
|
||||||
|
};
|
||||||
|
|
||||||
|
// TODO Remove after 24.08
|
||||||
public float FontSize = 17f;
|
public float FontSize = 17f;
|
||||||
public float JapaneseFontSize = 17f;
|
public float JapaneseFontSize = 17f;
|
||||||
public float SymbolsFontSize = 17f;
|
public float SymbolsFontSize = 17f;
|
||||||
public string GlobalFont = Fonts.GlobalFonts[0].Name;
|
public string GlobalFont = "Chat 2: Noto Sans";
|
||||||
public string JapaneseFont = Fonts.JapaneseFonts[0].Item1;
|
public string JapaneseFont = "Chat 2: Noto Sans JP";
|
||||||
|
|
||||||
public float TooltipOffset;
|
public float TooltipOffset;
|
||||||
public float WindowAlpha = 100f;
|
public float WindowAlpha = 100f;
|
||||||
@@ -145,11 +160,10 @@ internal class Configuration : IPluginConfiguration
|
|||||||
BlockedEmotes = other.BlockedEmotes;
|
BlockedEmotes = other.BlockedEmotes;
|
||||||
FontsEnabled = other.FontsEnabled;
|
FontsEnabled = other.FontsEnabled;
|
||||||
ExtraGlyphRanges = other.ExtraGlyphRanges;
|
ExtraGlyphRanges = other.ExtraGlyphRanges;
|
||||||
FontSize = other.FontSize;
|
FontSizeV2 = other.FontSizeV2;
|
||||||
JapaneseFontSize = other.JapaneseFontSize;
|
GlobalFontV2 = other.GlobalFontV2;
|
||||||
SymbolsFontSize = other.SymbolsFontSize;
|
JapaneseFontV3 = other.JapaneseFontV3;
|
||||||
GlobalFont = other.GlobalFont;
|
SymbolsFontSizeV2 = other.SymbolsFontSizeV2;
|
||||||
JapaneseFont = other.JapaneseFont;
|
|
||||||
TooltipOffset = other.TooltipOffset;
|
TooltipOffset = other.TooltipOffset;
|
||||||
WindowAlpha = other.WindowAlpha;
|
WindowAlpha = other.WindowAlpha;
|
||||||
ChatColours = other.ChatColours.ToDictionary(entry => entry.Key, entry => entry.Value);
|
ChatColours = other.ChatColours.ToDictionary(entry => entry.Key, entry => entry.Value);
|
||||||
|
|||||||
+53
-119
@@ -1,5 +1,4 @@
|
|||||||
using ChatTwo.Ui;
|
using Dalamud.Interface;
|
||||||
using Dalamud.Interface;
|
|
||||||
using Dalamud.Interface.GameFonts;
|
using Dalamud.Interface.GameFonts;
|
||||||
using Dalamud.Interface.ManagedFontAtlas;
|
using Dalamud.Interface.ManagedFontAtlas;
|
||||||
using Dalamud.Interface.Utility;
|
using Dalamud.Interface.Utility;
|
||||||
@@ -9,8 +8,6 @@ namespace ChatTwo;
|
|||||||
|
|
||||||
public class FontManager
|
public class FontManager
|
||||||
{
|
{
|
||||||
private readonly Plugin Plugin;
|
|
||||||
|
|
||||||
internal IFontHandle Axis { get; private set; }
|
internal IFontHandle Axis { get; private set; }
|
||||||
internal IFontHandle AxisItalic { get; private set; }
|
internal IFontHandle AxisItalic { get; private set; }
|
||||||
|
|
||||||
@@ -19,45 +16,37 @@ public class FontManager
|
|||||||
|
|
||||||
internal IFontHandle FontAwesome { get; private set; }
|
internal IFontHandle FontAwesome { get; private set; }
|
||||||
|
|
||||||
private FaceData _regularFont;
|
private readonly byte[] GameSymFont;
|
||||||
private FaceData? _italicFont;
|
|
||||||
private FaceData _jpFont;
|
|
||||||
private FaceData _gameSymFont;
|
|
||||||
|
|
||||||
private ushort[] _ranges;
|
private ushort[] Ranges;
|
||||||
private ushort[] _jpRange;
|
private ushort[] JpRange;
|
||||||
private ushort[] _symRange = [0xE020, 0xE0DB, 0];
|
private readonly ushort[] SymRange = [0xE020, 0xE0DB, 0];
|
||||||
|
|
||||||
public FontManager(Plugin plugin)
|
|
||||||
|
public static readonly HashSet<float> AxisFontSizeList =
|
||||||
|
[
|
||||||
|
9.6f, 10f, 12f, 14f, 16f,
|
||||||
|
18f, 18.4f, 20f, 23f, 34f,
|
||||||
|
36f, 40f, 45f, 46f, 68f, 90f,
|
||||||
|
];
|
||||||
|
|
||||||
|
public FontManager()
|
||||||
{
|
{
|
||||||
Plugin = plugin;
|
|
||||||
|
|
||||||
byte[] gameSym;
|
|
||||||
var filePath = Path.Combine(Plugin.Interface.ConfigDirectory.FullName, "FFXIV_Lodestone_SSF.ttf");
|
var filePath = Path.Combine(Plugin.Interface.ConfigDirectory.FullName, "FFXIV_Lodestone_SSF.ttf");
|
||||||
if (File.Exists(filePath))
|
if (File.Exists(filePath))
|
||||||
{
|
{
|
||||||
gameSym = File.ReadAllBytes(filePath);
|
GameSymFont = File.ReadAllBytes(filePath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gameSym = new HttpClient().GetAsync("https://img.finalfantasyxiv.com/lds/pc/global/fonts/FFXIV_Lodestone_SSF.ttf")
|
GameSymFont = new HttpClient().GetAsync("https://img.finalfantasyxiv.com/lds/pc/global/fonts/FFXIV_Lodestone_SSF.ttf")
|
||||||
.Result
|
.Result
|
||||||
.Content
|
.Content
|
||||||
.ReadAsByteArrayAsync()
|
.ReadAsByteArrayAsync()
|
||||||
.Result;
|
.Result;
|
||||||
|
|
||||||
Dalamud.Utility.Util.WriteAllBytesSafe(filePath, gameSym);
|
Dalamud.Utility.Util.WriteAllBytesSafe(filePath, GameSymFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
_gameSymFont = new FaceData(gameSym);
|
|
||||||
}
|
|
||||||
|
|
||||||
private byte[] GetResource(string name)
|
|
||||||
{
|
|
||||||
var stream = GetType().Assembly.GetManifestResourceStream(name)!;
|
|
||||||
var memory = new MemoryStream();
|
|
||||||
stream.CopyTo(memory);
|
|
||||||
return memory.ToArray();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private unsafe void SetUpRanges()
|
private unsafe void SetUpRanges()
|
||||||
@@ -102,80 +91,23 @@ public class FontManager
|
|||||||
if (Plugin.Config.ExtraGlyphRanges.HasFlag(extraRange))
|
if (Plugin.Config.ExtraGlyphRanges.HasFlag(extraRange))
|
||||||
ranges.Add(extraRange.Range());
|
ranges.Add(extraRange.Range());
|
||||||
|
|
||||||
_ranges = BuildRange(null, ranges.ToArray());
|
Ranges = BuildRange(null, ranges.ToArray());
|
||||||
_jpRange = BuildRange(GlyphRangesJapanese.GlyphRanges);
|
JpRange = BuildRange(GlyphRangesJapanese.GlyphRanges);
|
||||||
}
|
|
||||||
|
|
||||||
private void SetUpUserFonts()
|
|
||||||
{
|
|
||||||
FontData? fontData = null;
|
|
||||||
if (Plugin.Config.GlobalFont.StartsWith(Fonts.IncludedIndicator))
|
|
||||||
{
|
|
||||||
var globalFont = Fonts.GlobalFonts.FirstOrDefault(font => font.Name == Plugin.Config.GlobalFont);
|
|
||||||
if (globalFont != null)
|
|
||||||
{
|
|
||||||
var regular = new FaceData(GetResource(globalFont.ResourcePath));
|
|
||||||
var italic = new FaceData(GetResource(globalFont.ResourcePathItalic));
|
|
||||||
fontData = new FontData(regular, italic);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
fontData = Fonts.GetFont(Plugin.Config.GlobalFont, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fontData == null)
|
|
||||||
{
|
|
||||||
Plugin.Config.GlobalFont = Fonts.GlobalFonts[0].Name;
|
|
||||||
Plugin.SaveConfig();
|
|
||||||
|
|
||||||
var globalFont = Fonts.GlobalFonts[0];
|
|
||||||
var regular = new FaceData(GetResource(globalFont.ResourcePath));
|
|
||||||
var italic = new FaceData(GetResource(globalFont.ResourcePathItalic));
|
|
||||||
fontData = new FontData(regular, italic);
|
|
||||||
}
|
|
||||||
|
|
||||||
_regularFont = fontData.Regular;
|
|
||||||
_italicFont = fontData.Italic ?? null;
|
|
||||||
|
|
||||||
FontData? jpFontData = null;
|
|
||||||
if (Plugin.Config.JapaneseFont.StartsWith(Fonts.IncludedIndicator))
|
|
||||||
{
|
|
||||||
var jpFont = Fonts.JapaneseFonts.FirstOrDefault(item => item.Item1 == Plugin.Config.JapaneseFont);
|
|
||||||
if (jpFont != default)
|
|
||||||
jpFontData = new FontData(new FaceData(GetResource(jpFont.Item2)), null);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
jpFontData = Fonts.GetFont(Plugin.Config.JapaneseFont, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (jpFontData == null)
|
|
||||||
{
|
|
||||||
Plugin.Config.JapaneseFont = Fonts.JapaneseFonts[0].Item1;
|
|
||||||
Plugin.SaveConfig();
|
|
||||||
|
|
||||||
var jpFont = Fonts.JapaneseFonts[0];
|
|
||||||
jpFontData = new FontData(new FaceData(GetResource(jpFont.Item2)), null);
|
|
||||||
}
|
|
||||||
|
|
||||||
_jpFont = jpFontData.Regular;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void BuildFonts()
|
public void BuildFonts()
|
||||||
{
|
{
|
||||||
SetUpRanges();
|
SetUpRanges();
|
||||||
SetUpUserFonts();
|
|
||||||
|
|
||||||
Axis = Plugin.Interface.UiBuilder.FontAtlas.NewGameFontHandle(new GameFontStyle(GameFontFamily.Axis, Plugin.Config.FontSize));
|
Axis = Plugin.Interface.UiBuilder.FontAtlas.NewGameFontHandle(new GameFontStyle(GameFontFamily.Axis, SizeInPx(Plugin.Config.FontSizeV2)));
|
||||||
AxisItalic = Plugin.Interface.UiBuilder.FontAtlas.NewGameFontHandle(new GameFontStyle(GameFontFamily.Axis, Plugin.Config.FontSize)
|
AxisItalic = Plugin.Interface.UiBuilder.FontAtlas.NewGameFontHandle(new GameFontStyle(GameFontFamily.Axis, SizeInPx(Plugin.Config.FontSizeV2))
|
||||||
{
|
{
|
||||||
SkewStrength = Plugin.Config.FontSize / 6
|
SkewStrength = SizeInPx(Plugin.Config.FontSizeV2) / 6
|
||||||
});
|
});
|
||||||
|
|
||||||
FontAwesome = Plugin.Interface.UiBuilder.FontAtlas.NewDelegateFontHandle(e =>
|
FontAwesome = Plugin.Interface.UiBuilder.FontAtlas.NewDelegateFontHandle(e =>
|
||||||
{
|
{
|
||||||
e.OnPreBuild(tk => tk.AddFontAwesomeIconFont(new SafeFontConfig { SizePx = Plugin.Config.FontSize }));
|
e.OnPreBuild(tk => tk.AddFontAwesomeIconFont(new SafeFontConfig { SizePx = GetFontSize() }));
|
||||||
e.OnPostBuild(tk => tk.FitRatio(tk.Font));
|
e.OnPostBuild(tk => tk.FitRatio(tk.Font));
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -183,43 +115,45 @@ public class FontManager
|
|||||||
e => e.OnPreBuild(
|
e => e.OnPreBuild(
|
||||||
tk =>
|
tk =>
|
||||||
{
|
{
|
||||||
var config = new SafeFontConfig { SizePx = Plugin.Config.FontSize, GlyphRanges = _ranges };
|
var config = new SafeFontConfig {SizePt = Plugin.Config.GlobalFontV2.SizePt, GlyphRanges = Ranges};
|
||||||
config.MergeFont = tk.AddFontFromMemory(_regularFont.Data, config, "ChatTwo2 RegularFont");
|
config.MergeFont = Plugin.Config.GlobalFontV2.FontId.AddToBuildToolkit(tk, config);
|
||||||
|
|
||||||
config.SizePx = Plugin.Config.JapaneseFontSize;
|
config.SizePt = Plugin.Config.JapaneseFontV3.SizePt;
|
||||||
config.GlyphRanges = _jpRange;
|
config.GlyphRanges = JpRange;
|
||||||
tk.AddFontFromMemory(_jpFont.Data, config, "ChatTwo2 JP Regular");
|
Plugin.Config.JapaneseFontV3.FontId.AddToBuildToolkit(tk, config);
|
||||||
|
|
||||||
config.SizePx = Plugin.Config.SymbolsFontSize;
|
config.SizePt = Plugin.Config.SymbolsFontSizeV2;
|
||||||
config.GlyphRanges = _symRange;
|
config.GlyphRanges = SymRange;
|
||||||
tk.AddFontFromMemory(_gameSymFont.Data, config, "ChatTwo2 Sym Font");
|
tk.AddFontFromMemory(GameSymFont, config, "ChatTwo2 Sym Font");
|
||||||
|
|
||||||
tk.Font = config.MergeFont;
|
tk.Font = config.MergeFont;
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
|
|
||||||
// load italic noto sans and merge in jp + game icons
|
// load italic version if it exists, else default to regular
|
||||||
ItalicFont = null;
|
ItalicFont = Plugin.Interface.UiBuilder.FontAtlas.NewDelegateFontHandle(
|
||||||
if (_italicFont != null)
|
e => e.OnPreBuild(
|
||||||
{
|
tk =>
|
||||||
ItalicFont = Plugin.Interface.UiBuilder.FontAtlas.NewDelegateFontHandle(
|
{
|
||||||
e => e.OnPreBuild(
|
var italicVersion = Plugin.Config.GlobalFontV2.FontId.Family.Fonts.FirstOrDefault(f => f.EnglishName.Contains("Italic"));
|
||||||
tk =>
|
|
||||||
{
|
|
||||||
var config = new SafeFontConfig { SizePx = Plugin.Config.FontSize, GlyphRanges = _ranges };
|
|
||||||
config.MergeFont = tk.AddFontFromMemory(_italicFont.Data, config, "ChatTwo2 ItalicFont");
|
|
||||||
|
|
||||||
config.SizePx = Plugin.Config.JapaneseFontSize;
|
var config = new SafeFontConfig {SizePt = Plugin.Config.GlobalFontV2.SizePt, GlyphRanges = Ranges};
|
||||||
config.GlyphRanges = _jpRange;
|
config.MergeFont = italicVersion?.AddToBuildToolkit(tk, config) ?? Plugin.Config.GlobalFontV2.FontId.AddToBuildToolkit(tk, config);
|
||||||
tk.AddFontFromMemory(_jpFont.Data, config, "ChatTwo2 JP Regular");
|
|
||||||
|
|
||||||
config.SizePx = Plugin.Config.SymbolsFontSize;
|
config.SizePt = Plugin.Config.JapaneseFontV3.SizePt;
|
||||||
config.GlyphRanges = _symRange;
|
config.GlyphRanges = JpRange;
|
||||||
tk.AddFontFromMemory(_gameSymFont.Data, config, "ChatTwo2 Sym Font");
|
Plugin.Config.JapaneseFontV3.FontId.AddToBuildToolkit(tk, config);
|
||||||
|
|
||||||
tk.Font = config.MergeFont;
|
config.SizePt = Plugin.Config.SymbolsFontSizeV2;
|
||||||
}
|
config.GlyphRanges = SymRange;
|
||||||
));
|
tk.AddFontFromMemory(GameSymFont, config, "ChatTwo2 Sym Font");
|
||||||
}
|
|
||||||
|
tk.Font = config.MergeFont;
|
||||||
|
}
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static float SizeInPt(float px) => (float) (px * 3.0 / 4.0);
|
||||||
|
public static float SizeInPx(float pt) => (float) (pt * 4.0 / 3.0);
|
||||||
|
public static float GetFontSize() => Plugin.Config.FontsEnabled ? Plugin.Config.GlobalFontV2.SizePx : SizeInPx(Plugin.Config.FontSizeV2);
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -85,7 +85,7 @@ public sealed class Plugin : IDalamudPlugin
|
|||||||
Functions = new GameFunctions.GameFunctions(this);
|
Functions = new GameFunctions.GameFunctions(this);
|
||||||
Ipc = new IpcManager();
|
Ipc = new IpcManager();
|
||||||
ExtraChat = new ExtraChat(this);
|
ExtraChat = new ExtraChat(this);
|
||||||
FontManager = new FontManager(this);
|
FontManager = new FontManager();
|
||||||
|
|
||||||
ChatLogWindow = new ChatLogWindow(this);
|
ChatLogWindow = new ChatLogWindow(this);
|
||||||
SettingsWindow = new SettingsWindow(this);
|
SettingsWindow = new SettingsWindow(this);
|
||||||
|
|||||||
@@ -1683,7 +1683,7 @@ public sealed class ChatLogWindow : Window
|
|||||||
|
|
||||||
var texSize = new Vector2(FontIcon!.Width, FontIcon.Height);
|
var texSize = new Vector2(FontIcon!.Width, FontIcon.Height);
|
||||||
|
|
||||||
var sizeRatio = Plugin.Config.FontSize / entry.Height;
|
var sizeRatio = FontManager.GetFontSize() / entry.Height;
|
||||||
var size = new Vector2(entry.Width, entry.Height) * sizeRatio * ImGuiHelpers.GlobalScale;
|
var size = new Vector2(entry.Width, entry.Height) * sizeRatio * ImGuiHelpers.GlobalScale;
|
||||||
|
|
||||||
var uv0 = new Vector2(entry.Left, entry.Top + 170) * 2 / texSize;
|
var uv0 = new Vector2(entry.Left, entry.Top + 170) * 2 / texSize;
|
||||||
|
|||||||
@@ -1,196 +0,0 @@
|
|||||||
using System.Runtime.InteropServices;
|
|
||||||
using SharpDX;
|
|
||||||
using SharpDX.DirectWrite;
|
|
||||||
using FontStyle = SharpDX.DirectWrite.FontStyle;
|
|
||||||
|
|
||||||
namespace ChatTwo.Ui;
|
|
||||||
|
|
||||||
internal static class Fonts {
|
|
||||||
internal const string IncludedIndicator = "Chat 2: ";
|
|
||||||
|
|
||||||
internal static readonly Font[] GlobalFonts = {
|
|
||||||
new(
|
|
||||||
$"{IncludedIndicator}Noto Sans",
|
|
||||||
"ChatTwo.fonts.NotoSans-Regular.ttf",
|
|
||||||
"ChatTwo.fonts.NotoSans-Italic.ttf"
|
|
||||||
),
|
|
||||||
new(
|
|
||||||
$"{IncludedIndicator}Noto Serif",
|
|
||||||
"ChatTwo.fonts.NotoSerif-Regular.ttf",
|
|
||||||
"ChatTwo.fonts.NotoSerif-Italic.ttf"
|
|
||||||
),
|
|
||||||
new(
|
|
||||||
$"{IncludedIndicator}Open Sans",
|
|
||||||
"ChatTwo.fonts.OpenSans-Regular.ttf",
|
|
||||||
"ChatTwo.fonts.OpenSans-Italic.ttf"
|
|
||||||
),
|
|
||||||
new(
|
|
||||||
$"{IncludedIndicator}Roboto",
|
|
||||||
"ChatTwo.fonts.Roboto-Regular.ttf",
|
|
||||||
"ChatTwo.fonts.Roboto-Italic.ttf"
|
|
||||||
),
|
|
||||||
};
|
|
||||||
|
|
||||||
internal static readonly (string, string)[] JapaneseFonts = {
|
|
||||||
($"{IncludedIndicator}Noto Sans JP", "ChatTwo.fonts.NotoSansJP-Regular.otf"),
|
|
||||||
// ($"{IncludedIndicator}Noto Serif JP", "ChatTwo.fonts.NotoSerifJP-Regular.otf"),
|
|
||||||
};
|
|
||||||
|
|
||||||
internal static List<string> GetFonts() {
|
|
||||||
var fonts = new List<string>();
|
|
||||||
|
|
||||||
using var factory = new Factory();
|
|
||||||
using var collection = factory.GetSystemFontCollection(false);
|
|
||||||
for (var i = 0; i < collection.FontFamilyCount; i++) {
|
|
||||||
using var family = collection.GetFontFamily(i);
|
|
||||||
var anyItalic = false;
|
|
||||||
for (var j = 0; j < family.FontCount; j++) {
|
|
||||||
try {
|
|
||||||
var font = family.GetFont(j);
|
|
||||||
if (font.IsSymbolFont || font.Style is not (FontStyle.Italic or FontStyle.Oblique)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
anyItalic = true;
|
|
||||||
break;
|
|
||||||
} catch (SharpDXException) {
|
|
||||||
// no-op
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!anyItalic) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
var name = family.FamilyNames.GetString(0);
|
|
||||||
fonts.Add(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
fonts.Sort();
|
|
||||||
return fonts;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal static List<string> GetJpFonts() {
|
|
||||||
var fonts = new List<string>();
|
|
||||||
|
|
||||||
using var factory = new Factory();
|
|
||||||
using var collection = factory.GetSystemFontCollection(false);
|
|
||||||
for (var i = 0; i < collection.FontFamilyCount; i++) {
|
|
||||||
using var family = collection.GetFontFamily(i);
|
|
||||||
var probablyJp = false;
|
|
||||||
for (var j = 0; j < family.FontCount; j++) {
|
|
||||||
try {
|
|
||||||
using var font = family.GetFont(j);
|
|
||||||
if (!font.HasCharacter('気') || font.IsSymbolFont) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
probablyJp = true;
|
|
||||||
break;
|
|
||||||
} catch (SharpDXException) {
|
|
||||||
// no-op
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!probablyJp) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
var name = family.FamilyNames.GetString(0);
|
|
||||||
fonts.Add(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
fonts.Sort();
|
|
||||||
return fonts;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal static FontData? GetFont(string name, bool withItalic) {
|
|
||||||
using var factory = new Factory();
|
|
||||||
using var collection = factory.GetSystemFontCollection(false);
|
|
||||||
for (var i = 0; i < collection.FontFamilyCount; i++) {
|
|
||||||
using var family = collection.GetFontFamily(i);
|
|
||||||
if (family.FamilyNames.GetString(0) != name) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
using var normal = family.GetFirstMatchingFont(FontWeight.Normal, FontStretch.Normal, FontStyle.Normal);
|
|
||||||
if (normal == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
FaceData? GetFontData(SharpDX.DirectWrite.Font font) {
|
|
||||||
using var face = new FontFace(font);
|
|
||||||
var files = face.GetFiles();
|
|
||||||
if (files.Length == 0) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
var key = files[0].GetReferenceKey();
|
|
||||||
using var stream = files[0].Loader.CreateStreamFromKey(key);
|
|
||||||
|
|
||||||
stream.ReadFileFragment(out var start, 0, stream.GetFileSize(), out var release);
|
|
||||||
|
|
||||||
var data = new byte[stream.GetFileSize()];
|
|
||||||
Marshal.Copy(start, data, 0, data.Length);
|
|
||||||
|
|
||||||
stream.ReleaseFileFragment(release);
|
|
||||||
|
|
||||||
return new FaceData(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
var normalData = GetFontData(normal);
|
|
||||||
if (normalData == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
FaceData? italicData = null;
|
|
||||||
if (withItalic) {
|
|
||||||
using var italic = family.GetFirstMatchingFont(FontWeight.Normal, FontStretch.Normal, FontStyle.Italic)
|
|
||||||
?? family.GetFirstMatchingFont(FontWeight.Normal, FontStretch.Normal, FontStyle.Oblique);
|
|
||||||
if (italic == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
italicData = GetFontData(italic);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (italicData == null && withItalic) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return new FontData(normalData, italicData);
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
internal sealed class FaceData {
|
|
||||||
internal byte[] Data { get; }
|
|
||||||
|
|
||||||
internal FaceData(byte[] data) {
|
|
||||||
Data = data;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
internal sealed class FontData {
|
|
||||||
internal FaceData Regular { get; }
|
|
||||||
internal FaceData? Italic { get; }
|
|
||||||
|
|
||||||
internal FontData(FaceData regular, FaceData? italic) {
|
|
||||||
Regular = regular;
|
|
||||||
Italic = italic;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
internal sealed class Font {
|
|
||||||
internal string Name { get; }
|
|
||||||
internal string ResourcePath { get; }
|
|
||||||
internal string ResourcePathItalic { get; }
|
|
||||||
|
|
||||||
internal Font(string name, string resourcePath, string resourcePathItalic) {
|
|
||||||
Name = name;
|
|
||||||
ResourcePath = resourcePath;
|
|
||||||
ResourcePathItalic = resourcePathItalic;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -150,12 +150,11 @@ public sealed class SettingsWindow : Window
|
|||||||
// calculate all conditions before updating config
|
// calculate all conditions before updating config
|
||||||
var hideChanged = !Mutable.HideChat && Mutable.HideChat != Plugin.Config.HideChat;
|
var hideChanged = !Mutable.HideChat && Mutable.HideChat != Plugin.Config.HideChat;
|
||||||
var languageChanged = Mutable.LanguageOverride != Plugin.Config.LanguageOverride;
|
var languageChanged = Mutable.LanguageOverride != Plugin.Config.LanguageOverride;
|
||||||
var fontChanged = Mutable.GlobalFont != Plugin.Config.GlobalFont
|
var fontChanged = Mutable.GlobalFontV2 != Plugin.Config.GlobalFontV2
|
||||||
|| Mutable.JapaneseFont != Plugin.Config.JapaneseFont
|
|| Mutable.JapaneseFontV3 != Plugin.Config.JapaneseFontV3
|
||||||
|| Mutable.ExtraGlyphRanges != Plugin.Config.ExtraGlyphRanges;
|
|| Mutable.ExtraGlyphRanges != Plugin.Config.ExtraGlyphRanges;
|
||||||
var fontSizeChanged = Math.Abs(Mutable.FontSize - Plugin.Config.FontSize) > 0.001
|
var fontSizeChanged = Math.Abs(Mutable.SymbolsFontSizeV2 - Plugin.Config.SymbolsFontSizeV2) > 0.001
|
||||||
|| Math.Abs(Mutable.JapaneseFontSize - Plugin.Config.JapaneseFontSize) > 0.001
|
|| Math.Abs(Mutable.FontSizeV2 - Plugin.Config.FontSizeV2) > 0.001;
|
||||||
|| Math.Abs(Mutable.SymbolsFontSize - Plugin.Config.SymbolsFontSize) > 0.001;
|
|
||||||
|
|
||||||
Plugin.Config.UpdateFrom(Mutable, true);
|
Plugin.Config.UpdateFrom(Mutable, true);
|
||||||
|
|
||||||
|
|||||||
@@ -107,9 +107,11 @@ internal sealed class ChatLog : ISettingsTab
|
|||||||
var currentStyle = Mutable.ChosenStyle ?? Language.Options_OverrideStyle_NotSelected;
|
var currentStyle = Mutable.ChosenStyle ?? Language.Options_OverrideStyle_NotSelected;
|
||||||
using var combo = ImRaii.Combo(Language.Options_OverrideStyleDropdown_Name, currentStyle);
|
using var combo = ImRaii.Combo(Language.Options_OverrideStyleDropdown_Name, currentStyle);
|
||||||
if (combo)
|
if (combo)
|
||||||
|
{
|
||||||
foreach (var style in styles)
|
foreach (var style in styles)
|
||||||
if (ImGui.Selectable(style.Name, Mutable.ChosenStyle == style.Name))
|
if (ImGui.Selectable(style.Name, Mutable.ChosenStyle == style.Name))
|
||||||
Mutable.ChosenStyle = style.Name;
|
Mutable.ChosenStyle = style.Name;
|
||||||
|
}
|
||||||
|
|
||||||
ImGui.Spacing();
|
ImGui.Spacing();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,89 +9,47 @@ public class Fonts : ISettingsTab
|
|||||||
private Configuration Mutable { get; }
|
private Configuration Mutable { get; }
|
||||||
|
|
||||||
public string Name => Language.Options_Fonts_Tab + "###tabs-fonts";
|
public string Name => Language.Options_Fonts_Tab + "###tabs-fonts";
|
||||||
private List<string> GlobalFonts { get; set; } = [];
|
|
||||||
private List<string> JpFonts { get; set; } = [];
|
|
||||||
|
|
||||||
internal Fonts(Configuration mutable)
|
internal Fonts(Configuration mutable)
|
||||||
{
|
{
|
||||||
Mutable = mutable;
|
Mutable = mutable;
|
||||||
UpdateFonts();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateFonts()
|
public void Draw(bool _)
|
||||||
{
|
{
|
||||||
GlobalFonts = Ui.Fonts.GetFonts();
|
|
||||||
JpFonts = Ui.Fonts.GetJpFonts();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Draw(bool changed)
|
|
||||||
{
|
|
||||||
if (changed)
|
|
||||||
UpdateFonts();
|
|
||||||
|
|
||||||
using var wrap = ImGuiUtil.TextWrapPos();
|
using var wrap = ImGuiUtil.TextWrapPos();
|
||||||
|
|
||||||
ImGui.Checkbox(Language.Options_FontsEnabled, ref Mutable.FontsEnabled);
|
ImGui.Checkbox(Language.Options_FontsEnabled, ref Mutable.FontsEnabled);
|
||||||
ImGui.Spacing();
|
ImGui.Spacing();
|
||||||
|
|
||||||
if (Mutable.FontsEnabled)
|
if (!Mutable.FontsEnabled)
|
||||||
{
|
{
|
||||||
using (var combo = ImGuiUtil.BeginComboVertical(Language.Options_Font_Name, Mutable.GlobalFont))
|
ImGuiUtil.FontSizeCombo(Language.Options_FontSize_Name, ref Mutable.FontSizeV2);
|
||||||
|
ImGuiUtil.HelpText($"[Old Size] {FontManager.SizeInPt(Mutable.FontSize)}pt"); // TODO Remove after 24.08
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var globalChooser = ImGuiUtil.FontChooser(Language.Options_Font_Name, Mutable.GlobalFontV2);
|
||||||
|
globalChooser?.ResultTask.ContinueWith(r =>
|
||||||
{
|
{
|
||||||
if (combo)
|
if (r.IsCompletedSuccessfully)
|
||||||
{
|
Mutable.GlobalFontV2 = r.Result;
|
||||||
foreach (var font in Ui.Fonts.GlobalFonts)
|
});
|
||||||
{
|
|
||||||
if (ImGui.Selectable(font.Name, Mutable.GlobalFont == font.Name))
|
|
||||||
Mutable.GlobalFont = font.Name;
|
|
||||||
|
|
||||||
if (ImGui.IsWindowAppearing() && Mutable.GlobalFont == font.Name)
|
|
||||||
ImGui.SetScrollHereY(0.5f);
|
|
||||||
}
|
|
||||||
|
|
||||||
ImGui.Separator();
|
|
||||||
|
|
||||||
foreach (var name in GlobalFonts)
|
|
||||||
{
|
|
||||||
if (ImGui.Selectable(name, Mutable.GlobalFont == name))
|
|
||||||
Mutable.GlobalFont = name;
|
|
||||||
|
|
||||||
if (ImGui.IsWindowAppearing() && Mutable.GlobalFont == name)
|
|
||||||
ImGui.SetScrollHereY(0.5f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
ImGuiUtil.HelpText($"[Old Font] {Mutable.GlobalFont} ({FontManager.SizeInPt(Mutable.FontSize)}pt)"); // TODO Remove after 24.08
|
||||||
ImGuiUtil.HelpText(string.Format(Language.Options_Font_Description, Plugin.PluginName));
|
ImGuiUtil.HelpText(string.Format(Language.Options_Font_Description, Plugin.PluginName));
|
||||||
ImGuiUtil.WarningText(Language.Options_Font_Warning);
|
ImGuiUtil.WarningText(Language.Options_Font_Warning);
|
||||||
ImGui.Spacing();
|
ImGui.Spacing();
|
||||||
|
|
||||||
using (var combo = ImGuiUtil.BeginComboVertical(Language.Options_JapaneseFont_Name, Mutable.JapaneseFont))
|
// LocaleNames being null means it is likely a game font which all support JP symbols
|
||||||
|
var japaneseChooser = ImGuiUtil.FontChooser(Language.Options_JapaneseFont_Name, Mutable.JapaneseFontV3, id => !id.LocaleNames?.ContainsKey("ja-jp") ?? false, "いろはにほへと ちりぬるを");
|
||||||
|
japaneseChooser?.ResultTask.ContinueWith(r =>
|
||||||
{
|
{
|
||||||
if (combo)
|
if (r.IsCompletedSuccessfully)
|
||||||
{
|
Mutable.JapaneseFontV3 = r.Result;
|
||||||
foreach (var (name, _) in Ui.Fonts.JapaneseFonts)
|
});
|
||||||
{
|
|
||||||
if (ImGui.Selectable(name, Mutable.JapaneseFont == name))
|
|
||||||
Mutable.JapaneseFont = name;
|
|
||||||
|
|
||||||
if (ImGui.IsWindowAppearing() && Mutable.JapaneseFont == name)
|
|
||||||
ImGui.SetScrollHereY(0.5f);
|
|
||||||
}
|
|
||||||
|
|
||||||
ImGui.Separator();
|
|
||||||
|
|
||||||
foreach (var family in JpFonts)
|
|
||||||
{
|
|
||||||
if (ImGui.Selectable(family, Mutable.JapaneseFont == family))
|
|
||||||
Mutable.JapaneseFont = family;
|
|
||||||
|
|
||||||
if (ImGui.IsWindowAppearing() && Mutable.JapaneseFont == family)
|
|
||||||
ImGui.SetScrollHereY(0.5f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
ImGuiUtil.HelpText($"[Old Font] {Mutable.JapaneseFont} ({FontManager.SizeInPt(Mutable.JapaneseFontSize)}pt)"); // TODO Remove after 24.08
|
||||||
ImGuiUtil.HelpText(string.Format(Language.Options_JapaneseFont_Description, Plugin.PluginName));
|
ImGuiUtil.HelpText(string.Format(Language.Options_JapaneseFont_Description, Plugin.PluginName));
|
||||||
ImGui.Spacing();
|
ImGui.Spacing();
|
||||||
|
|
||||||
@@ -109,12 +67,8 @@ public class Fonts : ISettingsTab
|
|||||||
ImGui.Spacing();
|
ImGui.Spacing();
|
||||||
}
|
}
|
||||||
|
|
||||||
const float speed = .0125f;
|
ImGuiUtil.FontSizeCombo(Language.Options_SymbolsFontSize_Name, ref Mutable.SymbolsFontSizeV2);
|
||||||
const float min = 8f;
|
ImGuiUtil.HelpText($"[Old Size] {FontManager.SizeInPt(Mutable.SymbolsFontSize)}pt"); // TODO Remove after 24.08
|
||||||
const float max = 36f;
|
|
||||||
ImGuiUtil.DragFloatVertical(Language.Options_FontSize_Name, ref Mutable.FontSize, speed, min, max, $"{Mutable.FontSize:N1}");
|
|
||||||
ImGuiUtil.DragFloatVertical(Language.Options_JapaneseFontSize_Name, ref Mutable.JapaneseFontSize, speed, min, max, $"{Mutable.JapaneseFontSize:N1}");
|
|
||||||
ImGuiUtil.DragFloatVertical(Language.Options_SymbolsFontSize_Name, ref Mutable.SymbolsFontSize, speed, min, max, $"{Mutable.SymbolsFontSize:N1}");
|
|
||||||
ImGuiUtil.HelpText(Language.Options_SymbolsFontSize_Description);
|
ImGuiUtil.HelpText(Language.Options_SymbolsFontSize_Description);
|
||||||
|
|
||||||
ImGui.Spacing();
|
ImGui.Spacing();
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ using Dalamud.Game.ClientState.Keys;
|
|||||||
using Dalamud.Game.Text.SeStringHandling;
|
using Dalamud.Game.Text.SeStringHandling;
|
||||||
using Dalamud.Interface;
|
using Dalamud.Interface;
|
||||||
using Dalamud.Interface.Components;
|
using Dalamud.Interface.Components;
|
||||||
|
using Dalamud.Interface.FontIdentifier;
|
||||||
|
using Dalamud.Interface.ImGuiFontChooserDialog;
|
||||||
using Dalamud.Interface.Style;
|
using Dalamud.Interface.Style;
|
||||||
using Dalamud.Interface.Utility;
|
using Dalamud.Interface.Utility;
|
||||||
using Dalamud.Interface.Utility.Raii;
|
using Dalamud.Interface.Utility.Raii;
|
||||||
@@ -266,6 +268,42 @@ internal static class ImGuiUtil
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static SingleFontChooserDialog? FontChooser(string label, SingleFontSpec font, Predicate<IFontFamilyId>? exclusion = null, string? preview = null)
|
||||||
|
{
|
||||||
|
using var id = ImRaii.PushId(label);
|
||||||
|
|
||||||
|
ImGui.TextUnformatted(label);
|
||||||
|
var fontFamily = font.FontId.Family.EnglishName;
|
||||||
|
var fontStyle = font.FontId.EnglishName;
|
||||||
|
fontStyle = fontStyle.Equals(fontFamily) ? "" : $" - {fontStyle}";
|
||||||
|
|
||||||
|
var buttonText = $"{fontFamily}{fontStyle} ({font.SizePt}pt)";
|
||||||
|
if (!ImGui.Button($"{buttonText}##{label}"))
|
||||||
|
return null;
|
||||||
|
|
||||||
|
var chooser = SingleFontChooserDialog.CreateAuto((UiBuilder) Plugin.Interface.UiBuilder);
|
||||||
|
chooser.SelectedFont = font;
|
||||||
|
if (exclusion is not null)
|
||||||
|
chooser.FontFamilyExcludeFilter = exclusion;
|
||||||
|
if (preview is not null)
|
||||||
|
chooser.PreviewText = preview;
|
||||||
|
|
||||||
|
return chooser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void FontSizeCombo(string label, ref float currentSize)
|
||||||
|
{
|
||||||
|
ImGui.TextUnformatted(label);
|
||||||
|
ImGui.SetNextItemWidth(-1);
|
||||||
|
using var combo = ImRaii.Combo($"##{label}", $"{currentSize:###.##}pt");
|
||||||
|
if (combo)
|
||||||
|
{
|
||||||
|
foreach (var size in FontManager.AxisFontSizeList)
|
||||||
|
if (ImGui.Selectable($"{size:###.##}pt", currentSize == size))
|
||||||
|
currentSize = size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static bool Button(string id, FontAwesomeIcon icon, bool disabled)
|
public static bool Button(string id, FontAwesomeIcon icon, bool disabled)
|
||||||
{
|
{
|
||||||
var clicked = false;
|
var clicked = false;
|
||||||
|
|||||||
+3
-929
@@ -41,22 +41,11 @@
|
|||||||
"resolved": "3.2.2",
|
"resolved": "3.2.2",
|
||||||
"contentHash": "imvuRt8fzxJCJs9kCk7s418NRyEdP6aDtz2qL9XYcn1ywTkpnrSq4IORVTQ879HNoTfJkyGkFadmEoCZEsebGg=="
|
"contentHash": "imvuRt8fzxJCJs9kCk7s418NRyEdP6aDtz2qL9XYcn1ywTkpnrSq4IORVTQ879HNoTfJkyGkFadmEoCZEsebGg=="
|
||||||
},
|
},
|
||||||
"SharpDX.Direct2D1": {
|
|
||||||
"type": "Direct",
|
|
||||||
"requested": "[4.2.0, )",
|
|
||||||
"resolved": "4.2.0",
|
|
||||||
"contentHash": "Qs8LzDMaQf1u3KB8ArHu9pDv6itZ++QXs99a/bVAG+nKr0Hx5NG4mcN5vsfE0mVR2TkeHfeUm4PksRah6VUPtA==",
|
|
||||||
"dependencies": {
|
|
||||||
"NETStandard.Library": "1.6.1",
|
|
||||||
"SharpDX": "4.2.0",
|
|
||||||
"SharpDX.DXGI": "4.2.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"SixLabors.ImageSharp": {
|
"SixLabors.ImageSharp": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[3.1.4, )",
|
"requested": "[3.1.5, )",
|
||||||
"resolved": "3.1.4",
|
"resolved": "3.1.5",
|
||||||
"contentHash": "lFIdxgGDA5iYkUMRFOze7BGLcdpoLFbR+a20kc1W7NepvzU7ejtxtWOg9RvgG7kb9tBoJ3ONYOK6kLil/dgF1w=="
|
"contentHash": "lNtlq7dSI/QEbYey+A0xn48z5w4XHSffF8222cC4F4YwTXfEImuiBavQcWjr49LThT/pRmtWJRcqA/PlL+eJ6g=="
|
||||||
},
|
},
|
||||||
"MessagePack.Annotations": {
|
"MessagePack.Annotations": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@@ -76,201 +65,6 @@
|
|||||||
"resolved": "17.6.3",
|
"resolved": "17.6.3",
|
||||||
"contentHash": "N0ZIanl1QCgvUumEL1laasU0a7sOE5ZwLZVTn0pAePnfhq8P7SvTjF8Axq+CnavuQkmdQpGNXQ1efZtu5kDFbA=="
|
"contentHash": "N0ZIanl1QCgvUumEL1laasU0a7sOE5ZwLZVTn0pAePnfhq8P7SvTjF8Axq+CnavuQkmdQpGNXQ1efZtu5kDFbA=="
|
||||||
},
|
},
|
||||||
"Microsoft.NETCore.Platforms": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "1.1.0",
|
|
||||||
"contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
|
|
||||||
},
|
|
||||||
"Microsoft.NETCore.Targets": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "1.1.0",
|
|
||||||
"contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg=="
|
|
||||||
},
|
|
||||||
"Microsoft.Win32.Primitives": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"NETStandard.Library": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "1.6.1",
|
|
||||||
"contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.Win32.Primitives": "4.3.0",
|
|
||||||
"System.AppContext": "4.3.0",
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.Collections.Concurrent": "4.3.0",
|
|
||||||
"System.Console": "4.3.0",
|
|
||||||
"System.Diagnostics.Debug": "4.3.0",
|
|
||||||
"System.Diagnostics.Tools": "4.3.0",
|
|
||||||
"System.Diagnostics.Tracing": "4.3.0",
|
|
||||||
"System.Globalization": "4.3.0",
|
|
||||||
"System.Globalization.Calendars": "4.3.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.IO.Compression": "4.3.0",
|
|
||||||
"System.IO.Compression.ZipFile": "4.3.0",
|
|
||||||
"System.IO.FileSystem": "4.3.0",
|
|
||||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
|
||||||
"System.Linq": "4.3.0",
|
|
||||||
"System.Linq.Expressions": "4.3.0",
|
|
||||||
"System.Net.Http": "4.3.0",
|
|
||||||
"System.Net.Primitives": "4.3.0",
|
|
||||||
"System.Net.Sockets": "4.3.0",
|
|
||||||
"System.ObjectModel": "4.3.0",
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Reflection.Extensions": "4.3.0",
|
|
||||||
"System.Reflection.Primitives": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Runtime.Handles": "4.3.0",
|
|
||||||
"System.Runtime.InteropServices": "4.3.0",
|
|
||||||
"System.Runtime.InteropServices.RuntimeInformation": "4.3.0",
|
|
||||||
"System.Runtime.Numerics": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
|
||||||
"System.Security.Cryptography.X509Certificates": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0",
|
|
||||||
"System.Text.Encoding.Extensions": "4.3.0",
|
|
||||||
"System.Text.RegularExpressions": "4.3.0",
|
|
||||||
"System.Threading": "4.3.0",
|
|
||||||
"System.Threading.Tasks": "4.3.0",
|
|
||||||
"System.Threading.Timer": "4.3.0",
|
|
||||||
"System.Xml.ReaderWriter": "4.3.0",
|
|
||||||
"System.Xml.XDocument": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q=="
|
|
||||||
},
|
|
||||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA=="
|
|
||||||
},
|
|
||||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw=="
|
|
||||||
},
|
|
||||||
"runtime.native.System": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtime.native.System.IO.Compression": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtime.native.System.Net.Http": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtime.native.System.Security.Cryptography.Apple": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==",
|
|
||||||
"dependencies": {
|
|
||||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtime.native.System.Security.Cryptography.OpenSsl": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==",
|
|
||||||
"dependencies": {
|
|
||||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
|
||||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
|
||||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
|
||||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
|
||||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
|
||||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
|
||||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
|
||||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
|
||||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
|
||||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A=="
|
|
||||||
},
|
|
||||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ=="
|
|
||||||
},
|
|
||||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ=="
|
|
||||||
},
|
|
||||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g=="
|
|
||||||
},
|
|
||||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg=="
|
|
||||||
},
|
|
||||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ=="
|
|
||||||
},
|
|
||||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A=="
|
|
||||||
},
|
|
||||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg=="
|
|
||||||
},
|
|
||||||
"SharpDX": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.2.0",
|
|
||||||
"contentHash": "3pv0LFMvfK/dv1qISJnn8xBeeT6R/FRvr0EV4KI2DGsL84Qlv6P7isWqxGyU0LCwlSVCJN3jgHJ4Bl0KI2PJww==",
|
|
||||||
"dependencies": {
|
|
||||||
"NETStandard.Library": "1.6.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"SharpDX.DXGI": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.2.0",
|
|
||||||
"contentHash": "UjKqkgWc8U+SP+j3LBzFP6OB6Ntapjih7Xo+g1rLcsGbIb5KwewBrBChaUu7sil8rWoeVU/k0EJd3SMN4VqNZw==",
|
|
||||||
"dependencies": {
|
|
||||||
"NETStandard.Library": "1.6.1",
|
|
||||||
"SharpDX": "4.2.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"SQLitePCLRaw.bundle_e_sqlite3": {
|
"SQLitePCLRaw.bundle_e_sqlite3": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "2.1.6",
|
"resolved": "2.1.6",
|
||||||
@@ -301,735 +95,15 @@
|
|||||||
"SQLitePCLRaw.core": "2.1.6"
|
"SQLitePCLRaw.core": "2.1.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.AppContext": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Buffers": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Diagnostics.Debug": "4.3.0",
|
|
||||||
"System.Diagnostics.Tracing": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Threading": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Collections": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Collections.Concurrent": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.Diagnostics.Debug": "4.3.0",
|
|
||||||
"System.Diagnostics.Tracing": "4.3.0",
|
|
||||||
"System.Globalization": "4.3.0",
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Threading": "4.3.0",
|
|
||||||
"System.Threading.Tasks": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Console": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Diagnostics.Debug": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Diagnostics.DiagnosticSource": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.Diagnostics.Tracing": "4.3.0",
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Threading": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Diagnostics.Tools": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Diagnostics.Tracing": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Globalization": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Globalization.Calendars": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Globalization": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Globalization.Extensions": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"System.Globalization": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Runtime.InteropServices": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.IO": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0",
|
|
||||||
"System.Threading.Tasks": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.IO.Compression": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"System.Buffers": "4.3.0",
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.Diagnostics.Debug": "4.3.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Runtime.Handles": "4.3.0",
|
|
||||||
"System.Runtime.InteropServices": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0",
|
|
||||||
"System.Threading": "4.3.0",
|
|
||||||
"System.Threading.Tasks": "4.3.0",
|
|
||||||
"runtime.native.System": "4.3.0",
|
|
||||||
"runtime.native.System.IO.Compression": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.IO.Compression.ZipFile": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Buffers": "4.3.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.IO.Compression": "4.3.0",
|
|
||||||
"System.IO.FileSystem": "4.3.0",
|
|
||||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.IO.FileSystem": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Handles": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0",
|
|
||||||
"System.Threading.Tasks": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.IO.FileSystem.Primitives": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Linq": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.Diagnostics.Debug": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Linq.Expressions": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.Diagnostics.Debug": "4.3.0",
|
|
||||||
"System.Globalization": "4.3.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.Linq": "4.3.0",
|
|
||||||
"System.ObjectModel": "4.3.0",
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Reflection.Emit": "4.3.0",
|
|
||||||
"System.Reflection.Emit.ILGeneration": "4.3.0",
|
|
||||||
"System.Reflection.Emit.Lightweight": "4.3.0",
|
|
||||||
"System.Reflection.Extensions": "4.3.0",
|
|
||||||
"System.Reflection.Primitives": "4.3.0",
|
|
||||||
"System.Reflection.TypeExtensions": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Threading": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Memory": {
|
"System.Memory": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.5.3",
|
"resolved": "4.5.3",
|
||||||
"contentHash": "3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA=="
|
"contentHash": "3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA=="
|
||||||
},
|
},
|
||||||
"System.Net.Http": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.Diagnostics.Debug": "4.3.0",
|
|
||||||
"System.Diagnostics.DiagnosticSource": "4.3.0",
|
|
||||||
"System.Diagnostics.Tracing": "4.3.0",
|
|
||||||
"System.Globalization": "4.3.0",
|
|
||||||
"System.Globalization.Extensions": "4.3.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.IO.FileSystem": "4.3.0",
|
|
||||||
"System.Net.Primitives": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Runtime.Handles": "4.3.0",
|
|
||||||
"System.Runtime.InteropServices": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
|
||||||
"System.Security.Cryptography.OpenSsl": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
|
||||||
"System.Security.Cryptography.X509Certificates": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0",
|
|
||||||
"System.Threading": "4.3.0",
|
|
||||||
"System.Threading.Tasks": "4.3.0",
|
|
||||||
"runtime.native.System": "4.3.0",
|
|
||||||
"runtime.native.System.Net.Http": "4.3.0",
|
|
||||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Net.Primitives": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Handles": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Net.Sockets": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.Net.Primitives": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Threading.Tasks": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.ObjectModel": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.Diagnostics.Debug": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Threading": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Reflection": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.Reflection.Primitives": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Reflection.Emit": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Reflection.Emit.ILGeneration": "4.3.0",
|
|
||||||
"System.Reflection.Primitives": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Reflection.Emit.ILGeneration": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Reflection.Primitives": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Reflection.Emit.Lightweight": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Reflection.Emit.ILGeneration": "4.3.0",
|
|
||||||
"System.Reflection.Primitives": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Reflection.Extensions": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Reflection.Primitives": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Reflection.TypeExtensions": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Resources.ResourceManager": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Globalization": "4.3.0",
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Runtime": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Runtime.CompilerServices.Unsafe": {
|
"System.Runtime.CompilerServices.Unsafe": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "6.0.0",
|
"resolved": "6.0.0",
|
||||||
"contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg=="
|
"contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg=="
|
||||||
},
|
|
||||||
"System.Runtime.Extensions": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Runtime.Handles": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Runtime.InteropServices": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Reflection.Primitives": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Handles": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Runtime.InteropServices.RuntimeInformation": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Reflection.Extensions": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.InteropServices": "4.3.0",
|
|
||||||
"System.Threading": "4.3.0",
|
|
||||||
"runtime.native.System": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Runtime.Numerics": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Globalization": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Security.Cryptography.Algorithms": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Runtime.Handles": "4.3.0",
|
|
||||||
"System.Runtime.InteropServices": "4.3.0",
|
|
||||||
"System.Runtime.Numerics": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0",
|
|
||||||
"runtime.native.System.Security.Cryptography.Apple": "4.3.0",
|
|
||||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Security.Cryptography.Cng": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Runtime.Handles": "4.3.0",
|
|
||||||
"System.Runtime.InteropServices": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Security.Cryptography.Csp": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Runtime.Handles": "4.3.0",
|
|
||||||
"System.Runtime.InteropServices": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0",
|
|
||||||
"System.Threading": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Security.Cryptography.Encoding": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.Collections.Concurrent": "4.3.0",
|
|
||||||
"System.Linq": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Runtime.Handles": "4.3.0",
|
|
||||||
"System.Runtime.InteropServices": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0",
|
|
||||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Security.Cryptography.OpenSsl": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Runtime.Handles": "4.3.0",
|
|
||||||
"System.Runtime.InteropServices": "4.3.0",
|
|
||||||
"System.Runtime.Numerics": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0",
|
|
||||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Security.Cryptography.Primitives": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Diagnostics.Debug": "4.3.0",
|
|
||||||
"System.Globalization": "4.3.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Threading": "4.3.0",
|
|
||||||
"System.Threading.Tasks": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Security.Cryptography.X509Certificates": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.Diagnostics.Debug": "4.3.0",
|
|
||||||
"System.Globalization": "4.3.0",
|
|
||||||
"System.Globalization.Calendars": "4.3.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.IO.FileSystem": "4.3.0",
|
|
||||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Runtime.Handles": "4.3.0",
|
|
||||||
"System.Runtime.InteropServices": "4.3.0",
|
|
||||||
"System.Runtime.Numerics": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Cng": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Csp": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
|
||||||
"System.Security.Cryptography.OpenSsl": "4.3.0",
|
|
||||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0",
|
|
||||||
"System.Threading": "4.3.0",
|
|
||||||
"runtime.native.System": "4.3.0",
|
|
||||||
"runtime.native.System.Net.Http": "4.3.0",
|
|
||||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Text.Encoding": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Text.Encoding.Extensions": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Text.RegularExpressions": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Threading": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Threading.Tasks": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Threading.Tasks": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Threading.Tasks.Extensions": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Threading.Tasks": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Threading.Timer": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
|
||||||
"Microsoft.NETCore.Targets": "1.1.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Xml.ReaderWriter": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.Diagnostics.Debug": "4.3.0",
|
|
||||||
"System.Globalization": "4.3.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.IO.FileSystem": "4.3.0",
|
|
||||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Runtime.InteropServices": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0",
|
|
||||||
"System.Text.Encoding.Extensions": "4.3.0",
|
|
||||||
"System.Text.RegularExpressions": "4.3.0",
|
|
||||||
"System.Threading.Tasks": "4.3.0",
|
|
||||||
"System.Threading.Tasks.Extensions": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Xml.XDocument": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Collections": "4.3.0",
|
|
||||||
"System.Diagnostics.Debug": "4.3.0",
|
|
||||||
"System.Diagnostics.Tools": "4.3.0",
|
|
||||||
"System.Globalization": "4.3.0",
|
|
||||||
"System.IO": "4.3.0",
|
|
||||||
"System.Reflection": "4.3.0",
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0",
|
|
||||||
"System.Runtime.Extensions": "4.3.0",
|
|
||||||
"System.Text.Encoding": "4.3.0",
|
|
||||||
"System.Threading": "4.3.0",
|
|
||||||
"System.Xml.ReaderWriter": "4.3.0"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user