diff --git a/.gitignore b/.gitignore index 61aec9028..f43453edd 100644 --- a/.gitignore +++ b/.gitignore @@ -49,6 +49,12 @@ TestMod\.vs TestModCpp\bin TestModCpp\obj TestModCpp\.vs +MelonLoader.GeneratorProcess\bin +MelonLoader.GeneratorProcess\obj +MelonLoader.GeneratorProcess\.vs +MelonLoader.Installer\bin +MelonLoader.Installer\obj +MelonLoader.Installer\.vs version\bin version\obj version\.vs @@ -404,5 +410,6 @@ MigrationBackup/ /.idea /Detours/lib.X64 /Detours/lib.X86 -/MelonLoader_Mono.zip -/MelonLoader_Il2Cpp.zip \ No newline at end of file +/MelonLoader.Mono.zip +/MelonLoader.Il2Cpp.zip +/MelonLoader.Installer.zip \ No newline at end of file diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 6d8c375c2..4e8c41bb1 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -20,6 +20,7 @@ ### Version List: +[v0.2.1 Open-Beta](#v021-open-beta) [v0.2.0 Open-Beta](#v020-open-beta) [v0.1.0 Open-Beta](#v010-open-beta) [v0.0.3 Closed-Beta](#v003-closed-beta) @@ -28,6 +29,15 @@ --- +### v0.2.1 Open-Beta: + +1. Overwrite files when copying freshly generated assemblies. (Credits to knah :D) +2. Implemented auto-download of required tools for IL2CPP games. (Credits to knah :D) +3. Fixed Config Issue causing Assembly to always need to Regenerate. +4. Added an Installer. +5. Fixed Console Display Issue. +6. Temporarily removed --melonloader.hideconsole. + ### v0.2.0 Open-Beta: 1. Fixed issue with the Console still showing as Closed-Beta. diff --git a/MelonLoader.GeneratorProcess/AssemblyGenerator.cs b/MelonLoader.GeneratorProcess/AssemblyGenerator.cs new file mode 100644 index 000000000..1f67c1a60 --- /dev/null +++ b/MelonLoader.GeneratorProcess/AssemblyGenerator.cs @@ -0,0 +1,276 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Security.Cryptography; +using MelonLoader.GeneratorProcess; +using TinyJSON; + +namespace MelonLoader.AssemblyGenerator +{ + internal static class Main + { + private static string GameAssembly_Path = null; + private static string MSCORLIB_Path = null; + internal static string BaseFolder = null; + internal static string AssemblyFolder = null; + private static Package UnityDependencies = new Package(); + private static Executable_Package Il2CppDumper = new Executable_Package(); + private static Executable_Package Il2CppAssemblyUnhollower = new Executable_Package(); + private static string localConfigPath = null; + private static LocalConfig localConfig = new LocalConfig(); + private static Il2CppConfig il2cppConfig = new Il2CppConfig(); + + internal static bool Initialize(string unityVersion, string gameRoot, string gameDataDir) + { + PreSetup(gameRoot); + if (AssemblyGenerateCheck(unityVersion)) + { + Logger.Log("Assembly Generation Needed!"); + if (!AssemblyGenerate(gameRoot, unityVersion, gameDataDir)) + return false; + Cleanup(); + Logger.Log("Assembly Generation was Successful!"); + } + WriteLocalConfig(unityVersion); + return true; + } + + private static void PreSetup(string gameRoot) + { + GameAssembly_Path = Path.Combine(gameRoot, "GameAssembly.dll"); + + AssemblyFolder = Path.Combine(gameRoot, "MelonLoader", "Managed"); + + MSCORLIB_Path = Path.Combine(AssemblyFolder, "mscorlib.dll"); + + BaseFolder = SetupDirectory(Path.Combine(Path.Combine(gameRoot, "MelonLoader"), "AssemblyGenerator")); + + Il2CppDumper.BaseFolder = SetupDirectory(Path.Combine(BaseFolder, "Il2CppDumper")); + Il2CppAssemblyUnhollower.BaseFolder = SetupDirectory(Path.Combine(BaseFolder, "Il2CppAssemblyUnhollower")); + UnityDependencies.BaseFolder = SetupDirectory(Path.Combine(BaseFolder, "UnityDependencies")); + + localConfigPath = Path.Combine(BaseFolder, "config.json"); + if (File.Exists(localConfigPath)) + localConfig = Decoder.Decode(File.ReadAllText(localConfigPath)).Make(); + } + + private static void Setup(string gameRoot) + { + Il2CppDumper.OutputDirectory = SetupDirectory(Path.Combine(Il2CppDumper.BaseFolder, "DummyDll")); + Il2CppDumper.FileName = "Il2CppDumper.exe"; + + Il2CppAssemblyUnhollower.OutputDirectory = SetupDirectory(Path.Combine(Il2CppAssemblyUnhollower.BaseFolder, "Output")); + Il2CppAssemblyUnhollower.FileName = "AssemblyUnhollower.exe"; + } + + private static bool AssemblyGenerateCheck(string unityVersion) + { + if (localConfig.UnityVersion != unityVersion || localConfig.DumperVersion != ExternalToolVersions.Il2CppDumperVersion || localConfig.UnhollowerVersion != ExternalToolVersions.Il2CppAssemblyUnhollowerVersion) + return true; + string game_assembly_hash = null; + using (var md5 = MD5.Create()) + { + using (var stream = File.OpenRead(GameAssembly_Path)) + { + var hash = md5.ComputeHash(stream); + game_assembly_hash = BitConverter.ToString(hash).Replace("-", "").ToLowerInvariant(); + } + } + if (string.IsNullOrEmpty(localConfig.GameAssemblyHash) || (game_assembly_hash != localConfig.GameAssemblyHash)) + return true; + return false; + } + + private static void DownloadDependencies(string unityVersion) + { + Logger.Log("Downloading Il2CppDumper"); + DownloaderAndUnpacker.Run(ExternalToolVersions.Il2CppDumperUrl, ExternalToolVersions.Il2CppDumperVersion, Il2CppDumper.BaseFolder); + Logger.Log("Downloading Il2CppAssemblyUnhollower"); + DownloaderAndUnpacker.Run(ExternalToolVersions.Il2CppAssemblyUnhollowerUrl, ExternalToolVersions.Il2CppAssemblyUnhollowerVersion, Il2CppAssemblyUnhollower.BaseFolder); + Logger.Log("Downloading unity dependencies"); + try + { + DownloaderAndUnpacker.Run($"{ExternalToolVersions.UnityDependenciesBaseUrl}{unityVersion}.zip", unityVersion, UnityDependencies.BaseFolder); + } + catch (Exception ex) + { + Logger.LogError("Can't download unity dependencies, no unstripping will be done"); + Logger.Log(ex.ToString()); + } + } + + private static bool AssemblyGenerate(string gameRoot, string unityVersion, string gameDataDir) + { + DownloadDependencies(unityVersion); + + Setup(gameRoot); + + FixIl2CppDumperConfig(); + + Logger.Log("Executing Il2CppDumper..."); + if (!Il2CppDumper.Execute(new string[] { + GameAssembly_Path, + Path.Combine(gameDataDir, "il2cpp_data", "Metadata", "global-metadata.dat") + })) + { + Logger.LogError("Failed to Execute Il2CppDumper!"); + return false; + } + + Logger.Log("Executing Il2CppAssemblyUnhollower..."); + if (!Il2CppAssemblyUnhollower.Execute(new string[] { + ("--input=" + Il2CppDumper.OutputDirectory), + ("--output=" + Il2CppAssemblyUnhollower.OutputDirectory), + ("--mscorlib=" + MSCORLIB_Path), + ("--unity=" + UnityDependencies.BaseFolder), + "--blacklist-assembly=Mono.Security", + "--blacklist-assembly=Newtonsoft.Json", + "--blacklist-assembly=Valve.Newtonsoft.Json" + })) + { + Logger.LogError("Failed to Execute Il2CppAssemblyUnhollower!"); + return false; + } + + return true; + } + + private static void Cleanup() + { + if (localConfig.OldFiles.Count() > 0) + { + for (int i = 0; i < localConfig.OldFiles.Count(); i++) + { + string oldFile = localConfig.OldFiles[i]; + if (!string.IsNullOrEmpty(oldFile)) + { + string oldFilePath = Path.Combine(AssemblyFolder, oldFile); + if (File.Exists(oldFilePath)) + File.Delete(oldFilePath); + } + } + localConfig.OldFiles.Clear(); + } + string[] files = Directory.GetFiles(Il2CppAssemblyUnhollower.OutputDirectory, "*.dll", SearchOption.TopDirectoryOnly); + if (files.Length > 0) + { + for (int i = 0; i < files.Count(); i++) + { + string file = files[i]; + if (!string.IsNullOrEmpty(file)) + { + string filename = Path.GetFileName(file); + localConfig.OldFiles.Add(filename); + File.Copy(file, Path.Combine(AssemblyFolder, filename), true); + } + } + } + Directory.Delete(Il2CppAssemblyUnhollower.OutputDirectory, true); + Il2CppAssemblyUnhollower.OutputDirectory = SetupDirectory(Path.Combine(Il2CppAssemblyUnhollower.BaseFolder, "Output")); + } + + private static string SetupDirectory(string path) { if (!Directory.Exists(path)) Directory.CreateDirectory(path); return path; } + private static void FixIl2CppDumperConfig() => File.WriteAllText(Path.Combine(Il2CppDumper.BaseFolder, "config.json"), Encoder.Encode(il2cppConfig, EncodeOptions.NoTypeHints | EncodeOptions.PrettyPrint)); + private static void WriteLocalConfig(string unityVersion) + { + localConfig.UnityVersion = unityVersion; + localConfig.DumperVersion = ExternalToolVersions.Il2CppDumperVersion; + localConfig.UnhollowerVersion = ExternalToolVersions.Il2CppAssemblyUnhollowerVersion; + using (var md5 = MD5.Create()) + { + using (var stream = File.OpenRead(GameAssembly_Path)) + { + var hash = md5.ComputeHash(stream); + localConfig.GameAssemblyHash = BitConverter.ToString(hash).Replace("-", "").ToLowerInvariant(); + } + } + File.WriteAllText(localConfigPath, Encoder.Encode(localConfig, EncodeOptions.NoTypeHints | EncodeOptions.PrettyPrint)); + } + } + + internal class Package + { + internal string Version = null; + internal string BaseFolder = null; + } + + internal class Executable_Package : Package + { + internal string FileName = null; + internal string OutputDirectory = null; + + private static void OverrideAppDomainBase(string @base) + { + var appDomainBase = ((AppDomainSetup)typeof(AppDomain).GetProperty("FusionStore", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(AppDomain.CurrentDomain, new object[0])); + appDomainBase.ApplicationBase = @base; + Directory.SetCurrentDirectory(@base); + } + + internal bool Execute(string[] argv) + { + string assembly_path = Path.Combine(BaseFolder, FileName); + foreach (var enumerateFile in Directory.EnumerateFiles(BaseFolder, "*.dll")) + Assembly.LoadFrom(enumerateFile); + + if (File.Exists(assembly_path)) + { + var originalCwd = AppDomain.CurrentDomain.BaseDirectory; + try + { + OverrideAppDomainBase(BaseFolder + Path.DirectorySeparatorChar); + Assembly a = Assembly.LoadFrom(assembly_path); + if (a != null) + { + MethodInfo c = a.EntryPoint; + if (c != null) + { + Directory.SetCurrentDirectory(BaseFolder); + c.Invoke(null, new object[] {argv}); + } + else + return false; + } + else + return false; + } + catch (Exception e) + { + Logger.LogError(e.ToString()); + return false; + } + finally + { + OverrideAppDomainBase(originalCwd); + } + } + return true; + } + } + + internal class Il2CppConfig + { + public bool DumpMethod = true; + public bool DumpField = true; + public bool DumpProperty = true; + public bool DumpAttribute = true; + public bool DumpFieldOffset = false; + public bool DumpMethodOffset = false; + public bool DumpTypeDefIndex = false; + public bool DummyDll = true; + public bool MakeFunction = true; + public bool RequireAnyKey = false; + public bool ForceIl2CppVersion = false; + public float ForceVersion = 24.3f; + } + + internal class LocalConfig + { + public string UnityVersion = null; + public string GameAssemblyHash = null; + public string DumperVersion = null; + public string UnhollowerVersion = null; + public List OldFiles = new List(); + } +} diff --git a/MelonLoader.GeneratorProcess/AssemblyInfo.cs b/MelonLoader.GeneratorProcess/AssemblyInfo.cs new file mode 100644 index 000000000..db01e563b --- /dev/null +++ b/MelonLoader.GeneratorProcess/AssemblyInfo.cs @@ -0,0 +1,17 @@ +using System.Resources; +using System.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle(MelonLoader.BuildInfo.Name + ".GeneratorProcess")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany(MelonLoader.BuildInfo.Company)] +[assembly: AssemblyProduct(MelonLoader.BuildInfo.Name + ".GeneratorProcess")] +[assembly: AssemblyCopyright("Created by " + MelonLoader.BuildInfo.Author)] +[assembly: AssemblyTrademark(MelonLoader.BuildInfo.Company)] +[assembly: AssemblyCulture("")] +[assembly: ComVisible(false)] +//[assembly: Guid("")] +[assembly: AssemblyVersion(MelonLoader.BuildInfo.Version)] +[assembly: AssemblyFileVersion(MelonLoader.BuildInfo.Version)] +[assembly: NeutralResourcesLanguage("en")] \ No newline at end of file diff --git a/MelonLoader.GeneratorProcess/DownloaderAndUnpacker.cs b/MelonLoader.GeneratorProcess/DownloaderAndUnpacker.cs new file mode 100644 index 000000000..b21d93a4f --- /dev/null +++ b/MelonLoader.GeneratorProcess/DownloaderAndUnpacker.cs @@ -0,0 +1,46 @@ +using System.IO; +using System.IO.Compression; +using System.Net; + +namespace MelonLoader.GeneratorProcess +{ + public static class DownloaderAndUnpacker + { + public static void Run(string url, string targetVersion, string destinationFolder) + { + var downloadVersionMark = Path.Combine(destinationFolder, ".v-" + targetVersion); + if (File.Exists(downloadVersionMark)) + { + Logger.Log($"{destinationFolder} already contains required version, skipping download"); + return; + } + + Logger.Log($"Cleaning {destinationFolder}"); + foreach (var entry in Directory.EnumerateFileSystemEntries(destinationFolder)) + { + if (Directory.Exists(entry)) + Directory.Delete(entry, true); + else + File.Delete(entry); + } + + var tempFile = Path.GetTempFileName(); + Logger.Log($"Downloading {url} to {tempFile}"); + new WebClient().DownloadFile(url, tempFile); + Logger.Log($"Extracting {tempFile} to {destinationFolder}"); + + using var stream = new FileStream(tempFile, FileMode.Open, FileAccess.Read); + using var zip = new ZipArchive(stream); + + foreach (var zipArchiveEntry in zip.Entries) + { + Logger.Log($"Extracting {zipArchiveEntry.FullName}"); + using var entryStream = zipArchiveEntry.Open(); + using var targetStream = new FileStream(Path.Combine(destinationFolder, zipArchiveEntry.FullName), FileMode.OpenOrCreate, FileAccess.Write); + entryStream.CopyTo(targetStream); + } + + File.WriteAllBytes(downloadVersionMark, new byte[0]); + } + } +} \ No newline at end of file diff --git a/MelonLoader.GeneratorProcess/ExternalToolVersions.cs b/MelonLoader.GeneratorProcess/ExternalToolVersions.cs new file mode 100644 index 000000000..f56161ff3 --- /dev/null +++ b/MelonLoader.GeneratorProcess/ExternalToolVersions.cs @@ -0,0 +1,13 @@ +namespace MelonLoader.GeneratorProcess +{ + public static class ExternalToolVersions + { + public static string Il2CppDumperUrl = "https://github.com/Perfare/Il2CppDumper/releases/download/v6.2.1/Il2CppDumper-v6.2.1.zip"; + public static string Il2CppDumperVersion = "6.2.1"; + + public static string Il2CppAssemblyUnhollowerUrl = "https://github.com/knah/Il2CppAssemblyUnhollower/releases/download/v0.4.3.0/Il2CppAssemblyUnhollower.0.4.3.0.zip"; + public static string Il2CppAssemblyUnhollowerVersion = "0.4.3.0"; + + public static string UnityDependenciesBaseUrl = "https://github.com/HerpDerpinstine/MelonLoader/raw/master/BaseLibs/UnityDependencies/"; + } +} \ No newline at end of file diff --git a/MelonLoader.GeneratorProcess/GeneratorProcessProgram.cs b/MelonLoader.GeneratorProcess/GeneratorProcessProgram.cs new file mode 100644 index 000000000..a1b2f350c --- /dev/null +++ b/MelonLoader.GeneratorProcess/GeneratorProcessProgram.cs @@ -0,0 +1,28 @@ +using System; + +namespace MelonLoader.GeneratorProcess +{ + public static class GeneratorProcessProgram + { + public static int Main(string[] args) + { + if (args.Length != 3) + { + Logger.LogError("Bad arguments for generator process; expected 2 arguments: "); + return -1; + } + + try + { + return AssemblyGenerator.Main.Initialize(args[0], args[1], args[2]) ? 0 : -2; + } + catch (Exception ex) + { + Logger.LogError("Failed to generate assemblies;"); + Logger.LogError(ex.ToString()); + + return -3; + } + } + } +} \ No newline at end of file diff --git a/MelonLoader.GeneratorProcess/Logger.cs b/MelonLoader.GeneratorProcess/Logger.cs new file mode 100644 index 000000000..d2cd6be5a --- /dev/null +++ b/MelonLoader.GeneratorProcess/Logger.cs @@ -0,0 +1,20 @@ +using System; + +namespace MelonLoader.GeneratorProcess +{ + public class Logger + { + public static void Log(string str) + { + Console.WriteLine(str); + } + + public static void LogError(string str) + { + var oldColor = Console.ForegroundColor; + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine(str); + Console.ForegroundColor = oldColor; + } + } +} \ No newline at end of file diff --git a/MelonLoader.GeneratorProcess/MelonLoader.GeneratorProcess.csproj b/MelonLoader.GeneratorProcess/MelonLoader.GeneratorProcess.csproj new file mode 100644 index 000000000..7724bdcb8 --- /dev/null +++ b/MelonLoader.GeneratorProcess/MelonLoader.GeneratorProcess.csproj @@ -0,0 +1,79 @@ + + + + + Debug + AnyCPU + {84B12E10-41B3-479C-87A6-8CE5D8C82C2F} + Exe + Properties + MelonLoader.GeneratorProcess + MelonLoader.GeneratorProcess + v4.7.2 + 512 + $(SolutionDir)Output\$(Configuration)\MelonLoader\ + latest + + + AnyCPU + true + full + false + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + TRACE + prompt + 4 + + + + + + + + + + + + BuildInfo.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MelonLoader.ModHandler/TinyJSON/Decoder.cs b/MelonLoader.GeneratorProcess/TinyJSON/Decoder.cs similarity index 100% rename from MelonLoader.ModHandler/TinyJSON/Decoder.cs rename to MelonLoader.GeneratorProcess/TinyJSON/Decoder.cs diff --git a/MelonLoader.ModHandler/TinyJSON/EncodeOptions.cs b/MelonLoader.GeneratorProcess/TinyJSON/EncodeOptions.cs similarity index 100% rename from MelonLoader.ModHandler/TinyJSON/EncodeOptions.cs rename to MelonLoader.GeneratorProcess/TinyJSON/EncodeOptions.cs diff --git a/MelonLoader.ModHandler/TinyJSON/Encoder.cs b/MelonLoader.GeneratorProcess/TinyJSON/Encoder.cs similarity index 100% rename from MelonLoader.ModHandler/TinyJSON/Encoder.cs rename to MelonLoader.GeneratorProcess/TinyJSON/Encoder.cs diff --git a/MelonLoader.ModHandler/TinyJSON/Extensions.cs b/MelonLoader.GeneratorProcess/TinyJSON/Extensions.cs similarity index 100% rename from MelonLoader.ModHandler/TinyJSON/Extensions.cs rename to MelonLoader.GeneratorProcess/TinyJSON/Extensions.cs diff --git a/MelonLoader.ModHandler/TinyJSON/JSON.cs b/MelonLoader.GeneratorProcess/TinyJSON/JSON.cs similarity index 100% rename from MelonLoader.ModHandler/TinyJSON/JSON.cs rename to MelonLoader.GeneratorProcess/TinyJSON/JSON.cs diff --git a/MelonLoader.ModHandler/TinyJSON/LICENSE.md b/MelonLoader.GeneratorProcess/TinyJSON/LICENSE.md similarity index 100% rename from MelonLoader.ModHandler/TinyJSON/LICENSE.md rename to MelonLoader.GeneratorProcess/TinyJSON/LICENSE.md diff --git a/MelonLoader.ModHandler/TinyJSON/README.md b/MelonLoader.GeneratorProcess/TinyJSON/README.md similarity index 100% rename from MelonLoader.ModHandler/TinyJSON/README.md rename to MelonLoader.GeneratorProcess/TinyJSON/README.md diff --git a/MelonLoader.ModHandler/TinyJSON/Types/ProxyArray.cs b/MelonLoader.GeneratorProcess/TinyJSON/Types/ProxyArray.cs similarity index 100% rename from MelonLoader.ModHandler/TinyJSON/Types/ProxyArray.cs rename to MelonLoader.GeneratorProcess/TinyJSON/Types/ProxyArray.cs diff --git a/MelonLoader.ModHandler/TinyJSON/Types/ProxyBoolean.cs b/MelonLoader.GeneratorProcess/TinyJSON/Types/ProxyBoolean.cs similarity index 100% rename from MelonLoader.ModHandler/TinyJSON/Types/ProxyBoolean.cs rename to MelonLoader.GeneratorProcess/TinyJSON/Types/ProxyBoolean.cs diff --git a/MelonLoader.ModHandler/TinyJSON/Types/ProxyNumber.cs b/MelonLoader.GeneratorProcess/TinyJSON/Types/ProxyNumber.cs similarity index 100% rename from MelonLoader.ModHandler/TinyJSON/Types/ProxyNumber.cs rename to MelonLoader.GeneratorProcess/TinyJSON/Types/ProxyNumber.cs diff --git a/MelonLoader.ModHandler/TinyJSON/Types/ProxyObject.cs b/MelonLoader.GeneratorProcess/TinyJSON/Types/ProxyObject.cs similarity index 100% rename from MelonLoader.ModHandler/TinyJSON/Types/ProxyObject.cs rename to MelonLoader.GeneratorProcess/TinyJSON/Types/ProxyObject.cs diff --git a/MelonLoader.ModHandler/TinyJSON/Types/ProxyString.cs b/MelonLoader.GeneratorProcess/TinyJSON/Types/ProxyString.cs similarity index 100% rename from MelonLoader.ModHandler/TinyJSON/Types/ProxyString.cs rename to MelonLoader.GeneratorProcess/TinyJSON/Types/ProxyString.cs diff --git a/MelonLoader.ModHandler/TinyJSON/Types/Variant.cs b/MelonLoader.GeneratorProcess/TinyJSON/Types/Variant.cs similarity index 100% rename from MelonLoader.ModHandler/TinyJSON/Types/Variant.cs rename to MelonLoader.GeneratorProcess/TinyJSON/Types/Variant.cs diff --git a/MelonLoader.Installer/BuildInfo.cs b/MelonLoader.Installer/BuildInfo.cs new file mode 100644 index 000000000..5d5fb559c --- /dev/null +++ b/MelonLoader.Installer/BuildInfo.cs @@ -0,0 +1,10 @@ +namespace MelonLoader +{ + public static class BuildInfo + { + public const string Name = "MelonLoader"; + public const string Author = "Lava Gang"; + public const string Company = "discord.gg/2Wn3N2P"; + public const string Version = "0.2.1"; + } +} \ No newline at end of file diff --git a/MelonLoader.Installer/MainForm.Designer.cs b/MelonLoader.Installer/MainForm.Designer.cs new file mode 100644 index 000000000..ce31f5e07 --- /dev/null +++ b/MelonLoader.Installer/MainForm.Designer.cs @@ -0,0 +1,65 @@ +namespace MelonLoader.Installer +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.label1 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Segoe UI", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); + this.label1.Location = new System.Drawing.Point(13, 35); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(400, 32); + this.label1.TabIndex = 0; + this.label1.Text = "Please Select your Unity Game\'s EXE"; + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(425, 113); + this.Controls.Add(this.label1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "MainForm"; + this.Text = "MelonLoader Installer for v0.0.0 Open-Beta"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + internal System.Windows.Forms.Label label1; + } +} \ No newline at end of file diff --git a/MelonLoader.Installer/MainForm.cs b/MelonLoader.Installer/MainForm.cs new file mode 100644 index 000000000..555084309 --- /dev/null +++ b/MelonLoader.Installer/MainForm.cs @@ -0,0 +1,19 @@ +using System; +using System.IO; +using System.IO.Packaging; +using System.Linq; +using System.Threading; +using System.Windows.Forms; + +namespace MelonLoader.Installer +{ + public partial class MainForm : Form + { + public MainForm() + { + InitializeComponent(); + Text = Program.Title; + FormBorderStyle = FormBorderStyle.FixedSingle; + } + } +} diff --git a/MelonLoader.Installer/MainForm.resx b/MelonLoader.Installer/MainForm.resx new file mode 100644 index 000000000..84ae4f5b3 --- /dev/null +++ b/MelonLoader.Installer/MainForm.resx @@ -0,0 +1,1485 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1J3UAEjYSADMuMw4eOx5GEUIRjQRDA8gCUQHrAVwB+gBh + AP8AZAD/AGYA/wBnAP8AZwD/AGcA/wBnAP8AZwD/AGYA/wBjAP8BXgH+AVMB8AJFArUGMgZlDRwNIx0A + HQIXCBcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABgYGAAYGBgAGBgYAE49TgAASAAAKz0rLBJLEq8FWQX0AWEB/wBl + AP8AZwD/AGcA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGcA/wBl + AP8BXAH8A0sD2gYzBnwMGAwcDioOAAYABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tACysrIBs7SzA8AswAEhQCFGDVEN0wFi + Af8AZwD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZwD/AGYA/wFcAf4CRgLCBScFSgwADAQJCgkAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXm9QD///8AonyiBBlC + GVkIVgjjAGUA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBlAP8AZQD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZQD/AGUA/wBlAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBnAP8AZQD/AVMB6wM0A3QKCAoMAxcDAD8A + PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVj + ZQCMbowGHkkeYwVYBegAZgD/AGYA/wBmAP8AZgD/AGYA/wBlAP8AZwD/AG0A/wB2AP8AewD/AH4A/wCB + AP8AggD/AIIA/wCBAP8AfQD/AHkA/wBxAP8AawD/AGcA/wBlAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBa + APgDOgOXCA8IEwQdBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAPkc+AI05jQInUCdqCVwJ8QBmAP8AZgD/AGYA/wBmAP8AZQD/AGgA/wBzAP8AhAD/AJIA/wCY + AP8AmQD/AJkA/wCaAP8AmgD/AJoA/wCaAP8AmQD/AJgA/wCWAP8AkAD/AIYA/wB5AP8AbQD/AGYA/wBl + AP8AZgD/AGYA/wBnAP8AXgD7Aj4CngoVChUIIggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACZe5kA////ASZPJloGWgbqAGYA/wBmAP8AZgD/AGYA/wBmAP8AcQD/AIcA/wCW + AP8AmgD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmgD/AJoA/wCY + AP8AkgD/AIMA/wBwAP8AZgD/AGYA/wBmAP8AZwD/AF4A/QI+ApADAwMIAhwCAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAI58jgAAJQAAM1UzPwxaDN4AZgD/AGYA/wBmAP8AZQD/AGoA/wB/ + AP8AlAD/AJoA/wCZAP8AmQD/AJkA/wCZAP8AmgD/AJoA/wCaAP8AmgD/AJoA/wCaAP8AmwD/AJoA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCTAP8AgAD/AGwA/wBlAP8AZgD/AGcA/wBcAPQBPgFoBgAGAQIH + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABg+GAAiOCIWEFgQwgFlAf8AZgD/AGYA/wBm + AP8AcQD/AIsA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCaAP8EkRX/EnVZ/xZtb/8WbW7/Fm5s/xNz + X/8OfEn/CYcs/wSSEv8BmAT/AJoA/wCaAP8AmQD/AJkA/wCZAP8AmQD/AI4A/wB0AP8AZgD/AGYA/wBm + AP8AWADlAjQCRQBvAAAGAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS1BLAHhGeAUSTRKGAWEB/ABm + AP8AZgD/AGYA/wB1AP8AkQD/AJoA/wCZAP8AmQD/AJkA/wCZAP8AmgD/ApYJ/xB4Uf8mTL//MjX6/zMz + //8zM///MzP//zM0/f8yNvj/Lj3m/yhIyf8gWZ//FW9o/wmHLv8Blwf/AJoA/wCZAP8AmQD/AJoA/wCV + AP8AfAD/AGgA/wBmAP8AZQD/Ak8CzQkjCSYEMAQAAAAAAAAAAAAAAAAAAAAAAAAAAABYS1gAAkcCABpE + GkIHXAfsAGYA/wBmAP8AZgD/AHYA/wCTAP8AmgD/AJkA/wCZAP8AmQD/AJkA/wCaAP8IiSn/IFqg/zE4 + 8/80Mv//MzP//zMz//8zM///MzP//zIy+P8zMvz/MzL//zQy//80Mv//MzT8/y4+5f8hVqb/D3pN/wOU + Df8AmgD/AJkA/wCZAP8AlwD/AIIA/wBpAP8AZgD/AGIA/wRCBJgRABEGChgKAAAAAAAAAAAAAAAAAAAA + AAAsPCwAMjEyCwpSCq0AZAD/AGYA/wBmAP8AcgD/AJMA/wCaAP8AmQD/AJkA/wCZAP8AmgD/ApcI/xJ1 + Wv8qRNT/MC/y/y4u6P8zM///LS3j/xwcjv8wMO7/MzP//x0dkP8fH5v/MzP//zMz//8wMO//MDDu/zMy + //80Mv//MTjz/yNTr/8Nf0H/AZgE/wCaAP8AmQD/AJgA/wCDAP8AaAD/AGYA/wFZAfAHMwdOAk0CAA8N + DwAAAAAAAAAAAAAAAAANTA0AF0oXTANeA/IAZgD/AGYA/wBtAP8AjgD/AJoA/wCZAP8AmQD/AJkA/wCa + AP8FkBf/HGCN/zE48v80M///JCSz/w8PTv8vL+3/LS3g/w0NQP8oKMj/NDT//xcXcv8QEE//MjL7/zMz + //8cHI3/FBRm/zIy+f8zM///MzP//zQy//8vPOn/GWaA/wSSE/8AmgD/AJkA/wCYAP8AgAD/AGcA/wBl + AP8DSwO4DBMMEQsdCwAAAAAAAAAAAAAAAABeQl4HClUKnwBlAP8AZgD/AGcA/wCEAP8AmQD/AJkA/wCZ + AP8AmQD/AJoA/weKJf8jUrD/MzP9/zMy//8zM///Li7n/yAgo/8wMPH/MzP+/yoq0v8wMPD/MzP//yws + 2v8kJLX/MzP+/zQ0//8iIqv/GhqC/zMz/v8zM///MzP//zMz//8zMv//MzT8/yJWqv8GjSD/AJoA/wCZ + AP8AlwD/AHwA/wBnAP8BXAH6CDcIaQD/AAAeGR4AAAAAAAAAAAAkSyQwB14H4gBmAP8AZQD/AHMA/wCV + AP8AmQD/AJkA/wCZAP8AmgD/CIgq/yZMv/8yMf7/MDDy/zk54/88POH/MzPs/zEx/f8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8xMfT/MDDx/zMz//8lJbf/JCSz/zMz/v8zM///LS3j/yYl + v/8kT7T/B4wi/wCaAP8AmQD/AJQA/wB0AP8AZQD/A04DzAsfCxkKJwoAAAAAAAAAAAASThJtAmIC+wBm + AP8AZwD/AIYA/wCaAP8AmQD/AJkA/wCaAP8HiiX/J0zA/zEw+f9ISND/kJDG/8nJ3v/T0+T/qqrR/19f + zP8yMu7/MzP//zMz//8zM///MzP9/zMz//8zM///MzP//y0t4/8YGHn/LCzc/zQ0//8YGHv/EBBQ/zIy + +P80NP//IiKs/w4OR/8vLuz/I1Su/wSRFf8AmgD/AJoA/wCNAP8AbAD/AV4B/Qk9CW8AgQAAPyg/AAAA + AAANVA2rAGUA/wBmAP8AbwD/AJQA/wCZAP8AmQD/AJoA/wSSE/8iVKz/MTD8/1VUzP/Q0Nz////9//// + /////////////+rq6/91dcX/MTHz/zQ0//8rK9j/ERFg/yQkuf8zM///NDT//yoq0P8ICCn/JyfD/zQ0 + //8oKMb/JCSy/zMz//80NP//JSW4/yIirP8zM///MzT8/xtiiv8Blwb/AJkA/wCZAP8AgQD/AGYA/wZQ + Bs0ZJRkXFi0WAAAAAAAMWwzYAGYA/wBlAP8AewD/AJkA/wCZAP8AmQD/AJkB/xhoef8yM/3/Pj7f/8TE + 2f/////////////////////////////////f3+b/T0/U/zEx//8wMM7/JSUt/yYmg/8yMv//MzP//y4u + 5f8YGH//Ly/u/zMz//8zM///MzP//zMz//8zM///MTH3/zIy+P8zM///MzL//zA58P8ReFP/AJoA/wCZ + AP8AlQD/AHMA/wFdAfgJPAlYAVMBABcVFwAMXgz4AGYA/wBnAP8AiAD/AJoA/wCZAP8AmgD/CoYx/y0/ + 4f8xL/v/fX3P/9PT0P+kpKT/yMjI//v7+/////////////////////z/i4vQ/zs79/+mpvr/5OTk/8PD + 7v9fX///MTH//zg4/v8/P/j/PT3+/zMz//8yMv//MzP//zMz//8zM///MzP//zMz//8zM///MzP//zQy + //8oSMn/BY4c/wCaAP8AmgD/AIkA/wBnAP8FTQWuHQ4dCRkjGQACWQL/AGYA/wBrAP8AkAD/AJoA/wCZ + AP8AmQH/HGGM/zQy//85Oez/hISi/ysrKf8DAwP/GRkZ/6urq///////////////////////tLTa/3t7 + 7//X1///ysr//+vr///d3f//m5v//8DA///W1v//0dH//5eX//9DQ///MjL//zMz//8zM///MzP//zMz + //8nJ8b/KSnO/zMz//8zM/3/GGh6/wCZAP8AmQD/AJcA/wB4AP8BWQHnBzQHMQY5BgAAWwD/AGYA/wBv + AP8AlQD/AJkA/wCaAP8Gjh7/J0DE/yclyP89PdL/OjpE/wAAAP8AAAD/AAAA/zw8PP/t7e3///////// + ////////xsbh/2Rk6/9MTP//Ozv//11d///Pz/////////39///h4f//3Nz///j4//+srP//OTn//zEx + 9/8zM/3/MzP//zQ0//8fH5z/HR2T/zQ0//80Mv//K0PV/waMIP8AmgD/AJoA/wCMAP8AZgD/B0YHgAD/ + AAAAWgD/AGYA/wB0AP8AlwD/AJkA/wCaAP8PfUv/Iier/woKNf8vL6//EBAa/wAAAP8AAAD/AAAA/xgY + GP/W1tb/////////////////rq7V/zMz7/8xMf//MjL//zAw//9eXv//5+f//7Cwwf84OJn/QUHy/39/ + ///U1P//ZWX5/xcXff8oKMb/MzP//zMz//8xMfP/Li7m/zMz//8zM///MzT9/xZtbf8AmgD/AJkA/wCX + AP8AdgD/BFMEyhksGRkHWwf/AGYA/wB4AP8AmQD/AJoA/wCaAP8Vbm3/LCzd/yMjsf8tLdT/CQkg/wAA + AP8AAAD/AAAA/x8fH//d3d3////////////9/fv/goLP/zAw+P8zM///MzP//zMz//80NP//cHD8/zIy + Wv8KCj7/LS3o/zEx//9lZf//bW3z/wsLPP8ZGX3/MzP//zMz//8yMv//MDD9/y8v+f8wMPv/MjD//yZO + vP8Dkw7/AJkA/wCaAP8AiAD/A18D9R5LHl0KXArpAWIB/wZpBvELgQvpEYQR6hiIFuolXXTqMTHo9jMz + +v8wMPT/FhZS/wICAP8AAAD/AAAA/1paWv/39/f////////////c3OX/S0vZ/zIy//8xMfb/MDDy/zMz + //8zM///MDD3/xUVbf8oKMr/MzP//zMz//8zM///Nzf9/x4elP8lJbr/MzP//zAw+f89Pdn/amrN/4WF + y/98fM3/T07Y/zA84P8LhDb/AJoA/wCaAP8AkAD/AGkA/xJSEqwTTBOgG1EbkiRGJD4wSTAqSF5IK2V2 + ZCtPV2UsNTWPTzExqpQwMMzVMTGm+zg4RP8uLi3/VVVV/9XV1f////////////Ly8f95ecb/MTH0/zQ0 + //8iIqr/ERFV/y0t4f8zM///MjL7/ygoyf8xMfb/MzP//zMz//8zM///MzP//zMz/f8zM/7/MTH2/1xc + yP/Hx9j/+Pj2/////f/h4d7/kJCW/z0+hf8PaU//AJsA/wCZAP8AlQD/AG8A/wtZC/IzMDMLf1t/BVs8 + WwAAAAAAAAAAAAAAAAAAAAAAPj4AAD4+AAM+PmAeNTV+XWRkdqq+vr3w7u7u///////9/fz/2tri/3d3 + xP8zM+n/MzP//zQ0//8fH5r/AQEF/yIiqf80NP//MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8xMf7/UlLP/9ra4v///////////9fX1/8+Pj7/CQkI/wcECP8FPBj/AJcB/wCZAP8AlwD/AHUA/wBX + AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWVlZAFNTUwmAgIBHrq6tip2d + o857e7T5SEjP/zAw9P8zM///MzP//zQ0//8mJr7/BAQU/yMjr/80NP//MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//81Ner/ra3U/////v///////v7+/3Fxcf8AAAD/AAAA/wAAAP8AEgD/AIAA/wCa + AP8AmQD/AHsA/wBaAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAANDQ0ANTUAAC4uOBk0NH9fMDC2tTAw3fIyMvj/MzP//zMz//8wMPL/GxuH/yws3f8zM///MzP//zMz + //8zM///MDDw/y0t5P8zM///MzP//zEx//9UVNT/6urt////////////9vb2/0NDQ/8AAAD/AAAA/wAA + AP8GCQb/CWwJ/wCbAP8AmQD/AH8A/wBZAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlpAAAAAP8AR0c8DDY2fUowMK6nLS3b6DIy9/8zM///MjL7/zMz + /v8zM///MzP//zMz//80NP//JCSz/w8PS/8vL+r/MzP//zAw/P95ec7//f36////////////+/v7/1lZ + Wf8AAAD/AAAA/wAAAP8wMDD/Noo2/wCZAP8AmgD/AIIA/wBXAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAuLgUHGxxpOyQl + pKcsLNrtMjL5/zMz//8zM///MzP//zMz//80NP//IyOx/xAQUf8wMPH/MzP//zAw+v+JidD////7//// + /////////////7u7u/8jIyP/BQUF/yEhIf+goKH/R5xJ/wCYAP8AmgD/AIUA/wdbB/8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAFBYtAAoMBwgZG2tAJiazpS4u4vMzM/3/MzP//zMz//8zM///LS3f/ygoyv8zM///MzP//zAw + /P97e9D//f36//////////////////39/f/Q0ND/r6+v/9jY1//i4ev/MYFY/wCZAP8AmgD/AIcA/w5g + DvgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaGz8AFBUiCiAgh0soKcO2Ly/q+zMz/v8zM///MzP//zMz + //8zM///NDT//zEx//9aWtX/7+/x//////////////////////////////////////+xr9n/HmN5/wCZ + AP8AmgD/AIgA/wNYA9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIjbQAZGjwUICGUaioq + 0NQxMfX/MzP//zMz//8zM/7/KSnO/yYmw/83N+H/tbXV/////////////////////////////////+Tk + 6P9bWdD/HFqV/wCYAf8AmgD/AIcA/w1cDdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAADAwoA////ABcXXyQkJKqXLS3h8DMz/f8zM///Fxdy/wUFGv8oKNH/T0/R/8vL2v////3///////// + //////7/4eHl/3Bwxf8yL/X/HlyY/wCYAf8AmgD/AIYA/wlWCbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABQUQAAMCxoHHB15VCgoutUxMfP+KirQ/xISWv8rK9j/MTH8/0dH + 0/+Xl8z/vLzT/7290/+Zmcn/UFDL/zEx8v80Mf//HV+Q/wCZAP8AmgD/AYQB/xNTE54AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFAUAAAwAARQXRCQiI52TLi7k6zEx + 8/8zM/3/MzP//zEx/v8xMfH/Njbm/zY25f8xMfD/MTH9/zMz//80Mv//GmWC/wCaAP8AmgD/AX8B/RZS + FnUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoa + RQAKCwQFGxtzWCgnutwxMfT/MzP//zMz//8zM///MzP//zIy/v8yMv3/MzP//zMz//8zM///Fmxx/wCb + AP8AmgD/BHoE9xdKF1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAQDQIAAgAAARYUQy0jIputLi7k+jMz//8zM///MzP//yIirf8VFWj/Ly/q/zMz + //8yNfn/EXdV/wCaAP8AmQD/B3cH5y5KLjcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMTRAAPDhgSJyeJeDAw1ekzM/v/NDT//ykp + zP8QEFL/LS3j/zQz//8vOu3/CoUz/wCaAP8AmAD/CG8IyzA8MBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOTkQAb3AAAi4u + cFAoKLXTMTH0/jMz/v8uLuP/MjL5/zQy//8qRdL/BY8Z/wCaAP8AlAD/EWkRp3UfdQYAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAACwgAAAAAAAEVEzssJiahrTEx6/kzM///MzP//zQy//8hVqb/AZcE/wCaAP8CjwL/E18TdgB6 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAA+QJcALy8/Ei8voIIvL+DwMzP+/zMz/v8Vb2r/AJoA/wCa + AP8FiAX2Jl0mSQBeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyc+AB8fAAUsLI5dMTDU5C09 + 4v8JhjD/AJoA/wCZAP8JgAnaMkwyIBg7GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFZW + QQCEhAACNi+JRSFPe9MCkQv/AJoA/wCXAP8RdxGtcSxxBoGegQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAiJRgAAJgAAB1QGzAJdwi9AZUB/wKSAv8XbBdtAIsAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuECwAiTSIhA2wDsAN6A+kYTxg2FVwVAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ADQADNQMABSgFJwQw + BI4GFwYWCBgIAAAAAAD/+AAD//8AAP/gAAB//wAA/8AAAD//AAD8AAAAD/8AAP4AAAAH/wAA/AAAAAP/ + AAD4AAAAAf8AAPAAAAAA/wAA8AAAAAB/AADgAAAAAH8AAMAAAAAAPwAAwAAAAAAfAACAAAAAAB8AAIAA + AAAADwAAAAAAAAAPAAAAAAAAAAcAAAAAAAAABwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAB + AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAD/4AAAAAAAAP/8 + AAAAAAAA//8AAAAAAAD//8AAAAAAAP//8AAAAAAA///8AAAAAAD///8AAAAAAP///8AAAAAA////4AAA + AAD////wAAAAAP////wAAAAA/////gAAAAD/////gAAAAP/////AAAAA/////+ABAAD/////+AEAAP// + ///8AQAA//////4BAAD//////4MAAP//////wwAA///////jAAAoAAAAgAAAAAABAAABACAAAAAAAAAA + AQDCDgAAwg4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAcHBwbFxcTQQ8PC0EDAwNBBQUCWgcLBfgCDgPsCBcL+wYZ + B/wFGQf/BRkH/wUZB/8FGQf/BRkH/wUZB/8FGQf/BRkH/wYZCP8LGg7/DhgS/w0REa0DAwNBCwsPQRMX + G0EaGhoTAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAADMzMwUZGRkKExMTDRMTD0AVFhDICw8IyQML + At8FHwT/AzMD/wFEAf8AUQD/AFUA/wBZAP8AWwD/AGAA/wBgAP8AYAD/AGAA/wBgAP8AYAD/AGAA/wBg + AP8AYAD/AF8A/wBbAP8AVwD/AFIA/wFIAf8CMQP/BBwF/wILBNkLEA3JFBkZyRUVFSMSEhIOAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMzMzBRcU + EmMODgx8DgwJtQoXB+IGJgX4ADkA/wBIAP8AVQD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AF8A/wBPAP8APgD/AysE/wkTC/8FBwePDQ0NdREREQ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABoaGgxPDw8NwsLCJoNFgrtAhYC/QA2AP4AUgD/AGMA/wBkAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZQD/AGMA/wBJ + AP8AIwD9BxYHzgQJBDcZGRkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVRUVAlOTk4xMjMywBkjGfkPOA//AEUA/wBX + AP8AYwD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AWgD/Aj8C/wMRA9cPEg/AGhoaMCQk + JAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRU + VAkwMDCKKTYp/wQvBP8ARwD/AGIA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGMA/wBOAP8CLAL/DRUN3hYWFnsfHx8IAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdXV0xNTw17wM4A/8AYQD/AGUA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBl + AP8AWwD/ASwB/wsVC+8KCgozHh4eGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/f38CUFBQViAs + IP8ATwD/AGUA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZQD/AFcA/wIwAv8LDQvfHR0dXwAA + AAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/f38CAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVFRaQLKwv/AF0A/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBPAP8DIAP8BQcFZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAALKysgoAAAAAAAAAAAAAAAAAAAAAAAAAAEVFRQtDR0PaBTcF/gBi + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBj + AP8APwD9BQ4F5g8SD1MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BqampEgAA + AAAAAAAAAAAAAAAAAABnZ2cvGiIayAFHAf8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AWQD/AiQC8gsLC4sAAAACAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wGysrIKAAAAAAAAAAAAAAAAW1tbSyAwIOcAUwD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZAD/ADcA/wgPCNUAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AZmZ + mQUAAAAAAAAAADc8NzMWKxb4AVkB/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZQD/AE8A/wMP + A+AMDAwoAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BqqqqAwAAAABcX1xrCCoI5gBdAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AFoA/wMfA/8MDwxmAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACZmZkFJCQkOA8vD/8AYQD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBq + AP8AbgD/AHIA/wBzAP8AdgD/AHkA/wB+AP8AfgD/AH4A/wB+AP8AfgD/AH4A/wB+AP8AfgD/AH4A/wB4 + AP8AdQD/AHIA/wBvAP8AawD/AGcA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGEA/wEnAf8ODg6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHR0dIwGKwbrAGIA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBoAP8AcQD/AIYA/wCHAP8AkAD/AJMA/wCVAP8AlwD/AJcA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AlwD/AJUA/wCTAP8AkQD/AIgA/wB7 + AP8AcQD/AGkA/wBoAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGMA/wEyAf8GCAZ1HBwcCQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABwcHCcDzUP/QBjAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBrAP8AfgD/AI4A/wCYAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AkwD/AI0A/wCCAP8AcQD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGUA/wA8AP8JDAm8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdnZ2jAstC/8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGcA/wBw + AP8AgwD/AJcA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AkwD/AIUA/wB3AP8AbAD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wA6 + AP8FDQWFHBwcEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9i + X1ASMhL9AGEA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGcA/wBxAP8AjQD/AJYA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCTAP8AiQD/AHEA/wBoAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGQA/wE9Af8NEQ25AAAAAwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkrDjMO+ABjAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wB0AP8AiwD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AI8A/wB9 + AP8AagD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGUA/wE6Af8JDQmHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlZWVYRQv + FPwAYwD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBuAP8AhwD/AJgA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCVAP8AfQD/AGwA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGUA/wEsAf4DCgNGAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmpqSc1RDX2AFsA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBoAP8AgAD/AJQA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AkwD/AH8A/wBnAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGMA/wImAu8ACgAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMjIwUHCscmgFR + Af8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AdAD/AI8A/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJAA/wB4 + AP8AZwD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGAA/wIh + AtcAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAmZmZBV5kXrwCSgL/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AagD/AIIA/wCYAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA/wCJAP8AbQD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AFoA/wERAawAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4enh/Cz8L/wBl + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AHAA/wCQ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCUAP8AegD/AGcA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AU0B/wIGAnMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAW1tbDh8+H/8AYwD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGgA/wB7AP8AlgD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + Af8KhTH/Fm1v/xdrcv8Xa3L/F2ty/xdrcv8Xa3L/F2ty/xdrcv8XbHH/EnVa/xB4U/8MgTv/Bowg/wKV + Cv8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AhwD/AGsA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AT0B/wQIBD8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMGgyRAFcA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBqAP8AhwD/AJgA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8Fjxj/GmOF/zA48/8zM/7/MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8yNfr/MjX5/zE39f8wOe//Lzvr/yxB2/8eXZf/Fmxx/wiJKP8GjR3/ApQM/wCZ + Af8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AkwD/AHIA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZQD/AikC9QAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAALS0tWQJCAv8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AawD/AI0A/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8Blgf/F2pz/yxA + 3/8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//y876/8oSMn/HV6U/xJ0XP8HiSb/AZgD/wCZAf8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AlgD/AH4A/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AXQD/BhcG0gAA + AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxcXCwYNxj+AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AHAA/wCQAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8BlwT/EHhR/yhHzP8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8rQtr/G2OH/w97Sv8EkBb/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AIcA/wBqAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8ATAD/DhMOnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAATFJM6gBeAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBvAP8AkwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmAL/B4ol/yJVqv8xNvf/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MTb3/y49 + 5/8cYYz/B4om/wKVC/8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AI4A/wBrAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBl + AP8DMQP9FhkWWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4iHkMAPwD+AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AcAD/AJMA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/ApYI/xlmfv8vO+r/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8yNfn/J0rF/xNzX/8Blgb/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJEA/wBv + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBeAP8JGwneAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACenp4dGjQa+ABlAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AG4A/wCTAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wiIKv8lTrv/MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//yw/4P8Vb2j/BJEU/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJMA/wBxAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wFGAf8IEQhyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsgG2UBUgH/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBqAP8AkQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wGW + B/8TcWL/Lzvq/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MTH3/y4u + 6f8yMvz/MzP//zMz//8zM///MzP//zMz//8zM///LCzb/w8PTv8pKc7/MzP+/zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zM0 + /f8sQN3/FHBl/wKUDP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJQA/wBwAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGQA/wUpBfgXGxc3AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAB8fHwvEDUQ+ABlAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AaAD/AI4A/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8Gjhz/JFC1/zI0/f8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz/f8TE2H/AQEI/xoagf8zM/7/MzP//zMz//8zM///MzP//zMz + //8bG4f/AAAA/wMDEf8kJLP/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///KUbN/xF3Vf8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJMA/wBvAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AFoA/wwYDMUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEcEXYAWgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGcA/wCFAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8BmAP/EXdV/y87 + 7P8zM///MzP//zMz//8zM///MzP//ykpzv8bG4j/IyOy/zEx9v8zM///MzP//zMz//8zM///Li7m/wQE + Fv8AAAD/AwMP/y4u6P8zM///MzP//zMz//8zM///MzP//w4OSf8AAAD/AAAA/woKMf8yMvr/MzP//zMz + //8zM///MzP//zMz//8zM///LCzb/yQktv8nJ8L/MjL7/zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP+/yFXpf8HiyP/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJQA/wBuAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AzsD/xMW + E04AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAB1dXUyEDgQ+gBlAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AegD/AJgA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/ApQM/x1fkP8xNvf/MzP//zMz//8zM///MzP//zMz//8zM///FhZv/wAA + AP8BAQT/ExNh/zMz/v8zM///MzP//zMz//8wMO7/Bwci/wAAAP8AAAD/Hh6W/zMz//8zM///MzP//zMz + //8zM///Dg5G/wAAAP8AAAD/AgIJ/zEx9f8zM///MzP//zMz//8zM///MzP//zMz//8MDDv/AAAB/wIC + Cf8bG4j/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP+/y0+ + 4/8Ub2f/AZcF/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJEA/wBr + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AXwD/BhkGvgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpIOpgBXAH/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AHAA/wCXAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wiJJ/8nSsX/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8ZGX//AAAA/wAAAP8CAgj/MzP9/zMz//8zM///MzP//zMz + //8iIqn/AQEE/wAAAP8VFWf/MzP//zMz//8zM///MzP//zMz//8gIKD/AAAC/wAAAP8EBBT/MTH3/zMz + //8zM///MzP//zMz//8zM///MzP//w0NQ/8AAAD/AAAA/wYGIf8yMvz/MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zI1+/8hV6X/BJES/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AI8A/wBqAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8BRQH/DxQPcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAA/Pz8MAzAD3wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBp + AP8AkAD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCYAv8NfkP/MDnx/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//yoq + 0/8DAxL/AAAA/wUFGv8zM/7/MzP//zMz//8zM///MzP//zEx9/8MDDz/CAgp/yoq0/8zM///MzP//zMz + //8zM///MzP//zAw8f8MDDz/AAAA/wwMPv8yMvz/MzP//zMz//8zM///MzP//zMz//8zM///GhqD/wAA + AP8AAAD/FRVn/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8rQdv/CYct/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AIoA/wBoAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBkAP8JHgn/FRUVDAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYoFjkCVgL/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AIEA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8BlwT/FHBl/zA58P8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP+/ygoyf8VFW3/GRl9/zMz//8zM///MzP//zMz + //8zM///MzP//y4u5f8uLuj/MzP//zMz//8zM///MzP//zMz//8zM///MzP//y4u6P8PD0v/Hx+c/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8oKMr/AQEG/wEBBv8sLNv/MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8tPuT/Dn1G/wCZ + Af8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AIUA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBNAP8NEQ2FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACysrIUK0Yr5ABjAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBw + AP8AlgD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AZcE/xpjhf8yNfn/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zIy + +P8JCS3/Dg5F/zIy/P8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8xN/T/FW5r/wCZAf8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AH0A/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGUA/wUpBf8rKytSAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc3NyUNSQ3/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZwD/AIoA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wKVCf8bYof/MzT9/zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//y8v6v8tLeD/MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8yNPz/FW1s/wGYA/8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmAD/AHIA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AFYA/w0SDaoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQ1JDjwBaAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBy + AP8AmAD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8BmAP/IFih/zI0/P8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP+/zMz/f8zM/3/MzP9/zMz + /v8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MjL8/xsbiP8NDUD/FhZt/zEx9/8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MTH2/xgYff8mJsH/MzP//zMz//8yNfr/GGd8/wCYAf8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AkQD/AGkA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AysD/wAA + AAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJSUlAwZOBnWAGUA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZwD/AIsA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/ApUJ/x9anf8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MTH3/yMjsP8fH4L/MjKC/zIygv8yMoL/JCSH/yIirf8vL+n/MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8yMvj/Cws2/wAAAP8AAAD/Hh6W/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8oKMz/AQEF/wIC + Df8mJr//MzP//zMz//8zNP3/Fm1u/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AhQD/AGcA/wBmAP8AZgD/AGYA/wBmAP8AWwD/ERcRwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAHigeGQpICv8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBx + AP8AmAD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wKW + CP8cX5D/MzT9/zMz//8zM///MzP//zMz//8yMvv/KSnP/yMjZf83N0b/k5OY/+3t7f/x8fH/8fHx//Hx + 8f/o6On/pKSp/z4+Uv8mJpj/LS3g/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zIy + +v8nJ8T/Fxd2/yQktP8zM/7/MzP//zMz//8zM///MzP//zIy+f8LCzn/AAAA/wAAAP8NDUH/MjL8/zMz + //8zM///MzP//zMz//8zM///MzP//yAgof8AAAD/AAAA/wcHI/8wMO//MzP//zMz//8xN/X/EHhR/wCZ + Af8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCYAP8AeAD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8DLwP/GBgYFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKU0p3AFUA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZwD/AIgA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQH/HV+R/zMz/v8zM///MzP//zMz//8zM///MTHz/xkZ + bP9qanX/1dXV//7+/v//////////////////////////////////////+Pj4/8bGxv9iYnX/HByE/zIy + /P8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///IyOw/wICC/8AAAD/BAQV/zAw8f8zM///MzP//zMz + //8zM///MzP//xISXP8AAAD/AAAA/xAQT/8zM/7/MzP//zMz//8zM///MzP//zMz//8zM///GhqB/wAA + AP8AAAD/Cgoy/y0t4/8zM///MzP//zMz//8vO+v/CoUw/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCUAP8AbAD/AGYA/wBmAP8AZgD/AGYA/wBbAP8aHhrSAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgdCJ0AZAD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBs + AP8AlgD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgC/xRx + Zf8yNPz/MzP//zMz//8zM///MzP//yws2/8sLFr/tra2//////////////////////////////////// + //////////////////////////////////+dnZ3/IiJl/y8v7P8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8iIqv/AAAA/wAAAP8AAAD/IyOu/zMz//8zM///MzP//zMz//8zM///Hx+d/wAAAP8BAQP/IyOw/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8ZGX7/AAAA/w0NQv8wMPP/MzP//zMz//8zM///MzP//zMz + //8qRNT/BJAW/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCJAP8AZwD/AGYA/wBm + AP8AZgD/AGYA/wQyBPkwMDAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcXFwLI0kj9QBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AHwA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8Pe0n/MDjz/zMz//8zM///MzP//zMz//8vL+n/MTFT/9bW + 1v////////////////////////////////////////////////////////////////////////////7+ + /v/CwsL/HBxi/zIy+v8zM///MzP//zMz//8zM///MzP//zMz//8zM///GRl//wUFG/8GBh7/GBh7/y8v + 7v8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//yYmwf8AAAD/AAAA/wAAAv8dHZX/MzP//zMz + //8zM///MzP//zMz//8tLd//Bwck/xERV/8xMfj/MzP//zMz//8zM///MzP//zMz//8zM///MzP//xkZ + fv8CAgz/KyvY/zMz//8zM///MzP//zMz//8zM///MzP//zMz/v8iVKv/AZYH/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJgA/wB2AP8AZgD/AGYA/wBmAP8AZgD/AFcA/ygrKNsAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABMTEw0EQQT/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AjwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/BY8Y/y0/ + 4P8zM///MzP//zMz//8zM///MjL7/yQkW//T09P///////////////////////////////////////// + //////////////////////////////////////////////////+ioqP/HByL/zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8HByX/AAAA/wAAAP8AAAH/ERFV/zMz/f8zM///MzP//zMz//8zM///MzP//zMz + //8zM///KyvZ/wAAAP8AAAD/ExNh/zEx9/8zM///MzP//zMz//8zM///MzP//zMz//8wMO//MjL5/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///ISGn/wwMO/8yMvv/MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zI0/P8YZ3v/AJkB/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJIA/wBq + AP8AZgD/AGYA/wBmAP8AZQD/BCgE6AAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYWBhgBO + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AG0A/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wKWCP8jUrH/MzP//zMz//8zM///MzP//zMz//8fH4r/sLCw//// + //////////////////////////////////////////////////////////////////////////////// + //////////////39/f9lZXD/Kyva/zMz//8zM///MzP//zMz//8zM///MzP//wgIKP8AAAD/AAAA/wAA + AP8HByT/MTH0/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8tLeL/AwMO/wAAAP8eHpb/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8yMv3/Ly/r/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zA48f8KhDX/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AIQA/wBmAP8AZgD/AGYA/wBmAP8BUgH/HSEdgwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvNS+GAF4A/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AfgD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQH/E3Jf/zI0 + /P8zM///MzP//zMz//8zM///LCze/2FhaP/8/Pz///////////////////////////////////////// + /////////////////////////////////////////////////////////////97e3v8mJnX/MzP+/zMz + //8zM///MzP//zMz//8zM///ERFU/wAAAP8AAAD/AAAA/wkJL/8yMvn/MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zAw8v8LCzX/AQEH/yYmvf8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//yhKxv8ClQn/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmAD/AG8A/wBmAP8AZgD/AGYA/wBjAP8KJArgJCQkBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY + AIYAZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wCPAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wWPGf8uPOj/MzP//zMz//8zM///MzP//zMz//8mJnb/6Ojo//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f39/2VldP8tLeP/MzP//zMz//8zM///MzP//zMz//9AQLX/Y2Nj/3t7 + e/9LS0v/JCSM/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//y4u6f8kJLX/MjL7/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//xll + gP8AmQH/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AjQD/AGcA/wBmAP8AZgD/AGYA/wJF + Av8QEBA+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR2BH/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AawD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmAP/H1ub/zMz + //8zM///MzP//zMz//8zM///Kyva/3p6e/////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////1NTU/yQk + ov8zM///MzP//zMz//86Ov//lZX////////////////////////t7f//eXn//zY2//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MDjz/wiJKP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AegD/AGYA/wBmAP8AZgD/AGAA/xYnFtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAApUCn/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wB1AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wiJKP8wOPP/MzP//zMz//8zM///MzP//zMz//8nJ4f/6urq//// + ///5+fn/0dHR/39/f/9bW1v/YWFh/7W1tf/39/f///////////////////////////////////////// + ///////////////////////////////////z8/P/Nzdw/zMz/v8zM///NTX//6Gh///9/f////////// + ///////////////////5+f//qan//zs7//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///I1Gy/wCYAv8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCTAP8AaQD/AGYA/wBm + AP8AZgD/BToF9yIiIiUAAAAAAAAAAAAAAAAAAAAAAAAAAAw8DP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AIIA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQH/IFij/zMz + //8zM///MzP//zMz//8zM///MDDx/11dbf/+/v7/39/f/0hISP8EBAT/AAAA/wAAAP8AAAD/BAQE/zw8 + PP/T09P///////////////////////////////////////////////////////////////////////// + //9jY3v/Ly/t/zMz//9ra////Pz////////////////////////////////////////+/v//u7v//zY2 + //8zM///MzP//zMz//82Nv//V1f//3Jy//9ycv//cnL//3Jy//9ZWf//MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8yNPz/DnxH/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCBAP8AZgD/AGYA/wBmAP8AWAD/GyYbigAAAAAAAAAAAAAAAAAA + AAAAAAAAADYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AjQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/waNHf8yNfr/MzP//zMz//8zM///MzP//zMz//8mJr//tLS2/+zs + 7P8pKSn/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xwcHP/m5ub///////////////////////// + /////////////////////////////////////////////5OTmv8rK9r/Ojr//9ra//////////////// + ////////////////////////////////////////trb//0pK//+Fhf//rq7///T0//////////////// + ///////////////////q6v//iYn//0JC//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zIy+f8REVj/LS3h/zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8qRNT/AZYG/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA/wBs + AP8AZgD/AGYA/wBlAP8BIwHTHx8fCAAAAAAAAAAAAAAAAAAAAAAAQAD/AGYA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGcA/wCXAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/GmSE/zMz + //8zM///MzP//zMz//8zM///MzP//yUlkP/y8vL/YWFh/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/01NTf/9/f3///////////////////////////////////////////////////////// + ////////tbW1/yoq0P9oaP//+/v///n5///MzP//h4f//4KC//+Dg///rKz///Ly///+/v////////// + ///9/f//5+f////////////////////////////////////////////////////////+/v//3Nz//1RU + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///Hx+f/wAAAv8bG4n/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8TcmD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AIMA/wBmAP8AZgD/AGYA/wFIAf8MEwwoAAAAAAAA + AAAAAAAAAAAAAABBAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AbQD/AJgA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wGWCP8uPOn/MzP//zMz//8zM///MzP//zMz//8zM///Ojp1/87O + zv8FBQX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/7e3t/////////////// + ///////////////////////////////////////////////////R0dH/IyOv/8HB//+zs///Xl7//zMz + //8zM///MzP//zMz//8zM///TU3//7W1///9/f////////////////////////////////////////// + ////////////////////////////////////////6Oj//1tb//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8PD07/AAAA/woKMf8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//ytC2P8Blgf/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AlgD/AG0A/wBmAP8AZgD/AGAA/xAhELcAAAAAAAAAAAAAAAAAAAAAAEEA/wBmAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wB0AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/Dn1G/zMz + //8zM///LS3j/yws3f8xMfj/MzP//zMz//9PT3T/cXFx/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/SEhI//////////////////////////////////////////////////// + /////////////9HR0f8tLav/gYH//zY2//8zM///MzP//zMz//8zM///MzP//zMz//8zM///Nzf//6qq + ///9/f////////////////////////////////////////////////////////////////////////// + ////////1dX//z8///8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//xkZgP8AAAD/AwMQ/zAw8v8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzT9/xF3 + Vf8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AhAD/AGYA/wBmAP8AZgD/BTYF/QwZ + DBQAAAAAAAAAAAAAAAAAQQD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AHkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8cX5D/MzP//y8v6/8HByf/BQUY/w8PTf8xMfP/MzP//1pa + af8jIyP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8KCgr/7+/v//// + ////////////////////////////////////////////////////////tLS0/ygoyP8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///Ojr//7S0//////////////////////////////7+ + ///c3P//eXn//2Nj//9jY///jIz//+fn///9/f/////////////+/v//kpL//zMz//8zM///MzP//zEx + 9/8tLeT/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MTH1/xYWcP8EBBX/Ly/q/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///J0vC/wCYAf8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCVAP8AbAD/AGYA/wBmAP8AVAD/KS8phwAAAAAAAAAAAAAAAABBAP8AZgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AgAD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/yxA + 3f8zM///ICCh/wAAAP8AAAD/AAAA/ysr2f8zM///TExZ/wcHB/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBP/R0dH///////////////////////////////////////// + //////////////////+Wlpv/KyvW/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///QED//9fX///////////////////+/v//r6/t/zg44f8yMvv/MzP//zMz//8zM///OTn//39/ + ///o6P/////////////p6f//QkL//zMz//8zM///FBRo/wUFGf8uLuf/MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//ysr2/8yMvr/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8yNvj/DIA9/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wB/AP8AZgD/AGYA/wBk + AP8KIQrVKioqBgAAAAAAAAAAAEAA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AGYA/wCIAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8FjRz/MjT8/zMz//8dHZH/AAAA/wAAAP8DAw7/LS3i/zMz + //8/P2L/BQUF/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQE/8rK + yv///////////////////////////////////////////////////////////2Jidv8vL+n/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///XFz///r6/////////////8rK + 4v8ODiL/AgIL/wsLOf8rK9j/MzP+/zMz//8zM///MzP//0tL///Q0P///v7///7+//9xcf//MzP//y4u + 5f8CAgj/AAAA/xUVbP8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8hVan/AJgB/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJQA/wBqAP8AZgD/AGYA/wFAAf86QTonAAAAAAAAAAAANgD/AGYA/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AIwA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/w59 + Rf8zM/7/MzP//yAgo/8AAAD/AAAB/xISW/8yMvv/MzP//y8vav8DAwP/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAT/ysrK//////////////////////////////////// + ///////////////////19fX/NjZf/zIy/P8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//80NP//r6/////////4+P//QEB3/wAAAP8AAAD/AAAA/wYGHP8uLuX/MzP//zMz + //8zM///MzP//0FB//+5uf///v7//7q6//8zM///JibA/wAAA/8AAAD/AgIL/yoq1P8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zA67v8GjCD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AHoA/wBm + AP8AZgD/AFoA/x8mH6EAAAAAAAAAAA09Df8AZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AkAD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/FHBl/zMz//8zM///Ly/q/xgYdv8cHI3/MTH0/zMz + //8zM///KSma/wUFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUF + Bf/g4OD//////////////////////////////////////////////////////9vb2/8mJpX/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//9ISP//uLj//4uL + +f8LCzf/AAAA/wAAAP8AAAL/FhZv/zIy/f8zM///MzP//zMz//8zM///MzP//zo6//+xsf//4OD//zw8 + //8nJ8P/AQED/wAAAP8AAAD/GBh4/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//xRwZf8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AkAD/AGgA/wBmAP8AZgD/Gzsb/zMzMwUAAAAAI0oj/wBm + AP8AZgD/AGYA/wBmAP8AZgD/AGYA/wCSAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8aY4b/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8mJr3/AQED/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Gxsb//39/f////////////////////////////// + ////////////////////////hISN/yoq0v8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//83N///MzP1/wUFGP8AAAD/AAAC/w4OSP8xMfP/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//z4+//+srP//QUH//yws3/8BAQb/AAAA/wAAAP8eHpf/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///KEjJ/wGXBf8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCX + AP8AbQD/AGYA/wBmAP8BRQH/goKChQAAAABBXEH9AGYA/wBmAP8AZgD/AGYA/wBmAP8AZgD/AJcA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/yBYov8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//y8v6v8BAQf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP9iYmL///////////////////////////////////////////////////////X19f89PXn/MjL6/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8wMPL/AQEE/wEBBf8TE2D/Ly/t/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MjL8/wUFHP8AAAD/AgIJ/y0t4P8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM/7/MjL8/yws3P8qKtH/KirR/yoq0f8wMPP/MzP9/zMz//8zM///MzP//zMz//8wOfD/Bowh/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wB0AP8AZgD/AGYA/wBfAP8NFg2TAAAAAAAY + AIYAZgD/AGYA/wBmAP8AZgD/AGYA/wBmAP8AiQD/AIoA/wCKAP8AigD/AIoA/wB/AP8AewD/AHsA/wB7 + AP8AewD/HESQ/zEx+P8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//xERUP8NDQ3/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BQUF/8vLy/////////////////////////////// + ////////////////////////rKyw/yMjsv8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zAw8v8AAAD/GRl+/zIy/f8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///ICCg/wcHI/8XF3P/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8wMO7/IyOv/yYmiv9OTmb/eXl5/4mJif+JiYn/iYmJ/2Rk + av89PXf/IyOj/zEx8/8zM///MzP//zMz//8SdFv/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AH8A/wBmAP8AZgD/AGYA/xk9Gf8AAAABHicehgBhAP8AZgD/AGYA/wBgAP8CUAL/CykL9S09 + LeA2RjbgNkY24DZGNuA4SDjgYW5h4G54buBueG7gbnhu4G54buBmaXDgEhI74CYmg/8tLdr/MDDy/zMz + /v8zM///MzP//zMz//8zM///Jia9/zY2OP8DAwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB + Af98fHz//v7+//////////////////////////////////////////////////Hx8f8wMFv/MjL6/zMz + //8zM///MzP//zMz//8zM///MjL8/yQkt/8tLeH/MjL6/zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MDDy/wAAAv8TE2D/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8yMvz/Ly/r/zEx9v8zM///MzP//zMz//8zM///MzP//zMz//8yMvn/JSW1/yUl + Rf+ZmZ7/5OTk//b29v///////////////////////f39/+7u7v+urrL/Li5F/yMjmP8xMfX/MzP//yNS + sP8AmQH/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AigD/AGYA/wBmAP8AZgD/AEcA/3Fx + cXVla2WFAFUA/wBdAP8BMgH/OUo5/ikrKWmGhoY5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAf39/Vh8fL2BHR2/+Fxdx/icnwf8yMvv/MzP//zMz//8yMv3/JiZq/2Vl + Zf8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/TU1N//X19f////////////////////////////// + ////////////////////////ZmZv/ykpzP8zM///MzP//zMz//8zM///MzP//zMz//8oKMn/AAAB/wQE + Ev8cHI3/MTH4/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8yMvr/Dg5G/xkZf/8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MDDx/xoaYf+MjJD/7e3t//////////////////////////////////// + ///////////////////4+Pj/rKyt/x8fVv8uLub/LT/h/wOTEP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCQAP8AZwD/AGYA/wBmAP8AYQD/SE5I1gAXAAsOKw7xHyMfxImJiYkAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACEhIQbTExMqhcXNsAnJ4z/KSnP/zEx+P8tLeL/U1No/4qKiv8fHx//AQEB/wAAAP8VFRX/MDAw/4KC + gv/9/f3//////////////////////////////////////////////////////5SUlv8bG4b/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//yEhpf8AAAD/AAAA/wEBB/8YGHv/MzP+/zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//y8v6v8mJlj/vLy8//// + ///////////////////////////////////////////////////T09P/qKio/39/f/+AgID/goKC/xMT + Nv8sLt7/CIgp/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJQA/wBqAP8AZgD/AGYA/wBm + AP8UNxT/P38/BDZFNiGqqqoMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf39/CiwsLChhYXHcERE58SUl + mP8iIqT/cXF0/9/f3//Y2Nj/19fX/+Hh4f/u7u7//v7+//////////////////////////////////// + //////////////z8/P+mpqj/HR1u/zIy+f8zM///MzP//zMz//8zM///MzP//zMz//8zM///HR2T/wAA + AP8AAAD/AAAA/wQEFv8tLeP/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8xMff/JSVj/87Oz//+/v7///////////////////////////////////////// + ///v7+//eXl5/xQUFP8EBAT/AAAA/wAAAP8EBAT/BAQE/w4OR/8VaWj/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmAD/AGwA/wBmAP8AZgD/AGYA/wA1AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACurq4mVFRUXkpKV64SEh7/VlZW/+/v7/////////////// + ///////////////////////////////////////////////////19fX/cHBz/x0dgf8yMvv/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8gIJ//AAAA/wAAAP8AAAD/AAAC/ygox/8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP9/yAggf+0tLX//v7+//// + ////////////////////////////////////////7+/v/zY2Nv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAB/ww3P/8AmAH/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AcgD/AGYA/wBm + AP8AZgD/ADUA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAALCwsA10dHS2RkZG68nJyf/8/Pz///////////////////////////////////////// + ///29vb/urq6/zs7Wf8jI6//MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//yQk + s/8AAAD/AAAA/wAAAP8AAAD/JyfD/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8pKcn/cnJ5//39/f////////////////////////////////////////////z8 + /P9nZ2f/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ABAA/wCNAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wB8AP8AZgD/AGYA/wBmAP8APwD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0dHQjWVlZyFdX + V/K0tLT/7u7u//T09P/29vb/9vb2//b29v/y8vL/0tLT/0NDU/8kJIn/Li7m/zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///LCza/wAAAf8AAAD/AAAA/wAAAf8nJ8T/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MjL5/y4ubP/q6ur///////// + ////////////////////////////////////////y8vL/wwMDP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AFAA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AIMA/wBm + AP8AZgD/AGYA/wBBAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf39/HDIyMmkfHx9pcnJy+zU1Nf87O1X/QkJ//zAw + hv8fH57/LS3j/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///Bwci/wAAAP8AAAD/AwMQ/yws3f8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8pKcT/nZ2i//////////////////////////////////////////////////39 + /f9UVFT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AGAD/AJUA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AjAD/AGYA/wBmAP8AZgD/AEEA/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAB/f38Cm5ubWigoKcMrK1//Jye9/zAw7/8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8dHZX/AAAA/wAAAP8ICCv/MjL5/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MjL7/y4uav/x8fH///////// + ////////////////////////////////////////6+vr/xsbG/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AfwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCO + AP8AZwD/AGYA/wBmAP8AQQD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf39/Anh4 + eDlycnm1JCRK9SMjov8xMfP/MzP+/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zEx8/8ICCn/AAAA/xoagv8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8tLeD/eHh+//////////////////////////////////////////////////// + ///c3Nz/CgoK/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wBU + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJEA/wBoAP8AZgD/AGYA/wBBAP8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACdnZ0VTU1NeT8/YO0dHYj/Li7n/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//yoq0/8KCjL/LCze/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//yws + 3v8yMvv/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//yQkkv/Q0ND///////// + /////////////////////////////////////////////9XV1f8CAgL/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8fHx//E0QT/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AlQD/AGkA/wBmAP8AZgD/AD4A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAcXFxCWNjZkggIDDeJSWM/y0t3/8zM/3/MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zIy+P8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8oKMb/AgIK/w4ORv8vL+3/MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM/3/LS1m//7+/v////////////////////////////////////////////// + ////////39/f/w4ODv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/z8/ + P/88Xjz/AJgA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCXAP8AagD/AGYA/wBmAP8ANgD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0 + tBg6OjpBU1No9hYWZ/stLeH/MzP9/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//x8f + nP8AAAD/AAAA/w4ORf8yMvn/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zIy+/9VVWr///////// + ///////////////////////////////////////////////////x8fH/IiIi/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/j4+P/1dzV/8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wBqAP8AZgD/AGYA/wA1AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaWlpRhERHo8cHHnpKSnP/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///GhqE/wAAAP8AAAD/AgIJ/yws2v8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MDDw/3p6ev////////////////////////////////////////////// + //////////////////9ZWVn/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xIS + Ev/q6ur/aX5p/wCXAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AHEA/wBmAP8AZgD/ADUA/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAASIiIh4PDyOlFxhv9yws3/8zM/7/MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8fH5v/AAAA/wAAAP8ODkT/MzP+/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8sLNz/jo6O//// + /////////////////////////////////////////////////////////////9TU1P8NDQ3/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAT/ioqK//7+/v9Xc1f/AJcA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AdAD/AGYA/wBmAP8FNgX/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAARFRU8GR005BYWa/wuLun/MzP+/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//yIirf8AAAH/AAAB/yEhp/8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//yws3P+Pj4////////////////////////////////////////// + /////////////////////////f39/5SUlP8FBQX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/2Bg + YP/5+fn//////0hnSf8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wB5AP8AZgD/AGYA/x5G + Hv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhofMQ0OIb4aG33/LS3g/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///Jia+/wAAAf8JCS3/MjL7/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///LCzf/4+P + j////////////////////////////////////////////////////////////////////////////6Gh + of8YGBj/AAAA/wAAAP8AAAD/AQEB/yEhIf+Hh4f/+vr6///////9/f3/IUI2/wCYAv8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AHkA/wBmAP8AZgD/Ikgi/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAGTMzCgkJEhwREybcHR2W7zAw7/8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8tLeL/BAQW/yMjrf8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8yMvj/cXFz//////////////////////////////////// + /////////////////////////////////////////v7+/+Xl5f+Li4v/goKC/5ycnP/Z2dn/7Ozs//39 + /f///////////+Tk5P8cK23/AZcE/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AgAD/AGYA/wBm + AP86Vjr/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAFBQsrExRFuh8fmf4yMvn/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8sLNz/MjL8/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zIy + /P9SUnL///////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////s7Oz/youzf8BlwX/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCAAP8AZgD/AGYA/zxVPP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHR8hchYXT+omJr7/MjL8/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP+/ywsdP/7+/v///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////9fX3j/MTH3/wOTD/8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AIAA/wBm + AP8AZgD/ABgAhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAJCQkHA0NNDoVF27HLCzd/jIy/P8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///Jiae/9PT0/////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eXl/yQkdv8zM/7/CIko/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AgAD/AGYA/wBmAP8ADQCGAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYW + FhcWGDGRFhZr/y8v7P8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8tLd7/iYmM//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////+Ghor/LCzY/zMz//8LgTr/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCA + AP8AZgD/AGQA/wkLCYYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtMDREEBAq0yMjsf8xMfb/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zIy+/8xMWr/8PDw//////////////////////////////////////////////////// + ////////////////////////////////////////////////////////3Nzc/yEhYv8yMvv/MzP//w96 + Tf8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AIAA/wBmAP8AWgD/PkA+hgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAoNTUTBQUnLRERTOwqKtP/MzP9/zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MjL8/y8v7P8vL+v/Ly/t/zIy/P8zM///MzP//yYmtv+goKL//v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////n5+f9aWmr/LCzb/zMz//8zM///D3pN/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AgAD/AGYA/wBRAP90dHSGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQ0N + I3MYGG3/MDDw/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8hIaf/AQEF/wAA + AP8CAgz/Fxdz/zMz//8zM///MjL5/yUlZ//b29v///////////////////////////////////////// + ///////////////////////////////////////////////////+/v7/h4eL/yMjo/8zM///MzP//zMz + //8Pek3/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCAAP8AZgD/AEgA/319fTUAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABISEhwNDTHKJCW0/zIy+/8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//xwckP8AAAD/AAAA/wAAAP8AAAD/KirS/zMz//8zM///LCzf/0BA + WP/t7e3///////////////////////////////////////////////////////////////////////// + /////////f39/5+fov8ZGXb/MjL9/zMz//8zM///MzP//w96Tf8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AIAA/wBmAP8APgD/AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABkZGQoSEiRjExNa9S4u5/8zM/7/MzP//zMz//8zM///MzP//zMz//8zM///KirS/wIC + C/8AAAD/AAAA/wAAAP8gIKH/MzP//zMz//8zM/7/KCjG/0REVP/t7e3///////////////////////// + //////////////////////////////////////////////n5+f+Kio7/ISF8/zEx9/8zM///MzP//zMz + //8zM///D3pN/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AgAD/AGYA/ww9DP8AAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHiUiDg4uoxwc + jf8yMvn/MzP//zMz//8zM///MzP//zMz//8yMvv/ExNg/wAAAP8AAAD/AAAA/x8fnv8zM///MzP//zMz + //8zM///KSnL/zMzW/+8vLz//v7+//////////////////////////////////////////////////// + ///Nzc3/TU1d/x8fnP8yMvr/MzP//zMz//8zM///MzP//zMz//8Pek3/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wB8AP8AZgD/Kk0q/wAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDxIYUhMURv4qKtT/MzP//zMz//8zM///MzP//zMz + //8vL+3/CQkr/wAAAP8AAAD/JyfE/zMz//8zM///MzP//zMz//8zM///MDDz/xUVXP+VlZv/2dnZ//j4 + +P////////////////////////////T09P/R0dH/W1tt/xYWXP8tLeH/MzP+/zMz//8zM///MzP//zMz + //8zM///MzP//wuCN/8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AHkA/wBmAP86Tjrn////AQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAISUpPRcbLvUZGYL7MjL6/zMz//8zM///MzP//zMz//8uLuf/GRl+/wsLN/8xMff/MzP//zMz + //8zM///MzP//zMz//8zM///MjL5/ygoyf8pKYH/OztL/2Njaf9sbHL/bGxy/2xscv9aWmD/ODhQ/yoq + ff8rK9n/MjL9/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///CIgp/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AeQD/AGYA/wEIAZIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkMEE8WF0//JyfF/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///Li7l/yws3v8sLN7/LCze/y4u5/8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8Fjxj/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wB0AP8AWwD/Njc2kgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ4VFSQODx/RIyOq5TEx9P0zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzT9/wGXBv8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AHEA/wBPAP93eXd4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcX + FwsmJjMoFxdZzSws4P8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8vO+r/AZcF/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AbAD/AEMA/wAA + AAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEEBAQ5CAggqyAgn/8yMvn/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//ytC2v8BmAT/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJgA/wBqAP8OQQ7/MzMzBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAHGBYXzRMSUP4vL+n/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///J0vD/wCYAv8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AlQD/AGkA/zFS + Mf+ZmZkFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxQQTBIQ + K/ojI7D/MzP+/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + /v8yMvz/MjL8/zMz/f8zM/7/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8hVqf/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCSAP8AaAD/HCgcvH9/fwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsJCaAZGXX/MDDu/zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///JSW9/wEBBP8AAAD/Cgo0/xoahf8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//xpkg/8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AI8A/wBe + AP8zOjOeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAARsZF40PDzz1KyvZ/zMz/v8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8pKc3/AQEG/wAAAP8AAAD/EBBS/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///EXdV/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AjAD/AFEA/36Cfo0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsWEjgJCSLBHx+Y/jIy + +/8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zIy+v8QEFL/AAAA/wAAAP8VFWn/MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8GjB//AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCF + AP8ERAT/ABcACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMxRDQ0eaHh5y8y8v6/8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//y4u5f8HByH/AAAA/xgYev8zM///MzP//zMz//8zM///MzP//zMz//8zM///Ljzp/wKV + Cf8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AH8A/yFKIf9cXFwLAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABjY2ZVICBK7ysr2P8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//yYmwf8EBBP/Hh6a/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8oScj/AZcE/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AdQD/DCIMuH9/fwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgYGAdQkJU4B8fmv8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//yws3P8wMPD/MzP//zMz//8zM///MzP//zMz//8zM///MzP//x9a + nf8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wBkAP8xOjGrAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAPDwowExANwxYWcPEvL+3/MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///EnRa/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AlQD/AFQA/4eLh4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEcHBwSDw8PUBAP + POgsLN7/MzP+/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zE2 + 9/8Fjxj/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCSAP8MSgz/JiYmFAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAQAAAACJyMXQQ0MItwiIq3+MzP//zMz//8zM///MzP//zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///K0PY/wKVCv8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AI0A/w8xD9V/f38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAA + AAYAAAACIRwWLSwsNashIZf4MTH2/zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8gWKL/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AfwD/GSgZtwAAAAAAAAAAAAAAAX9/ + fwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABh4eHESsrNFMeHmT7MTHz/zMz + //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//w57Sf8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wBnAP9zeXOwAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHV1dVkmJl3mKirR/zMz//8zM///MzP//zMz//8zM///MzP//zMz + //8vO+v/BJAW/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmAD/ClIK/ykpKR8AAAAA////AT8/ + PwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz + MwofHzvLKCjD/zMz/v8zM///MzP//zMz//8zM///MzP//yZNvv8AmAL/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCUAP8eRh7zmJiYGQAAAABVVVUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFhYRUgIDaEISGa/zIy/P8zM///MzP//zMz + //8zM///E3Fi/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AIoA/x4vHsMAAAAAAAAAAH9/ + fwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABJSUmHJCR6/jAw8f8zM///MzP//y867f8GjR3/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AcwD/ZmxmfwAAAAAAAAAAf39/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwcHJtGBhQ6y8v + 6/8zM///JE+4/wCYAf8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/xBcEP9UVFQtAAAAAAAA + AAB/f38CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5OTksODhd+yss1/8RdlX/AJkA/wCZAP8AmQD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AlgD/CzIL3pycnA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA6OjoNNT5C3gNvCf8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCKAP9ZZlnQAAAAAAAA + AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABycnIUIjEiswNtA/8AmAD/AJkA/wCZ + AP8AmQD/AJkA/wCZAP8AmQD/BXEF/0RERE4AAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAgAAAAB3d3cPGSwZeQNcA/4AmAD/AJkA/wCZAP8AmQD/AJkA/wCYAP8FRwXncnJyFAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAAR0tHiAVa + BfMAlgD/AJkA/wCZAP8AmQD/AJIA/zdRN9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAMAAAABAAAAAAAAAACZmZkFQUlBXgJJAu4AlAD/AJkA/wCZAP8CfQL/MjUyZAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAADBgYGUQA0APcAkgD/AJkA/wNNA/crKys7AAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCgoKYgEsAeAAhgD/AyAD4Q8P + DxEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAABAAAAAAAAAAEAAAAJDQ0NTgIaAvYICQi3AAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA + AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMREREPDAwMegwM + DD0AAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////5gAAAOf/////////////+4AAAAAH + //////////////gAAAAAAf/////////////gAAAAAAB////////////+AAAAAAAAD////////////AAA + AAAAAAP///////////gAAAAAAAAA///////////gAAAAAAAAAHv////////v4AAAAAAAAAA///////// + 74AAAAAAAAAAD////////88AAAAAAAAAAAP////////OAAAAAAAAAAAB////////zAAAAAAAAAAAAH// + /////8gAAAAAAAAAAAA////////gAAAAAAAAAAAAP///////4AAAAAAAAAAAAA///////8AAAAAAAAAA + AAAP//////+AAAAAAAAAAAAAA///////AAAAAAAAAAAAAAH//////gAAAAAAAAAAAAAB//////wAAAAA + AAAAAAAAAP/////4AAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAB/////g + AAAAAAAAAAAAAAAf////wAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAAf///+AAAAAAAAAAAAAAAAD + ////AAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAH///4AAAAAAAAAAAAAAAAB///8AAAAAAAAAAAA + AAAAAP///AAAAAAAAAAAAAAAAAB///gAAAAAAAAAAAAAAAAAf//4AAAAAAAAAAAAAAAAAD//8AAAAAAA + AAAAAAAAAAAf//AAAAAAAAAAAAAAAAAAH//gAAAAAAAAAAAAAAAAAA//4AAAAAAAAAAAAAAAAAAP/8AA + AAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAA + A/+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAA + AAAAAAD/AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAA/AAAAAAAA + AAAAAAAAAAAAPwAAAAAAAAAAAAAAAAAAAD8AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAHwAA + AAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAA + AAcAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAA + AAAAAAADAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/+AAAAAAAAAAAAAAAAAAD//8AAAAAAAAAAAAAAAAAB// + /wAAAAAAAAAAAAAAAAD////gAAAAAAAAAAAAAAAA/////AAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAA + AAD/////wAAAAAAAAAAAAAAA//////gAAAAAAAAAAAAAAP/////+AAAAAAAAAAAAAAD//////8AAAAAA + AAAAAAAA///////wAAAAAAAAAAAAAP///////AAAAAAAAAAAAAD///////+AAAAAAAAAAAAA//////// + wAAAAAAAAAAAAP////////gAAAAAAAAAAAD////////+AAAAAAAAAAAA/////////wAAAAAAAAAAAP// + ///////gAAAAAAAAAAD/////////+AAAAAAAAAAA//////////wAAAAAAAAAAP//////////AAAAAAAA + AAD//////////8AAAAAAAAAA///////////gAAAAAAAAAP//////////+AAAAAAAAAD///////////4A + AAAAAAAA////////////AAAAAAAAAP///////////8AAAAAAAAD////////////gAAAAAAAA//////// + ////+AAAAAAAAf////////////4AAAAAAAH////////////+AAAAAAAB/////////////4AAAAAAAf// + //////////9AAAAAAAH/////////////8AAAAAAB//////////////wAAAAAAf//////////////AAAA + AAP//////////////wAAAAAD///////////////AAAAAA///////////////4AAAAAP///////////// + //gAAAAD///////////////8AAAAB////////////////gAAAAf///////////////4AAAAH//////// + ///////8AAAAB////////////////wAAAAz///////////////+AAAAN/////////////////AAACf// + //////////////4AAAv/////////////////AAAb/////////////////8AAG//////////////////g + ABv/////////////////8AAf//////////////////gAO//////////////////8ADv///////////// + ////+gA//////////////////+uAf//////////////////5gH///////////////////8Bv//////// + ///////////gf///////////////////oDb///////////////////B/ + + + \ No newline at end of file diff --git a/MelonLoader.Installer/MelonLoader.Installer.csproj b/MelonLoader.Installer/MelonLoader.Installer.csproj new file mode 100644 index 000000000..d80ea7158 --- /dev/null +++ b/MelonLoader.Installer/MelonLoader.Installer.csproj @@ -0,0 +1,19 @@ + + + + WinExe + netcoreapp3.1 + true + icon.ico + app.manifest + + + + ..\Output\Installer\Release\ + + + + ..\Output\Installer\Debug\ + + + \ No newline at end of file diff --git a/MelonLoader.Installer/Program.cs b/MelonLoader.Installer/Program.cs new file mode 100644 index 000000000..360d765b8 --- /dev/null +++ b/MelonLoader.Installer/Program.cs @@ -0,0 +1,64 @@ +using System; +using System.IO; +using System.IO.Compression; +using System.Threading; +using System.Windows.Forms; +using System.Net; + +namespace MelonLoader.Installer +{ + static class Program + { + internal static string Title = (BuildInfo.Name + " Installer for v" + BuildInfo.Version + " Open-Beta"); + internal static string VersionToDownload = "0.2.1"; + internal static MainForm mainForm = new MainForm(); + + [STAThread] + static void Main() + { + Application.SetHighDpiMode(HighDpiMode.SystemAware); + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + new Thread(() => mainForm.ShowDialog()).Start(); + Thread.Sleep(1000); + string filePath = null; + using (OpenFileDialog openFileDialog = new OpenFileDialog()) + { + openFileDialog.Filter = "Unity Game (*.exe)|*.exe"; + openFileDialog.RestoreDirectory = true; + if (openFileDialog.ShowDialog() == DialogResult.OK) + filePath = openFileDialog.FileName; + } + if (!string.IsNullOrEmpty(filePath)) + { + string dirpath = Path.GetDirectoryName(filePath); + mainForm.label1.Text = "Downloading..."; + var tempFile = Path.GetTempFileName(); + using var zipdata = new WebClient().OpenRead(("https://github.com/HerpDerpinstine/MelonLoader/releases/download/v" + VersionToDownload + "/" + (File.Exists(Path.Combine(dirpath, "GameAssembly.dll")) ? "MelonLoader.Il2Cpp.zip" : "MelonLoader.Mono.zip"))); + + Program.mainForm.label1.Text = "Extracting..."; + if (File.Exists(Path.Combine(dirpath, "version.dll"))) + File.Delete(Path.Combine(dirpath, "version.dll")); + if (File.Exists(Path.Combine(dirpath, "winmm.dll"))) + File.Delete(Path.Combine(dirpath, "winmm.dll")); + if (Directory.Exists(Path.Combine(dirpath, "MelonLoader"))) + Directory.Delete(Path.Combine(dirpath, "MelonLoader"), true); + if (Directory.Exists(Path.Combine(dirpath, "Logs"))) + Directory.Delete(Path.Combine(dirpath, "Logs"), true); + + using var zip = new ZipArchive(zipdata); + foreach (var zipArchiveEntry in zip.Entries) + { + string filepath = Path.Combine(dirpath, zipArchiveEntry.FullName); + if (File.Exists(filepath)) + File.Delete(filepath); + } + zip.ExtractToDirectory(dirpath); + + mainForm.Close(); + DialogResult dlg = MessageBox.Show("Installation Successful!", Title, MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); + } + Application.Exit(); + } + } +} diff --git a/MelonLoader.Installer/app.manifest b/MelonLoader.Installer/app.manifest new file mode 100644 index 000000000..169e61850 --- /dev/null +++ b/MelonLoader.Installer/app.manifest @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MelonLoader.Installer/icon.ico b/MelonLoader.Installer/icon.ico new file mode 100644 index 000000000..03542d69c Binary files /dev/null and b/MelonLoader.Installer/icon.ico differ diff --git a/MelonLoader.ModHandler/AssemblyGenerator.cs b/MelonLoader.ModHandler/AssemblyGenerator.cs index 8716cf536..2273ffaaa 100644 --- a/MelonLoader.ModHandler/AssemblyGenerator.cs +++ b/MelonLoader.ModHandler/AssemblyGenerator.cs @@ -1,243 +1,42 @@ -using System; -using System.Collections.Generic; +using System.Diagnostics; using System.IO; -using System.Linq; -using System.Reflection; -using System.Security.Cryptography; -using TinyJSON; +using System.Threading; namespace MelonLoader.AssemblyGenerator { internal static class Main { - private static string GameAssembly_Path = null; - private static string MSCORLIB_Path = null; - internal static string BaseFolder = null; - internal static string AssemblyFolder = null; - private static Package UnityDependencies = new Package(); - private static Executable_Package Il2CppDumper = new Executable_Package(); - private static Executable_Package Il2CppAssemblyUnhollower = new Executable_Package(); - private static string localConfigPath = null; - private static LocalConfig localConfig = new LocalConfig(); - private static Il2CppConfig il2cppConfig = new Il2CppConfig(); - internal static bool Initialize() { - Setup(); - if (AssemblyGenerateCheck()) - { - MelonModLogger.Log("Assembly Generation Needed!"); - if (!AssemblyGenerate()) - return false; - Cleanup(); - MelonModLogger.Log("Assembly Generation was Successful!"); - } - WriteLocalConfig(); - return true; - } - - private static void Setup() - { - GameAssembly_Path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "GameAssembly.dll"); - - MSCORLIB_Path = Path.Combine(Imports.GetAssemblyDirectory(), "mscorlib.dll"); - - AssemblyFolder = Imports.GetAssemblyDirectory(); - - BaseFolder = SetupDirectory(Path.Combine(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "MelonLoader"), "AssemblyGenerator")); - - Il2CppDumper.BaseFolder = SetupDirectory(Path.Combine(BaseFolder, "Il2CppDumper")); - Il2CppDumper.OutputDirectory = SetupDirectory(Path.Combine(Il2CppDumper.BaseFolder, "DummyDll")); - Il2CppDumper.FileName = "Il2CppDumper.exe"; - Il2CppDumper.TypeName = "Il2CppDumper.Program"; - - Il2CppAssemblyUnhollower.BaseFolder = SetupDirectory(Path.Combine(BaseFolder, "Il2CppAssemblyUnhollower")); - Il2CppAssemblyUnhollower.OutputDirectory = SetupDirectory(Path.Combine(Il2CppAssemblyUnhollower.BaseFolder, "Output")); - Il2CppAssemblyUnhollower.FileName = "AssemblyUnhollower.exe"; - Il2CppAssemblyUnhollower.TypeName = "AssemblyUnhollower.Program"; - Il2CppAssemblyUnhollower.isIl2CppAssemblyUnhollower = true; - - UnityDependencies.BaseFolder = SetupDirectory(Path.Combine(Il2CppAssemblyUnhollower.BaseFolder, "UnityDependencies")); - - localConfigPath = Path.Combine(BaseFolder, "config.json"); - if (File.Exists(localConfigPath)) - localConfig = Decoder.Decode(File.ReadAllText(localConfigPath)).Make(); - } - - private static bool AssemblyGenerateCheck() - { - if (string.IsNullOrEmpty(localConfig.UnityVersion) || (localConfig.UnityVersion != MelonLoader.Main.UnityVersion)) - return true; - string game_assembly_hash = null; - using (var md5 = MD5.Create()) - { - using (var stream = File.OpenRead(GameAssembly_Path)) - { - var hash = md5.ComputeHash(stream); - game_assembly_hash = BitConverter.ToString(hash).Replace("-", "").ToLowerInvariant(); - } - } - if (string.IsNullOrEmpty(localConfig.GameAssemblyHash) || (game_assembly_hash != localConfig.GameAssemblyHash)) - return true; - return false; - } - - private static bool AssemblyGenerate() - { - FixIl2CppDumperConfig(); - - MelonModLogger.Log("Executing Il2CppDumper..."); - ((AppDomainSetup)typeof(AppDomain).GetProperty("SetupInformationNoCopy", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(AppDomain.CurrentDomain, new object[0])).ApplicationBase = (Il2CppDumper.BaseFolder + "\\"); - if (!Il2CppDumper.Execute(new string[] { - GameAssembly_Path, - Path.Combine(Path.Combine(Path.Combine(Imports.GetGameDataDirectory(), "il2cpp_data"), "Metadata"), "global-metadata.dat") - })) - { - MelonModLogger.LogError("Failed to Execute Il2CppDumper!"); - return false; - } - ((AppDomainSetup)typeof(AppDomain).GetProperty("SetupInformationNoCopy", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(AppDomain.CurrentDomain, new object[0])).ApplicationBase = Imports.GetGameDirectory(); - - MelonModLogger.Log("Executing Il2CppAssemblyUnhollower..."); - if (!Il2CppAssemblyUnhollower.Execute(new string[] { - ("--input=" + Il2CppDumper.OutputDirectory), - ("--output=" + Il2CppAssemblyUnhollower.OutputDirectory), - ("--mscorlib=" + MSCORLIB_Path), - ("--unity=" + UnityDependencies.BaseFolder), - "--blacklist-assembly=Mono.Security", - "--blacklist-assembly=Newtonsoft.Json", - "--blacklist-assembly=Valve.Newtonsoft.Json" - })) - { - MelonModLogger.LogError("Failed to Execute Il2CppAssemblyUnhollower!"); - return false; - } - - return true; - } - - private static void Cleanup() - { - if (localConfig.OldFiles.Count() > 0) - { - for (int i = 0; i < localConfig.OldFiles.Count(); i++) - { - string oldFile = localConfig.OldFiles[i]; - if (!string.IsNullOrEmpty(oldFile)) - { - string oldFilePath = Path.Combine(AssemblyFolder, oldFile); - if (File.Exists(oldFilePath)) - File.Delete(oldFilePath); - } - } - localConfig.OldFiles.Clear(); - } - string[] files = Directory.GetFiles(Il2CppAssemblyUnhollower.OutputDirectory, "*.dll", SearchOption.TopDirectoryOnly); - if (files.Length > 0) - { - for (int i = 0; i < files.Count(); i++) - { - string file = files[i]; - if (!string.IsNullOrEmpty(file)) - { - string filename = Path.GetFileName(file); - localConfig.OldFiles.Add(filename); - File.Copy(file, Path.Combine(AssemblyFolder, filename)); - } - } - } - Directory.Delete(Il2CppAssemblyUnhollower.OutputDirectory, true); - Il2CppAssemblyUnhollower.OutputDirectory = SetupDirectory(Path.Combine(Il2CppAssemblyUnhollower.BaseFolder, "Output")); - } - - private static string SetupDirectory(string path) { if (!Directory.Exists(path)) Directory.CreateDirectory(path); return path; } - private static void FixIl2CppDumperConfig() => File.WriteAllText(Path.Combine(Il2CppDumper.BaseFolder, "config.json"), Encoder.Encode(il2cppConfig, EncodeOptions.NoTypeHints | EncodeOptions.PrettyPrint)); - private static void WriteLocalConfig() - { - localConfig.UnityVersion = MelonLoader.Main.UnityVersion; - using (var md5 = MD5.Create()) - { - using (var stream = File.OpenRead(GameAssembly_Path)) + string GeneratorProcessPath = Path.Combine(Path.Combine(Imports.GetGameDirectory(), "MelonLoader"), "MelonLoader.GeneratorProcess.exe"); + if (File.Exists(GeneratorProcessPath)) + { + var generatorProcessInfo = new ProcessStartInfo(GeneratorProcessPath); + generatorProcessInfo.Arguments = $"\"{MelonLoader.Main.UnityVersion}\" \"{Imports.GetGameDirectory()}\" \"{Imports.GetGameDataDirectory()}\""; + generatorProcessInfo.UseShellExecute = false; + generatorProcessInfo.RedirectStandardOutput = true; + generatorProcessInfo.CreateNoWindow = true; + var process = Process.Start(generatorProcessInfo); + if (process == null) + MelonModLogger.LogError("Unable to Start Generator Process!"); + else { - var hash = md5.ComputeHash(stream); - localConfig.GameAssemblyHash = BitConverter.ToString(hash).Replace("-", "").ToLowerInvariant(); - } - } - File.WriteAllText(localConfigPath, Encoder.Encode(localConfig, EncodeOptions.NoTypeHints | EncodeOptions.PrettyPrint)); - } - } - - internal class Package - { - internal string Version = null; - internal string BaseFolder = null; - internal string FileName = null; - } - - internal class Executable_Package : Package - { - internal string OutputDirectory = null; - internal string TypeName = null; - internal bool isIl2CppAssemblyUnhollower = false; - - internal bool Execute(string[] argv) - { - string assembly_path = Path.Combine(BaseFolder, FileName); - if (File.Exists(assembly_path)) - { - try - { - Assembly a = Assembly.LoadFrom(assembly_path); - if (a != null) + var stdout = process.StandardOutput; + while (!process.HasExited && !stdout.EndOfStream) { - Type b = a.GetType(TypeName); - if (b != null) - { - MethodInfo c = null; - if (isIl2CppAssemblyUnhollower) - c = b.GetMethods(BindingFlags.Public | BindingFlags.Static).First(x => ((x.GetParameters().Count() == 1) && (x.GetParameters()[0].ParameterType == typeof(string[])))); - else - c = b.GetMethod("Main", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static); - if (c != null) - { - Directory.SetCurrentDirectory(BaseFolder); - c.Invoke(null, new object[] { argv }); - } - else - return false; - } - else - return false; + var line = stdout.ReadLine(); + MelonModLogger.Log(line); } - else - return false; + while (!process.HasExited) + Thread.Sleep(100); + if (Imports.IsDebugMode()) + MelonModLogger.Log($"Generator Process exited with code {process.ExitCode}"); + return (process.ExitCode == 0); } - catch (Exception e) { MelonModLogger.LogError(e.ToString()); return false; } } - return true; + else + MelonModLogger.LogError("MelonLoader.GeneratorProcess.exe does not Exist!"); + return false; } } - - internal class Il2CppConfig - { - public bool DumpMethod = true; - public bool DumpField = true; - public bool DumpProperty = true; - public bool DumpAttribute = true; - public bool DumpFieldOffset = false; - public bool DumpMethodOffset = false; - public bool DumpTypeDefIndex = false; - public bool DummyDll = true; - public bool MakeFunction = true; - public bool RequireAnyKey = false; - public bool ForceIl2CppVersion = false; - public float ForceVersion = 24.3f; - } - - internal class LocalConfig - { - public string UnityVersion = null; - public string GameAssemblyHash = null; - public List OldFiles = new List(); - } } diff --git a/MelonLoader.ModHandler/BuildInfo.cs b/MelonLoader.ModHandler/BuildInfo.cs index d3743ef16..5d5fb559c 100644 --- a/MelonLoader.ModHandler/BuildInfo.cs +++ b/MelonLoader.ModHandler/BuildInfo.cs @@ -5,6 +5,6 @@ public static class BuildInfo public const string Name = "MelonLoader"; public const string Author = "Lava Gang"; public const string Company = "discord.gg/2Wn3N2P"; - public const string Version = "0.2.0"; + public const string Version = "0.2.1"; } } \ No newline at end of file diff --git a/MelonLoader.ModHandler/Main.cs b/MelonLoader.ModHandler/Main.cs index 094fb4f53..50dce2690 100644 --- a/MelonLoader.ModHandler/Main.cs +++ b/MelonLoader.ModHandler/Main.cs @@ -34,9 +34,7 @@ private static void Initialize() IsBoneworks = CurrentGameAttribute.IsGame("Stress Level Zero", "BONEWORKS"); } - if (!Imports.IsDebugMode() - && !Environment.CommandLine.Contains("--melonloader.hideconsole") - ) + if (!Imports.IsDebugMode()) { Console.Enabled = true; Console.Create(); diff --git a/MelonLoader.ModHandler/MelonLoader.ModHandler.csproj b/MelonLoader.ModHandler/MelonLoader.ModHandler.csproj index d0f8ce2a5..e99961ece 100644 --- a/MelonLoader.ModHandler/MelonLoader.ModHandler.csproj +++ b/MelonLoader.ModHandler/MelonLoader.ModHandler.csproj @@ -86,17 +86,6 @@ - - - - - - - - - - - diff --git a/MelonLoader.Support.Il2Cpp/AssemblyInfo.cs b/MelonLoader.Support.Il2Cpp/AssemblyInfo.cs index 8fa603309..9788655d5 100644 --- a/MelonLoader.Support.Il2Cpp/AssemblyInfo.cs +++ b/MelonLoader.Support.Il2Cpp/AssemblyInfo.cs @@ -2,11 +2,11 @@ using System.Reflection; using System.Runtime.InteropServices; -[assembly: AssemblyTitle(MelonLoader.BuildInfo.Name)] +[assembly: AssemblyTitle(MelonLoader.BuildInfo.Name + ".Support.Il2Cpp")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany(MelonLoader.BuildInfo.Company)] -[assembly: AssemblyProduct(MelonLoader.BuildInfo.Name)] +[assembly: AssemblyProduct(MelonLoader.BuildInfo.Name + ".Support.Il2Cpp")] [assembly: AssemblyCopyright("Created by " + MelonLoader.BuildInfo.Author)] [assembly: AssemblyTrademark(MelonLoader.BuildInfo.Company)] [assembly: AssemblyCulture("")] diff --git a/MelonLoader.Support.Il2Cpp/Main.cs b/MelonLoader.Support.Il2Cpp/Main.cs index e1d16a514..a984efea1 100644 --- a/MelonLoader.Support.Il2Cpp/Main.cs +++ b/MelonLoader.Support.Il2Cpp/Main.cs @@ -27,7 +27,7 @@ private static ISupportModule Initialize() if (Imports.IsDebugMode()) { LogSupport.TraceHandler -= System.Console.WriteLine; - LogSupport.TraceHandler += MelonModLogger.LogWarning; + LogSupport.TraceHandler += MelonModLogger.Log; } ClassInjector.DoHook += Imports.Hook; GetUnityVersionNumbers(out var major, out var minor, out var patch); diff --git a/MelonLoader.Support.Mono.Pre2017/AssemblyInfo.cs b/MelonLoader.Support.Mono.Pre2017/AssemblyInfo.cs index 8fa603309..421f63477 100644 --- a/MelonLoader.Support.Mono.Pre2017/AssemblyInfo.cs +++ b/MelonLoader.Support.Mono.Pre2017/AssemblyInfo.cs @@ -2,11 +2,11 @@ using System.Reflection; using System.Runtime.InteropServices; -[assembly: AssemblyTitle(MelonLoader.BuildInfo.Name)] +[assembly: AssemblyTitle(MelonLoader.BuildInfo.Name + ".Support.Mono.Pre2017")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany(MelonLoader.BuildInfo.Company)] -[assembly: AssemblyProduct(MelonLoader.BuildInfo.Name)] +[assembly: AssemblyProduct(MelonLoader.BuildInfo.Name + ".Support.Mono.Pre2017")] [assembly: AssemblyCopyright("Created by " + MelonLoader.BuildInfo.Author)] [assembly: AssemblyTrademark(MelonLoader.BuildInfo.Company)] [assembly: AssemblyCulture("")] diff --git a/MelonLoader.Support.Mono/AssemblyInfo.cs b/MelonLoader.Support.Mono/AssemblyInfo.cs index 8fa603309..8011149b0 100644 --- a/MelonLoader.Support.Mono/AssemblyInfo.cs +++ b/MelonLoader.Support.Mono/AssemblyInfo.cs @@ -2,11 +2,11 @@ using System.Reflection; using System.Runtime.InteropServices; -[assembly: AssemblyTitle(MelonLoader.BuildInfo.Name)] +[assembly: AssemblyTitle(MelonLoader.BuildInfo.Name + ".Support.Mono")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany(MelonLoader.BuildInfo.Company)] -[assembly: AssemblyProduct(MelonLoader.BuildInfo.Name)] +[assembly: AssemblyProduct(MelonLoader.BuildInfo.Name + ".Support.Mono")] [assembly: AssemblyCopyright("Created by " + MelonLoader.BuildInfo.Author)] [assembly: AssemblyTrademark(MelonLoader.BuildInfo.Company)] [assembly: AssemblyCulture("")] diff --git a/MelonLoader.sln b/MelonLoader.sln index db8c0700a..72444b61f 100644 --- a/MelonLoader.sln +++ b/MelonLoader.sln @@ -17,6 +17,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MelonLoader.Support.Mono", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MelonLoader.Support.Mono.Pre2017", "MelonLoader.Support.Mono.Pre2017\MelonLoader.Support.Mono.Pre2017.csproj", "{1522ED55-C1BF-4057-86ED-BD482462A498}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MelonLoader.GeneratorProcess", "MelonLoader.GeneratorProcess\MelonLoader.GeneratorProcess.csproj", "{84B12E10-41B3-479C-87A6-8CE5D8C82C2F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{49B47EEB-1061-49AF-83F3-B32377B08F3E}" + ProjectSection(SolutionItems) = preProject + CHANGELOG.MD = CHANGELOG.MD + README.MD = README.MD + EndProjectSection +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MelonLoader.Installer", "MelonLoader.Installer\MelonLoader.Installer.csproj", "{17AFE406-2361-4849-9B15-CB03AEF5E9F9}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -103,6 +113,30 @@ Global {1522ED55-C1BF-4057-86ED-BD482462A498}.Release|x64.Build.0 = Release|Any CPU {1522ED55-C1BF-4057-86ED-BD482462A498}.Release|x86.ActiveCfg = Release|Any CPU {1522ED55-C1BF-4057-86ED-BD482462A498}.Release|x86.Build.0 = Release|Any CPU + {84B12E10-41B3-479C-87A6-8CE5D8C82C2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {84B12E10-41B3-479C-87A6-8CE5D8C82C2F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {84B12E10-41B3-479C-87A6-8CE5D8C82C2F}.Debug|x64.ActiveCfg = Debug|Any CPU + {84B12E10-41B3-479C-87A6-8CE5D8C82C2F}.Debug|x64.Build.0 = Debug|Any CPU + {84B12E10-41B3-479C-87A6-8CE5D8C82C2F}.Debug|x86.ActiveCfg = Debug|Any CPU + {84B12E10-41B3-479C-87A6-8CE5D8C82C2F}.Debug|x86.Build.0 = Debug|Any CPU + {84B12E10-41B3-479C-87A6-8CE5D8C82C2F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {84B12E10-41B3-479C-87A6-8CE5D8C82C2F}.Release|Any CPU.Build.0 = Release|Any CPU + {84B12E10-41B3-479C-87A6-8CE5D8C82C2F}.Release|x64.ActiveCfg = Release|Any CPU + {84B12E10-41B3-479C-87A6-8CE5D8C82C2F}.Release|x64.Build.0 = Release|Any CPU + {84B12E10-41B3-479C-87A6-8CE5D8C82C2F}.Release|x86.ActiveCfg = Release|Any CPU + {84B12E10-41B3-479C-87A6-8CE5D8C82C2F}.Release|x86.Build.0 = Release|Any CPU + {17AFE406-2361-4849-9B15-CB03AEF5E9F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {17AFE406-2361-4849-9B15-CB03AEF5E9F9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {17AFE406-2361-4849-9B15-CB03AEF5E9F9}.Debug|x64.ActiveCfg = Debug|Any CPU + {17AFE406-2361-4849-9B15-CB03AEF5E9F9}.Debug|x64.Build.0 = Debug|Any CPU + {17AFE406-2361-4849-9B15-CB03AEF5E9F9}.Debug|x86.ActiveCfg = Debug|Any CPU + {17AFE406-2361-4849-9B15-CB03AEF5E9F9}.Debug|x86.Build.0 = Debug|Any CPU + {17AFE406-2361-4849-9B15-CB03AEF5E9F9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {17AFE406-2361-4849-9B15-CB03AEF5E9F9}.Release|Any CPU.Build.0 = Release|Any CPU + {17AFE406-2361-4849-9B15-CB03AEF5E9F9}.Release|x64.ActiveCfg = Release|Any CPU + {17AFE406-2361-4849-9B15-CB03AEF5E9F9}.Release|x64.Build.0 = Release|Any CPU + {17AFE406-2361-4849-9B15-CB03AEF5E9F9}.Release|x86.ActiveCfg = Release|Any CPU + {17AFE406-2361-4849-9B15-CB03AEF5E9F9}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/README.MD b/README.MD index e02029722..89b53e35c 100644 --- a/README.MD +++ b/README.MD @@ -1,24 +1,21 @@ -### AUTOMATED INSTALL / UNINSTALL: +### AUTOMATED INSTALL: -- Coming Soon... +1. Download MelonLoader.Installer.zip from the latest version in [Releases](https://github.com/HerpDerpinstine/MelonLoader/releases). +2. Run MelonLoader.Installer.exe and Follow the Instructions. --- ### MANUAL INSTALLATION FOR MONO GAMES: -1. Download MelonLoader_Mono.zip from the latest version in [Releases](https://github.com/HerpDerpinstine/MelonLoader/releases). -2. Extract MelonLoader_Mono.zip to the Game's Installation Folder. +1. Download MelonLoader.Mono.zip from the latest version in [Releases](https://github.com/HerpDerpinstine/MelonLoader/releases). +2. Extract MelonLoader.Mono.zip to the Game's Installation Folder. --- ### MANUAL INSTALLATION FOR IL2CPP GAMES: -1. Download MelonLoader_Il2Cpp.zip from the latest version in [Releases](https://github.com/HerpDerpinstine/MelonLoader/releases). -2. Extract MelonLoader_Il2Cpp.zip to the Game's Installation Folder. -3. Download the latest version of Il2CppDumper from [HERE](https://github.com/Perfare/Il2CppDumper/releases) and extract it to MelonLoader/AssemblyGenerator/Il2CppDumper -4. Download the latest version of Il2CppAssemblyUnhollower from [HERE](https://github.com/knah/Il2CppAssemblyUnhollower/releases) and extract it to MelonLoader/AssemblyGenerator/Il2CppAssemblyUnhollower -5. Download the Unity Dependencies ZIP for the Game's Engine Version from [BaseLibs/UnityDependencies](https://github.com/HerpDerpinstine/MelonLoader/tree/master/BaseLibs/UnityDependencies). -6. Extract the ZIP to MelonLoader/AssemblyGenerator/Il2CppAssemblyUnhollower/UnityDependencies in the Game's Installation Folder. +1. Download MelonLoader.Il2Cpp.zip from the latest version in [Releases](https://github.com/HerpDerpinstine/MelonLoader/releases). +2. Extract MelonLoader.Il2Cpp.zip to the Game's Installation Folder. --- @@ -44,7 +41,6 @@ | Argument | Description | | --------------------- | ---------------------------------------- | | --no-mods | Launch game without loading Mods | -| --melonloader.hideconsole | Hides the Normal Console | | --melonloader.debug | Debug Console | | --melonloader.quitfix | Fixes the Hanging Process Issue with some Games | | --melonloader.maxlogs | Max Log Files [ Default: 10 ] [ Disable: 0 ] |