diff --git a/64Inject.csproj b/64Inject.csproj
new file mode 100644
index 0000000..1e77c90
--- /dev/null
+++ b/64Inject.csproj
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{7980ACD9-F023-4721-BE4F-5C71343711D6}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>_64Inject</RootNamespace>
+    <AssemblyName>64Inject</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ApplicationIcon>icon.ico</ApplicationIcon>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <TargetFrameworkProfile />
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x86\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Beta|AnyCPU'">
+    <OutputPath>bin\Beta\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Beta|x86'">
+    <OutputPath>bin\x86\Beta\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Beta|x64'">
+    <OutputPath>bin\x64\Beta\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Minor release|AnyCPU'">
+    <OutputPath>bin\Minor release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Minor release|x86'">
+    <OutputPath>bin\x86\Minor release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Minor release|x64'">
+    <OutputPath>bin\x64\Minor release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Revision release|AnyCPU'">
+    <OutputPath>bin\Revision release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Revision release|x86'">
+    <OutputPath>bin\x86\Revision release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Revision release|x64'">
+    <OutputPath>bin\x64\Revision release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="64InjectCMD.cs" />
+    <Compile Include="64InjectGUI.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="64InjectGUI.Designer.cs">
+      <DependentUpon>64InjectGUI.cs</DependentUpon>
+    </Compile>
+    <Compile Include="64Injector.cs" />
+    <Compile Include="BootImage.cs" />
+    <Compile Include="IconImage.cs" />
+    <Compile Include="Log.cs" />
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <Compile Include="RomN64.cs" />
+    <Compile Include="NusContent.cs" />
+    <Compile Include="Security.cs" />
+    <Compile Include="Useful.cs" />
+    <Compile Include="VCN64.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="64InjectGUI.resx">
+      <DependentUpon>64InjectGUI.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="app.config" />
+    <None Include="Resources\x-mark-16.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Resources\checkmark-16.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="icon.ico" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent>"C:\Users\Alberto\source\repos\64Inject\64Inject\CllAssemblyVersion.exe" assemblyInfo "$(ProjectDir)Properties\AssemblyInfo.cs" projectPath "$(ProjectPath)" config "$(ConfigurationName)" platform "$(PlatformName)" title "$(SolutionName)" format "major.minor.build.revision" replaceIn "$(ProjectDir)64Injector.cs"</PreBuildEvent>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/64Inject.csproj.user b/64Inject.csproj.user
new file mode 100644
index 0000000..beee08b
--- /dev/null
+++ b/64Inject.csproj.user
@@ -0,0 +1,16 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="15.0">
+  <PropertyGroup>
+    <PublishUrlHistory>publish\</PublishUrlHistory>
+    <InstallUrlHistory>
+    </InstallUrlHistory>
+    <SupportUrlHistory>
+    </SupportUrlHistory>
+    <UpdateUrlHistory>
+    </UpdateUrlHistory>
+    <BootstrapperUrlHistory>
+    </BootstrapperUrlHistory>
+    <FallbackCulture>es-ES</FallbackCulture>
+    <VerifyUploadedFiles>false</VerifyUploadedFiles>
+    <ErrorReportUrlHistory />
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/64InjectCMD.cs b/64InjectCMD.cs
new file mode 100644
index 0000000..4b3e7e5
--- /dev/null
+++ b/64InjectCMD.cs
@@ -0,0 +1,1089 @@
+using System;
+using System.IO;
+
+namespace _64Inject
+{
+    public class _64InjectCMD
+    {
+        private _64Injector injector;
+
+        public _64InjectCMD()
+        {
+            Cll.Log.SaveIn("64Inject_log.txt");
+            Cll.Log.WriteLine(DateTime.UtcNow.ToString());
+            Cll.Log.WriteLine("64Inject open in CMD mode.");
+
+            injector = new _64Injector();
+        }
+
+        public void Run(string[] args)
+        {
+            Cll.Log.WriteLine("64Inject " + _64Injector.Release + " - by phacox.cll");
+            Cll.Log.WriteLine("");
+
+            if (NusContent.GetJavaVersion() == null)
+            {
+                Cll.Log.WriteLine("Warning! Apparently the system does not have Java installed!");
+                Cll.Log.WriteLine("Java is needed to NUSPacker (encrypt) and JNUSTool (decrypt).");
+                Cll.Log.WriteLine("");
+            }
+            else
+            {
+                if (!File.Exists("resources\\nuspacker\\NUSPacker.jar"))
+                {
+                    Cll.Log.WriteLine("Warning! \"resources\\nuspacker\\NUSPacker.jar\" not found!");
+                    Cll.Log.WriteLine("NUSPacker allows you to encrypt the result for WUPInstaller.");
+                    Cll.Log.WriteLine("");
+                }
+                if (!File.Exists("resources\\jnustool\\JNUSTool.jar"))
+                {
+                    Cll.Log.WriteLine("Warning! \"resources\\jnustool\\JNUSTool.jar\" not found!");
+                    Cll.Log.WriteLine("JNUSTool allows you to decrypt Wii U VC games to use as a base.");
+                    Cll.Log.WriteLine("");
+                }
+            }            
+
+            if (NusContent.CheckCommonKeyFiles())
+                Cll.Log.WriteLine("Common Key found successfully.");
+            else
+                Cll.Log.WriteLine("Common Key not found. Use load-key option.");
+
+            if (injector.BaseIsLoaded)
+                Cll.Log.WriteLine("Base loaded: " + injector.LoadedBase);
+            else
+                Cll.Log.WriteLine("Base not found. Use load-base option or specify one using the -base option.");
+            Cll.Log.WriteLine("");
+
+            if (args.Length == 0)
+            {
+                ConsoleHelp();
+            }
+            else if (args.Length == 1 && args[0] == "help")
+            {
+                ConsoleHelp();
+            }
+            else if (args.Length == 2 && args[0] == "load-key")
+            {
+                Cll.Log.WriteLine("load-key: " + args[1]);
+
+                if (NusContent.LoadKey(args[1]))
+                    Cll.Log.WriteLine("Common Key loaded successfully.");
+                else
+                    Cll.Log.WriteLine("The load of the key failed. Is a valid Common Key?");
+            }
+            else if (args.Length == 2 && args[0] == "load-base")
+            {
+                Cll.Log.WriteLine("load-base: " + args[1]);
+                Cll.Log.WriteLine("Loading base, please wait...");
+
+                if (injector.LoadBase(args[1]))
+                    Cll.Log.WriteLine("Base loaded: " + injector.LoadedBase);
+                else
+                    Cll.Log.WriteLine("The base was not loaded correctly.");
+            }
+            else if (args.Length >= 1 && args[0] == "create-image")
+            {
+                if (CreateImage(args))
+                    Cll.Log.WriteLine("Image created.");
+                else
+                    Cll.Log.WriteLine("Image not created.");
+            }
+            else if (args.Length >= 1 && args[0] == "create-icon")
+            {
+                if (CreateIcon(args))
+                    Cll.Log.WriteLine("Icon created.");
+                else
+                    Cll.Log.WriteLine("Icon not created.");
+            }
+            else if ((args.Length == 3 || args.Length == 5) &&
+                (args[0] == "pack" || args[0] == "unpack"))
+            {
+                PackUnpack(args);
+            }
+            else
+            {
+                bool _continue = LoadArgs(args);
+
+                if (_continue)
+                    _continue = ValidArgs();      
+
+                if (_continue)
+                    Inject();
+            }
+            Cll.Log.WriteLine("Close.");
+            Cll.Log.WriteLine("----------------------------------------------------------------");
+        }
+
+        private void ConsoleHelp()
+        {
+            Cll.Log.WriteText(global::_64Inject.Properties.Resources.Help, 80, 0, Cll.Log.TabMode.All);
+        }
+
+        private bool CreateImage(string[] args)
+        {
+            BootImage bootImg = new BootImage();
+            string framePath = null;
+            string titlePath = null;            
+            string released = null;
+            string players = null;
+            string outPath = null;
+
+            for (int i = 0; i < args.Length; i++)
+            {
+                switch (args[i])
+                {
+                    case "create-image":
+                        break;
+                    case "-frame":
+                        if (i + 1 < args.Length && framePath == null)
+                        {
+                            framePath = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-frame\" option.");
+                            return false;
+                        }
+                    case "-title":
+                        if (i + 1 < args.Length && titlePath == null)
+                        {
+                            titlePath = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-title\" option.");
+                            return false;
+                        }
+                    case "-name":
+                        if (i + 1 < args.Length && bootImg.NameLine1 == null)
+                        {
+                            bootImg.NameLine1 = args[++i];
+                            bootImg.NameLine2 = "";
+                            bootImg.Longname = false;
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-name\" option.");
+                            return false;
+                        }
+                    case "-longname":
+                        if (i + 2 < args.Length && bootImg.NameLine1 == null)
+                        {
+                            bootImg.NameLine1 = args[++i];
+                            bootImg.NameLine2 = args[++i];
+                            bootImg.Longname = true;
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-longname\" option.");
+                            return false;
+                        }
+                    case "-r":
+                        if (i + 1 < args.Length && released == null)
+                        {
+                            released = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-r\" option.");
+                            return false;
+                        }
+                    case "-p":
+                        if (i + 1 < args.Length && players == null)
+                        {
+                            players = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-p\" option.");
+                            return false;
+                        }
+                    case "-out":
+                        if (i + 1 < args.Length && outPath == null)
+                        {
+                            outPath = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-out\" option.");
+                            return false;
+                        }
+                    default:
+                        Cll.Log.WriteLine("Invalid option \"" + args[i] + "\".");
+                        return false;
+                }
+            }
+
+            if (framePath != null && !File.Exists(framePath))
+            {
+                Cll.Log.WriteLine("The frame image \"" + framePath + "\" not exists.");
+                return false;
+            }
+            if (titlePath != null && !File.Exists(titlePath))
+            {
+                Cll.Log.WriteLine("The title screen \"" + titlePath + "\" not exists.");
+                return false;
+            }
+            if (released != null)
+            {
+                try
+                {
+                    bootImg.Released = Convert.ToInt32(released);
+                    if (bootImg.Released < 1996)
+                    {
+                        Cll.Log.WriteLine("The year of release is less than 1996.");
+                        return false;
+                    }
+                }
+                catch
+                {
+                    Cll.Log.WriteLine("The year of release is not an integer.");
+                    return false;
+                }
+            }
+            if (players != null)
+            {
+                try
+                {
+                    bootImg.Players = Convert.ToInt32(players);
+                    if (bootImg.Players < 1 || bootImg.Players > 4)
+                    {
+                        Cll.Log.WriteLine("The number of players must be between 1 and 4.");
+                        return false;
+                    }
+                }
+                catch
+                {
+                    Cll.Log.WriteLine("The number of players is not an integer.");
+                    return false;
+                }
+            }
+            if (outPath != null)
+            {
+                if (!Directory.Exists(outPath))
+                {
+                    Cll.Log.WriteLine("The \"" + outPath + "\" folder not exist.");
+                    return false;
+                }
+            }
+            else
+                outPath = Environment.CurrentDirectory;
+
+            outPath += "\\image.png";
+            Cll.Log.WriteLine("Creating image ----------------------------------------------------------------");
+            if (titlePath != null) Cll.Log.WriteLine("title: " + titlePath);
+            if (framePath != null) Cll.Log.WriteLine("frame: " + framePath);
+            if (bootImg.NameLine1 != "")
+            {
+                if (bootImg.NameLine2 == "") Cll.Log.WriteLine("name: " + bootImg.NameLine1);
+                else Cll.Log.WriteLine("longname:\n" + bootImg.NameLine1 + "\n" + bootImg.NameLine2);
+            }
+            if (released != null) Cll.Log.WriteLine("released: " + released);
+            if (players != null) Cll.Log.WriteLine("players: " + players);
+            if (outPath != null) Cll.Log.WriteLine("out: " + outPath);
+
+            System.Drawing.Bitmap image = null;
+            try
+            {
+                if (framePath != null)
+                    bootImg.Frame = new System.Drawing.Bitmap(framePath);
+                if (titlePath != null)
+                    bootImg.TitleScreen = new System.Drawing.Bitmap(titlePath);
+                image = bootImg.Create();
+                image.Save(outPath, System.Drawing.Imaging.ImageFormat.Png);
+                image.Dispose();
+                return true;
+            }
+            catch
+            {
+                return false;
+            }
+            finally
+            {
+                bootImg.Dispose();
+                if (image != null)
+                    image.Dispose();
+            }
+        }
+
+        private bool CreateIcon(string[] args)
+        {
+            IconImage iconImg = new IconImage();
+            string framePath = null;
+            string titlePath = null;
+            string outPath = null;
+
+            for (int i = 0; i < args.Length; i++)
+            {
+                switch (args[i])
+                {
+                    case "create-icon":
+                        break;
+                    case "-frame":
+                        if (i + 1 < args.Length && framePath == null)
+                        {
+                            framePath = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-frame\" option.");
+                            return false;
+                        }
+                    case "-title":
+                        if (i + 1 < args.Length && titlePath == null)
+                        {
+                            titlePath = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-title\" option.");
+                            return false;
+                        }
+                    case "-out":
+                        if (i + 1 < args.Length && outPath == null)
+                        {
+                            outPath = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-out\" option.");
+                            return false;
+                        }
+                    default:
+                        Cll.Log.WriteLine("Invalid option \"" + args[i] + "\".");
+                        return false;
+                }
+            }
+
+            if (framePath != null && !File.Exists(framePath))
+            {
+                Cll.Log.WriteLine("The frame image \"" + framePath + "\" not exists.");
+                return false;
+            }
+            if (titlePath != null && !File.Exists(titlePath))
+            {
+                Cll.Log.WriteLine("The title screen \"" + titlePath + "\" not exists.");
+                return false;
+            }
+            if (outPath != null)
+            {
+                if (!Directory.Exists(outPath))
+                {
+                    Cll.Log.WriteLine("The \"" + outPath + "\" folder not exist.");
+                    return false;
+                }
+            }
+            else
+                outPath = Environment.CurrentDirectory;
+
+            outPath += "\\icon.png";
+            Cll.Log.WriteLine("Creating icon -----------------------------------------------------------------");
+            if (titlePath != null) Cll.Log.WriteLine("title: " + titlePath);
+            if (framePath != null) Cll.Log.WriteLine("frame: " + framePath);
+            if (outPath != null) Cll.Log.WriteLine("out: " + outPath);
+
+            System.Drawing.Bitmap icon = null;
+            try
+            {
+                if (framePath != null)
+                    iconImg.Frame = new System.Drawing.Bitmap(framePath);
+                if (titlePath != null)
+                    iconImg.TitleScreen = new System.Drawing.Bitmap(titlePath);
+                icon = iconImg.Create();
+                icon.Save(outPath, System.Drawing.Imaging.ImageFormat.Png);
+                icon.Dispose();
+                return true;
+            }
+            catch
+            {
+                return false;
+            }
+            finally
+            {
+                iconImg.Dispose();
+                if (icon != null)
+                    icon.Dispose();
+            }
+        }
+
+        private void PackUnpack(string[] args)
+        {
+            bool _continue = true;
+            if (args.Length == 3 && args[1] == "-in")
+            {
+                injector.InPath = args[2];
+                injector.OutPath = Environment.CurrentDirectory + "\\" + args[0] + "_result";
+
+                if (Directory.Exists(injector.OutPath))
+                    Directory.Delete(injector.OutPath, true);
+                Directory.CreateDirectory(injector.OutPath);
+            }
+            else if (args.Length == 5 && args[1] == "-in" && args[3] == "-out")
+            {
+                injector.InPath = args[2];
+                injector.OutPath = args[4];
+            }
+            else
+            {
+                Cll.Log.WriteLine("Incorrect " + args[0] + " syntax.");
+                Cll.Log.WriteLine("");
+                _continue = false;
+            }
+
+            if (_continue)
+            {
+                if (!Directory.Exists(injector.InPath) || !Path.IsPathRooted(injector.InPath))
+                {
+                    Cll.Log.WriteLine("The input folder \"" + injector.InPath + "\" not exist.");
+                    Cll.Log.WriteLine("Do not use relative paths.");
+                    Cll.Log.WriteLine("");
+                    _continue = false;
+                }
+                if (!Directory.Exists(injector.OutPath) || !Path.IsPathRooted(injector.OutPath))
+                {
+                    Cll.Log.WriteLine("The output folder \"" + injector.OutPath + "\" not exist.");
+                    Cll.Log.WriteLine("Do not use relative paths.");
+                    Cll.Log.WriteLine("");
+                    _continue = false;
+                }
+            }
+
+            if (_continue && Directory.Exists(injector.OutPath))
+                if (Directory.GetDirectories(injector.OutPath).Length != 0 ||
+                    Directory.GetFiles(injector.OutPath).Length != 0)
+                {
+                    Cll.Log.WriteLine("The \"" + injector.OutPath + "\" folder exist and not empty.");
+                    Cll.Log.WriteLine("");
+                    _continue = false;
+                }
+
+            if (_continue)
+            {
+                Cll.Log.WriteLine("in: " + injector.InPath);
+                Cll.Log.WriteLine("out: " + injector.OutPath);
+                Cll.Log.WriteLine("");
+
+                if (args[0] == "pack")
+                {
+                    if (NusContent.Encrypt(injector.InPath, injector.OutPath))
+                        Cll.Log.WriteLine("The encryption was successful.");
+                    else
+                        Cll.Log.WriteLine("The encryption failed.");
+                }
+                else if (args[0] == "unpack")
+                {
+                    if (NusContent.Decrypt(injector.InPath, injector.OutPath))
+                        Cll.Log.WriteLine("The decryption was successful.");
+                    else
+                        Cll.Log.WriteLine("The decryption failed.");
+                }
+            }
+            else if (args[0] == "pack")
+                Cll.Log.WriteLine("The encryption failed.");
+            else
+                Cll.Log.WriteLine("The decryption failed.");
+        }
+
+        private bool Inject()
+        {
+            Cll.Log.WriteLine("Injecting - - - - - - - - - - - - - - - - - - - - - - - - - - - ");
+            if (injector.BasePath != null) Cll.Log.WriteLine("base: " + injector.BasePath);
+            if (injector.ShortName != null) Cll.Log.WriteLine("name: " + injector.ShortName);
+            if (injector.LongName != null) Cll.Log.WriteLine("longname:\n" + injector.LongName);
+            if (injector.InPath != null) Cll.Log.WriteLine("in: " + injector.InPath);
+            if (injector.RomPath != null) Cll.Log.WriteLine("rom: " + injector.RomPath);
+            if (injector.IniPath != null) Cll.Log.WriteLine("ini: " + injector.IniPath);
+            if (injector.BootTvPath != null) Cll.Log.WriteLine("tv: " + injector.BootTvPath);
+            if (injector.BootDrcPath != null) Cll.Log.WriteLine("drc: " + injector.BootDrcPath);
+            if (injector.IconPath != null) Cll.Log.WriteLine("icon: " + injector.IconPath);
+            if (injector.OutPath != null) Cll.Log.WriteLine("out: " + injector.OutPath);
+            Cll.Log.WriteLine("encrypt: " + injector.Encrypt.ToString());
+            Cll.Log.WriteLine("Please wait...");
+
+            return injector.Inject();
+        }
+
+        private bool LoadArgs(string[] args)
+        {
+            for (int i = 0; i < args.Length; i++)
+            {
+                switch (args[i])
+                {
+                    case "-base":
+                        if (i + 1 < args.Length && injector.BasePath == null)
+                        { 
+                            injector.BasePath = args[++i];
+                            break;
+                        }
+                        else
+                        { 
+                            Cll.Log.WriteLine("Error in the \"-base\" option.");
+                            return false;
+                        }
+                    case "-name":
+                        if (i + 1 < args.Length && injector.ShortName == null)
+                        {
+                            injector.ShortName = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-name\" option.");
+                            return false;
+                        }
+                    case "-longname":
+                        if (i + 2 < args.Length && injector.LongName == null)
+                        {
+                            injector.LongName = args[++i] + "\n" + args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-longname\" option.");
+                            return false;
+                        }
+                    case "no-darkfilter":
+                        injector.DarkFilter = false; 
+                        break;
+                    case "widescreen":
+                        injector.Widescreen = true;                        
+                        break;
+                    case "-zoom":
+                        if (i + 1 < args.Length && injector.Zoom == null)
+                        {
+                            injector.Zoom = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-zoom\" option.");
+                            return false;
+                        }
+                    case "-in":
+                        if (i + 1 < args.Length && injector.InPath == null)
+                        {
+                            injector.InPath = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-in\" option.");
+                            return false;
+                        }
+                    case "-rom":
+                        if (i + 1 < args.Length && injector.RomPath == null)
+                        {
+                            injector.RomPath = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-rom\" option.");
+                            return false;
+                        }
+                    case "-ini":
+                        if (i + 1 < args.Length && injector.IniPath == null)
+                        {
+                            injector.IniPath = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-ini\" option.");
+                            return false;
+                        }
+                    case "-icon":
+                        if (i + 1 < args.Length && injector.IconPath == null)
+                        {
+                            injector.IconPath = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-icon\" option.");
+                            return false;
+                        }
+                    case "-tv":
+                        if (i + 1 < args.Length && injector.BootTvPath == null)
+                        {
+                            injector.BootTvPath = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-tv\" option.");
+                            return false;
+                        }
+                    case "-drc":
+                        if (i + 1 < args.Length && injector.BootDrcPath == null)
+                        {
+                            injector.BootDrcPath = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-drc\" option.");
+                            return false;
+                        }
+                    case "-out":
+                        if (i + 1 < args.Length && injector.OutPath == null)
+                        {
+                            injector.OutPath = args[++i];
+                            break;
+                        }
+                        else
+                        {
+                            Cll.Log.WriteLine("Error in the \"-out\" option.");
+                            return false;
+                        }
+                    case "not-encrypt":
+                        injector.Encrypt = false;
+                        break;
+                    default:
+                        Cll.Log.WriteLine("Invalid option \"" + args[i] + "\".");
+                        return false;
+                }
+            }
+            return true;
+        }
+
+        #region Validations
+
+        private bool ValidArgs()
+        {
+            if (!ValidBasePath())
+                return false;
+
+            if (!ValidInPath())
+                return false;
+
+            if (!ValidRomPath())
+                return false;
+
+            if (!ValidIniPath())
+                return false;
+
+            if (!ValidShortName())
+                return false;
+
+            if (!ValidLongName())
+                return false;
+
+            if (!ValidZoom())
+                return false;
+
+            if (!ValidBootTvPath())
+                return false;
+
+            if (!ValidBootDrcPath())
+                return false;
+
+            if (!ValidIconPath())
+                return false;
+
+            if (!ValidOutPath())
+                return false;
+
+            return true;
+        }
+
+        private bool ValidBasePath()
+        {
+            if (injector.BasePath != null)
+            {
+                Cll.Log.WriteLine("Loading base, please wait...");
+
+                if (injector.LoadBase(injector.BasePath))
+                {
+                    Cll.Log.WriteLine("Base loaded: " + injector.LoadedBase);
+                    Cll.Log.WriteLine("");
+                }
+                else
+                {
+                    Cll.Log.WriteLine("The base was not loaded correctly.");
+                    Cll.Log.WriteLine("");
+                    return false;
+                }
+            }
+            else if (!injector.BaseIsLoaded)
+            {
+                Cll.Log.WriteLine("There is not a loaded base.");
+                Cll.Log.WriteLine("");
+                return false;
+            }
+            return true;
+        }
+
+        private bool ValidShortName()
+        {
+            if (injector.ShortName != null)
+            {
+                if (injector.ShortName.Length == 0)
+                {
+                    Cll.Log.WriteLine("The name of the game is empty.");
+                    return false;
+                }
+                else if (injector.ShortName.Length > 256)
+                {
+                    Cll.Log.WriteLine("The name is not valid, it has more than 256 characters.");
+                    return false;
+                }
+            }
+            else
+            {
+                injector.ShortName = injector.Rom.Title;
+            }
+            return true;
+        }
+
+        private bool ValidLongName()
+        {
+            if (injector.LongName != null)
+            {
+                if (injector.ShortName.Length == 0)
+                {
+                    Cll.Log.WriteLine("The long name of the game is empty.");
+                    return false;
+                }
+                else if (injector.LongName.Length > 512)
+                {
+                    Cll.Log.WriteLine("The long name is not valid, it has more than 512 characters.");
+                    return false;
+                }
+            }
+            else
+            {
+                injector.LongName = injector.ShortName;
+            }
+            return true;
+        }
+        
+        private bool ValidZoom()
+        {
+            if (injector.Zoom != null)
+            {
+                try
+                {
+                    injector.Scale = Convert.ToSingle(injector.Zoom);
+                    if (injector.Scale < 50.0F || injector.Scale > 200.0F)
+                    {
+                        Cll.Log.WriteLine("The zoom value must be between 50 and 200.");
+                        return false;
+                    }
+                }
+                catch
+                {
+                    Cll.Log.WriteLine("The zoom value is not a number.");
+                    return false;
+                }
+
+                if (injector.ShortName.Length == 0)
+                {
+                    Cll.Log.WriteLine("The name of the game is empty.");
+                    return false;
+                }
+                else if (injector.ShortName.Length > 256)
+                {
+                    Cll.Log.WriteLine("The name is not valid, it has more than 256 characters.");
+                    return false;
+                }
+            }
+            else
+            {
+                injector.Scale = 100.0F;
+            }
+            return true;
+        }
+        
+        private bool ValidInPath()
+        {
+            if (injector.InPath != null)
+            {
+                if (!Directory.Exists(injector.InPath))
+                {
+                    Cll.Log.WriteLine("The input folder \"" + injector.InPath + "\" not exists.");
+                    return false;
+                }
+            }
+            else
+                Cll.Log.WriteLine("The input folder was not specified.");
+            return true;
+        }
+
+        private bool ValidRomPath()
+        {
+            if (injector.RomPath != null)
+            {
+                if (File.Exists(injector.RomPath))
+                {
+                    injector.Rom = new RomN64(injector.RomPath);
+                    if (!injector.Rom.IsValid)
+                    {
+                        Cll.Log.WriteLine("The ROM file is not valid.");
+                        return false;
+                    }
+                }
+                else
+                {
+                    Cll.Log.WriteLine("The ROM file \"" + injector.RomPath + "\" not exists.");
+                    return false;
+                }
+            }
+            else
+            {
+                if (injector.InPath != null)
+                {
+                    injector.RomPath = injector.InPath + "\\rom.z64";
+                    if (File.Exists(injector.RomPath))
+                    {
+                        injector.Rom = new RomN64(injector.RomPath);
+                        if (!injector.Rom.IsValid)
+                        {
+                            Cll.Log.WriteLine("The ROM file is not valid.");
+                            return false;
+                        }
+                    }
+                    else
+                    {
+                        Cll.Log.WriteLine("The ROM file \"" + injector.RomPath + "\" not exists.");
+                        return false;
+                    }
+                }
+                else
+                {
+                    //Cll.Log.WriteLine("The input folder was not specified.");
+                    Cll.Log.WriteLine("ROM not found.");
+                    return false;
+                }
+            }
+            return true;
+        }
+
+        private bool ValidIniPath()
+        {
+            if (injector.IniPath != null)
+            {
+                if (File.Exists(injector.IniPath))
+                {
+                    if (!injector.LoadIni(injector.IniPath))
+                    {
+                        Cll.Log.WriteLine("The INI file is not valid.");
+                        return false;
+                    }
+                }
+                else
+                {
+                    Cll.Log.WriteLine("The INI file \"" + injector.IniPath + "\" not exists.");
+                    return false;
+                }
+            }
+            else
+            {
+                if (injector.InPath != null)
+                {
+                    injector.IniPath = injector.InPath + "\\vc.ini";
+                    if (File.Exists(injector.IniPath))
+                    {
+                        if (!injector.LoadIni(injector.IniPath))
+                        {
+                            Cll.Log.WriteLine("The INI file is not valid.");
+                            return false;
+                        }
+                    }
+                    else
+                    {
+                        injector.IniPath = null;
+                        Cll.Log.WriteLine("The INI file \"" + injector.IniPath + "\" not exists.");
+                        Cll.Log.WriteLine("An empty INI file will be used.");
+                    }
+                }
+                else
+                {
+                    //Cll.Log.WriteLine("The input folder was not specified.");
+                    Cll.Log.WriteLine("An empty INI file will be used.");
+                }
+            }
+            return true;
+        }
+
+        private bool ValidBootTvPath()
+        {
+            if (injector.BootTvPath != null)
+            {
+                if (!File.Exists(injector.BootTvPath))
+                {
+                    Cll.Log.WriteLine("The boot tv image file \"" + injector.BootTvPath + "\" not exists.");
+                    return false;
+                }
+                else
+                    injector.BootTvImg.IsDefault = false;
+            }
+            else
+            {
+                if (injector.InPath != null)
+                {
+                    injector.BootTvPath = injector.InPath + "\\tv.png";
+                    if (!File.Exists(injector.BootTvPath))
+                    {
+                        Cll.Log.WriteLine("The boot tv image file \"" + injector.BootTvPath + "\" not exists.");
+                        if (File.Exists("resources\\boot.png"))
+                            injector.BootTvPath = "resources\\boot.png";
+                        else
+                            injector.BootTvPath = null;
+                        Cll.Log.WriteLine("A default image will be used as boot tv.");
+                    }
+                    else
+                        injector.BootTvImg.IsDefault = false;
+                }
+                else
+                {
+                    //Cll.Log.WriteLine("The input folder was not specified.");
+                    if (File.Exists("resources\\boot.png"))
+                        injector.BootTvPath = "resources\\boot.png";
+                    else
+                        injector.BootTvPath = null;
+                    Cll.Log.WriteLine("A default image will be used as boot tv.");
+                }
+            }
+            return true;
+        }
+
+        private bool ValidBootDrcPath()
+        {
+            if (injector.BootDrcPath != null)
+            {
+                if (!File.Exists(injector.BootDrcPath))
+                {
+                    Cll.Log.WriteLine("The boot drc image file \"" + injector.BootDrcPath + "\" not exists.");
+                    return false;
+                }
+                else
+                    injector.BootDrcImg.IsDefault = false;
+            }
+            else
+            {
+                if (injector.InPath != null)
+                {
+                    injector.BootDrcPath = injector.InPath + "\\drc.png";
+                    if (!File.Exists(injector.BootDrcPath))
+                    {
+                        Cll.Log.WriteLine("The boot drc image file \"" + injector.BootDrcPath + "\" not exists.");
+                        injector.BootDrcPath = injector.BootTvPath;
+                        if (!File.Exists(injector.BootDrcPath))
+                        {
+                            if (File.Exists("resources\\boot.png"))
+                                injector.BootDrcPath = "resources\\boot.png";
+                            else
+                                injector.BootDrcPath = null;
+                            Cll.Log.WriteLine("A default image will be used as boot drc.");
+                        }
+                        else
+                            Cll.Log.WriteLine("The boot tv image will be used as boot drc.");
+                    }
+                    else
+                        injector.BootDrcImg.IsDefault = false;
+                }
+                else
+                {
+                    //Cll.Log.WriteLine("The input folder was not specified.");
+                    injector.BootDrcPath = injector.BootTvPath;
+                    if (!File.Exists(injector.BootDrcPath))
+                    {
+                        if (File.Exists("resources\\boot.png"))
+                            injector.BootDrcPath = "resources\\boot.png";
+                        else
+                            injector.BootDrcPath = null;
+                        Cll.Log.WriteLine("A default image will be used as boot drc.");
+                    }
+                    else
+                        Cll.Log.WriteLine("The boot tv image will be used as boot drc.");
+                }
+            }
+            return true;
+        }
+
+        private bool ValidIconPath()
+        {
+            if (injector.IconPath != null)
+            {
+                if (!File.Exists(injector.IconPath))
+                {
+                    Cll.Log.WriteLine("The icon file \"" + injector.IconPath + "\" not exists.");
+                    return false;
+                }
+                else
+                    injector.IconImg.IsDefault = false;
+            }
+            else
+            {
+                if (injector.InPath != null)
+                {
+                    injector.IconPath = injector.InPath + "\\icon.png";
+                    if (!File.Exists(injector.IconPath))
+                    {
+                        Cll.Log.WriteLine("The icon file \"" + injector.IconPath + "\" not exists.");
+                        if (File.Exists("resources\\icon.png"))
+                            injector.IconPath = "resources\\icon.png";                        
+                        else
+                            injector.IconPath = null;  
+                        Cll.Log.WriteLine("A default image will be used as icon.");
+                    }
+                    else
+                        injector.IconImg.IsDefault = false;
+                }
+                else
+                {
+                    //Cll.Log.WriteLine("The input folder was not specified.");
+                    if (File.Exists("resources\\icon.png"))
+                        injector.IconPath = "resources\\icon.png";
+                    else
+                        injector.IconPath = null;
+                    Cll.Log.WriteLine("A default image will be used as icon.");
+                }
+            }
+            return true;
+        }
+
+        private bool ValidOutPath()
+        {
+            if (injector.OutPath != null)
+            {
+                if (!Directory.Exists(injector.OutPath))
+                {
+                    Cll.Log.WriteLine("The \"" + injector.OutPath + "\" folder not exist.");
+                    return false;
+                }
+            }
+            else
+            {
+                Cll.Log.WriteLine("The output folder was not specified.");
+                injector.OutPath = Environment.CurrentDirectory;
+                Cll.Log.WriteLine("The root folder of 64Inject will be used as the output folder.");
+            }
+
+            injector.OutPath += "\\" + injector.ShortNameASCII + " [" + injector.TitleId + "]";
+
+            if (Directory.Exists(injector.OutPath))
+                if (Directory.GetDirectories(injector.OutPath).Length != 0 ||
+                    Directory.GetFiles(injector.OutPath).Length != 0)
+                {
+                    Cll.Log.WriteLine("The \"" + injector.OutPath + "\" folder exist and not empty.");
+                    return false;
+                }
+
+            return true;
+        }
+        
+        #endregion
+    }
+}
diff --git a/64InjectGUI.Designer.cs b/64InjectGUI.Designer.cs
new file mode 100644
index 0000000..e99a227
--- /dev/null
+++ b/64InjectGUI.Designer.cs
@@ -0,0 +1,840 @@
+namespace _64Inject
+{
+    partial class _64InjectGUI
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(_64InjectGUI));
+            this.buttonRom = new System.Windows.Forms.Button();
+            this.buttonIni = new System.Windows.Forms.Button();
+            this.textBoxShortName = new System.Windows.Forms.TextBox();
+            this.labelRom = new System.Windows.Forms.Label();
+            this.labelIni = new System.Windows.Forms.Label();
+            this.labeShortName = new System.Windows.Forms.Label();
+            this.labelProductCode = new System.Windows.Forms.Label();
+            this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
+            this.textBoxRom = new System.Windows.Forms.TextBox();
+            this.textBoxIni = new System.Windows.Forms.TextBox();
+            this.buttonInject = new System.Windows.Forms.Button();
+            this.groupBoxImages = new System.Windows.Forms.GroupBox();
+            this.buttonTitleScreen = new System.Windows.Forms.Button();
+            this.comboBoxPlayers = new System.Windows.Forms.ComboBox();
+            this.comboBoxReleased = new System.Windows.Forms.ComboBox();
+            this.labelPlayers = new System.Windows.Forms.Label();
+            this.labelReleased = new System.Windows.Forms.Label();
+            this.checkBoxShowName = new System.Windows.Forms.CheckBox();
+            this.buttonBootDrc = new System.Windows.Forms.Button();
+            this.pictureBoxBootDrc = new System.Windows.Forms.PictureBox();
+            this.pictureBoxIcon = new System.Windows.Forms.PictureBox();
+            this.buttonIcon = new System.Windows.Forms.Button();
+            this.buttonBootTv = new System.Windows.Forms.Button();
+            this.pictureBoxBootTv = new System.Windows.Forms.PictureBox();
+            this.tabControlMain = new System.Windows.Forms.TabControl();
+            this.tabPageMain = new System.Windows.Forms.TabPage();
+            this.groupBoxGameLayout = new System.Windows.Forms.GroupBox();
+            this.checkBoxDarkFilter = new System.Windows.Forms.CheckBox();
+            this.numericUpDownZoom = new System.Windows.Forms.NumericUpDown();
+            this.checkBoxWidescreen = new System.Windows.Forms.CheckBox();
+            this.labelZoom = new System.Windows.Forms.Label();
+            this.checkBoxPackUpResult = new System.Windows.Forms.CheckBox();
+            this.labelTitleId = new System.Windows.Forms.Label();
+            this.textBoxLNLine2 = new System.Windows.Forms.TextBox();
+            this.textBoxLNLine1 = new System.Windows.Forms.TextBox();
+            this.checkBoxLongName = new System.Windows.Forms.CheckBox();
+            this.tabPageConfig = new System.Windows.Forms.TabPage();
+            this.labelBy = new System.Windows.Forms.Label();
+            this.labelBaseFrom = new System.Windows.Forms.Label();
+            this.panelLoadedBase = new System.Windows.Forms.Panel();
+            this.labelLoadedBase = new System.Windows.Forms.Label();
+            this.panelValidKey = new System.Windows.Forms.Panel();
+            this.checkBoxImagesDir = new System.Windows.Forms.CheckBox();
+            this.buttonImagesDir = new System.Windows.Forms.Button();
+            this.textBoxImagesDir = new System.Windows.Forms.TextBox();
+            this.labelCommonKey = new System.Windows.Forms.Label();
+            this.textBoxCommonKey = new System.Windows.Forms.TextBox();
+            this.buttonBaseFrom = new System.Windows.Forms.Button();
+            this.buttonIniDir = new System.Windows.Forms.Button();
+            this.buttonRomDir = new System.Windows.Forms.Button();
+            this.textBoxBaseFrom = new System.Windows.Forms.TextBox();
+            this.textBoxIniDir = new System.Windows.Forms.TextBox();
+            this.textBoxRomDir = new System.Windows.Forms.TextBox();
+            this.checkBoxAskBase = new System.Windows.Forms.CheckBox();
+            this.checkBoxIniDir = new System.Windows.Forms.CheckBox();
+            this.checkBoxRomDir = new System.Windows.Forms.CheckBox();
+            this.folderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
+            this.groupBoxImages.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBootDrc)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBootTv)).BeginInit();
+            this.tabControlMain.SuspendLayout();
+            this.tabPageMain.SuspendLayout();
+            this.groupBoxGameLayout.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.numericUpDownZoom)).BeginInit();
+            this.tabPageConfig.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // buttonRom
+            // 
+            this.buttonRom.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.buttonRom.Location = new System.Drawing.Point(644, 4);
+            this.buttonRom.Name = "buttonRom";
+            this.buttonRom.Size = new System.Drawing.Size(24, 23);
+            this.buttonRom.TabIndex = 0;
+            this.buttonRom.Text = "...";
+            this.buttonRom.UseVisualStyleBackColor = true;
+            this.buttonRom.Click += new System.EventHandler(this.buttonRom_Click);
+            // 
+            // buttonIni
+            // 
+            this.buttonIni.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.buttonIni.Location = new System.Drawing.Point(644, 108);
+            this.buttonIni.Name = "buttonIni";
+            this.buttonIni.Size = new System.Drawing.Size(24, 23);
+            this.buttonIni.TabIndex = 1;
+            this.buttonIni.Text = "...";
+            this.buttonIni.UseVisualStyleBackColor = true;
+            this.buttonIni.Click += new System.EventHandler(this.buttonIni_Click);
+            // 
+            // textBoxShortName
+            // 
+            this.textBoxShortName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.textBoxShortName.Location = new System.Drawing.Point(81, 32);
+            this.textBoxShortName.MaxLength = 256;
+            this.textBoxShortName.Name = "textBoxShortName";
+            this.textBoxShortName.Size = new System.Drawing.Size(587, 20);
+            this.textBoxShortName.TabIndex = 2;
+            this.textBoxShortName.TextChanged += new System.EventHandler(this.textBoxShortName_TextChanged);
+            // 
+            // labelRom
+            // 
+            this.labelRom.AutoSize = true;
+            this.labelRom.Location = new System.Drawing.Point(8, 9);
+            this.labelRom.Name = "labelRom";
+            this.labelRom.Size = new System.Drawing.Size(59, 13);
+            this.labelRom.TabIndex = 4;
+            this.labelRom.Text = "ROM path:";
+            // 
+            // labelIni
+            // 
+            this.labelIni.AutoSize = true;
+            this.labelIni.Location = new System.Drawing.Point(8, 113);
+            this.labelIni.Name = "labelIni";
+            this.labelIni.Size = new System.Drawing.Size(48, 13);
+            this.labelIni.TabIndex = 5;
+            this.labelIni.Text = "INI path:";
+            // 
+            // labeShortName
+            // 
+            this.labeShortName.AutoSize = true;
+            this.labeShortName.Location = new System.Drawing.Point(8, 35);
+            this.labeShortName.Name = "labeShortName";
+            this.labeShortName.Size = new System.Drawing.Size(64, 13);
+            this.labeShortName.TabIndex = 6;
+            this.labeShortName.Text = "Short name:";
+            // 
+            // labelProductCode
+            // 
+            this.labelProductCode.AutoSize = true;
+            this.labelProductCode.Location = new System.Drawing.Point(330, 156);
+            this.labelProductCode.Name = "labelProductCode";
+            this.labelProductCode.Size = new System.Drawing.Size(74, 13);
+            this.labelProductCode.TabIndex = 7;
+            this.labelProductCode.Text = "Product code:";
+            // 
+            // textBoxRom
+            // 
+            this.textBoxRom.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.textBoxRom.Location = new System.Drawing.Point(81, 6);
+            this.textBoxRom.Name = "textBoxRom";
+            this.textBoxRom.Size = new System.Drawing.Size(557, 20);
+            this.textBoxRom.TabIndex = 8;
+            // 
+            // textBoxIni
+            // 
+            this.textBoxIni.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.textBoxIni.Location = new System.Drawing.Point(81, 110);
+            this.textBoxIni.Name = "textBoxIni";
+            this.textBoxIni.Size = new System.Drawing.Size(557, 20);
+            this.textBoxIni.TabIndex = 9;
+            // 
+            // buttonInject
+            // 
+            this.buttonInject.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.buttonInject.Enabled = false;
+            this.buttonInject.Location = new System.Drawing.Point(3, 480);
+            this.buttonInject.Name = "buttonInject";
+            this.buttonInject.Size = new System.Drawing.Size(570, 40);
+            this.buttonInject.TabIndex = 10;
+            this.buttonInject.Text = "Inject";
+            this.buttonInject.UseVisualStyleBackColor = true;
+            this.buttonInject.Click += new System.EventHandler(this.buttonInject_Click);
+            // 
+            // groupBoxImages
+            // 
+            this.groupBoxImages.Controls.Add(this.buttonTitleScreen);
+            this.groupBoxImages.Controls.Add(this.comboBoxPlayers);
+            this.groupBoxImages.Controls.Add(this.comboBoxReleased);
+            this.groupBoxImages.Controls.Add(this.labelPlayers);
+            this.groupBoxImages.Controls.Add(this.labelReleased);
+            this.groupBoxImages.Controls.Add(this.checkBoxShowName);
+            this.groupBoxImages.Controls.Add(this.buttonBootDrc);
+            this.groupBoxImages.Controls.Add(this.pictureBoxBootDrc);
+            this.groupBoxImages.Controls.Add(this.pictureBoxIcon);
+            this.groupBoxImages.Controls.Add(this.buttonIcon);
+            this.groupBoxImages.Controls.Add(this.buttonBootTv);
+            this.groupBoxImages.Controls.Add(this.pictureBoxBootTv);
+            this.groupBoxImages.Location = new System.Drawing.Point(8, 187);
+            this.groupBoxImages.Name = "groupBoxImages";
+            this.groupBoxImages.Size = new System.Drawing.Size(660, 288);
+            this.groupBoxImages.TabIndex = 11;
+            this.groupBoxImages.TabStop = false;
+            this.groupBoxImages.Text = "Images";
+            // 
+            // buttonTitleScreen
+            // 
+            this.buttonTitleScreen.Location = new System.Drawing.Point(327, 257);
+            this.buttonTitleScreen.Name = "buttonTitleScreen";
+            this.buttonTitleScreen.Size = new System.Drawing.Size(94, 23);
+            this.buttonTitleScreen.TabIndex = 13;
+            this.buttonTitleScreen.Text = "Title screen";
+            this.buttonTitleScreen.UseVisualStyleBackColor = true;
+            this.buttonTitleScreen.Click += new System.EventHandler(this.buttonTitleScreen_Click);
+            // 
+            // comboBoxPlayers
+            // 
+            this.comboBoxPlayers.FormattingEnabled = true;
+            this.comboBoxPlayers.Items.AddRange(new object[] {
+            "None",
+            "1",
+            "2",
+            "3",
+            "4"});
+            this.comboBoxPlayers.Location = new System.Drawing.Point(168, 259);
+            this.comboBoxPlayers.Name = "comboBoxPlayers";
+            this.comboBoxPlayers.Size = new System.Drawing.Size(50, 21);
+            this.comboBoxPlayers.TabIndex = 12;
+            this.comboBoxPlayers.Text = "None";
+            this.comboBoxPlayers.SelectedIndexChanged += new System.EventHandler(this.comboBoxPlayers_SelectedIndexChanged);
+            // 
+            // comboBoxReleased
+            // 
+            this.comboBoxReleased.FormattingEnabled = true;
+            this.comboBoxReleased.Items.AddRange(new object[] {
+            "None",
+            "1996",
+            "1997",
+            "1998",
+            "1999",
+            "2000",
+            "2001",
+            "2002",
+            "2018"});
+            this.comboBoxReleased.Location = new System.Drawing.Point(62, 259);
+            this.comboBoxReleased.Name = "comboBoxReleased";
+            this.comboBoxReleased.Size = new System.Drawing.Size(50, 21);
+            this.comboBoxReleased.TabIndex = 11;
+            this.comboBoxReleased.Text = "None";
+            this.comboBoxReleased.SelectedIndexChanged += new System.EventHandler(this.comboBoxReleased_SelectedIndexChanged);
+            // 
+            // labelPlayers
+            // 
+            this.labelPlayers.AutoSize = true;
+            this.labelPlayers.Location = new System.Drawing.Point(123, 262);
+            this.labelPlayers.Name = "labelPlayers";
+            this.labelPlayers.Size = new System.Drawing.Size(44, 13);
+            this.labelPlayers.TabIndex = 10;
+            this.labelPlayers.Text = "Players:";
+            // 
+            // labelReleased
+            // 
+            this.labelReleased.AutoSize = true;
+            this.labelReleased.Location = new System.Drawing.Point(6, 262);
+            this.labelReleased.Name = "labelReleased";
+            this.labelReleased.Size = new System.Drawing.Size(55, 13);
+            this.labelReleased.TabIndex = 9;
+            this.labelReleased.Text = "Released:";
+            // 
+            // checkBoxShowName
+            // 
+            this.checkBoxShowName.AutoSize = true;
+            this.checkBoxShowName.Checked = true;
+            this.checkBoxShowName.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.checkBoxShowName.Location = new System.Drawing.Point(237, 261);
+            this.checkBoxShowName.Name = "checkBoxShowName";
+            this.checkBoxShowName.Size = new System.Drawing.Size(82, 17);
+            this.checkBoxShowName.TabIndex = 8;
+            this.checkBoxShowName.Text = "Show name";
+            this.checkBoxShowName.UseVisualStyleBackColor = true;
+            this.checkBoxShowName.CheckedChanged += new System.EventHandler(this.checkBoxShowName_CheckedChanged);
+            // 
+            // buttonBootDrc
+            // 
+            this.buttonBootDrc.Location = new System.Drawing.Point(426, 198);
+            this.buttonBootDrc.Name = "buttonBootDrc";
+            this.buttonBootDrc.Size = new System.Drawing.Size(94, 38);
+            this.buttonBootDrc.TabIndex = 7;
+            this.buttonBootDrc.Text = "Boot Drc";
+            this.buttonBootDrc.UseVisualStyleBackColor = true;
+            this.buttonBootDrc.Click += new System.EventHandler(this.buttonBootDrc_Click);
+            // 
+            // pictureBoxBootDrc
+            // 
+            this.pictureBoxBootDrc.BackColor = System.Drawing.SystemColors.Window;
+            this.pictureBoxBootDrc.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.pictureBoxBootDrc.Location = new System.Drawing.Point(426, 19);
+            this.pictureBoxBootDrc.Name = "pictureBoxBootDrc";
+            this.pictureBoxBootDrc.Size = new System.Drawing.Size(228, 128);
+            this.pictureBoxBootDrc.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.pictureBoxBootDrc.TabIndex = 6;
+            this.pictureBoxBootDrc.TabStop = false;
+            // 
+            // pictureBoxIcon
+            // 
+            this.pictureBoxIcon.BackColor = System.Drawing.SystemColors.Window;
+            this.pictureBoxIcon.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.pictureBoxIcon.Location = new System.Drawing.Point(526, 153);
+            this.pictureBoxIcon.Name = "pictureBoxIcon";
+            this.pictureBoxIcon.Size = new System.Drawing.Size(128, 128);
+            this.pictureBoxIcon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.pictureBoxIcon.TabIndex = 5;
+            this.pictureBoxIcon.TabStop = false;
+            // 
+            // buttonIcon
+            // 
+            this.buttonIcon.Location = new System.Drawing.Point(426, 243);
+            this.buttonIcon.Name = "buttonIcon";
+            this.buttonIcon.Size = new System.Drawing.Size(94, 38);
+            this.buttonIcon.TabIndex = 4;
+            this.buttonIcon.Text = "Icon";
+            this.buttonIcon.UseVisualStyleBackColor = true;
+            this.buttonIcon.Click += new System.EventHandler(this.buttonIcon_Click);
+            // 
+            // buttonBootTv
+            // 
+            this.buttonBootTv.Location = new System.Drawing.Point(426, 153);
+            this.buttonBootTv.Name = "buttonBootTv";
+            this.buttonBootTv.Size = new System.Drawing.Size(94, 38);
+            this.buttonBootTv.TabIndex = 3;
+            this.buttonBootTv.Text = "Boot Tv";
+            this.buttonBootTv.UseVisualStyleBackColor = true;
+            this.buttonBootTv.Click += new System.EventHandler(this.buttonBootTv_Click);
+            // 
+            // pictureBoxBootTv
+            // 
+            this.pictureBoxBootTv.BackColor = System.Drawing.SystemColors.Window;
+            this.pictureBoxBootTv.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.pictureBoxBootTv.Location = new System.Drawing.Point(6, 19);
+            this.pictureBoxBootTv.Name = "pictureBoxBootTv";
+            this.pictureBoxBootTv.Size = new System.Drawing.Size(414, 232);
+            this.pictureBoxBootTv.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.pictureBoxBootTv.TabIndex = 2;
+            this.pictureBoxBootTv.TabStop = false;
+            // 
+            // tabControlMain
+            // 
+            this.tabControlMain.Controls.Add(this.tabPageMain);
+            this.tabControlMain.Controls.Add(this.tabPageConfig);
+            this.tabControlMain.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.tabControlMain.Location = new System.Drawing.Point(0, 0);
+            this.tabControlMain.Name = "tabControlMain";
+            this.tabControlMain.SelectedIndex = 0;
+            this.tabControlMain.Size = new System.Drawing.Size(684, 549);
+            this.tabControlMain.TabIndex = 12;
+            // 
+            // tabPageMain
+            // 
+            this.tabPageMain.BackColor = System.Drawing.SystemColors.Control;
+            this.tabPageMain.Controls.Add(this.groupBoxGameLayout);
+            this.tabPageMain.Controls.Add(this.checkBoxPackUpResult);
+            this.tabPageMain.Controls.Add(this.labelTitleId);
+            this.tabPageMain.Controls.Add(this.textBoxLNLine2);
+            this.tabPageMain.Controls.Add(this.textBoxLNLine1);
+            this.tabPageMain.Controls.Add(this.checkBoxLongName);
+            this.tabPageMain.Controls.Add(this.labelRom);
+            this.tabPageMain.Controls.Add(this.groupBoxImages);
+            this.tabPageMain.Controls.Add(this.buttonRom);
+            this.tabPageMain.Controls.Add(this.buttonInject);
+            this.tabPageMain.Controls.Add(this.buttonIni);
+            this.tabPageMain.Controls.Add(this.textBoxIni);
+            this.tabPageMain.Controls.Add(this.textBoxShortName);
+            this.tabPageMain.Controls.Add(this.textBoxRom);
+            this.tabPageMain.Controls.Add(this.labelProductCode);
+            this.tabPageMain.Controls.Add(this.labelIni);
+            this.tabPageMain.Controls.Add(this.labeShortName);
+            this.tabPageMain.Location = new System.Drawing.Point(4, 22);
+            this.tabPageMain.Name = "tabPageMain";
+            this.tabPageMain.Padding = new System.Windows.Forms.Padding(3);
+            this.tabPageMain.Size = new System.Drawing.Size(676, 523);
+            this.tabPageMain.TabIndex = 0;
+            this.tabPageMain.Text = "Main";
+            // 
+            // groupBoxGameLayout
+            // 
+            this.groupBoxGameLayout.Controls.Add(this.checkBoxDarkFilter);
+            this.groupBoxGameLayout.Controls.Add(this.numericUpDownZoom);
+            this.groupBoxGameLayout.Controls.Add(this.checkBoxWidescreen);
+            this.groupBoxGameLayout.Controls.Add(this.labelZoom);
+            this.groupBoxGameLayout.Location = new System.Drawing.Point(8, 136);
+            this.groupBoxGameLayout.Name = "groupBoxGameLayout";
+            this.groupBoxGameLayout.Size = new System.Drawing.Size(296, 45);
+            this.groupBoxGameLayout.TabIndex = 21;
+            this.groupBoxGameLayout.TabStop = false;
+            this.groupBoxGameLayout.Text = "Game layout";
+            // 
+            // checkBoxDarkFilter
+            // 
+            this.checkBoxDarkFilter.AutoSize = true;
+            this.checkBoxDarkFilter.Checked = true;
+            this.checkBoxDarkFilter.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.checkBoxDarkFilter.Location = new System.Drawing.Point(6, 19);
+            this.checkBoxDarkFilter.Name = "checkBoxDarkFilter";
+            this.checkBoxDarkFilter.Size = new System.Drawing.Size(71, 17);
+            this.checkBoxDarkFilter.TabIndex = 17;
+            this.checkBoxDarkFilter.Text = "Dark filter";
+            this.checkBoxDarkFilter.UseVisualStyleBackColor = true;
+            this.checkBoxDarkFilter.CheckedChanged += new System.EventHandler(this.checkBoxDarkFilter_CheckedChanged);
+            // 
+            // numericUpDownZoom
+            // 
+            this.numericUpDownZoom.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.numericUpDownZoom.Increment = new decimal(new int[] {
+            5,
+            0,
+            0,
+            0});
+            this.numericUpDownZoom.Location = new System.Drawing.Point(251, 18);
+            this.numericUpDownZoom.Maximum = new decimal(new int[] {
+            200,
+            0,
+            0,
+            0});
+            this.numericUpDownZoom.Minimum = new decimal(new int[] {
+            50,
+            0,
+            0,
+            0});
+            this.numericUpDownZoom.Name = "numericUpDownZoom";
+            this.numericUpDownZoom.Size = new System.Drawing.Size(40, 20);
+            this.numericUpDownZoom.TabIndex = 20;
+            this.numericUpDownZoom.Value = new decimal(new int[] {
+            100,
+            0,
+            0,
+            0});
+            this.numericUpDownZoom.ValueChanged += new System.EventHandler(this.numericUpDownZoom_ValueChanged);
+            // 
+            // checkBoxWidescreen
+            // 
+            this.checkBoxWidescreen.AutoSize = true;
+            this.checkBoxWidescreen.Location = new System.Drawing.Point(92, 19);
+            this.checkBoxWidescreen.Name = "checkBoxWidescreen";
+            this.checkBoxWidescreen.Size = new System.Drawing.Size(83, 17);
+            this.checkBoxWidescreen.TabIndex = 18;
+            this.checkBoxWidescreen.Text = "Widescreen";
+            this.checkBoxWidescreen.UseVisualStyleBackColor = true;
+            this.checkBoxWidescreen.CheckedChanged += new System.EventHandler(this.checkBoxWidescreen_CheckedChanged);
+            // 
+            // labelZoom
+            // 
+            this.labelZoom.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.labelZoom.AutoSize = true;
+            this.labelZoom.Location = new System.Drawing.Point(213, 20);
+            this.labelZoom.Name = "labelZoom";
+            this.labelZoom.Size = new System.Drawing.Size(37, 13);
+            this.labelZoom.TabIndex = 19;
+            this.labelZoom.Text = "Zoom:";
+            // 
+            // checkBoxPackUpResult
+            // 
+            this.checkBoxPackUpResult.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+            this.checkBoxPackUpResult.AutoSize = true;
+            this.checkBoxPackUpResult.Location = new System.Drawing.Point(579, 493);
+            this.checkBoxPackUpResult.Name = "checkBoxPackUpResult";
+            this.checkBoxPackUpResult.Size = new System.Drawing.Size(94, 17);
+            this.checkBoxPackUpResult.TabIndex = 16;
+            this.checkBoxPackUpResult.Text = "Pack up result";
+            this.checkBoxPackUpResult.UseVisualStyleBackColor = true;
+            // 
+            // labelTitleId
+            // 
+            this.labelTitleId.AutoSize = true;
+            this.labelTitleId.Location = new System.Drawing.Point(500, 156);
+            this.labelTitleId.Name = "labelTitleId";
+            this.labelTitleId.Size = new System.Drawing.Size(44, 13);
+            this.labelTitleId.TabIndex = 15;
+            this.labelTitleId.Text = "Title ID:";
+            // 
+            // textBoxLNLine2
+            // 
+            this.textBoxLNLine2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.textBoxLNLine2.Enabled = false;
+            this.textBoxLNLine2.Location = new System.Drawing.Point(100, 84);
+            this.textBoxLNLine2.MaxLength = 255;
+            this.textBoxLNLine2.Name = "textBoxLNLine2";
+            this.textBoxLNLine2.Size = new System.Drawing.Size(568, 20);
+            this.textBoxLNLine2.TabIndex = 14;
+            this.textBoxLNLine2.TextChanged += new System.EventHandler(this.textBoxLNLine2_TextChanged);
+            // 
+            // textBoxLNLine1
+            // 
+            this.textBoxLNLine1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.textBoxLNLine1.Enabled = false;
+            this.textBoxLNLine1.Location = new System.Drawing.Point(100, 58);
+            this.textBoxLNLine1.MaxLength = 255;
+            this.textBoxLNLine1.Name = "textBoxLNLine1";
+            this.textBoxLNLine1.Size = new System.Drawing.Size(568, 20);
+            this.textBoxLNLine1.TabIndex = 13;
+            this.textBoxLNLine1.TextChanged += new System.EventHandler(this.textBoxLNLine1_TextChanged);
+            // 
+            // checkBoxLongName
+            // 
+            this.checkBoxLongName.AutoSize = true;
+            this.checkBoxLongName.Location = new System.Drawing.Point(12, 66);
+            this.checkBoxLongName.Name = "checkBoxLongName";
+            this.checkBoxLongName.Size = new System.Drawing.Size(82, 17);
+            this.checkBoxLongName.TabIndex = 12;
+            this.checkBoxLongName.Text = "Long name:";
+            this.checkBoxLongName.UseVisualStyleBackColor = true;
+            this.checkBoxLongName.CheckedChanged += new System.EventHandler(this.checkBoxLongName_CheckedChanged);
+            // 
+            // tabPageConfig
+            // 
+            this.tabPageConfig.BackColor = System.Drawing.SystemColors.Control;
+            this.tabPageConfig.Controls.Add(this.labelBy);
+            this.tabPageConfig.Controls.Add(this.labelBaseFrom);
+            this.tabPageConfig.Controls.Add(this.panelLoadedBase);
+            this.tabPageConfig.Controls.Add(this.labelLoadedBase);
+            this.tabPageConfig.Controls.Add(this.panelValidKey);
+            this.tabPageConfig.Controls.Add(this.checkBoxImagesDir);
+            this.tabPageConfig.Controls.Add(this.buttonImagesDir);
+            this.tabPageConfig.Controls.Add(this.textBoxImagesDir);
+            this.tabPageConfig.Controls.Add(this.labelCommonKey);
+            this.tabPageConfig.Controls.Add(this.textBoxCommonKey);
+            this.tabPageConfig.Controls.Add(this.buttonBaseFrom);
+            this.tabPageConfig.Controls.Add(this.buttonIniDir);
+            this.tabPageConfig.Controls.Add(this.buttonRomDir);
+            this.tabPageConfig.Controls.Add(this.textBoxBaseFrom);
+            this.tabPageConfig.Controls.Add(this.textBoxIniDir);
+            this.tabPageConfig.Controls.Add(this.textBoxRomDir);
+            this.tabPageConfig.Controls.Add(this.checkBoxAskBase);
+            this.tabPageConfig.Controls.Add(this.checkBoxIniDir);
+            this.tabPageConfig.Controls.Add(this.checkBoxRomDir);
+            this.tabPageConfig.Location = new System.Drawing.Point(4, 22);
+            this.tabPageConfig.Name = "tabPageConfig";
+            this.tabPageConfig.Padding = new System.Windows.Forms.Padding(3);
+            this.tabPageConfig.Size = new System.Drawing.Size(676, 523);
+            this.tabPageConfig.TabIndex = 1;
+            this.tabPageConfig.Text = "Config";
+            // 
+            // labelBy
+            // 
+            this.labelBy.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+            this.labelBy.AutoSize = true;
+            this.labelBy.Location = new System.Drawing.Point(592, 482);
+            this.labelBy.Name = "labelBy";
+            this.labelBy.Size = new System.Drawing.Size(55, 13);
+            this.labelBy.TabIndex = 18;
+            this.labelBy.Text = "phacox.cll";
+            // 
+            // labelBaseFrom
+            // 
+            this.labelBaseFrom.AutoSize = true;
+            this.labelBaseFrom.Location = new System.Drawing.Point(6, 165);
+            this.labelBaseFrom.Name = "labelBaseFrom";
+            this.labelBaseFrom.Size = new System.Drawing.Size(83, 13);
+            this.labelBaseFrom.TabIndex = 17;
+            this.labelBaseFrom.Text = "Load base from:";
+            // 
+            // panelLoadedBase
+            // 
+            this.panelLoadedBase.BackColor = System.Drawing.SystemColors.Control;
+            this.panelLoadedBase.BackgroundImage = global::_64Inject.Properties.Resources.x_mark_16;
+            this.panelLoadedBase.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
+            this.panelLoadedBase.Location = new System.Drawing.Point(120, 194);
+            this.panelLoadedBase.Name = "panelLoadedBase";
+            this.panelLoadedBase.Size = new System.Drawing.Size(20, 20);
+            this.panelLoadedBase.TabIndex = 16;
+            // 
+            // labelLoadedBase
+            // 
+            this.labelLoadedBase.AutoSize = true;
+            this.labelLoadedBase.Location = new System.Drawing.Point(146, 191);
+            this.labelLoadedBase.Name = "labelLoadedBase";
+            this.labelLoadedBase.Size = new System.Drawing.Size(69, 13);
+            this.labelLoadedBase.TabIndex = 15;
+            this.labelLoadedBase.Text = "Base loaded:\r\n";
+            // 
+            // panelValidKey
+            // 
+            this.panelValidKey.BackColor = System.Drawing.SystemColors.Control;
+            this.panelValidKey.BackgroundImage = global::_64Inject.Properties.Resources.x_mark_16;
+            this.panelValidKey.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
+            this.panelValidKey.Location = new System.Drawing.Point(342, 110);
+            this.panelValidKey.Name = "panelValidKey";
+            this.panelValidKey.Size = new System.Drawing.Size(20, 20);
+            this.panelValidKey.TabIndex = 14;
+            // 
+            // checkBoxImagesDir
+            // 
+            this.checkBoxImagesDir.AutoSize = true;
+            this.checkBoxImagesDir.Checked = true;
+            this.checkBoxImagesDir.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.checkBoxImagesDir.Location = new System.Drawing.Point(8, 34);
+            this.checkBoxImagesDir.Name = "checkBoxImagesDir";
+            this.checkBoxImagesDir.Size = new System.Drawing.Size(106, 17);
+            this.checkBoxImagesDir.TabIndex = 13;
+            this.checkBoxImagesDir.Text = "Images directory:";
+            this.checkBoxImagesDir.UseVisualStyleBackColor = true;
+            // 
+            // buttonImagesDir
+            // 
+            this.buttonImagesDir.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.buttonImagesDir.Location = new System.Drawing.Point(644, 30);
+            this.buttonImagesDir.Name = "buttonImagesDir";
+            this.buttonImagesDir.Size = new System.Drawing.Size(24, 23);
+            this.buttonImagesDir.TabIndex = 12;
+            this.buttonImagesDir.Text = "...";
+            this.buttonImagesDir.UseVisualStyleBackColor = true;
+            this.buttonImagesDir.Click += new System.EventHandler(this.buttonImagesDir_Click);
+            // 
+            // textBoxImagesDir
+            // 
+            this.textBoxImagesDir.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.textBoxImagesDir.Location = new System.Drawing.Point(120, 32);
+            this.textBoxImagesDir.Name = "textBoxImagesDir";
+            this.textBoxImagesDir.Size = new System.Drawing.Size(518, 20);
+            this.textBoxImagesDir.TabIndex = 11;
+            // 
+            // labelCommonKey
+            // 
+            this.labelCommonKey.AutoSize = true;
+            this.labelCommonKey.Location = new System.Drawing.Point(6, 113);
+            this.labelCommonKey.Name = "labelCommonKey";
+            this.labelCommonKey.Size = new System.Drawing.Size(100, 13);
+            this.labelCommonKey.TabIndex = 10;
+            this.labelCommonKey.Text = "Wii U Common key:";
+            // 
+            // textBoxCommonKey
+            // 
+            this.textBoxCommonKey.Location = new System.Drawing.Point(120, 110);
+            this.textBoxCommonKey.Name = "textBoxCommonKey";
+            this.textBoxCommonKey.Size = new System.Drawing.Size(216, 20);
+            this.textBoxCommonKey.TabIndex = 9;
+            this.textBoxCommonKey.TextChanged += new System.EventHandler(this.textBoxCommonKey_TextChanged);
+            // 
+            // buttonBaseFrom
+            // 
+            this.buttonBaseFrom.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.buttonBaseFrom.Location = new System.Drawing.Point(644, 160);
+            this.buttonBaseFrom.Name = "buttonBaseFrom";
+            this.buttonBaseFrom.Size = new System.Drawing.Size(24, 23);
+            this.buttonBaseFrom.TabIndex = 8;
+            this.buttonBaseFrom.Text = "...";
+            this.buttonBaseFrom.UseVisualStyleBackColor = true;
+            this.buttonBaseFrom.Click += new System.EventHandler(this.buttonBaseFrom_Click);
+            // 
+            // buttonIniDir
+            // 
+            this.buttonIniDir.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.buttonIniDir.Location = new System.Drawing.Point(644, 56);
+            this.buttonIniDir.Name = "buttonIniDir";
+            this.buttonIniDir.Size = new System.Drawing.Size(24, 23);
+            this.buttonIniDir.TabIndex = 7;
+            this.buttonIniDir.Text = "...";
+            this.buttonIniDir.UseVisualStyleBackColor = true;
+            this.buttonIniDir.Click += new System.EventHandler(this.buttonIniDir_Click);
+            // 
+            // buttonRomDir
+            // 
+            this.buttonRomDir.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.buttonRomDir.Location = new System.Drawing.Point(644, 4);
+            this.buttonRomDir.Name = "buttonRomDir";
+            this.buttonRomDir.Size = new System.Drawing.Size(24, 23);
+            this.buttonRomDir.TabIndex = 6;
+            this.buttonRomDir.Text = "...";
+            this.buttonRomDir.UseVisualStyleBackColor = true;
+            this.buttonRomDir.Click += new System.EventHandler(this.buttonRomDir_Click);
+            // 
+            // textBoxBaseFrom
+            // 
+            this.textBoxBaseFrom.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.textBoxBaseFrom.Location = new System.Drawing.Point(120, 162);
+            this.textBoxBaseFrom.Name = "textBoxBaseFrom";
+            this.textBoxBaseFrom.Size = new System.Drawing.Size(518, 20);
+            this.textBoxBaseFrom.TabIndex = 5;
+            // 
+            // textBoxIniDir
+            // 
+            this.textBoxIniDir.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.textBoxIniDir.Location = new System.Drawing.Point(120, 58);
+            this.textBoxIniDir.Name = "textBoxIniDir";
+            this.textBoxIniDir.Size = new System.Drawing.Size(518, 20);
+            this.textBoxIniDir.TabIndex = 4;
+            // 
+            // textBoxRomDir
+            // 
+            this.textBoxRomDir.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.textBoxRomDir.Location = new System.Drawing.Point(120, 6);
+            this.textBoxRomDir.Name = "textBoxRomDir";
+            this.textBoxRomDir.Size = new System.Drawing.Size(518, 20);
+            this.textBoxRomDir.TabIndex = 3;
+            // 
+            // checkBoxAskBase
+            // 
+            this.checkBoxAskBase.AutoSize = true;
+            this.checkBoxAskBase.Location = new System.Drawing.Point(8, 226);
+            this.checkBoxAskBase.Name = "checkBoxAskBase";
+            this.checkBoxAskBase.Size = new System.Drawing.Size(165, 17);
+            this.checkBoxAskBase.TabIndex = 2;
+            this.checkBoxAskBase.Text = "Ask for a base when injecting";
+            this.checkBoxAskBase.UseVisualStyleBackColor = true;
+            this.checkBoxAskBase.CheckedChanged += new System.EventHandler(this.checkBoxAskBase_CheckedChanged);
+            // 
+            // checkBoxIniDir
+            // 
+            this.checkBoxIniDir.AutoSize = true;
+            this.checkBoxIniDir.Checked = true;
+            this.checkBoxIniDir.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.checkBoxIniDir.Location = new System.Drawing.Point(8, 60);
+            this.checkBoxIniDir.Name = "checkBoxIniDir";
+            this.checkBoxIniDir.Size = new System.Drawing.Size(86, 17);
+            this.checkBoxIniDir.TabIndex = 1;
+            this.checkBoxIniDir.Text = "INI directory:";
+            this.checkBoxIniDir.UseVisualStyleBackColor = true;
+            // 
+            // checkBoxRomDir
+            // 
+            this.checkBoxRomDir.AutoSize = true;
+            this.checkBoxRomDir.Checked = true;
+            this.checkBoxRomDir.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.checkBoxRomDir.Location = new System.Drawing.Point(8, 8);
+            this.checkBoxRomDir.Name = "checkBoxRomDir";
+            this.checkBoxRomDir.Size = new System.Drawing.Size(97, 17);
+            this.checkBoxRomDir.TabIndex = 0;
+            this.checkBoxRomDir.Text = "ROM directory:";
+            this.checkBoxRomDir.UseVisualStyleBackColor = true;
+            // 
+            // _64InjectGUI
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(684, 549);
+            this.Controls.Add(this.tabControlMain);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.MinimumSize = new System.Drawing.Size(700, 588);
+            this.Name = "_64InjectGUI";
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+            this.Text = "64InjectGUI";
+            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this._64InjectGUI_FormClosing);
+            this.groupBoxImages.ResumeLayout(false);
+            this.groupBoxImages.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBootDrc)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBootTv)).EndInit();
+            this.tabControlMain.ResumeLayout(false);
+            this.tabPageMain.ResumeLayout(false);
+            this.tabPageMain.PerformLayout();
+            this.groupBoxGameLayout.ResumeLayout(false);
+            this.groupBoxGameLayout.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.numericUpDownZoom)).EndInit();
+            this.tabPageConfig.ResumeLayout(false);
+            this.tabPageConfig.PerformLayout();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Button buttonRom;
+        private System.Windows.Forms.Button buttonIni;
+        private System.Windows.Forms.TextBox textBoxShortName;
+        private System.Windows.Forms.Label labelRom;
+        private System.Windows.Forms.Label labelIni;
+        private System.Windows.Forms.Label labeShortName;
+        private System.Windows.Forms.Label labelProductCode;
+        private System.Windows.Forms.OpenFileDialog openFileDialog;
+        private System.Windows.Forms.TextBox textBoxRom;
+        private System.Windows.Forms.TextBox textBoxIni;
+        private System.Windows.Forms.Button buttonInject;
+        private System.Windows.Forms.GroupBox groupBoxImages;
+        private System.Windows.Forms.Button buttonIcon;
+        private System.Windows.Forms.Button buttonBootTv;
+        private System.Windows.Forms.PictureBox pictureBoxBootTv;
+        private System.Windows.Forms.PictureBox pictureBoxIcon;
+        private System.Windows.Forms.TabControl tabControlMain;
+        private System.Windows.Forms.TabPage tabPageMain;
+        private System.Windows.Forms.TabPage tabPageConfig;
+        private System.Windows.Forms.Label labelCommonKey;
+        private System.Windows.Forms.TextBox textBoxCommonKey;
+        private System.Windows.Forms.Button buttonBaseFrom;
+        private System.Windows.Forms.Button buttonIniDir;
+        private System.Windows.Forms.Button buttonRomDir;
+        private System.Windows.Forms.TextBox textBoxBaseFrom;
+        private System.Windows.Forms.TextBox textBoxIniDir;
+        private System.Windows.Forms.TextBox textBoxRomDir;
+        private System.Windows.Forms.CheckBox checkBoxAskBase;
+        private System.Windows.Forms.CheckBox checkBoxIniDir;
+        private System.Windows.Forms.CheckBox checkBoxRomDir;
+        private System.Windows.Forms.TextBox textBoxLNLine2;
+        private System.Windows.Forms.TextBox textBoxLNLine1;
+        private System.Windows.Forms.CheckBox checkBoxLongName;
+        private System.Windows.Forms.Label labelTitleId;
+        private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog;
+        private System.Windows.Forms.CheckBox checkBoxImagesDir;
+        private System.Windows.Forms.Button buttonImagesDir;
+        private System.Windows.Forms.TextBox textBoxImagesDir;
+        private System.Windows.Forms.Panel panelValidKey;
+        private System.Windows.Forms.Label labelLoadedBase;
+        private System.Windows.Forms.Label labelBaseFrom;
+        private System.Windows.Forms.Panel panelLoadedBase;
+        private System.Windows.Forms.CheckBox checkBoxPackUpResult;
+        private System.Windows.Forms.PictureBox pictureBoxBootDrc;
+        private System.Windows.Forms.Button buttonBootDrc;
+        private System.Windows.Forms.Label labelBy;
+        private System.Windows.Forms.ComboBox comboBoxPlayers;
+        private System.Windows.Forms.ComboBox comboBoxReleased;
+        private System.Windows.Forms.Label labelPlayers;
+        private System.Windows.Forms.Label labelReleased;
+        private System.Windows.Forms.CheckBox checkBoxShowName;
+        private System.Windows.Forms.Button buttonTitleScreen;
+        private System.Windows.Forms.NumericUpDown numericUpDownZoom;
+        private System.Windows.Forms.Label labelZoom;
+        private System.Windows.Forms.CheckBox checkBoxWidescreen;
+        private System.Windows.Forms.CheckBox checkBoxDarkFilter;
+        private System.Windows.Forms.GroupBox groupBoxGameLayout;
+    }
+}
\ No newline at end of file
diff --git a/64InjectGUI.cs b/64InjectGUI.cs
new file mode 100644
index 0000000..69e0f85
--- /dev/null
+++ b/64InjectGUI.cs
@@ -0,0 +1,892 @@
+using System;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.IO;
+using System.Text;
+using System.Windows.Forms;
+using System.Xml;
+using System.Drawing.Drawing2D;
+
+namespace _64Inject
+{
+    public partial class _64InjectGUI : Form
+    {
+        private _64Injector injector;
+        
+        private XmlDocument XmlConfig;
+        private XmlWriterSettings XmlSettings;
+
+        private string ResultDir;
+
+        public _64InjectGUI()
+        {
+            Cll.Log.SaveIn("64Inject_log.txt");
+            Cll.Log.WriteLine(DateTime.UtcNow.ToString());
+            Cll.Log.WriteLine("64Inject open in GUI mode.");
+
+            injector = new _64Injector();
+
+            InitializeComponent();
+
+            this.Text = "64Inject " + _64Injector.Release;
+
+            XmlSettings = new XmlWriterSettings
+            {
+                Indent = true,
+                IndentChars = "  ",
+                NewLineChars = "\r\n",
+                NewLineHandling = NewLineHandling.Replace
+            };
+            XmlConfig = new XmlDocument();
+
+            LoadXmlConfig();
+
+            if (NusContent.GetJavaVersion() == null)
+                MessageBox.Show("Warning! Apparently the system does not have Java installed!\n" +
+                    "Java is needed to NUSPacker (encrypt) and JNUSTool (decrypt).",
+                    "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+            else
+            {
+                StringBuilder sb = new StringBuilder();
+                bool warning = false;
+                if (!File.Exists("resources\\nuspacker\\NUSPacker.jar"))
+                {
+                    sb.AppendLine("Warning! \"resources\\nuspacker\\NUSPacker.jar\" not found!");
+                    sb.AppendLine("NUSPacker allows you to encrypt the result for WUPInstaller.");
+                    sb.AppendLine("");
+                    warning = true;
+                }
+                if (!File.Exists("resources\\jnustool\\JNUSTool.jar"))
+                {
+                    sb.AppendLine("Warning! \"resources\\jnustool\\JNUSTool.jar\" not found!");
+                    sb.AppendLine("JNUSTool allows you to decrypt Wii U VC games to use as a base.");
+                    warning = true;
+                }
+
+                if (warning)
+                    MessageBox.Show(sb.ToString(), "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+            }
+
+            if (NusContent.CheckCommonKeyFiles())
+            {
+                textBoxCommonKey.Enabled = false;
+                panelValidKey.BackgroundImage = Properties.Resources.checkmark_16;
+            }
+            else
+            {
+                textBoxCommonKey.Enabled = true;
+                panelValidKey.BackgroundImage = Properties.Resources.x_mark_16;
+            }
+
+            labelLoadedBase.Text = "Base loaded: " + injector.LoadedBase;
+            if (injector.BaseIsLoaded)
+                panelLoadedBase.BackgroundImage = global::_64Inject.Properties.Resources.checkmark_16;         
+   
+            if (File.Exists("resources\\boot.png"))
+            {
+                injector.BootTvImg.Frame = new Bitmap("resources\\boot.png");
+                injector.BootDrcImg.Frame = new Bitmap("resources\\boot.png");
+            }
+
+            if (File.Exists("resources\\icon.png"))
+                injector.IconImg.Frame = new Bitmap("resources\\icon.png");
+
+            if (File.Exists("resources\\title_screen.png"))
+            {
+                injector.BootTvImg.TitleScreen = new Bitmap("resources\\title_screen.png");
+                injector.BootDrcImg.TitleScreen = new Bitmap("resources\\title_screen.png");
+                injector.IconImg.TitleScreen = new Bitmap("resources\\title_screen.png");
+            }
+
+            UpdateBootTvPictureBox();
+            UpdateBootDrcPictureBox();
+            UpdateIconPictureBox();
+        }
+
+        private void _64InjectGUI_FormClosing(object sender, FormClosingEventArgs e)
+        {
+            SaveXmlConfig();
+            Cll.Log.WriteLine("Close.");
+            Cll.Log.WriteLine("----------------------------------------------------------------");
+        }
+
+        #region Config
+
+        private Stream CreateXmlConfig()
+        {
+            Stream xmlStream = new MemoryStream();
+            XmlWriter config = XmlWriter.Create(xmlStream, XmlSettings);
+
+            config.WriteStartElement("Config");
+
+            config.WriteStartElement("ROMDir");
+            config.WriteAttributeString("type", "String");
+            config.WriteValue("");
+            config.WriteEndElement();
+            config.WriteStartElement("INIDir");
+            config.WriteAttributeString("type", "String");
+            config.WriteValue("");
+            config.WriteEndElement();
+            config.WriteStartElement("ImagesDir");
+            config.WriteAttributeString("type", "String");
+            config.WriteValue("");
+            config.WriteEndElement();
+
+            config.WriteStartElement("ROMDirCheck");
+            config.WriteAttributeString("type", "Boolean");
+            config.WriteValue("True");
+            config.WriteEndElement();
+            config.WriteStartElement("INIDirCheck");
+            config.WriteAttributeString("type", "Boolean");
+            config.WriteValue("True");
+            config.WriteEndElement();
+            config.WriteStartElement("ImagesDirCheck");
+            config.WriteAttributeString("type", "Boolean");
+            config.WriteValue("True");
+            config.WriteEndElement();
+
+            config.WriteStartElement("BaseFrom");
+            config.WriteAttributeString("type", "String");
+            config.WriteValue("");
+            config.WriteEndElement();
+            config.WriteStartElement("BaseAsk");
+            config.WriteAttributeString("type", "Boolean");
+            config.WriteValue("False");
+            config.WriteEndElement();
+            config.WriteStartElement("PackUpResult");
+            config.WriteAttributeString("type", "Boolean");
+            config.WriteValue("False");
+            config.WriteEndElement();
+            config.WriteStartElement("ResultDir");
+            config.WriteAttributeString("type", "String");
+            config.WriteValue("");
+            config.WriteEndElement();
+
+            config.WriteEndElement();
+
+            config.Close();
+            xmlStream.Position = 0;
+
+            return xmlStream;
+        }
+
+        private void LoadXmlConfig()
+        {
+            if (File.Exists("resources\\gui_config"))
+            {
+                try
+                {
+                    XmlConfig.Load("resources\\gui_config");
+
+                    XmlNode nodeROMDir = XmlConfig.SelectSingleNode("Config/ROMDir");
+                    XmlNode nodeINIDir = XmlConfig.SelectSingleNode("Config/INIDir");
+                    XmlNode nodeImagesDir = XmlConfig.SelectSingleNode("Config/ImagesDir");
+
+                    XmlNode nodeROMDirCheck = XmlConfig.SelectSingleNode("Config/ROMDirCheck");
+                    XmlNode nodeINIDirCheck = XmlConfig.SelectSingleNode("Config/INIDirCheck");
+                    XmlNode nodeImagesDirCheck = XmlConfig.SelectSingleNode("Config/ImagesDirCheck");
+
+                    XmlNode nodeBaseFrom = XmlConfig.SelectSingleNode("Config/BaseFrom");
+                    XmlNode nodeBaseAsk = XmlConfig.SelectSingleNode("Config/BaseAsk");
+                    XmlNode nodePackUpResult = XmlConfig.SelectSingleNode("Config/PackUpResult");
+                    XmlNode nodeResultDir = XmlConfig.SelectSingleNode("Config/ResultDir");
+
+                    textBoxRomDir.Text = nodeROMDir.InnerText;
+                    textBoxIniDir.Text = nodeINIDir.InnerText;
+                    textBoxImagesDir.Text = nodeImagesDir.InnerText;
+
+                    checkBoxRomDir.Checked = Convert.ToBoolean(nodeROMDirCheck.InnerText);
+                    checkBoxIniDir.Checked = Convert.ToBoolean(nodeINIDirCheck.InnerText);
+                    checkBoxImagesDir.Checked = Convert.ToBoolean(nodeImagesDirCheck.InnerText);
+
+                    textBoxBaseFrom.Text = nodeBaseFrom.InnerText;
+                    checkBoxAskBase.Checked = Convert.ToBoolean(nodeBaseAsk.InnerText);
+                    checkBoxPackUpResult.Checked = Convert.ToBoolean(nodePackUpResult.InnerText);
+                    ResultDir = nodeResultDir.InnerText;
+                }
+                catch
+                {
+                    XmlConfig.Load(CreateXmlConfig());
+                }
+            }
+            else
+            {
+                XmlConfig.Load(CreateXmlConfig());
+            }
+        }
+
+        private void SaveXmlConfig()
+        {
+            if (!Directory.Exists("resources"))
+                Directory.CreateDirectory("resources");
+
+            XmlNode nodeROMDir = XmlConfig.SelectSingleNode("Config/ROMDir");
+            XmlNode nodeINIDir = XmlConfig.SelectSingleNode("Config/INIDir");
+            XmlNode nodeImagesDir = XmlConfig.SelectSingleNode("Config/ImagesDir");
+
+            XmlNode nodeROMDirCheck = XmlConfig.SelectSingleNode("Config/ROMDirCheck");
+            XmlNode nodeINIDirCheck = XmlConfig.SelectSingleNode("Config/INIDirCheck");
+            XmlNode nodeImagesDirCheck = XmlConfig.SelectSingleNode("Config/ImagesDirCheck");
+
+            XmlNode nodeBaseFrom = XmlConfig.SelectSingleNode("Config/BaseFrom");
+            XmlNode nodeBaseAsk = XmlConfig.SelectSingleNode("Config/BaseAsk");
+            XmlNode nodePackUpResult = XmlConfig.SelectSingleNode("Config/PackUpResult");
+            XmlNode nodeResultDir = XmlConfig.SelectSingleNode("Config/ResultDir");
+
+            nodeROMDir.InnerText = textBoxRomDir.Text;
+            nodeINIDir.InnerText = textBoxIniDir.Text;
+            nodeImagesDir.InnerText = textBoxImagesDir.Text;
+
+            nodeROMDirCheck.InnerText = checkBoxRomDir.Checked.ToString();
+            nodeINIDirCheck.InnerText = checkBoxIniDir.Checked.ToString();
+            nodeImagesDirCheck.InnerText = checkBoxImagesDir.Checked.ToString();
+
+            nodeBaseFrom.InnerText = textBoxBaseFrom.Text;
+            nodeBaseAsk.InnerText = checkBoxAskBase.Checked.ToString();
+            nodePackUpResult.InnerText = checkBoxPackUpResult.Checked.ToString();
+            nodeResultDir.InnerText = ResultDir;
+
+            XmlWriter config = XmlWriter.Create("resources\\gui_config", XmlSettings);
+            XmlConfig.Save(config);
+            config.Close();
+        }
+
+        #endregion
+
+        #region Main tab
+
+        private void buttonRom_Click(object sender, EventArgs e)
+        {
+            openFileDialog.FileName = "";
+            openFileDialog.Filter = "N64 ROM|*.z64;*.n64;*.v64;*.u64|All files|*.*";
+            if (checkBoxRomDir.Checked && Directory.Exists(textBoxRomDir.Text))
+                openFileDialog.InitialDirectory = textBoxRomDir.Text;
+            else
+                openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
+
+            if (openFileDialog.ShowDialog() == DialogResult.OK)
+            {                
+                injector.RomPath = openFileDialog.FileName;
+                textBoxRom.Text = injector.RomPath;
+
+                if (injector.Rom != null)
+                    injector.Rom.Dispose();
+
+                injector.Rom = new RomN64(injector.RomPath);
+
+                if (injector.Rom.IsValid)
+                {
+                    this.Text = "64Inject " + _64Injector.Release + " :: " + injector.Rom.Title;
+                    labelProductCode.Text = "Product code: " + injector.Rom.ProductCode +
+                        (injector.Rom.Version != 0 ? " (Rev " + injector.Rom.Revision + ")" : "");
+                }
+                else
+                {
+                    this.Text = "DSInject " + _64Injector.Release;
+                    labelProductCode.Text = "Product code:";
+                }
+
+                if ((injector.BaseIsLoaded || checkBoxAskBase.Checked) &&
+                    injector.Rom.IsValid &&
+                    (injector.IniIsLoaded || injector.IniPath == null))
+                {
+                    labelTitleId.Text = "Title ID: " + injector.TitleId;
+
+                    if (textBoxShortName.Text.Length > 0)
+                        buttonInject.Enabled = true;
+                    else
+                        buttonInject.Enabled = false;
+                }
+                else
+                {
+                    labelTitleId.Text = "Title ID:";
+                    buttonInject.Enabled = false;
+                }
+            }
+        }
+
+        private void buttonIni_Click(object sender, EventArgs e)
+        {
+            openFileDialog.FileName = "";
+            openFileDialog.Filter = "INI file|*.ini|All files|*.*";
+            if (checkBoxIniDir.Checked && Directory.Exists(textBoxIniDir.Text))
+                openFileDialog.InitialDirectory = textBoxIniDir.Text;
+            else
+                openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
+
+            if (openFileDialog.ShowDialog() == DialogResult.OK)
+            {
+                injector.IniPath = openFileDialog.FileName;
+                textBoxIni.Text = injector.IniPath;
+
+                if (!injector.LoadIni(injector.IniPath))
+                {
+                    buttonInject.Enabled = false;
+                    labelTitleId.Text = "Title ID:";
+                    MessageBox.Show("The INI file is not valid.",
+                        "64Inject", MessageBoxButtons.OK, MessageBoxIcon.Error);                    
+                }
+                else if ((injector.BaseIsLoaded || checkBoxAskBase.Checked) &&
+                    injector.RomIsLoaded)
+                {
+                    labelTitleId.Text = "Title ID: " + injector.TitleId;
+                    if (textBoxShortName.Text.Length > 0)
+                        buttonInject.Enabled = true;
+                    else
+                        buttonInject.Enabled = false;
+                }
+            }
+        }
+        
+        private void textBoxShortName_TextChanged(object sender, EventArgs e)
+        {
+            if ((injector.BaseIsLoaded || checkBoxAskBase.Checked) &&
+                injector.RomIsLoaded &&
+                (injector.IniIsLoaded || injector.IniPath == null) &&
+                textBoxShortName.Text.Length > 0)
+                buttonInject.Enabled = true;
+            else
+                buttonInject.Enabled = false;
+
+            UpdateBootName();
+            UpdateBootTvPictureBox();
+            UpdateBootDrcPictureBox();
+        }
+
+        private void checkBoxLongName_CheckedChanged(object sender, EventArgs e)
+        {
+            if (checkBoxLongName.Checked)
+            {
+                textBoxLNLine1.Enabled = true;
+                textBoxLNLine2.Enabled = true;
+                injector.BootTvImg.Longname = true;
+                injector.BootDrcImg.Longname = true;
+            }
+            else
+            {
+                textBoxLNLine1.Text = "";
+                textBoxLNLine2.Text = "";
+                textBoxLNLine1.Enabled = false;
+                textBoxLNLine2.Enabled = false;
+                injector.BootTvImg.Longname = false;
+                injector.BootDrcImg.Longname = false;
+            }
+
+            UpdateBootName();
+            UpdateBootTvPictureBox();
+            UpdateBootDrcPictureBox();
+        }
+
+        private void textBoxLNLine1_TextChanged(object sender, EventArgs e)
+        {
+            UpdateBootName();
+            UpdateBootTvPictureBox();
+            UpdateBootDrcPictureBox();
+        }
+
+        private void textBoxLNLine2_TextChanged(object sender, EventArgs e)
+        {
+            UpdateBootName();
+            UpdateBootTvPictureBox();
+            UpdateBootDrcPictureBox();
+        }
+
+        private void checkBoxDarkFilter_CheckedChanged(object sender, EventArgs e)
+        {
+            injector.DarkFilter = checkBoxDarkFilter.Checked;
+
+            if ((injector.BaseIsLoaded || checkBoxAskBase.Checked) &&
+                    injector.RomIsLoaded &&
+                    (injector.IniIsLoaded || injector.IniPath == null))
+            {
+                labelTitleId.Text = "Title ID: " + injector.TitleId;
+            }
+        }
+
+        private void checkBoxWidescreen_CheckedChanged(object sender, EventArgs e)
+        {
+            injector.Widescreen = checkBoxWidescreen.Checked;
+
+            if ((injector.BaseIsLoaded || checkBoxAskBase.Checked) &&
+                    injector.RomIsLoaded &&
+                    (injector.IniIsLoaded || injector.IniPath == null))
+            {
+                labelTitleId.Text = "Title ID: " + injector.TitleId;
+            }
+        }
+
+        private void numericUpDownZoom_ValueChanged(object sender, EventArgs e)
+        {
+            injector.Scale = (float)(numericUpDownZoom.Value / 100.0M);
+
+            if ((injector.BaseIsLoaded || checkBoxAskBase.Checked) &&
+                    injector.RomIsLoaded &&
+                    (injector.IniIsLoaded || injector.IniPath == null))
+            {
+                labelTitleId.Text = "Title ID: " + injector.TitleId;
+            }
+        }
+
+        private void buttonBootTv_Click(object sender, EventArgs e)
+        {
+            openFileDialog.FileName = "";
+            openFileDialog.Filter = "Image file|*.png;*.jpg;*.bmp";
+            if (checkBoxImagesDir.Checked && Directory.Exists(textBoxImagesDir.Text))
+                openFileDialog.InitialDirectory = textBoxImagesDir.Text;
+            else
+                openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
+
+            if (openFileDialog.ShowDialog() == DialogResult.OK)
+            {
+                injector.BootTvImg.Frame = new Bitmap(openFileDialog.FileName);
+                injector.BootTvImg.IsDefault = false;
+                UpdateBootTvPictureBox();
+
+                if ((injector.BaseIsLoaded || checkBoxAskBase.Checked) &&
+                    injector.RomIsLoaded &&
+                    (injector.IniIsLoaded || injector.IniPath == null))
+                {
+                    labelTitleId.Text = "Title ID: " + injector.TitleId;
+                }
+            }
+        }
+
+        private void buttonBootDrc_Click(object sender, EventArgs e)
+        {
+            openFileDialog.FileName = "";
+            openFileDialog.Filter = "Image file|*.png;*.jpg;*.bmp";
+            if (checkBoxImagesDir.Checked && Directory.Exists(textBoxImagesDir.Text))
+                openFileDialog.InitialDirectory = textBoxImagesDir.Text;
+            else
+                openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
+
+            if (openFileDialog.ShowDialog() == DialogResult.OK)
+            {
+                injector.BootDrcImg.Frame = new Bitmap(openFileDialog.FileName);
+                injector.BootDrcImg.IsDefault = false;
+                UpdateBootDrcPictureBox();
+
+                if ((injector.BaseIsLoaded || checkBoxAskBase.Checked) &&
+                    injector.RomIsLoaded &&
+                    (injector.IniIsLoaded || injector.IniPath == null))
+                {
+                    labelTitleId.Text = "Title ID: " + injector.TitleId;
+                }
+            }
+        }
+
+        private void buttonIcon_Click(object sender, EventArgs e)
+        {
+            openFileDialog.FileName = "";
+            openFileDialog.Filter = "Image file|*.png;*.jpg;*.bmp";
+            if (checkBoxImagesDir.Checked && Directory.Exists(textBoxImagesDir.Text))
+                openFileDialog.InitialDirectory = textBoxImagesDir.Text;
+            else
+                openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
+
+            if (openFileDialog.ShowDialog() == DialogResult.OK)
+            {
+                injector.IconImg.Frame = new Bitmap(openFileDialog.FileName);
+                injector.IconImg.IsDefault = false;
+                UpdateIconPictureBox();
+
+                if ((injector.BaseIsLoaded || checkBoxAskBase.Checked) &&
+                    injector.RomIsLoaded &&
+                    (injector.IniIsLoaded || injector.IniPath == null))
+                {
+                    labelTitleId.Text = "Title ID: " + injector.TitleId;
+                }
+            }
+        }
+
+        private void comboBoxReleased_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            switch (comboBoxReleased.SelectedItem.ToString())
+            {
+                case "1996":
+                    injector.BootTvImg.Released = 1996;
+                    injector.BootDrcImg.Released = 1996;
+                    break;
+                case "1997":
+                    injector.BootTvImg.Released = 1997;
+                    injector.BootDrcImg.Released = 1997;
+                    break;
+                case "1998":
+                    injector.BootTvImg.Released = 1998;
+                    injector.BootDrcImg.Released = 1998;
+                    break;
+                case "1999":
+                    injector.BootTvImg.Released = 1999;
+                    injector.BootDrcImg.Released = 1999;
+                    break;
+                case "2000":
+                    injector.BootTvImg.Released = 2000;
+                    injector.BootDrcImg.Released = 2000;
+                    break;
+                case "2001":
+                    injector.BootTvImg.Released = 2001;
+                    injector.BootDrcImg.Released = 2001;
+                    break;
+                case "2002":
+                    injector.BootTvImg.Released = 2002;
+                    injector.BootDrcImg.Released = 2002;
+                    break;
+                case "2018":
+                    injector.BootTvImg.Released = 2018;
+                    injector.BootDrcImg.Released = 2018;
+                    break;
+                default:
+                    injector.BootTvImg.Released = 0;
+                    injector.BootDrcImg.Released = 0;
+                    break;
+            }
+            UpdateBootTvPictureBox();
+            UpdateBootDrcPictureBox();
+        }
+
+        private void comboBoxPlayers_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            switch (comboBoxPlayers.SelectedItem.ToString())
+            {
+                case "1":
+                    injector.BootTvImg.Players = 1;
+                    injector.BootDrcImg.Players = 1;
+                    break;
+                case "2":
+                    injector.BootTvImg.Players = 2;
+                    injector.BootDrcImg.Players = 2;
+                    break;
+                case "3":
+                    injector.BootTvImg.Players = 3;
+                    injector.BootDrcImg.Players = 3;
+                    break;
+                case "4":
+                    injector.BootTvImg.Players = 4;
+                    injector.BootDrcImg.Players = 4;
+                    break;
+                default:
+                    injector.BootTvImg.Players = 0;
+                    injector.BootDrcImg.Players = 0;
+                    break;
+            }
+            UpdateBootTvPictureBox();
+            UpdateBootDrcPictureBox();
+        }
+
+        private void checkBoxShowName_CheckedChanged(object sender, EventArgs e)
+        {
+            UpdateBootName();
+            UpdateBootTvPictureBox();
+            UpdateBootDrcPictureBox();
+        }
+
+        private void buttonTitleScreen_Click(object sender, EventArgs e)
+        {
+            openFileDialog.FileName = "";
+            openFileDialog.Filter = "Image file|*.png;*.jpg;*.bmp";
+            if (checkBoxImagesDir.Checked && Directory.Exists(textBoxImagesDir.Text))
+                openFileDialog.InitialDirectory = textBoxImagesDir.Text;
+            else
+                openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
+
+            if (openFileDialog.ShowDialog() == DialogResult.OK)
+            {
+                injector.BootTvImg.TitleScreen = new Bitmap(openFileDialog.FileName);
+                injector.BootDrcImg.TitleScreen = new Bitmap(openFileDialog.FileName);
+                injector.IconImg.TitleScreen = new Bitmap(openFileDialog.FileName);
+
+                injector.BootTvImg.IsDefault = false;
+                injector.BootDrcImg.IsDefault = false;
+                injector.IconImg.IsDefault = false;
+
+                UpdateBootTvPictureBox();
+                UpdateBootDrcPictureBox();
+                UpdateIconPictureBox();
+
+                if ((injector.BaseIsLoaded || checkBoxAskBase.Checked) &&
+                    injector.RomIsLoaded &&
+                    (injector.IniIsLoaded || injector.IniPath == null))
+                {
+                    labelTitleId.Text = "Title ID: " + injector.TitleId;
+                }
+            }
+        }
+
+        private void buttonInject_Click(object sender, EventArgs e)
+        {
+            bool _continue = true;
+
+            if (textBoxShortName.Text.Length != 0)
+                injector.ShortName = textBoxShortName.Text;
+            else
+            {
+                _continue = false;
+                MessageBox.Show("The name of the game is empty.",
+                    "Short name", MessageBoxButtons.OK, MessageBoxIcon.Error);
+            }
+
+            if (_continue)
+            {
+                if (checkBoxLongName.Checked)
+                {
+                    if (textBoxLNLine1.Text.Length != 0 && textBoxLNLine2.Text.Length != 0)
+                        injector.LongName = textBoxLNLine1.Text + "\n" + textBoxLNLine2.Text;
+                    else
+                    {
+                        _continue = false;
+                        MessageBox.Show("The long name of the game is empty.",
+                            "Long name", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    }                    
+                }
+                else
+                    injector.LongName = injector.ShortName;
+            }
+
+            if (_continue && checkBoxAskBase.Checked)
+            {
+                _continue = AskBase();
+                if (_continue)
+                {
+                    labelTitleId.Text = "Title ID: " + injector.TitleId;
+                    this.Update();
+                }
+                else
+                {
+                    labelTitleId.Text = "Title ID:";
+                    MessageBox.Show("The base was not loaded correctly.",
+                        "64Inject", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                }
+            }
+
+            folderBrowserDialog.Description = "Select the folder where the result will be saved.";
+            folderBrowserDialog.SelectedPath = ResultDir;
+            if (_continue && folderBrowserDialog.ShowDialog() == DialogResult.OK)
+            {
+                injector.Encrypt = checkBoxPackUpResult.Checked;
+                injector.OutPath = folderBrowserDialog.SelectedPath + "\\" + injector.ShortNameASCII + " [" + injector.TitleId + "]";
+                ResultDir = folderBrowserDialog.SelectedPath;
+
+                if (Directory.Exists(injector.OutPath))
+                    if (Directory.GetDirectories(injector.OutPath).Length != 0 ||
+                        Directory.GetFiles(injector.OutPath).Length != 0)
+                    {
+                        _continue = false;
+                        MessageBox.Show("The \"" + injector.OutPath + "\" folder exist and not empty.",
+                            "64Inject", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    }
+
+                if (_continue)
+                {
+                    Cll.Log.WriteLine("Injecting - - - - - - - - - - - - - - - - - - - - - - - - - - - ");
+                    if (injector.BasePath != null) Cll.Log.WriteLine("base: " + injector.BasePath);
+                    if (injector.ShortName != null) Cll.Log.WriteLine("name: " + injector.ShortName);
+                    if (injector.LongName != null) Cll.Log.WriteLine("longname:\n" + injector.LongName);
+                    if (injector.InPath != null) Cll.Log.WriteLine("in: " + injector.InPath);
+                    if (injector.RomPath != null) Cll.Log.WriteLine("rom: " + injector.RomPath);
+                    if (injector.IniPath != null) Cll.Log.WriteLine("ini: " + injector.IniPath);
+                    if (injector.BootTvPath != null) Cll.Log.WriteLine("tv: " + injector.BootTvPath);
+                    if (injector.BootDrcPath != null) Cll.Log.WriteLine("drc: " + injector.BootDrcPath);
+                    if (injector.IconPath != null) Cll.Log.WriteLine("icon: " + injector.IconPath);
+                    if (injector.OutPath != null) Cll.Log.WriteLine("out: " + injector.OutPath);
+                    Cll.Log.WriteLine("encrypt: " + injector.Encrypt.ToString());
+                    Cll.Log.WriteLine("Please wait...");
+
+                    if (injector.Inject())
+                        MessageBox.Show("Injection completed successfully!",
+                            "64Inject", MessageBoxButtons.OK, MessageBoxIcon.Information);
+                    else
+                        MessageBox.Show("The injection failed.\nCheck the log file \"" + Cll.Log.Filename + "\".",
+                            "64Inject", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                }
+            }
+        }
+
+        private void UpdateBootName()
+        {
+            if (checkBoxShowName.Checked)
+            {
+                if (checkBoxLongName.Checked)
+                {
+                    injector.BootTvImg.NameLine1 = textBoxLNLine1.Text;
+                    injector.BootTvImg.NameLine2 = textBoxLNLine2.Text;
+                    injector.BootDrcImg.NameLine1 = textBoxLNLine1.Text;
+                    injector.BootDrcImg.NameLine2 = textBoxLNLine2.Text;
+                }
+                else
+                {
+                    injector.BootTvImg.NameLine1 = textBoxShortName.Text;
+                    injector.BootTvImg.NameLine2 = "";
+                    injector.BootDrcImg.NameLine1 = textBoxShortName.Text;
+                    injector.BootDrcImg.NameLine2 = "";
+                }
+            }
+            else
+            {
+                injector.BootTvImg.NameLine1 = "";
+                injector.BootTvImg.NameLine2 = "";
+                injector.BootDrcImg.NameLine1 = "";
+                injector.BootDrcImg.NameLine2 = "";
+            }
+        }
+
+        private void UpdateBootTvPictureBox()
+        {
+            if (pictureBoxBootTv.Image != null)
+                pictureBoxBootTv.Image.Dispose();
+
+            pictureBoxBootTv.Image = injector.BootTvImg.Create();
+        }
+
+        private void UpdateBootDrcPictureBox()
+        {
+            if (pictureBoxBootDrc.Image != null)
+                pictureBoxBootDrc.Image.Dispose();
+
+            pictureBoxBootDrc.Image = injector.BootDrcImg.Create();
+        }
+
+        private void UpdateIconPictureBox()
+        {
+            if (pictureBoxIcon.Image != null)
+                pictureBoxIcon.Image.Dispose();
+
+            pictureBoxIcon.Image = injector.IconImg.Create();
+        }
+
+        #endregion
+
+        #region Config tab
+
+        private void buttonRomDir_Click(object sender, EventArgs e)
+        {
+            folderBrowserDialog.Description = "Select the folder where your N64 ROM collection is located.";
+
+            if (Directory.Exists(textBoxRomDir.Text))
+                folderBrowserDialog.SelectedPath = textBoxRomDir.Text;
+            else
+                folderBrowserDialog.SelectedPath =
+                    Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
+
+            if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
+                textBoxRomDir.Text = folderBrowserDialog.SelectedPath;
+        }
+        
+        private void buttonIniDir_Click(object sender, EventArgs e)
+        {
+            folderBrowserDialog.Description = "Select the folder where your INI file collection is located.";
+
+            if (Directory.Exists(textBoxIniDir.Text))
+                folderBrowserDialog.SelectedPath = textBoxIniDir.Text;
+            else
+                folderBrowserDialog.SelectedPath =
+                    Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
+
+            if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
+                textBoxIniDir.Text = folderBrowserDialog.SelectedPath;
+        }
+
+        private void buttonImagesDir_Click(object sender, EventArgs e)
+        {
+            folderBrowserDialog.Description = "Select the folder where your image collection is located.";
+
+            if (Directory.Exists(textBoxImagesDir.Text))
+                folderBrowserDialog.SelectedPath = textBoxImagesDir.Text;
+            else
+                folderBrowserDialog.SelectedPath =
+                    Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
+
+            if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
+                textBoxImagesDir.Text = folderBrowserDialog.SelectedPath;
+        }
+
+        private void textBoxCommonKey_TextChanged(object sender, EventArgs e)
+        {
+            if (NusContent.LoadKey(textBoxCommonKey.Text))
+            {
+                textBoxCommonKey.Text = "";
+                textBoxCommonKey.Enabled = false;
+                panelValidKey.BackgroundImage = Properties.Resources.checkmark_16;
+            }
+            else
+            {
+                textBoxCommonKey.Enabled = true;
+                panelValidKey.BackgroundImage = Properties.Resources.x_mark_16;
+            }
+        }
+
+        private void buttonBaseFrom_Click(object sender, EventArgs e)
+        {
+            if ((AskBase() || injector.BaseIsLoaded || checkBoxAskBase.Checked) &&
+                injector.RomIsLoaded &&
+                (injector.IniIsLoaded || injector.IniPath == null))
+            {
+                labelTitleId.Text = "Title ID: " + injector.TitleId;
+
+                if (textBoxShortName.Text.Length > 0)
+                    buttonInject.Enabled = true;
+                else
+                    buttonInject.Enabled = false;
+            }
+            else
+            {
+                labelTitleId.Text = "Title ID:";
+                buttonInject.Enabled = false;
+            }
+        }
+        
+        private void checkBoxAskBase_CheckedChanged(object sender, EventArgs e)
+        {
+            if (injector.RomIsLoaded &&
+                (injector.BaseIsLoaded || checkBoxAskBase.Checked))
+            {
+                labelTitleId.Text = "Title ID: " + injector.TitleId;
+                if (textBoxShortName.Text.Length > 0)
+                    buttonInject.Enabled = true;
+                else
+                    buttonInject.Enabled = false;
+            }
+            else
+            {
+                labelTitleId.Text = "Title ID:";
+                buttonInject.Enabled = false;
+            }
+        }
+
+        private bool AskBase()
+        {
+            folderBrowserDialog.Description = "Select the folder of the N64 VC game you want to use as a base.";
+
+            if (Directory.Exists(textBoxBaseFrom.Text))
+                folderBrowserDialog.SelectedPath = textBoxBaseFrom.Text;
+            else
+                folderBrowserDialog.SelectedPath =
+                    Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
+
+            if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
+            {
+                labelLoadedBase.Text = "Base loaded: Wait...";
+                panelLoadedBase.BackgroundImage = global::_64Inject.Properties.Resources.x_mark_16;
+                this.Update();
+
+                textBoxBaseFrom.Text = folderBrowserDialog.SelectedPath;
+
+                Cll.Log.WriteLine("Loading base.");
+                if (injector.LoadBase(textBoxBaseFrom.Text))
+                {
+                    labelLoadedBase.Text = "Base loaded: " + injector.LoadedBase;
+                    panelLoadedBase.BackgroundImage = global::_64Inject.Properties.Resources.checkmark_16;
+                    Cll.Log.WriteLine("Base loaded: " + injector.LoadedBase);
+                    return true;
+                }
+                else
+                {
+                    labelLoadedBase.Text = "The base is not valid.";
+                    panelLoadedBase.BackgroundImage = global::_64Inject.Properties.Resources.x_mark_16;
+                }
+            }
+            return false;
+        }
+
+        #endregion
+    }
+}
diff --git a/64InjectGUI.resx b/64InjectGUI.resx
new file mode 100644
index 0000000..2432372
--- /dev/null
+++ b/64InjectGUI.resx
@@ -0,0 +1,2662 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="openFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>180, 17</value>
+  </metadata>
+  <metadata name="folderBrowserDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABeAAAA+AAAAGkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        ACYAAAD4AAAAaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAABKAAAAAQAAAAAAAAAAAAAAAAAA
+        AAAAAAAAH///AI///wDAf/8A4D//APAf/wDgD/8A4Af/AOAD/wDwAf8A+AD/APwAYwD+AAMA/wAHAP+A
+        DwD/wA8A/+AGAP/wAAD/8AAA/+EBAP/jgwD/94cA//+PAP//HwD//x8AKAAAACAAAABAAAAAAQAgAAAA
+        AACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAADEAAAAVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAADSAAAAWAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAADSAAAAWAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        ABUAAADSAAAAWAAAAAAAAAAAAAAAAAAAAAcAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        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
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAG4AAAD8AAAA8gAAAHwIBwD6pY4//+LK
+        ef/JnQn/7d6t/8CUAP80KAD/AAAA0gAAAPkAAADnAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABuAAAA/AAAAPIAAAA3AAAAAAAA
+        AFcKCQX6mHcH/+rZoP/SrjT/x5oA/4FjAP8BAAD/AAAA5wAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANwAAAPwAAADyAAAANwAA
+        AAAAAAAAAAAAAAAAAFcKCgj6oIUp/8eaAP+GaAD/BAMA/wAAAOcAAAAjAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAtAAA
+        ADUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFcIBgD6ZU4A/wQDAP8AAADnAAAAIwAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI4AAAD/AAAA5wAAACMAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAA+QAAAOcAAAAjAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUwAAAPkAAADnAAAAIwAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNAAAA5gAA
+        ACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AB4AAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf////j////8f////jn///8A////gH
+        ///4A///+AH///gA///wAH//+AA///wAH//+AA///wAD//+AAY//wAAH/+AAD//wAB//+AA///wAP//+
+        AB7//wAM//+AAP//AAD//ggB//4cA//+Pgf///8P///+H////D////x////8/ygAAAAwAAAAYAAAAAEA
+        IAAAAAAAgCUAAAAAAAAAAAAAAAAAAAAAAAAAAAAuAAAAuAAAAIkAAAAIAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAO8AAAC4AAAACQAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        ADMAAADvAAAAuQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAyAAAA7wAAALYAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAO8AAAC5AAAACQAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIAAADvAAAAuQAA
+        AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAyAAAA7wAAALYAAAAQAAAAHQAAAD4AAABrAAAAnAAAAMcAAADfAAAAPQAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAPIAAAD2AAAA/gAAAP8AAAD/AwEA/wQMAP8CBgD/AAAA9QAA
+        AD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAANYIAgD/Sg8B/20WAf+IGwL/hzID/y+P
+        Bv8ndgX/AwoA/wAAAPQAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAO0mCAD/qSIC/6ki
+        Av+pIgL/gEkD/zCTBv8wkwb/J3cF/wMJAP8AAAD1AAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAA
+        APsmIwL/qCMC/6kiAv+pIgL/ZWEE/zCTBv8wkwb/MJMG/yd4Bf8DCwD/AAAA9wAAAEcAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAALAAAAP8cTgP/my8C/6kiAv+pIgL/TXgF/zCTBv8wkwb/MJMG/zCTBv8ndg7+BAsA/wAA
+        APYAAABJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAP8iaAT/dlED/6kiAv+nJAL/PIcG/zCTBv8wkwb/MJMG/zCT
+        Bv8jXHz8KHoH/wQLAP8AAAD3AAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdgABAP8oewX/S3oF/6kiAv+fLAL/M5AG/zCT
+        Bv8wkwb/MJMG/zCSB/8aNdD9LYYi/yh8Bf8EDQD/AAAA+AAAAE4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAP8WQwP/M44G/6Aq
+        Av+POgP/MJMG/zCTBv8wkwb/MJMG/y+OEf4WJvH+JWRs/zCTBv8pfQX/BA4B/wAAAPgAAABRAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAA
+        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
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAADTAAAA/wAAAP8AAADhAAAAHwAAAAAAAAAAAAAAAAAA
+        AEYAAAD2EQ0A/7mgR//28Nj/zaUc/8eaAP/HmgD/lXMA/wcGAP8AAAD/AAAA+QAAAFQAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAAAD/AAAA/wAAAOEAAAAeAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAABFAAAA9hcXFv+wjRn/x5oA/8eaAP+VcwD/CQcA/wAAAP8AAAD5AAAAVgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKUAAAD/AAAA4gAA
+        AB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQAAAPcTDgD/qoMA/5RzAP8IBgD/AAAA/wAA
+        APkAAABWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAgAAAA/AAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEUAAAD2DgsA/wcF
+        AP8AAAD/AAAA+QAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAB0AAAA/wAAAP8AAAD5AAAAVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAEEAAAD0AAAA/wAAAPkAAABWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAPUAAAD/AAAA+QAAAFMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAA9AAAAP8AAAD5AAAAVQAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAADqAAAA/wAAAPkAAABVAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAC8AAAA8AAA
+        AFIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAFAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAP//////8AAIf//////wAAw///////AADh//////8AAPD//////wAA+H7/////AAD8AH////8AAP4A
+        P////wAA/gAf////AAD+AA////8AAP4AB////wAA/gAD////AAD+AAH///8AAP4AAP///wAA/gAAf///
+        AAD+AAA///8AAP8AAB///wAA/4AAD///AAD/wAAH//8AAP/gAAP//wAA//AAAf//AAD/+AAA/n8AAP/8
+        AAA8PwAA//4AABg/AAD//wAAAD8AAP//gAAAfwAA///AAAD/AAD//+AAAf8AAP//8AAD/wAA///4AAP/
+        AAD///wAAf8AAP///gAA/AAA////AAB4AAD///+AADAAAP///8AAAAAA////gAABAAD///8CAAMAAP//
+        /gcABwAA///+D4APAAD///4fwB8AAP///j/gPwAA//////B/AAD/////4P8AAP/////B/wAA/////4P/
+        AAD/////B/8AAP////8P/wAA/////5//AAAoAAAAQAAAAIAAAAABACAAAAAAAABCAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAMgAAAJAAAABWAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAA+gAAAPEAAAA2AAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAD6AAAA8QAA
+        ADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAXAAAAPoAAADxAAAANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAA+gAAAPEAAAA2AAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAD6AAAA8gAA
+        ADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAXAAAAPoAAADyAAAANwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAA+gAAAPIAAAA3AAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFsAAAD6AAAA8gAA
+        ADcAAAAAAAAAAAAAAAAAAAAGAAAAFgAAADQAAABaAAAAjwAAALgAAAArAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAWwAAAPoAAADyAAAAggAAAKoAAADQAAAA6wAAAPoAAAD/AAAA/wAAAP8AAAD/AAAA7AAA
+        ACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhAAAA/wAAAP8AAAD/AAAA/wAAAP8BAAD/CQIA/woR
+        Af8NJwL/BA4B/wAAAP8AAADtAAAALwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANQAAAP8DAQD/OwwB/18T
+        Af99GQH/lB4C/6EgAv9IfQX/MJMG/yqBBf8FEAH/AAAA/wAAAO8AAAAxAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AFUAAAD/FQQA/6giAv+pIgL/qSIC/6kiAv+mJQL/OYsG/zCTBv8wkwb/K4IF/wURAf8AAAD/AAAA8AAA
+        ADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAACDAAAA/yMMAP+pIgL/qSIC/6kiAv+pIgL/nC4C/zGSBv8wkwb/MJMG/zCT
+        Bv8rgwX/BhIB/wAAAP8AAADwAAAANQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArwAAAP8YMgL/oikC/6kiAv+pIgL/qSIC/4o+
+        A/8wkwb/MJMG/zCTBv8wkwb/MJMG/yuDBf8GEwH/AAAA/wAAAPIAAAA3AAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM8AAAD/G1MD/4ZC
+        A/+pIgL/qSIC/6kiAv9yVQT/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/KoEM/gYUAf8AAAD/AAAA8gAA
+        ADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAQAAADpAAAA/yNqBP9XbgX/qSIC/6kiAv+pIgL/Vm8F/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/yRf
+        dfsrhQb/BhQB/wAAAP8AAADzAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAARAAAA9wAAAP8pfAX/OYsG/6UmAv+pIgL/qSIC/0KCBf8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8aN8v8LYch/yyGBf8HFgH/AAAA/wAAAPQAAAA+AAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAP8BBAD/LIgG/zCTBv+OPAP/qSIC/6Mo
+        Av82jQb/MJMG/zCTBv8wkwb/MJMG/zCTBv8vjw/+Fyfu/iVlaf8wkwb/LIYF/wcXAf8AAAD/AAAA9QAA
+        AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAD/AAAA/xZC
+        A/8wkgb/YWUE/6kiAv+XMgP/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/LYQm/BUh/f8bOsX/MJMG/zCT
+        Bv8shwX/CBgB/wAAAP8AAAD2AAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAADAAAAkwAAAP4AAAD/FUAD/z2FBv+nJAL/hEUD/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/yhw
+        UPsVIP7/FiT1/y6LGP8wkwb/MJMG/yyIBv8IGQH/AAAA/wAAAPYAAABGAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACQAAAA/gAAAP8VPgL/lDMD/2heBP4wkwb/MJMG/zCR
+        Bv8UPwL/CyMB/y+PBv8hVYv5FSD+/xUg/v8nblb/MJMG/zCTBv8wkwb/LYkG/wgaAf8AAAD/AAAA9wAA
+        AEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAI0AAAD+AAAA/0AT
+        Af9NdgX/MJMG/zCRBv8TOwL/AAAA/wYUAf8vjgb/HDzB+xUg/v8VIP7/HUK1/zCTBv8wkwb/MJMG/zCT
+        Bv8tiQb/CRsB/wAAAP8AAAD3AAAASwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAACAAAAigAAAP4AAAD/FDoC/y+PBv8TOwL/AAAA/wURAf8rggX/MJEK/hcr5/0VIP7/FSD+/xcn
+        7/8vjhH/MJMG/zCTBv8wkwb/MJMG/y2KBv8JHQH/AAAA/wAAAPgAAABOAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACHAAAA/gAAAP8IFwH/AAAA/wYRAf8rggX/MJMG/y6I
+        HP0SHdD9CA1l/xQe8P8VIP7/KXZF/zCTBv8wkwb/MJMG/zCTBv8wkwb/LYsG/woeAf8AAAD/AAAA+AAA
+        AFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAIMAAAD+AAAA/wIG
+        AP8qgAX/MJMG/zCTBv8kbR/8AQIS/wAAAf8RGcj/FSD+/x5Ko/8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8tiwb/Ch8D/wAAAP8AAAD5AAAAUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        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
+        AC4AAADuAAAA/wAAAP8AAAD/AAAAlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAPsAAAD/AAAA/wAA
+        AP8AAAD9AAAA/yEaAP+4jgD/x5oA/9KtMf/7+O7/5M2C/8ugEP/hyHX/9u7U/8ibA/+thgD/FA8A/wAA
+        AP8AAADmAAAAIwAAAC4AAADuAAAA/wAAAP8AAAD/AAAAlgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAA
+        APsAAAD/AAAA/wAAAP8AAADKAAAAQgAAAPEAAAD/IRoA/8KhLv/7+O7/4st9/8ebAf/HmgD/0awv//37
+        9v/KoRD/x5oA/62GAP8UDwD/AAAA/wAAAOoAAADvAAAA/wAAAP8AAAD/AAAAlgAAAAMAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAXQAAAPsAAAD/AAAA/wAAAP8AAADKAAAADgAAAAAAAAA1AAAA8QAAAP8qKSn/0bx0/8eb
+        Af/HmgD/y6ET//Xu1P/w47n/x5sB/8eaAP/HmgD/rYYA/xENAP8AAAD/AAAA/wAAAP8AAAD/AAAAlgAA
+        AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAPsAAAD/AAAA/wAAAP8AAADKAAAADgAAAAAAAAAAAAAAAAAA
+        ADUAAADxAAAA/yEZAP+4jgD/y6ET//Xu0//y6MT/yZ8M/8eaAP/HmgD/x5oA/6J9AP8NCQD/AAAA/wAA
+        AP8AAAD/AAAAlgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAPsAAAD/AAAA/wAAAP8AAADJAAAADgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAANQAAAPEAAAD/IRoC/+Lbwf/y6MT/yZ8M/8eaAP/HmgD/x5oA/6J9
+        AP8NCgD/AAAA/wAAAP8AAAD/AAAAlgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAPcAAAD/AAAA/wAA
+        AP8AAADJAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1AAAA8QAAAP8oJiH/upMM/8ea
+        AP/HmgD/x5oA/6J9AP8NCgD/AAAA/wAAAP8AAAD/AAAAlgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AB4AAAD8AAAA/wAAAP8AAADJAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        ADUAAADxAAAA/yEZAP+4jgD/x5oA/6J9AP8NCgD/AAAA/wAAAP8AAAD/AAAAlQAAAAMAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAABAAAAggAAAOgAAAC1AAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAANQAAAPEAAAD/IRkA/5VzAP8NCgD/AAAA/wAAAP8AAAD/AAAAlQAA
+        AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1AAAA8QAAAP8BAQD/AAAA/wAA
+        AP8AAAD/AAAAlQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AFsAAAD/AAAA/wAAAP8AAAD/AAAAlQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAADAAAADvAAAA/wAAAP8AAAD/AAAAlAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADvAAAA/wAAAP8AAAD/AAAAlAAAAAMAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADvAAAA/wAAAP8AAAD+AAAAlAAA
+        AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADvAAAA/wAA
+        AP8AAAD+AAAAlAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AA4AAADqAAAA/wAAAP8AAAD+AAAAlAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAfAAAA/QAAAP8AAAD+AAAAlAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAI0AAADjAAAAiAAAAAMAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAA//////////h//////////D/////////+H/////////8P/////////4f/////////w/
+        /////////h//////////DgP///////+AAf///////8AA////////wAB////////AAD///////8AAH///
+        ////wAAP///////AAAf//////4AAA///////gAAB//////+AAAD//////4AAAH//////gAAAP//////A
+        AAAf/////+AAAA//////8AAAB//////4AAAD//////wAAAH//////gAAAP//////AAAAf/////+AAAA/
+        /////8AAAB/w////4AAAD+D////wAAAHwP////gAAAGA/////AAAAAH////+AAAAA/////8AAAAH////
+        /8AAAA//////4AAAH//////wAAA///////gAAD///////AAAH//////+AAAP//////8AAAf4/////4AA
+        A/D/////wAAB4P/////gAADA/////+AAAAD/////wAAAAf////+AgAAD/////wHAAAf////+A+AAD///
+        //wH8AAf/////A/4AD/////8H/wAf/////9//gD/////////Af////////4D/////////Af////////4
+        D/////////Af////////4D/////////gf////////+D/////////////KAAAAGAAAADAAAAAAQAgAAAA
+        AACAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAkAAAAFAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAC6AAAA6wAA
+        ANQAAACdAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAALAAAAuQAAAP8AAAD/AAAA4AAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAALkAAAD/AAAA/wAA
+        AOAAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAsAAAC8AAAA/wAAAP8AAADZAAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAuQAAAP8AAAD/AAAA4AAA
+        ABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAADQAAALkAAAD/AAAA/wAAAOAAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAC8AAAA/wAAAP8AAADZAAAAIwAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAALAAAAuQAAAP8AAAD/AAAA4AAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAALkAAAD/AAAA/wAAAOAAAAAjAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAsAAAC8AAAA/wAAAP8AAADaAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAuQAAAP8AAAD/AAAA4AAAABwAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAA
+        ALkAAAD/AAAA/wAAAOAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAQAAAATAAAAJAAAAEgAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAC8AAAA/wAAAP8AAADaAAAAIwAAAAAAAAAAAAAAAwAA
+        AAkAAAAVAAAANQAAAFkAAACDAAAAsQAAANkAAADrAAAA+gAAAP8AAADLAAAAGAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAuAAA
+        AP8AAAD/AAAA4gAAAHUAAACoAAAAzgAAAOgAAAD8AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA1AAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAALgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANYAAAAaAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAD0AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8BAAD/BQEA/wkCAP8cBQD/MwsA/x88A/8fXgT/JnQF/wwlAf8AAAD/AAAA/wAA
+        AP8AAADQAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAB0AAAD3AAAA/wAAAP8fBgD/QA0A/2QUAf+DGgL/lB4C/6QhAv+pIgL/pSYC/z2H
+        Bv8wkwb/MJMG/y+OBv8MJgH/AAAA/wAAAP8AAAD/AAAA2QAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAD8AAAA/wEAAP+YHgL/qSIC/6ki
+        Av+pIgL/qSIC/6kiAv+pIgL/nysC/zGSBv8wkwb/MJMG/zCTBv8uiwb/Dy0C/wAAAP8AAAD/AAAA/wAA
+        ANsAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AFUAAAD/AAAA/wsCAP+iIAL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/jTwD/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/LowG/w0pAv8AAAD/AAAA/wAAAP8AAADWAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAAD/AAAA/xYIAP+lIgL/qSIC/6kiAv+pIgL/qSIC/6ki
+        Av+pIgL/eU8E/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/y+PBv8NKgH/AAAA/wAAAP8AAAD/AAAA3gAA
+        ABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMAAAD/AAAA/w0i
+        Af+aLwP/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/YGYE/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8ujQb/EDEC/wAAAP8AAAD/AAAA/wAAAN8AAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAABAAAANEAAAD/AAAA/xQ8Av94TwP/qSIC/6kiAv+pIgL/qSIC/6kiAv+oIwL/SHwF/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/Lo0G/w8uAv8AAAD/AAAA/wAAAP8AAADaAAAAJAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAOcAAAD/AAAA/x1XBP9OdwX/qSIC/6ki
+        Av+pIgL/qSIC/6kiAv+iKAL/PIgG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/y+O
+        Cf4PMAL/AAAA/wAAAP8AAAD/AAAA4gAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAA
+        APsAAAD/AAEA/yRwBf83jQb/nC0C/6kiAv+pIgL/qSIC/6kiAv+ZMQL/M5AG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/yVmZfktjAr/EjYC/wAAAP8AAAD/AAAA/wAAAOQAAAAoAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAAP8AAAD/AQMA/yl9Bf8wkwb/fkoD/6kiAv+pIgL/qSIC/6ki
+        Av+GQwP/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJII/xs6w/sthiL/Lo4G/xAy
+        Av8AAAD/AAAA/wAAAP8AAADfAAAAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASgAAAP8AAAD/AgYA/y2K
+        Bv8wkwb/VXEF/6kiAv+pIgL/qSIC/6kiAv9sWgT+MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/L48P/hcr5/wlZmf/MJMG/y+QBv8RMwL/AAAA/wAAAP8AAAD/AAAA5wAAACQAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAbAAAAP8AAAD/BQ8B/zCSBv8wkwb/N4wG/6MnAv+pIgL/qSIC/6kiAv9WbwX/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/LYcg/BUh/f4cPb7/MJMH/zCTBv8vjwb/EzoC/wAA
+        AP8AAAD/AAAA/wAAAOcAAAAtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkgAAAP8AAAD/CBkB/zCRBv8wkwb/MZIG/4o+
+        A/+pIgL/qSIC/6kiAv9DgQX/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/KXRI+hUg
+        /v8XJ+7/Logd/zCTBv8wkwb/Lo8G/xI2Av8AAQD/AAAA/wAAAP8AAADjAAAALwAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtgAA
+        AP8AAAD/AAEA/xQ+Av8wkQb/MJMG/1trBf+pIgL/qSIC/6QnAv81jgb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/JF53+RUg/v8VIP7/J2tb/zCTBv8wkwb/MJMG/y+RBv8SOAL/AAAA/wAA
+        AP8AAAD/AAAA6gAAACsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAMgAAAOsAAAD/AAAA/wABAP8UPQP/L5AG/zuJBv+kJgL/qSIC/5Y0
+        A/8ykQb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/HkWu+BUg/v8VIP7/HUSx/zCT
+        Bv8wkwb/MJMG/zCTBv8vjwb/FD8C/wAAAP8AAAD/AAAA/wAAAOsAAAAzAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIAAADpAAAA/wAA
+        AP8AAQD/FDwC/y+QBv+POgP/qSIC/4NFA/4wkwb/MJMG/zCTBv8wkwb/MJMG/y+RBv8tiwb/L5EG/zCT
+        Bv8wkQv9GTDa/BUg/v8VIP7/Fijs/y+OD/8wkwb/MJMG/zCTBv8wkwb/L5AG/xM7Av8AAQD/AAAA/wAA
+        AP8AAADnAAAANQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAwAAAA6AAAAP8AAAD/AAAA/xM4Av9oWwT/qSIC/2dgBP4wkwb/MJMG/zCT
+        Bv8wkwb/L5AG/xI2Av8BBAD/FkIC/zCTBv8tiB39Fyfv/RUg/v8VIP7/FSH8/yp3Qv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCSBv8UPQL/AAAA/wAAAP8AAAD/AAAA7QAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAOcAAAD/AAAA/wAA
+        AP8jKAL/oiMC/0x4Bf4wkwb/MJMG/zCTBv8ujgb/EjYC/wAAAP8AAAD/CRsB/zCTBv8qezr5FSD9/hUg
+        /v8VIP7/FSD+/x9Ko/8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8vkAb/FkMC/wABAP8AAAD/AAAA/wAA
+        AO4AAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAACwAAADmAAAA/wAAAP8BAAD/PA8B/zuEBv8wkwb/MJMG/y+QBv8SNgL/AAEA/wAA
+        AP8CBwD/ImcF/zCTBv8kYm/3FSD+/xUg/v8VIP7/FSD+/xcr5f8vjw//MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/L5AG/xVAAv8AAQD/AAAA/wAAAP8AAADqAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAA5QAAAP8AAAD/AAAA/xE0
+        Av8vkAb/L5AG/xE0Av8AAAD/AAAA/wEEAP8jawX/MJMG/zCTBv8fSaP5FSD+/xUg/v8VIP7/FSD+/xUg
+        /v8qezn/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCSBv8WQgP/AAEA/wAAAP8AAAD/AAAA8AAA
+        ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAKAAAAOMAAAD/AAAA/wAAAP8RMwL/ETUC/wAAAP8AAAD/AgcA/yNrBP8wkwb/MJMG/zCT
+        Bv8aNs75FB7y/xIb2v8VIPr/FSD+/xUg/v8iV4f/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8vkQb/GEgC/wABAP8AAAD/AAAA/wAAAPEAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcAAADiAAAA/wAAAP8AAAD/AAAA/wAA
+        AP8CBwD/IWYE/zCTBv8wkwb/MJMG/y+QDvwUI9f8BAc1/wAABP8LEYX/FSD+/xUg/v8ZMtb/L5EM/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/L5EG/xZEA/8BAgD/AAAA/wAAAP8AAADuAAAAQgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAkAAAA4QAAAP8AAAD/AAAA/wAAAP8iaAT/MJMG/zCTBv8wkwb/MJMG/yp+HPsECCX+AAAA/wAA
+        AP8HClX/FSD+/xUg/v8VIvn/LIEt/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCS
+        Bv8XRgP/AAEA/wAAAP8AAAD/AAAA8gAAAD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAN4AAAD/AAAA/wAAAP8QMAL/LowG/zCT
+        Bv8wkwb/K4UF/wgYAf8AAAD/AAAA/wMEI/8SHOD/FSD+/xUg/v8VIP7/I1p//zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8lmz/4A2F3/QACAv8AAAD/AAAA/wAAAPMAAABGAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        ACIAAADeAAAA/wAAAP8AAAD/Dy4C/y6OBv8rhQX/CR0B/wAAAP8AAAD/AwQi/xMc3v8VIP7/FSD+/xUg
+        /v8VIP7/GjfL/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMJ/h6kZPYDvvP9Ab78/wBg
+        gP8AAwT/AAAA/wAAAP8AAADwAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAA3AAAAP8AAAD/AAAA/w0oAf8IFwH/AAAA/wAA
+        AP8DBCP/Ehze/xUg/v8VIP7/FSD+/xUg/v8THOD/ER2//y2HHP8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8ulA79FK6a9gHA/v4BwP//AcD//wHA//8AY4P/AAID/wAAAP8AAAD/AAAA9QAAAEYAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAA
+        ANoAAAD/AAAA/wAAAP8AAAD/AAAA/wMEI/8SHN//FSD+/xUg/v8VIP7/FSD+/xAYwv8BAhH/AAAC/xtS
+        B/8wkwb/MJMG/zCTBv8wkwb/MJMG/yqZJPsLt8v4AcD+/wHA//8BwP//AcD//wHA//8Bvv3/AWqN/wAC
+        A/8AAAD/AAAA/wAAAPUAAABOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAADZAAAA/wAAAP8AAAD/AQEI/xIb1P8VIP7/FSD+/xUg
+        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
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAADJAAAA/wAAAP8AAAD/AAAA/wAB
+        AP8aTwP/MJIG/zCTBv8wkwb/MJMG/y+PBv8QMQL/AAAA/wAAAP9hNAL7pyMC/qkiAv+pIgL/qSIC/6ki
+        Av+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qCIC/2wWAf8FAQD/AAAA/wAAAP8AAAD6AAAA+AAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAAIgAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAQAAAAxQAAAP8AAAD/AAAA/wUOAf8tiAb/MJMG/zCTBv8wkwb/L48G/w8uAf8AAAD/AAAA/wIG
+        AP8qfgX/ZWEE+agjAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6ki
+        Av9uFgH/BAEA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAAiAAAAAEAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAMIAAAD/AAAA/wAAAP8JHQH/K4QF/zCT
+        Bv8ujQb/EDAC/wAAAP8AAAD/AwkA/yVwBf8wkwb/MZIG/19nBPqlJQL+qSIC/6kiAv+pIgL/qSIC/6ki
+        Av+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+oIgL/Tg8B/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP0AAACAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AA8AAADDAAAA/wAAAP8AAAD/CRwB/yuDBf8QMQL/AAAA/wAAAP8DCQH/I2wE/zCTBv8wkwb/MJMG/zCT
+        Bv9daAX6pCYC/qkiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv90FwL/CAIA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAAIcAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAvQAAAP8AAAD/AAAA/wIHAP8AAAD/AAAA/wIG
+        AP8lcAX/MJMG/zCTBv8wkwb/MJMG/yuGBv8PLQL/OyQC+qUkAv6pIgL/qSIC/6kiAv+pIgL/qSIC/6ki
+        Av+pIgL/qSIC/3gYAv8GAQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAAiAAAAAEAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAA
+        ALsAAAD/AAAA/wAAAP8AAAD/AwkA/yVxBf8wkwb/MJMG/zCTBv8wkwb/KoEF/wYUAf8AAAD/AQMA/0hh
+        BPqhKQL+qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/dBcB/wUBAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP0AAACAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAC8AAAA/wAAAP8AAAD/BhIB/yyEBf8wkwb/MJMG/zCT
+        Bv8qgQX/CBgB/wAAAP8AAAD/CBkB/y6NBv9NdwX7nysC/akiAv+pIgL/qSIC/6kiAv90FwL/CAIA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAALMAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAtwAA
+        AP8AAAD/AAAA/wYUAP8rhAb/MJMG/yuFBv8GFAD/AAAA/wAAAP8IGAH/K4QG/zCTBv8wkwj/LpVm+EGE
+        nvlRdYf5YGdw+V4vJ/sGAQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkAAABRAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAALQAAAD+AAAA/wAAAP8HFgH/JG8F/wYUAf8AAAD/AAAA/wgZ
+        Af8rhAX/MJMG/y6VEf0SsKT6AcD9/gHA//8BwP//AYSv/wAGCP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB
+        AP8EAwD/AAAA/wAAAP8AAAD1AAAAWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAC1AAAA/gAA
+        AP8AAAD/AQMA/wAAAP8AAAD/CBgB/yuEBv8wkwb/Kpgk/Au2yvsBwP//AcD//wHA//8BhK//AAkM/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AgIA/15IAP9+YQD/BwYA/wAAAP8AAAD/AAAA9gAAAFIAAAABAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAIAAAArgAAAP8AAAD/AAAA/wAAAP8HFwH/LIQG/zCTBv8lnkT7Bbzo/QHA
+        //8BwP//AcD//wGHtP8ABgn/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQD/XkgA/8aZAP/HmgD/h2gA/wQD
+        AP8AAAD/AAAA/wAAAPkAAABSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAKsAAAD+AAAA/wAA
+        AP8FEQH/KH0I/xundPoDvvf+AcD//wHA//8BwP//AYOu/wAGCP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB
+        AP9kTQD/xZgA/8eaAP/HmgD/x5oA/4doAP8HBgD/AAAA/wAAAP8AAAD2AAAAWgAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAACMAAAAZAAAAAQAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAcAAACuAAAA/gAAAP8AAAD/AxYS/wGm2/8BwP//AcD//wHA//8Bg67/AAkM/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AgIA/15JAP/EmAD/x5oA/8eaAP/HmgD/x5oA/8eaAP+AYwD/BwYA/wAA
+        AP8AAAD/AAAA9gAAAFIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAaAAAAwgAAAPsAAADwAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAApwAAAP8AAAD/AAAA/wAT
+        GP8Bptz/AcD//wGHs/8ABgn/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQD/XkkA/8aZAP/HmgD/x5oA/8ea
+        AP/HmgD/x5oA/8eaAP/HmgD/h2gA/wQDAP8AAAD/AAAA/wAAAPoAAABSAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAADXAAAA/wAAAP8AAAD/AAAA9wAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAACAAAAKQAAAD+AAAA/wAAAP8AFh7/AGyQ/wAGCP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB
+        AP9kTQD/xZgA/8eaAP/HmgD/x5oA/8eaAP/HmgD/x5oA/8eaAP/HmgD/x5oA/4dpAP8HBgD/AAAA/wAA
+        AP8AAAD2AAAAWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAANcAAAD/AAAA/wAA
+        AP8AAAD/AAAA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        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
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAEwAAAD2AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAAhQAAAAEAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAABsAAADfAAAA/wAAAP8AAAD/TTwA/8WYAP/HmgD/0Ksr//v47f///vz/4sp6/8ea
+        AP/HmgD/x5oA/8eaAP/HmgD/x5oA/7eNAP8fGAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADtAAAANgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAUQAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP0AAAB+AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhAAAA2AAAAP8AAAD/AQEA/008
+        AP/OqjP/+vXm//7+/P/gyHT/x5sC/8eaAP/HmgD/x5oA/8eaAP/HmgD/sooA/x8YAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAO0AAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAA8wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAAIQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAIgAAAN8AAAD/AAAA/wAAAP9pZ2H/+Pf1/+LLe//HmwL/x5oA/8eaAP/HmgD/x5oA/8ea
+        AP+xiQD/JRwA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA7AAAADUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAIAAADfAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAAhQAAAAEAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAADfAAAA/wAAAP8BAQH/V00s/8WZ
+        Af/HmgD/x5oA/8eaAP/HmgD/x5oA/7eNAP8eFwD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAANQAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAD0AAAA/wAAAP8AAAD/AAAA/wAA
+        AP0AAAB9AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAhAAAA2AAAAP8AAAD/AQEA/008Af/ClgD/x5oA/8eaAP/HmgD/sooA/x4YAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAOwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAEAAADOAAAA/wAAAP8AAAD/AAAA/AAAAIQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAAN8AAAD/AAAA/wAAAP9UQQD/wpYA/8ea
+        AP+xiQD/JBwA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA7AAAADUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAA1wAAAP8AAAD0AAAAegAAAAEAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        ABoAAADfAAAA/wAAAP8AAAD/TTwA/7SLAP8eFwD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAANQAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAA
+        AB8AAAAQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhAAAA1wAAAP8AAAD/AQEA/w0KAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAOwAAAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAA
+        AN4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA7AAAADUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8AAAD5AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAANQAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAANgAAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAOwAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAcAAAA0QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA7AAAADUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAADZAAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAANAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAANkAAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAOwAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAcAAAA0QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6wAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAADZAAAA/wAAAP8AAAD/AAAA/wAAAP8AAADrAAAANAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAANkAAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAOsAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAZQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6wAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAP8AAAD/AAAA/wAAAP8AAADrAAAAMwAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAA
+        AO4AAAD/AAAA/wAAAOoAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkAAACNAAAAiwAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////////wP/
+        /////////////4H//////////////8D//////////////+B///////////////A///////////////gf
+        //////////////wP//////////////4H//////////////8D//////////////+B///////////////A
+        ///////////////gf+D////////////wMAB////////////4AAA////////////8AAAf///////////+
+        AAAP///////////+AAAH///////////+AAAD///////////+AAAB///////////+AAAA///////////+
+        AAAAf//////////8AAAAP//////////8AAAAH//////////8AAAAD//////////8AAAAB//////////8
+        AAAAA//////////8AAAAAf/////////8AAAAAP/////////8AAAAAH/////////8AAAAAD/////////+
+        AAAAAB//////////AAAAAA//////////gAAAAAf/////////wAAAAAP/////////4AAAAAH/////////
+        8AAAAAD/////////+AAAAAB//////////AAAAAA//////////gAAAAAf/////////wAAAAAP////////
+        /4AAAAAH/////////8AAAAAD/////////+AAAAAB//////////AAAAAA//wf//////gAAAAAP/gf////
+        //wAAAAAH/Af//////4AAAAAH+Af//////8AAAAAB8Af//////+AAAAAA4Af///////AAAAAAQA/////
+        ///gAAAAAAB////////wAAAAAAD////////4AAAAAAH////////8AAAAAAP////////+AAAAAAf/////
+        ////AAAAAA//////////gAAAAB//////////wAAAAD//////////4AAAAD//////////8AAAAB//////
+        ////+AAAAAf//////////AAAAAf//////////gAAAAP/8P///////wAAAAD/4P///////4AAAAD/wP//
+        /////8AAAAB/gP///////+AAAAAfAP////////AAAAAeAP////////gAAAAMAf////////AAAAAAA///
+        /////+AAAAAAB////////8AIAAAAD////////4AcAAAAH////////wA+AAAAP////////AB/AAAAf///
+        /////AD/gAAA////////+AH/wAAB////////+AP/4AAD////////+Af/8AAH/////////A//+AAP////
+        /////h///AAf/////////////gA//////////////wB//////////////gD//////////////AH/////
+        ////////+AP/////////////8Af/////////////4A//////////////wB//////////////gD//////
+        ////////gH//////////////gP//////////////gf//////////////w////////////////////ygA
+        AACAAAAAAAEAAAEAIAAAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAACkAAAC8AAAAqQAAAGwAAAA1AAAAHQAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEIAAADsAAAA/wAA
+        AP0AAADuAAAAuwAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEIAAADsAAAA/wAAAP8AAAD+AAAAwAAAABUAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
+        AEIAAADsAAAA/wAAAP8AAAD+AAAAwAAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEIAAADsAAAA/wAAAP8AAAD+AAAAwAAA
+        ABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAQAAAEIAAADsAAAA/wAAAP8AAAD+AAAAwAAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEIAAADsAAAA/wAA
+        AP8AAAD+AAAAwAAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEIAAADsAAAA/wAAAP8AAAD+AAAAwAAAABUAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
+        AEIAAADsAAAA/wAAAP8AAAD+AAAAwAAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEIAAADsAAAA/wAAAP8AAAD+AAAAwQAA
+        ABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAQAAAEIAAADsAAAA/wAAAP8AAAD+AAAAwQAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEIAAADsAAAA/wAA
+        AP8AAAD+AAAAwQAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEIAAADsAAAA/wAAAP8AAAD+AAAAwQAAABUAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
+        AEIAAADsAAAA/wAAAP8AAAD+AAAAwQAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEIAAADsAAAA/wAAAP8AAAD+AAAAwQAA
+        ABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAQAAAEEAAADsAAAA/wAAAP8AAAD+AAAAwQAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAANAAAABgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEEAAADsAAAA/wAA
+        AP8AAAD+AAAAwgAAABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAA
+        ABUAAAAjAAAAOwAAAGoAAACcAAAAyQAAAN0AAAClAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEEAAADsAAAA/wAAAP8AAAD+AAAAwgAAABYAAAAAAAAAAAAA
+        AAIAAAAPAAAAHQAAAC0AAABUAAAAhgAAALcAAADWAAAA5gAAAPQAAAD+AAAA/wAAAP8AAAD/AAAA/wAA
+        AP0AAACqAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
+        AEEAAADsAAAA/wAAAP8AAAD+AAAAxwAAAHIAAAChAAAAzAAAAN8AAADtAAAA+wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAACrAAAADAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEEAAADsAAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP4AAACuAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAQAAAEIAAADyAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8BBAD/BAwA/wYUAf8IGQH/AQIA/wAAAP8AAAD/AAAA/wAAAP4AAACwAAAADgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAANsAAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AQAA/wkCAP8SBAD/HQUA/zYLAP9WEQH/chwB/zVvBP8rhAX/LowG/y+P
+        Bv8WRAL/AQIA/wAAAP8AAAD/AAAA/wAAAP4AAACzAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAWAAAA5wAAAP8AAAD/AAAA/xADAP8oCAD/Rw4B/2cVAf+GGwL/kx4C/50f
+        Av+mIQL/qSIC/6kiAv+cLgL/OYoG/zCTBv8wkwb/MJMG/y+QBv8XRgP/AQIA/wAAAP8AAAD/AAAA/wAA
+        AP4AAAC2AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAADzAAAA/wAA
+        AP8AAAD/cxcC/6giAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/5Q2A/8ykQb/MJMG/zCT
+        Bv8wkwb/MJMG/y+QBv8XSAP/AQIA/wAAAP8AAAD/AAAA/wAAAP4AAAC4AAAAEQAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAP0AAAD/AAAA/wMBAP+LHAL/qSIC/6kiAv+pIgL/qSIC/6ki
+        Av+pIgL/qSIC/6kiAv+pIgL/fkoD/jCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/y+QBv8YSQP/AQIA/wAA
+        AP8AAAD/AAAA/wAAAP4AAAC6AAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbAAAA/wAA
+        AP8AAAD/CwIA/5UeAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv9jYwT+MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/y+RBv8YSgP/AQMA/wAAAP8AAAD/AAAA/wAAAP4AAAC8AAAAEgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIUAAAD/AAAA/wAAAP8RBgD/myEC/6kiAv+pIgL/qSIC/6ki
+        Av+pIgL/qSIC/6kiAv+pIgL/qCMC/0p7Bf4wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/y+R
+        Bv8ZSwP/AQMA/wAAAP8AAAD/AAAA/wAAAP4AAAC9AAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQAA
+        AP8AAAD/AAAA/woVAf+QNAP/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+iKQL/P4UF/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/y+RBv8ZTgP/AQMA/wAAAP8AAAD/AAAA/wAA
+        AP4AAAC/AAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADTAAAA/wAAAP8AAAD/DSgC/2heBP+pIgL/qSIC/6ki
+        Av+pIgL/qSIC/6kiAv+pIgL/qSIC/5owAv83jAb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/y+RBv8aUAP/AQMA/wAAAP8AAAD/AAAA/wAAAP4AAADCAAAAFgAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAA
+        AOAAAAD/AAAA/wAAAP8VQgL/Q4AF/6QmAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/jzoD/jGS
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/y+RBv8aUQP/AQMA/wAA
+        AP8AAAD/AAAA/wAAAP4AAADEAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAA7QAAAP8AAAD/AAAA/x5aBP81jgb/ljMD/6ki
+        Av+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv92UQP+MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/y+QCf4bUwT/AQMA/wAAAP8AAAD/AAAA/wAAAP8AAADGAAAAGAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        ACkAAAD5AAAA/wAAAP8AAAD/JXIF/zCTBv9yVQP/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/1pr
+        Bf4wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/J29S+S+P
+        C/8cVQT/AQQA/wAAAP8AAAD/AAAA/wAAAP8AAADIAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQAAAP8AAAD/AAAA/wIGAP8pfgX/MJMG/0h8
+        Bf+mJQL/qSIC/6kiAv+pIgL/qSIC/6kiAv+nJAL/RX8F/jCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTB/8dRqz5LYQm/y+RBv8cVgT/AQQA/wAAAP8AAAD/AAAA/wAA
+        AP8AAADKAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAABxAAAA/wAAAP8AAAD/BA0B/yuFBf8wkwb/N4wG/5owAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6Ar
+        Av89hwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/L44R/Rkv
+        2/0lZ2b/MJMG/y+RBv8cVwT/AQQA/wAAAP8AAAD/AAAA/wAAAP8AAADMAAAAHAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJwAAAD/AAAA/wAAAP8HFAH/LowG/zCT
+        Bv8wkwb/fEwD/6kiAv+pIgL/qSIC/6kiAv+pIgL/mDID/zWPBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8thiH9Fyjs/Rw7wv8wkgn/MJMG/y+SBv8dWQT/AQUA/wAA
+        AP8AAAD/AAAA/wAAAP8AAADNAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAABAAAAxQAAAP8AAAD/AAAA/woeAf8wkgb/MJMG/zCTBv9OdgX/qCMC/6kiAv+pIgL/qSIC/6ki
+        Av+IQQP+MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/yp8
+        N/oVIfv+Fynr/y2HIP8wkwb/MJMG/y+SBv8dWwT/AQUA/wAAAP8AAAD/AAAA/wAAAP8AAADPAAAAHgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAADaAAAA/wAAAP8AAAD/EjUC/zCT
+        Bv8wkwb/MJMG/zqKBv+dLQL/qSIC/6kiAv+pIgL/qSIC/21aBP4wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/JWNs9xUg/v8VIP3/KHBT/zCTBv8wkwb/MJMG/zCS
+        Bv8eXAT/AQUA/wAAAP8AAAD/AAAA/wAAAP8AAADQAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAFgAAAOcAAAD/AAAA/wAAAP8PLwL/L48G/zCTBv8wkwb/MZIG/4REA/+pIgL/qSIC/6ki
+        Av+pIgL/U3IF/jCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8eSKf2FSD+/xUg/v8dQ7D/MJIH/zCTBv8wkwb/MJMG/zCSBv8eXQT/AgUA/wAAAP8AAAD/AAAA/wAA
+        AP8AAADSAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhAAAA8gAAAP8AAAD/AAAA/wEC
+        AP8TOwL/L48G/zCTBv8wkwb/V28F/6giAv+pIgL/qSIC/6UmAv9CggX/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/L5EM/Rkz1PsVIP7/FSD+/xgs5P8uihn/MJMG/zCT
+        Bv8wkwb/MJMG/zCSBv8fXwT/AgYA/wAAAP8AAAD/AAAA/wAAAP8AAADUAAAAIgAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAgAAAClAAAA/QAAAP8AAAD/AAAA/wEBAP8TOgL/L44G/zCTBv89hwX/oCoC/6ki
+        Av+pIgL/nS0C/zqKBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8uiRz8GCvn/BUg/v8VIP7/FSH7/yl4Q/8wkwb/MJMG/zCTBv8wkwb/MJMG/zCSBv8fYAT/AgcA/wAA
+        AP8AAAD/AAAA/wAAAP8AAADWAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAACjAAAA/QAA
+        AP8AAAD/AAAA/wABAP8SOAL/L44G/zKRBv+MPQP/qSIC/6kiAv+UNQP/MpEG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/yyALfsWI/f8FSD+/xUg/v8VIP7/H0ye/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCSBv8gYgT/AgcA/wAAAP8AAAD/AAAA/wAAAP8AAADYAAAAJQAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAACfAAAA/QAAAP8AAAD/AAAA/wABAP8SNwL/Lo4G/2Bm
+        BP+pIgL/qSIC/4BIA/4wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/L48G/yh6Bf8qgQX/MJIG/zCT
+        Bv8wkwb/J21Y9hUg/v8VIP7/FSD+/xUg/v8YLt7/LowU/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCS
+        Bv8hYwT/AgcA/wAAAP8AAAD/AAAA/wAAAP8AAADYAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAkAAACdAAAA/QAAAP8AAAD/AAAA/wABAP8RNQL/Pn4F/6MoAv+pIgL/ZWEE/jCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/y6MBv8QMgL/AQMA/wQKAP8jbQT/MJMG/zCTBv8gUZP1FSD+/xUg/v8VIP7/FSD+/xUi
+        +P8rfTb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCSBv8hZAT/AggA/wAAAP8AAAD/AAAA/wAA
+        AP8AAADZAAAAJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAACaAAAA/AAAAP8AAAD/AAAA/wAB
+        AP8UMQL/kDED/6giAv9LeQX+MJMG/zCTBv8wkwb/MJMG/zCTBv8ujAb/DzAC/wABAP8AAAD/AAAA/xE1
+        Av8wkwb/MJII/ho3yfgVIP7/FSD+/xUg/v8VIP7/FSD+/yJViv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCSBv8hZQT/AwgA/wAAAP8AAAD/AAAA/wAAAP8AAADbAAAAKQAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAcAAACXAAAA/AAAAP8AAAD/AAAA/wABAP82DgD/myYC/z+EBf8wkwb/MJMG/zCT
+        Bv8wkwb/LowG/w8wAv8AAQD/AAAA/wAAAP8BAwD/Hl8E/zCTBv8uixb8GC3h/BUg/v8VIP7/FSD+/xUg
+        /v8VIP7/GTLW/y+PD/8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCSBv8hZwT/AwgA/wAA
+        AP8AAAD/AAAA/wAAAP8AAADcAAAAKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAACWAAAA/AAA
+        AP8AAAD/AAAA/wEAAP8tFgH/M4YG/zCTBv8wkwb/MJMG/y6MBv8PMAL/AAEA/wAAAP8AAAD/AQMA/xhK
+        A/8vkQb/MJMG/yyEJ/wWJfL8FSD+/xUg/v8VIP7/FSD+/xUg/v8WJfT/LIIs/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCSBv8iaAT/AwkA/wAAAP8AAAD/AAAA/wAAAP8AAADeAAAALQAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAACUAAAA/AAAAP8AAAD/AAAA/wABAP8PLwL/LowG/zCT
+        Bv8ujAb/DzAC/wABAP8AAAD/AAAA/wEDAP8YSgP/L5AG/zCTBv8wkwb/KXVG9xUg/f4VIP7/FSD+/xUg
+        /v8VIP7/FSD+/xUg/v8jX3b/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCS
+        Bv8iagT/AwoA/wAAAP8AAAD/AAAA/wAAAP8AAADgAAAALwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAcAAACRAAAA/AAAAP8AAAD/AAAA/wABAP8PLwL/K4QG/w8wAv8AAQD/AAAA/wAAAP8BAwD/GEoD/y+R
+        Bv8wkwb/MJMG/zCTBv8jWn/0FSD+/xUg/v8VIP7/FSD+/xUg/v8VIP7/FSD+/xo2zP8wkQv/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCSBv8jawT/AwoA/wAAAP8AAAD/AAAA/wAA
+        AP8AAADhAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAACNAAAA/AAAAP8AAAD/AAAA/wAB
+        AP8FDwH/AAEA/wAAAP8AAAD/AQMA/xlLA/8vkQb/MJMG/zCTBv8wkwb/MJMH/xw/uvQUHvL/CQ5y/wQH
+        O/8PFrL/FSD9/xUg/v8VIP7/Fyfv/y2FJf8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8jbAT/AwsA/wAAAP8AAAD/AAAA/wAAAP8AAADiAAAAMgAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAUAAACKAAAA+wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEDAP8ZSwP/L5EG/zCT
+        Bv8wkwb/MJMG/zCTBv8vjhH7Fy7P+gYKUv8AAAH/AAAA/wIDGP8THeX/FSD+/xUg/v8VIP7/Jmhi/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8jbQT/BAsA/wAA
+        AP8AAAD/AAAA/wAAAP8AAADjAAAAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAACHAAAA+wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/F0cD/y+RBv8wkwb/MJMG/zCTBv8wkwb/MJMG/yyDGPwIEUD8AAAB/wAA
+        AP8AAAD/AQIS/xIc4v8VIP7/FSD+/xUg/v8cPL//MJII/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8kbgT/BAsA/wAAAP8AAAD/AAAA/wAAAP8AAADlAAAANQAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAACDAAAA+wAAAP8AAAD/AAAA/wAAAP8NKQH/LYkG/zCT
+        Bv8wkwb/MJMG/zCTBv8uiwb/Dy4D/wABAP8AAAD/AAAA/wABBf8LEYb/FSD8/xUg/v8VIP7/FSD+/xcp
+        6f8tiB//MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/y+T
+        CP4aeTj4ABAV/gAAAP8AAAD/AAAA/wAAAP8AAADmAAAANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAQAAACBAAAA+wAAAP8AAAD/AAAA/wABAP8NJwH/LYgG/zCTBv8wkwb/LosG/w8vAv8AAQD/AAAA/wAA
+        AP8AAQX/CxGD/xUf+v8VIP7/FSD+/xUg/v8VIP7/FSH9/yhxUP8wkwb/MJMG/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8vlAz9Gqh78wO+9fwBk8T/ABEX/wAAAP8AAAD/AAAA/wAA
+        AP8AAADmAAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAB+AAAA+wAAAP8AAAD/AAAA/wAA
+        AP8NJgH/LIgG/y6LBv8PLwL/AAEA/wAAAP8AAAD/AAEF/wsRg/8VH/r/FSD+/xUg/v8VIP7/FSD+/xUg
+        /v8VIP7/HUWu/zCTB/8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/LJcb+hCx
+        rfUCv/z+AcD//wHA//8Blcb/ABIY/wAAAP8AAAD/AAAA/wAAAP8AAADoAAAAOwAAAAEAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAQAAAB8AAAA+gAAAP8AAAD/AAAA/wAAAP8LJAH/DisB/wABAP8AAAD/AAAA/wAB
+        Bf8LEYP/FR/6/xUg/v8VIP7/FSD+/xUg/v8VIP7/FB/1/xEa0f8VKML/LooX/zCTBv8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMH/yebM/gJuNP4AcD+/wHA//8BwP//AcD//wHA//8Blsj/ABMZ/wAA
+        AP8AAAD/AAAA/wAAAP8AAADpAAAAPQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAB5AAAA+gAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAQX/CxGD/xUf+v8VIP7/FSD+/xUg/v8VIP7/FSD+/xMe
+        8P8GClD/AAEE/wEDDv8jagr/MJMG/zCTBv8wkwb/MJMG/zCTBv8wkwb/MJMG/y+UCf4golr0Bbzr+gHA
+        //8BwP//AcD//wHA//8BwP//AcD//wHA//8BmMr/ABQa/wAAAP8AAAD/AAAA/wAAAP8AAADqAAAAQAAA
+        AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAB2AAAA+gAAAP8AAAD/AAAA/wAAAP8AAAD/AAEF/wsR
+        hP8VH/r/FSD+/xUg/v8VIP7/FSD+/xUg/v8THvD/BgpN/wAAAf8AAAD/AAAA/xEzDf8wkwb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8ulRD9FquM8wK/+P0BwP//AcD//wHA//8BwP//AcD//wHA//8BwP//AcD//wHA
+        //8Bmcv/ABQb/wAAAP8AAAD/AAAA/wAAAP8AAADrAAAAQQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAMAAAByAAAA+QAAAP8AAAD/AAAA/wAAAP8DBB3+Ex3j/xUg/v8VIP7/FSD+/xUg/v8VIP7/Ex7w/wYK
+        Tf8AAAH/AAAA/wAAAP8AAQb/ESWI/y+NE/8wkwb/MJMG/zCTBv8wkwb/K5gi+g20u/UBwP3+AcD//wHA
+        //8BwP//AcD//wHA//8BwP//AcD//wHA//8BwP//AcD//wHA//8Bms3/ABUc/wAAAP8AAAD/AAAA/wAA
+        AP8AAADsAAAAQgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAABvAAAA+QAAAP8AAAD/AAAA/wAA
+        AP8EBzj/Ex3m/xUg/v8VIP7/FSD+/xMe8P8GCk3/AAAB/wAAAP8AAAD/AAEF/wsRiP8VIvT/K34z/zCT
+        Bv8wkwb/MJMH/yWdPvYHutz5AcD//wHA//8BwP//AcD//wHA//8BwP//AcD//wHA//8BwP//AcD//wHA
+        //8BwP//AcD//wHA//8Bm87/ABYd/wAAAP8AAAD/AAAA/wAAAP8AAADtAAAARAAAAAEAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAEAAAAmAAAAmAAAAMwAAACpAAAANgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAMAAABsAAAA+AAAAP8AAAD/AAAA/wAAAP8EBzb/Ex3l/xUg/v8THvD/BgpN/wAA
+        Af8AAAD/AAAA/wABBf8LEYj/FR/6/xUg/v8iV4b/MJMG/y+UC/4dpWr0BL3x+wHA//8BwP//AcD//wHA
+        //8BwP//AcD//wHA//8BwP//AcD//wHA//8BwP//AcD//wHA//8BwP//AcD//wm48/xRUVf2FAQA/wAA
+        AP8AAAD/AAAA/wAAAP8AAADuAAAARgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAQAAAAOkAAAD/AAAA/wAAAP8AAAD0AAAAWwAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAABqAAAA+AAA
+        AP8AAAD/AAAA/wAAAP8EBzX/ERvW/wYKTv8AAAH/AAAA/wAAAP8AAQX/CxGJ/xUf+v8VIP7/FSD+/xky
+        1f8skh37E66d9AK/+v4Bv/7/AcD//wHA//8BwP//AcD//wHA//8BwP//AcD//wHA//8BwP//AcD//wHA
+        //8BwP//AcD//wHA//8WreD5f0lB96gjBP6LHAL/FQQA/wAAAP8AAAD/AAAA/wAAAP8AAADvAAAASQAA
+        AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
+        AEEAAADsAAAA/wAAAP8AAAD/AAAA/wAAAP8AAADiAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAABoAAAA+AAAAP8AAAD/AAAA/wAAAP8BAhP/AAAB/wAA
+        AP8AAAD/AAEF/wsRif8VH/r/FSD+/xUg/v8VIP7/Fyfu/R+SaO4Uo4vxAk5i/AApNv8IfaT5HabU9hqq
+        2vkWreD5ErDm+Q606/kKuPH4Brv3+AO//PoBwP/9AcD//wHA//8Cv/7+KprC9ZQ2IvmpIgL/qSIC/6ki
+        Av+MHAL/FgUA/wAAAP8AAAD/AAAA/wAAAP8AAADwAAAATAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABBAAAA7AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        APwAAAAtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        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
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAIAAABYAAAA9AAAAP8AAAD/AAAA/wAAAP8DBSf/BQg+/wAAAf8AAAD/AAAA/wEDAP8aUQP/L5EG/zCT
+        Bv8wkwb/MJMG/zCTBv8wkwb/Lo4G/zZoBfuJJgL8qCIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6ki
+        Av+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+SHQL/HAUA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD0AAAAWQAAAAMAAABCAAAA7AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA7AAA
+        AEIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAABWAAAA8wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8BAwD/GlED/y+RBv8wkwb/MJMG/zCTBv8wkwb/MJMG/y2KBv8OKwL/AQIA/woC
+        AP95HAL9qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6ki
+        Av+pIgL/qSIC/6kiAv+THQL/HgYA/wAAAP8AAAD/AAAA/wAAAP8AAAD1AAAAhAAAAOwAAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOwAAABCAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAIAAABUAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AQMA/xpRA/8vkQb/MJMG/zCT
+        Bv8wkwb/MJMG/zCTBv8tigb/DioB/wABAP8AAAD/AAAA/x0wAv2KPgP6qSIC/6kiAv+pIgL/qSIC/6ki
+        Av+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+UHgL/HwYA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAAQgAA
+        AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABRAAAA8gAA
+        AP8AAAD/AAAA/wAAAP8DCwH/KHoF/zCTBv8wkwb/MJMG/zCTBv8wkwb/LYoG/w4pAf8AAQD/AAAA/wAA
+        AP8BAwD/IWUE/ziLBvyGQwP5qCMC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6ki
+        Av+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+VHgL/IAYA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA7AAAAEIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABPAAAA8QAAAP8AAAD/AAAA/wAAAP8HFQH/KHsF/zCT
+        Bv8wkwb/MJMG/y2KBv8OKgH/AAEA/wAAAP8AAAD/AQMA/xtTBP8vkQb/MJMG/zaNBv2BSAP4qCMC/6ki
+        Av+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6ki
+        Av+VHgL/FgQA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOwAAABCAAAAAQAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAEAAABNAAAA8AAAAP8AAAD/AAAA/wAAAP8HEwD/KHoF/zCTBv8tigb/DikB/wABAP8AAAD/AAAA/wED
+        AP8bUwT/L5EG/zCTBv8wkwb/MJMG/zWPBv17TQP4qCMC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6ki
+        Av+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qCIC/30ZAv8LAgD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAADsAAAAQgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABKAAAA7wAAAP8AAAD/AAAA/wAA
+        AP8GEwD/JXEE/w4pAf8AAQD/AAAA/wAAAP8BAwD/G1ME/y+RBv8wkwb/MJMG/zCTBv8wkwb/MJMG/zOQ
+        Bv11UQP4pyMC/qkiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6gi
+        Av99GQL/DQIA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA7AAAAEIAAAABAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAEAAABIAAAA7gAAAP8AAAD/AAAA/wAAAP8CBgD/AAEA/wAAAP8AAAD/AQMA/xtT
+        BP8vkQb/MJMG/zCTBv8wkwb/MJMG/zCTBv8tiQb/EjkC/wwbAf5gKQL4pyMC/qkiAv+pIgL/qSIC/6ki
+        Av+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+oIgL/fRkC/w0CAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAOwAAABCAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABFAAAA7QAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEDAP8bVAT/L5EG/zCTBv8wkwb/MJMG/zCTBv8wkwb/LYkG/w0n
+        Af8AAAD/AAAA/wcNAP5kUAP4piQC/qkiAv+pIgL/qSIC/6kiAv+pIgL/qSIC/6kiAv+pIgL/qCIC/30Z
+        Av8NAgD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAAQgAAAAEAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABDAAAA7QAAAP8AAAD/AAAA/wAAAP8AAAD/FkQD/y+R
+        Bv8wkwb/MJMG/zCTBv8wkwb/MJMG/y2JBv8NJwH/AAAA/wAAAP8AAAD/BA0A/y2DBf5iYwX4pSUC/qki
+        Av+pIgL/qSIC/6kiAv+pIgL/qSIC/6giAv99GQL/DQIA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA7AAAAEIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAEAAABCAAAA7AAAAP8AAAD/AAAA/wAAAP8FEAD/JnUF/zCTBv8wkwb/MJMG/zCTBv8tiQb/DScB/wAA
+        AP8AAAD/AAAA/wEDAP8cVgT/MJIG/zGSBv9daQX5pCYC/akiAv+pIgL/qSIC/6kiAv+oIgL/fRkC/w0C
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACsAAAABwAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABAAAAA6wAAAP8AAAD/AAAA/wAA
+        AP8FDwD/JnQF/zCTBv8wkwb/LYkG/w0nAf8AAAD/AAAA/wAAAP8BBAD/HFUE/y+RBv8wkwb/MJMG/y2V
+        GP0ulpf2PYil+Et7kPdZbXr4aF9k+GUvJvsNAgD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAPwAAACQAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAEAAAA+AAAA6gAAAP8AAAD/AAAA/wAAAP8EDgD/JXMF/y2IBv8NJwH/AAAA/wAA
+        AP8AAAD/AQQA/xxWBP8vkQb/MJMG/zCTBv8omi37CrfO+gHA/v8BwP//AcD//wG//v8Bjr3/AA4S/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPwAAACQAAAABgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7AAAA6AAA
+        AP8AAAD/AAAA/wAAAP8EDQD/Ch0B/wAAAP8AAAD/AAAA/wEEAP8cVgT/L5EG/zCTBv8wkwj/IqBO+Qa7
+        5/wBwP//AcD//wHA//8Bv/7/AY69/wAOEv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w8L
+        AP9AMQD/AgIA/wAAAP8AAAD/AAAA/wAAAPwAAACQAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAA5wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8BBAD/HFYE/y+RBv8wkwb/L5QM/hqoe/gCv/b9AcD//wHA//8BwP//Ab/+/wGOvP8ADhL/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8PCwD/lHMA/8GWAP9WQgD/AgIA/wAAAP8AAAD/AAAA/wAA
+        APwAAACQAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAA3AAAA5gAAAP8AAAD/AAAA/wAAAP8AAAD/AQQA/xxWBP8vkQb/MJMG/y2WGf0Rsar5Ar/8/gHA
+        //8BwP//AcD//wG//v8Bjrz/AA4S/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/DwsA/5Rz
+        AP/GmgD/x5oA/8KXAP9WQgD/AgIA/wAAAP8AAAD/AAAA/wAAAPwAAACQAAAABgAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1AAAA5QAAAP8AAAD/AAAA/wAA
+        AP8CBgD/JGwE/zCTBv8omi77CrfP+wHA/v8BwP//AcD//wHA//8Bv/7/AY28/wAOEv8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/w8LAP+UcwD/xpoA/8eaAP/HmwD/x5oA/8KXAP9WQgD/AgIA/wAA
+        AP8AAAD/AAAA/wAAAPwAAACQAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAzAAAA5AAAAP8AAAD/AAAA/wAAAP8ECwD/GnY1+wa85vwBwP//AcD//wHA
+        //8BwP//Ab/+/wGNvP8ADRL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8PCwD/lHMA/8aa
+        AP/HmgD/x5oA/8eaAP/HmgD/x5oA/8KXAP9WQgD/AgIA/wAAAP8AAAD/AAAA/wAAAPwAAACQAAAABgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAACgAAAGgAAADAAAAAtAAAAEoAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyAAAA4wAA
+        AP8AAAD/AAAA/wAAAP8ADhL/AY28/wG//v8BwP//AcD//wG//v8Bjbz/AA0S/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/DwsA/5RzAP/GmgD/x5oA/8eaAP/HmgD/x5oA/8eaAP/HmgD/x5oA/8KX
+        AP9WQgD/AgIA/wAAAP8AAAD/AAAA/wAAAPwAAACQAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAACwAAAA/QAAAP8AAAD/AAAA+gAA
+        AHUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxAAAA4gAAAP8AAAD/AAAA/wAAAP8ADRL/AYy6/wG/
+        /v8Bv/7/AY68/wAOEv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w8LAP+UcwD/xpoA/8ea
+        AP/HmgD/x5oA/8eaAP/HmgD/x5oA/8eaAP/HmgD/x5oA/8KXAP9WQgD/AgIA/wAAAP8AAAD/AAAA/wAA
+        APwAAACQAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAOAAAAsAAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAvAAAA4AAAAP8AAAD/AAAA/wAAAP8ADBH/AYq3/wGNu/8ADhL/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8PCwD/lHMA/8aaAP/HmgD/x5oA/8eaAP/HmgD/x5oA/8eaAP/HmgD/x5oA/8ea
+        AP/HmgD/x5oA/8KXAP9WQwD/AgIA/wAAAP8AAAD/AAAA/wAAAPwAAACRAAAABgAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAALAAAAD+AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtAAAA3gAAAP8AAAD/AAAA/wAA
+        AP8ACAv/AAkM/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/DwsA/5RzAP/GmgD/x5oA/8ea
+        AP/HmgD/x5oA/8eaAP/HmgD/x5oA/8eaAP/Knwz/y6ET/8icBf/HmgD/x5oA/8KXAP9XQwD/AgIA/wAA
+        AP8AAAD/AAAA/wAAAPwAAACRAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AA4AAACxAAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAO4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAsAAAA3QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/w8LAP+UcwD/xpoA/8eaAP/HmgD/x5oA/8eaAP/HmgD/x5oA/8eaAP/Knw3/5M6E//fx
+        3P/59OT/8+rL/9q8Vv/InQf/x5oA/8KXAP9XQwD/AgIA/wAAAP8AAAD/AAAA/wAAAPwAAACRAAAABgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAsQAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD9AAAAmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApAAAA2wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ZEwA/8WZAP/HmgD/x5oA/8ea
+        AP/HmgD/x5oA/8eaAP/HmgD/yqEQ/+/itv///v7//////////////////v78/+zdqf/Knwz/x5oA/8KX
+        AP9XQwD/AgIA/wAAAP8AAAD/AAAA/wAAAPwAAACRAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAA
+        ALAAAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAAAKgAAAALAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABeAAAA/AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8JBwD/g2UA/8aZAP/HmgD/x5oA/8eaAP/HmgD/x5oA/8qhEP/v4rf////+//7+
+        /P/z6sr/482A/+zdqv/9+/b///7+/+jWl//ImwP/x5oA/8KXAP9XQwD/AgIA/wAAAP8AAAD/AAAA/wAA
+        APwAAACRAAAABgAAAAAAAAAAAAAAAAAAAA4AAACxAAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP0AAACoAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAQwAA
+        AO0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8JBwD/g2UA/8aZ
+        AP/HmgD/x5oA/8eaAP/KoRD/7+K2/////v/+/fr/48x+/8mdCP/HmgD/yJsC/9u+XP/+/vv//fv1/9Gs
+        LP/HmgD/x5oA/8KXAP9XQwD/AgIA/wAAAP8AAAD/AAAA/wAAAPwAAACRAAAABwAAAAAAAAAOAAAAsQAA
+        AP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAAqAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEMAAADtAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAADrAAAA0wAAAP4AAAD/AAAA/wAAAP8JBwD/g2UA/8aZAP/HmgD/yqEQ/+/itv////7//v36/+LL
+        ev/InAT/x5oA/8eaAP/HmgD/yqAO//jy3v//////482A/8eaAP/HmgD/x5oA/8KXAP9XRAD/AgIA/wAA
+        AP8AAAD/AAAA/wAAAPwAAACSAAAAFAAAALEAAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAA
+        AKgAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABDAAAA7QAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6wAAAEAAAAAVAAAAwAAAAP4AAAD/AAAA/wAA
+        AP8JBwD/g2UA/8mgEP/v4rb////+//79+v/iy3v/yJsE/8eaAP/HmgD/x5oA/8eaAP/Kngv/9/Hc////
+        ///r2qH/x5oA/8eaAP/HmgD/x5oA/8KXAP9XRAD/AgIA/wAAAP8AAAD/AAAA/wAAAPwAAADdAAAA/gAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAACoAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAABAAAAQwAAAO0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AOsAAABAAAAAAQAAAAAAAAAUAAAAwAAAAP4AAAD/AAAA/wAAAP8JBwD/nZV5//39/P/+/fr/4st7/8ic
+        BP/HmgD/x5oA/8eaAP/HmgD/x5sC/9u9Wv/9/fr//////97Fa//HmgD/x5oA/8eaAP/HmgD/x5oA/8KW
+        AP9XRAD/AwIA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAAqAAA
+        AAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEMAAADtAAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADrAAAAQAAAAAEAAAAAAAAAAAAAAAAAAAAUAAAAvwAA
+        AP4AAAD/AAAA/wAAAP8LCwv/pqWj/+HJe//InAT/x5oA/8eaAP/HmgD/x5oA/8ebAv/avFT//Prz////
+        ///48t7/zKQY/8eaAP/HmgD/x5oA/8eaAP/HmgD/x5oA/8KXAP9YRAD/AwIA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAAAKgAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAEAAABDAAAA7QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6wAA
+        AEAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAvwAAAP4AAAD/AAAA/wAAAP8KCQX/g2YD/8aZ
+        AP/HmgD/x5oA/8eaAP/HmwH/2rtU//z68///////+fXm/9OvNv/HmgD/x5oA/8eaAP/HmgD/x5oA/8ea
+        AP/HmgD/x5oA/7eNAP8bFQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAACoAAAACwAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAARAAAAO0AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOsAAABAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAUAAAAvwAAAP4AAAD/AAAA/wAAAP8IBwD/gWQA/8aZAP/HmgD/x5sB/9q7U//8+vP///////n1
+        5v/Trzb/x5oA/8eaAP/HmgD/x5oA/8eaAP/HmgD/x5oA/8eaAP+8kgD/PC4A/wEBAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD9AAAAqAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAQAAAEQAAADtAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADrAAAAQAAA
+        AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAvwAAAP4AAAD/AAAA/wAA
+        AP8IBwD/gmQA/8aZAf/au1P//Prz///////59eb/07A3/8eaAP/HmgD/x5oA/8eaAP/HmgD/x5oA/8ea
+        AP/HmgD/vJIA/zwuAP8BAQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAAAKgAAAALAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABEAAAA7QAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA6wAAAEAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAUAAAAvwAAAP4AAAD/AAAA/wAAAP8IBwD/jno1//r48f//////+fXm/9Ow
+        N//HmgD/x5oA/8eaAP/HmgD/x5oA/8eaAP/HmgD/x5oA/7ySAP88LgD/AQEA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP0AAACnAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAMQAAAOwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOsAAAA/AAAAAQAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAvwAA
+        AP4AAAD/AAAA/wAAAP8LCwv/p6en//jz5f/TsDb/x5oA/8eaAP/HmgD/x5oA/8eaAP/HmgD/x5oA/8ea
+        AP+7kgD/Oy4A/wEBAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAApwAAAAsAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAC1AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAADrAAAAPwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAvwAAAP4AAAD/AAAA/wAAAP8LCwv/inIk/8aZ
+        Af/HmgD/x5oA/8eaAP/HmgD/x5oA/8eaAP/HmgD/u5IA/zsuAP8BAQD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/QAAAKcAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAADAAAANwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6gAAAD8AAAABAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAUAAAAvwAAAP4AAAD/AAAA/wAAAP8JBwH/gmUB/8aZAP/HmgD/x5oA/8eaAP/HmgD/x5oA/7uS
+        AP87LgD/AQEA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAACnAAAACwAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA0QAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAOoAAAA/AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAvwAAAP4AAAD/AAAA/wAA
+        AP8IBwD/gWQA/8aZAP/HmgD/x5oA/8eaAP+7kQD/Oy4A/wEBAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD9AAAApwAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAABoAAAA/AAAAP8AAAD/AAAA/wAAAP8AAADqAAAAPwAAAAEAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAUAAAAvwAAAP4AAAD/AAAA/wAAAP8IBwD/gWQA/8aZAP/HmgD/u5EA/zsu
+        AP8BAQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAAAKcAAAALAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAACQAAAA8wAA
+        AP8AAAD9AAAA2gAAADwAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAvwAA
+        AP4AAAD/AAAA/wAAAP8IBgD/gWQA/7qQAP87LgD/AQEA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP0AAACnAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAlAAAATgAAAD4AAAASAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAvwAAAP4AAAD/AAAA/wAAAP8IBgD/JRwA/wEB
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAApwAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAATAAAAvwAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAA
+        AKcAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAvwAAAP4AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAACnAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAiAAAA6QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAApgAA
+        AAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAALQAAAD+AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAAAKYAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAA8AAAC0AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAACmAAAACgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAtAAAAP4AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD9AAAApgAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAADwAAALQAAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAAAKYAAAAKAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAC0AAAA/gAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP0AAACmAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAPAAAAtAAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAApQAAAAoAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAALUAAAD+AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/QAAAKUAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AA8AAAC1AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAAClAAAACgAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAtAAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD9AAAApAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AIAAAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAAAKQAAAAKAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAA1AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP0AAACkAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAYAAADUAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAApAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAD+AAAA/wAAAP8AAAD/AAAA/QAA
+        AKMAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAACwAAAKUAAAD1AAAA/wAAAPMAAACaAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAACUAAAAuAAAAIwAA
+        AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////
+        /////////////wH///////////////////8A////////////////////gH///////////////////8A/
+        ///////////////////gH///////////////////8A////////////////////gH////////////////
+        ///8A////////////////////gH///////////////////8A////////////////////gH//////////
+        /////////8A////////////////////gH///////////////////8A////////////////////gH////
+        ///////////////8A//+P////////////////gH/gB////////////////8AwAAP////////////////
+        gAAAB////////////////8AAAAP////////////////gAAAB////////////////8AAAAP//////////
+        //////AAAAB////////////////wAAAAP///////////////8AAAAB////////////////AAAAAP////
+        ///////////wAAAAB///////////////8AAAAAP//////////////+AAAAAB///////////////gAAAA
+        AP//////////////4AAAAAB//////////////+AAAAAAP//////////////gAAAAAB//////////////
+        4AAAAAAP/////////////+AAAAAAB//////////////AAAAAAAP/////////////wAAAAAAB////////
+        /////8AAAAAAAP/////////////AAAAAAAB/////////////wAAAAAAAP////////////+AAAAAAAB//
+        ///////////wAAAAAAAP////////////+AAAAAAAB/////////////wAAAAAAAP////////////+AAAA
+        AAAB/////////////wAAAAAAAP////////////+AAAAAAAB/////////////wAAAAAAAP///////////
+        /+AAAAAAAB/////////////wAAAAAAAP////////////+AAAAAAAB/////////////wAAAAAAAP/////
+        ///////+AAAAAAAB/////////////wAAAAAAAH////////////+AAAAAAAA/////////////wAAAAAAA
+        H////////////+AAAAAAAA/////////////wAAAAAAAH///f////////+AAAAAAAA//+A/////////wA
+        AAAAAAH//AP////////+AAAAAAAA//gB/////////wAAAAAAAH/wAf////////+AAAAAAAA/4AH/////
+        ////wAAAAAAAH8AB/////////+AAAAAAAA+AA//////////wAAAAAAAHAAP/////////+AAAAAAAAgAH
+        //////////wAAAAAAAAAD//////////+AAAAAAAAAB///////////wAAAAAAAAA///////////+AAAAA
+        AAAAf///////////wAAAAAAAAP///////////+AAAAAAAAH////////////wAAAAAAAD////////////
+        +AAAAAAAB/////////////wAAAAAAA/////////////+AAAAAAAf/////////////wAAAAAAP///////
+        //////+AAAAAAB//////////////wAAAAAAP/////////////+AAAAAAB//////////////4AAAAAAP/
+        /////////////AAAAAAB//////////////4AAAAAAP//////////////AAAAAAB//8D//////////4AA
+        AAAAP/+A///////////AAAAAAB//AP//////////4AAAAAAP/gD///////////AAAAAAB/wA////////
+        ///4AAAAAAP4AP///////////AAAAAAB8AD///////////wAAAAAAOAB///////////4AAAAAABAA///
+        ////////8AAAAAAAAAf//////////+AAAAAAAAAP///////////AAIAAAAAAH///////////gAHAAAAA
+        AD///////////wAD4AAAAAB///////////4AB/AAAAAA///////////8AA/4AAAAAf//////////+AAf
+        /AAAAAP///////////gAP/4AAAAH///////////wAH//AAAAD///////////8AD//4AAAB//////////
+        //AB///AAAA////////////4A///4AAAf///////////+Af///AAAP////////////wf///4AAH/////
+        /////////////AAD//////////////////4AB///////////////////AA///////////////////gAf
+        //////////////////wAP//////////////////4AH//////////////////8AD/////////////////
+        /+AB///////////////////AA///////////////////gAf//////////////////wAP////////////
+        //////4AH//////////////////+AD///////////////////AB///////////////////wA////////
+        ///////////+Af///////////////////gP///////////////////8H////////////////////////
+        //+JUE5HDQoaCgAAAA1JSERSAAABAAAAAQAIBgAAAFxyqGYAACAASURBVHic7Z13eFzFuf8/5+yuVtKq
+        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
+        f9gAAAAASUVORK5CYII=
+</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/64Injector.cs b/64Injector.cs
new file mode 100644
index 0000000..6a6d555
--- /dev/null
+++ b/64Injector.cs
@@ -0,0 +1,700 @@
+using System;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.Drawing.Imaging;
+using System.IO;
+using System.Text;
+using System.Xml;
+
+namespace _64Inject
+{
+    public class _64Injector
+    {
+        public const string Release = "1.4 debug"; //CllVersionReplace "major.minor stability"
+
+        public string BasePath;
+        public string ShortName;
+        public string LongName;
+        public bool DarkFilter;
+        public bool Widescreen;
+        public string Zoom;
+        public string InPath;
+        public string RomPath;
+        public string IniPath;
+        public string BootTvPath;
+        public string BootDrcPath;
+        public string IconPath;
+        public string OutPath;
+        public bool Encrypt;
+
+        private VCN64 _base;
+        public RomN64 Rom;
+        private byte[] _ini;
+        public float Scale;
+        public BootImage BootTvImg;
+        public BootImage BootDrcImg;
+        public IconImage IconImg;        
+
+        public bool BaseIsLoaded
+        {
+            get { return _base != null; }
+        }
+
+        public bool RomIsLoaded
+        {
+            get { return Rom != null && Rom.IsValid; }
+        }
+
+        public bool IniIsLoaded
+        {
+            get { return _ini != null; }
+        }
+
+        public string LoadedBase
+        {
+            get
+            {
+                if (_base != null)
+                    return _base.ToString();
+                else
+                    return "";
+            }
+        }
+
+        public string ShortNameASCII
+        {
+            get
+            {
+                char[] array = Useful.Windows1252ToASCII(ShortName, '_').ToCharArray();
+                char[] invalid = Path.GetInvalidFileNameChars();
+
+                for (int i = 0; i < array.Length; i++)
+                {
+                    foreach (char c in invalid)
+                    {
+                        if (array[i] == c)
+                            array[i] = '_';
+                    }
+                }
+                
+                return new string(array);
+            }
+        }
+
+        public string TitleId
+        {
+            get
+            {
+                ulong crc;
+
+                if (BaseIsLoaded)
+                    crc = _base.HashCRC32;
+                else
+                    crc = Cll.Security.ComputeCRC32(new byte[] { }, 0, 0);
+
+                if (RomIsLoaded)
+                    crc += Rom.HashCRC32;                    
+                else
+                    crc += Cll.Security.ComputeCRC32(new byte[] { }, 0, 0);
+                crc >>= 1;
+
+                if (IniIsLoaded)
+                    crc += Cll.Security.ComputeCRC32(_ini, 0, _ini.Length);
+                else
+                    crc += Cll.Security.ComputeCRC32(new byte[] { }, 0, 0);
+                crc >>= 1;
+
+                byte[] b = BitConverter.GetBytes((uint)crc);
+                UInt16 id = (UInt16)((((b[3] << 8) + (b[2])) + ((b[1] << 8) + (b[0]))) >> 1);
+
+                int flags = 0;
+                flags |= DarkFilter ? 0x80 : 0;
+                flags |= Widescreen ? 0x40 : 0;
+                flags |= Scale != 1.0F ? 0x20 : 0;
+                flags |= IconImg.IsDefault ? 0 : 0x10;
+                flags |= BootTvImg.IsDefault ? 0 : 8;
+                flags |= BootDrcImg.IsDefault ? 0 : 4;                
+
+                return "0005000064" + id.ToString("X4") + ((byte)(flags)).ToString("X2");
+            }
+        }
+        
+
+        public _64Injector()
+        {
+            BasePath = null;
+            ShortName = null;
+            LongName = null;
+            DarkFilter = true;
+            Widescreen = false;
+            Zoom = null;
+            InPath = null;
+            RomPath = null;
+            IniPath = null;
+            IconPath = null;
+            BootTvPath = null;
+            BootDrcPath = null;
+            OutPath = null;
+            Encrypt = true;
+
+            _base = GetLoadedBase();
+            Rom = null;
+            _ini = null;
+            Scale = 1.0F;
+            BootTvImg = new BootImage();
+            BootDrcImg = new BootImage();
+            IconImg = new IconImage();
+        }
+
+        public bool Inject()
+        {
+            _base = GetLoadedBase();
+            bool _continue = BaseIsLoaded;
+            Cll.Log.WriteLine("The base is ready: " + _continue.ToString());
+
+            if (_continue)
+                _continue = InjectGameLayout();
+                
+            if (_continue)
+                _continue = InjectImages();
+
+            if (_continue)
+                _continue = InjectMeta();
+
+            if (_continue)
+                _continue = InjectRom();
+
+            if (_continue)
+            {
+                if (Encrypt)
+                {
+                    Cll.Log.WriteLine("Creating encrypted output.");
+                    string inPath = Environment.CurrentDirectory + "\\base";
+                    _continue = NusContent.Encrypt(inPath, OutPath);
+                }
+                else
+                {
+                    Cll.Log.WriteLine("Creating unencrypted output.");
+                    _continue = Useful.DirectoryCopy("base", OutPath, true);
+                }          
+            }
+
+            if (_continue)
+                Cll.Log.WriteLine("Injection completed successfully!");
+            else
+                Cll.Log.WriteLine("The injection failed.\nCheck the log file \"" + Cll.Log.Filename + "\".");
+
+            return _continue;
+        }
+        
+        private bool InjectGameLayout()
+        {
+            FileStream fs = null;
+            try
+            {
+                Cll.Log.WriteLine("Editing \"FrameLayout.arc\" file.");
+
+                byte darkFilterB = (byte)(DarkFilter ? 1 : 0);
+                byte[] widescreenB = Widescreen ?
+                    new byte[] { 0x44, 0xF0, 0, 0 } :
+                    new byte[] { 0x44, 0xB4, 0, 0 };
+                byte[] scaleB = BitConverter.GetBytes(Scale);
+
+                byte[] magic = new byte[4];
+                uint offset = 0;
+                uint size = 0;
+                byte[] offsetB = new byte[4];
+                byte[] sizeB = new byte[4];
+                byte[] nameB = new byte[0x18];
+
+                fs = File.Open("base\\content\\FrameLayout.arc", FileMode.Open);
+                fs.Read(magic, 0, 4);
+
+                if (magic[0] == 'S' &&
+                    magic[1] == 'A' &&
+                    magic[2] == 'R' &&
+                    magic[3] == 'C')
+                {
+                    fs.Position = 0x0C;
+                    fs.Read(offsetB, 0, 4);
+                    offset = (uint)(offsetB[0] << 24 |
+                        offsetB[1] << 16 |
+                        offsetB[2] << 8 |
+                        offsetB[3]);
+                    fs.Position = 0x38;
+                    fs.Read(offsetB, 0, 4);
+                    offset += (uint)(offsetB[0] << 24 |
+                        offsetB[1] << 16 |
+                        offsetB[2] << 8 |
+                        offsetB[3]);
+
+                    fs.Position = offset;
+                    fs.Read(magic, 0, 4);
+
+                    if (magic[0] == 'F' &&
+                        magic[1] == 'L' &&
+                        magic[2] == 'Y' &&
+                        magic[3] == 'T')
+                    {
+                        fs.Position = offset + 0x04;
+                        fs.Read(offsetB, 0, 4);
+                        offsetB[0] = 0;
+                        offsetB[1] = 0;
+                        offset += (uint)(offsetB[0] << 24 |
+                            offsetB[1] << 16 |
+                            offsetB[2] << 8 |
+                            offsetB[3]);
+                        fs.Position = offset;
+
+                        while (true)
+                        {
+                            fs.Read(magic, 0, 4);
+                            fs.Read(sizeB, 0, 4);
+                            size = (uint)(sizeB[0] << 24 |
+                                sizeB[1] << 16 |
+                                sizeB[2] << 8 |
+                                sizeB[3]);                                
+
+                            if (magic[0] == 'p' &&
+                                magic[1] == 'i' &&
+                                magic[2] == 'c' &&
+                                magic[3] == '1')
+                            {
+                                fs.Position = offset + 0x0C;
+                                fs.Read(nameB, 0, 0x18);
+                                int count = Array.IndexOf(nameB, (byte)0);
+                                string name = Encoding.ASCII.GetString(nameB, 0, count);
+
+                                if (name == "frame")
+                                {
+                                    fs.Position = offset + 0x44;//Scale
+                                    fs.WriteByte(scaleB[3]);
+                                    fs.WriteByte(scaleB[2]);
+                                    fs.WriteByte(scaleB[1]);
+                                    fs.WriteByte(scaleB[0]);
+                                    fs.Position = offset + 0x48;//Scale
+                                    fs.WriteByte(scaleB[3]);
+                                    fs.WriteByte(scaleB[2]);
+                                    fs.WriteByte(scaleB[1]);
+                                    fs.WriteByte(scaleB[0]);
+                                    fs.Position = offset + 0x4C;//Widescreen
+                                    fs.Write(widescreenB, 0, 4);
+                                }
+                                else if (name == "frame_mask")
+                                {
+                                    fs.Position = offset + 0x08;//Dark filter
+                                    fs.WriteByte(darkFilterB);                                        
+                                }
+                                else if (name == "power_save_bg")
+                                {
+                                    Cll.Log.WriteLine("\"FrameLayout.arc\" file editing successfully.");
+                                    return true;
+                                }
+
+                                offset += size;
+                                fs.Position = offset;
+                            }
+                            else if (offset + size >= fs.Length)
+                            {
+                            }
+                            else
+                            {
+                                offset += size;
+                                fs.Position = offset;
+                            }
+                        }
+                    }
+                }                    
+                fs.Close();
+            }
+            catch { Cll.Log.WriteLine("Error editing \"FrameLayout.arc\"."); }
+            finally { if (fs != null) fs.Close(); }
+            
+            return false;
+        }
+
+        private bool InjectImages()
+        {
+            string currentDir = Environment.CurrentDirectory;
+            Bitmap bootTvImg;
+            Bitmap bootDrcImg;
+            Bitmap iconImg;
+            Bitmap tmp;
+            Graphics g;
+
+            try
+            {
+                Cll.Log.WriteLine("Creating bitmaps.");
+
+                if (BootTvPath != null)
+                    tmp = new Bitmap(BootTvPath);
+                else
+                    tmp = BootTvImg.Create();
+                bootTvImg = new Bitmap(1280, 720, PixelFormat.Format24bppRgb);
+                g = Graphics.FromImage(bootTvImg);
+                g.DrawImage(tmp, new Rectangle(0, 0, 1280, 720));
+                g.Dispose();
+                tmp.Dispose();
+
+                if (BootDrcPath != null)
+                    tmp = new Bitmap(BootDrcPath);
+                else
+                    tmp = BootDrcImg.Create();
+                bootDrcImg = new Bitmap(854, 480, PixelFormat.Format24bppRgb);
+                g = Graphics.FromImage(bootDrcImg);
+                g.DrawImage(tmp, new Rectangle(0, 0, 854, 480));
+                g.Dispose();
+                tmp.Dispose();
+
+                if (IconPath != null)
+                    tmp = new Bitmap(IconPath);
+                else
+                    tmp = IconImg.Create();
+                iconImg = new Bitmap(128, 128, PixelFormat.Format32bppArgb);
+                g = Graphics.FromImage(iconImg);
+                g.DrawImage(tmp, new Rectangle(0, 0, 128, 128));
+                g.Dispose();
+                tmp.Dispose();
+
+                Cll.Log.WriteLine("Bitmaps created.");
+            }
+            catch
+            {
+                Cll.Log.WriteLine("Error creating bitmaps.");
+                return false;
+            }
+
+            if (!NusContent.ConvertToTGA(bootTvImg, currentDir + "\\base\\meta\\bootTvTex.tga"))
+            {
+                Cll.Log.WriteLine("Error creating \"bootTvTex.tga\" file.");
+                return false;
+            }
+            if (!NusContent.ConvertToTGA(bootDrcImg, currentDir + "\\base\\meta\\bootDrcTex.tga"))
+            {
+                Cll.Log.WriteLine("Error creating \"bootDrcTex.tga\" file.");
+                return false;
+            }
+            if (!NusContent.ConvertToTGA(iconImg, currentDir + "\\base\\meta\\iconTex.tga"))
+            {
+                Cll.Log.WriteLine("Error creating \"iconTex.tga\" file.");
+                return false;
+            }
+
+            Cll.Log.WriteLine("Injected TGA files.");
+
+            return true;
+        }
+
+        private bool InjectMeta()
+        {
+            string titleId = TitleId;
+            byte[] id = Useful.StrHexToByteArray(titleId, "");
+
+            XmlWriterSettings xmlSettings = new XmlWriterSettings
+            {
+                Encoding = new UTF8Encoding(false),
+                Indent = true,
+                IndentChars = "  ",
+                NewLineChars = "\n",
+                NewLineHandling = NewLineHandling.Replace
+            };
+
+            XmlDocument xmlApp = new XmlDocument();
+            XmlDocument xmlMeta = new XmlDocument();
+
+            try
+            {
+                Cll.Log.WriteLine("Editing \"app.xml\" and \"meta.xml\" files.");
+
+                xmlApp.Load("base\\code\\app.xml");
+                xmlMeta.Load("base\\meta\\meta.xml");
+
+                XmlNode app_title_id = xmlApp.SelectSingleNode("app/title_id");
+                XmlNode app_group_id = xmlApp.SelectSingleNode("app/group_id");
+
+                XmlNode meta_product_code = xmlMeta.SelectSingleNode("menu/product_code");
+                XmlNode meta_title_id = xmlMeta.SelectSingleNode("menu/title_id");
+                XmlNode meta_group_id = xmlMeta.SelectSingleNode("menu/group_id");
+                XmlNode meta_longname_en = xmlMeta.SelectSingleNode("menu/longname_en");
+                XmlNode meta_shortname_en = xmlMeta.SelectSingleNode("menu/shortname_en");
+
+                app_title_id.InnerText = titleId;
+                app_group_id.InnerText = "0000" + id[5].ToString("X2") + id[6].ToString("X2");
+
+                meta_product_code.InnerText = "WUP-N-" + Rom.ProductCode;
+                meta_title_id.InnerText = titleId;
+                meta_group_id.InnerText = "0000" + id[5].ToString("X2") + id[6].ToString("X2");
+                meta_longname_en.InnerText = LongName;
+                meta_shortname_en.InnerText = ShortName;
+
+                XmlWriter app = XmlWriter.Create("base\\code\\app.xml", xmlSettings);
+                XmlWriter meta = XmlWriter.Create("base\\meta\\meta.xml", xmlSettings);
+
+                xmlApp.Save(app);
+                xmlMeta.Save(meta);
+
+                app.Close();
+                meta.Close();
+
+                Cll.Log.WriteLine("\"app.xml\" and \"meta.xml\" files editing successfully.");
+
+                return true;
+            }
+            catch
+            {
+                Cll.Log.WriteLine("Error editing \"app.xml\" and \"meta.xml\" files.");
+            }
+
+            return false;
+        }
+
+        private bool InjectRom()
+        {
+            bool injected = true;
+
+            try
+            {
+                Cll.Log.WriteLine("Empty \"base\\content\\config\" folder.");
+                Directory.Delete("base\\content\\config", true);
+                Directory.CreateDirectory("base\\content\\config");
+
+                Cll.Log.WriteLine("Injecting INI data.");
+                if (IniIsLoaded)
+                {
+                    FileStream fs = File.Open("base\\content\\config\\U" + Rom.ProductCodeVersion + ".z64.ini", FileMode.Create);
+                    fs.Write(_ini, 0, _ini.Length);
+                    fs.Close();
+                    Cll.Log.WriteLine("INI injected.");
+                }
+                else
+                {
+                    File.Create("base\\content\\config\\U" + Rom.ProductCodeVersion + ".z64.ini").Close();
+                    Cll.Log.WriteLine("An empty INI injected.");
+                }
+
+                Cll.Log.WriteLine("Empty \"base\\content\\rom\" folder.");
+                Directory.Delete("base\\content\\rom", true);
+                Directory.CreateDirectory("base\\content\\rom");
+
+                Cll.Log.WriteLine("Injecting ROM.");
+                if (RomN64.ToBigEndian(RomPath, "base\\content\\rom\\U" + Rom.ProductCodeVersion + ".z64"))
+                {
+                    Cll.Log.WriteLine("Injected ROM.");
+                }
+                else
+                {
+                    Cll.Log.WriteLine("ROM not injected, \"ToBigEndian\" failed.");
+                    injected = false;
+                }
+            }
+            catch
+            {
+                Cll.Log.WriteLine("Error injecting ROM.");
+                injected = false;
+            }
+
+            return injected;
+        }
+
+
+        #region Loads
+
+        public bool LoadBase(string path)
+        {
+            if (Directory.Exists("base"))
+            {                
+                Directory.Delete("base", true);
+                Cll.Log.WriteLine("Previous base deleted.");
+            }
+
+            if (IsValidBase(path))
+            {
+                Cll.Log.WriteLine("The \"" + path + "\" folder contains a valid base.");
+                Useful.DirectoryCopy(path, "base", true);
+            }
+            else if (IsValidEncryptedBase(path))
+            {
+                Cll.Log.WriteLine("The \"" + path + "\" folder contains a valid encrypted base.");
+                NusContent.Decrypt(path, "base");
+            }
+            else
+                Cll.Log.WriteLine("The \"" + path + "\" folder not contains a valid base.");
+
+            _base = GetLoadedBase();
+
+            return BaseIsLoaded;
+        }
+
+        public bool LoadIni(string filename)
+        {
+            FileStream fs = File.Open(filename, FileMode.Open);
+            _ini = new byte[fs.Length];
+            fs.Read(_ini, 0, _ini.Length);
+            fs.Close();
+
+            if (Useful.IsUTF8(_ini))
+                return true;
+            else
+            {
+                _ini = null;
+                return false;
+            }
+        }
+
+        private VCN64 GetLoadedBase()
+        {
+            if (IsValidBase("base"))
+            {
+                FileStream fs = File.Open("base\\code\\VESSEL.rpx", FileMode.Open);
+                uint hash = Cll.Security.ComputeCRC32(fs);
+                fs.Close();
+
+                if (hash == VCN64.DonkeyKong64.HashCRC32)
+                    return VCN64.DonkeyKong64;
+                else if (hash == VCN64.Ocarina.HashCRC32)
+                    return VCN64.Ocarina;
+                else if (hash == VCN64.PaperMario.HashCRC32)
+                    return VCN64.PaperMario;
+                else if (hash == VCN64.Kirby64.HashCRC32)
+                    return VCN64.Kirby64;
+                else if (hash == VCN64.MarioTennis.HashCRC32)
+                    return VCN64.MarioTennis;
+                else if (hash == VCN64.MarioGolf.HashCRC32)
+                    return VCN64.MarioGolf;
+                else if (hash == VCN64.StarFox64.HashCRC32)
+                    return VCN64.StarFox64;
+                else if (hash == VCN64.SinAndP.HashCRC32)
+                    return VCN64.SinAndP;
+                else if (hash == VCN64.MarioKart64.HashCRC32)
+                    return VCN64.MarioKart64;
+                else if (hash == VCN64.YoshiStory.HashCRC32)
+                    return VCN64.YoshiStory;
+                else if (hash == VCN64.WaveRace64.HashCRC32)
+                    return VCN64.WaveRace64;
+                else if (hash == VCN64.Majora.HashCRC32)
+                    return VCN64.Majora;
+                else if (hash == VCN64.PokemonSnap.HashCRC32)
+                    return VCN64.PokemonSnap;
+                else if (hash == VCN64.MarioParty2.HashCRC32)
+                    return VCN64.MarioParty2;
+                else if (hash == VCN64.OgreBattle64.HashCRC32)
+                    return VCN64.OgreBattle64;
+                else if (hash == VCN64.Excitebike64.HashCRC32)
+                    return VCN64.Excitebike64;
+                else if (hash == VCN64.FZeroX.HashCRC32)
+                    return VCN64.FZeroX;
+                else
+                {
+                    Cll.Log.WriteLine("The base is valid but was not defined in the program code.");
+                    return new VCN64(hash, "", "**Unidentified**");
+                }
+            }
+            else
+                return null;
+        }
+        
+        #endregion
+
+        #region Validations
+
+        private bool IsValidBase(string path)
+        {
+            if (File.Exists(path + "\\code\\app.xml") &&
+                File.Exists(path + "\\code\\cos.xml") &&
+                File.Exists(path + "\\code\\VESSEL.rpx") &&
+                Directory.Exists(path + "\\content\\config") &&
+                Directory.Exists(path + "\\content\\rom") &&
+                File.Exists(path + "\\content\\BuildInfo.txt") &&
+                File.Exists(path + "\\content\\config.ini") &&
+                File.Exists(path + "\\content\\FrameLayout.arc") &&
+                File.Exists(path + "\\meta\\iconTex.tga") &&
+                File.Exists(path + "\\meta\\bootTvTex.tga") &&
+                File.Exists(path + "\\meta\\bootDrcTex.tga") &&
+                File.Exists(path + "\\meta\\meta.xml"))
+                return true;
+            else
+            {
+                Cll.Log.WriteLine("The base is invalid.");
+                Cll.Log.WriteLine("Some of the following files or folders are missing:");
+                Cll.Log.WriteLine(path + "\\code\\app.xml");
+                Cll.Log.WriteLine(path + "\\code\\cos.xml");
+                Cll.Log.WriteLine(path + "\\code\\VESSEL.rpx");
+                Cll.Log.WriteLine(path + "\\content\\config");
+                Cll.Log.WriteLine(path + "\\content\\rom");
+                Cll.Log.WriteLine(path + "\\content\\BuildInfo.txt");
+                Cll.Log.WriteLine(path + "\\content\\config.ini");
+                Cll.Log.WriteLine(path + "\\content\\FrameLayout.arc");
+                Cll.Log.WriteLine(path + "\\meta\\iconTex.tga");
+                Cll.Log.WriteLine(path + "\\meta\\bootTvTex.tga");
+                Cll.Log.WriteLine(path + "\\meta\\bootDrcTex.tga");
+                Cll.Log.WriteLine(path + "\\meta\\meta.xml");
+                return false;
+            }
+        }
+
+        private bool IsValidEncryptedBase(string path)
+        {
+            string titleId = NusContent.CheckEncrypted(path);
+            if (titleId != null &&
+                NusContent.CheckCommonKeyFiles() &&
+                File.Exists("resources\\jnustool\\JNUSTool.jar"))
+            {
+                string name = NusContent.JNUSToolWrapper(path, 400, 32768, titleId, "/code/cos.xml");
+
+                if (name != null && File.Exists(name + "\\code\\cos.xml"))
+                {
+                    XmlDocument xmlCos = new XmlDocument();
+                    xmlCos.Load(name + "\\code\\cos.xml");
+                    XmlNode cos_argstr = xmlCos.SelectSingleNode("app/argstr");
+
+                    Directory.Delete(name, true);
+
+                    if (cos_argstr.InnerText == "VESSEL.rpx")
+                        return true;
+                    else
+                    {
+                        Cll.Log.WriteLine("\"" + path + "\" does not contain a N64 Wii U VC game.");
+                        return false;
+                    }
+                }
+                else if (name != null)
+                {
+                    Cll.Log.WriteLine("The NUS CONTENT does not contains \"cos.xml\" file.");
+                    Directory.Delete(name, true);
+                    return false;
+                }
+                else
+                {
+                    Cll.Log.WriteLine("JNUSToolWrapper could not decipher the NUS CONTENT.");
+                    return false;
+                }
+            }
+            else
+            {
+                Cll.Log.WriteLine("Some of the following files are missing:");
+                Cll.Log.WriteLine(path + "\\title.tmd");
+                Cll.Log.WriteLine(path + "\\title.tik");
+                Cll.Log.WriteLine(path + "\\title.cert");
+                return false;
+            }
+        }
+
+        public bool IsValidCode(string code)
+        {
+            if (code.Length == 4)
+            {
+                foreach (char c in code)
+                {
+                    if ((c < 'A' || c > 'Z') && (c < '0' || c > '9'))
+                        return false;
+                }
+            }
+            else
+                return false;
+
+            return true;
+        }
+
+        #endregion
+    }
+}
diff --git a/BootImage.cs b/BootImage.cs
new file mode 100644
index 0000000..ad2cfae
--- /dev/null
+++ b/BootImage.cs
@@ -0,0 +1,247 @@
+using System;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+
+namespace _64Inject
+{
+    public class BootImage : IDisposable
+    {
+        private bool disposed = false;
+
+        private Bitmap _frame;
+        private Bitmap _titleScreen;
+
+        public Bitmap Frame
+        {
+            set
+            {
+                if (_frame != null)
+                    _frame.Dispose();
+                _frame = value;
+            }
+            get { return _frame; }
+        }
+        public Bitmap TitleScreen
+        {
+            set
+            {
+                if (_titleScreen != null)
+                    _titleScreen.Dispose();
+                _titleScreen = value;
+            }
+            get { return _titleScreen; }
+        }
+        public string NameLine1;
+        public string NameLine2;
+        public int Released;
+        public int Players;
+        public bool Longname;
+        public bool IsDefault;
+
+        public BootImage()
+        {
+            _frame = null;
+            _titleScreen = null;
+            NameLine1 = null;
+            NameLine2 = null;
+            Released = 0;
+            Players = 0;
+            Longname = false;
+            IsDefault = true;
+        }
+
+        ~BootImage()
+        {
+            Dispose(false);
+        }
+
+        public void Dispose()
+        {
+            Dispose(true);
+            GC.SuppressFinalize(this);
+        }
+
+        protected virtual void Dispose(bool disposing)
+        {
+            if (!this.disposed)
+            {
+                if (disposing)
+                {
+                    if (Frame != null)
+                    {
+                        Frame.Dispose();
+                        Frame = null;
+                    }
+                    if (TitleScreen != null)
+                    {
+                        TitleScreen.Dispose();
+                        TitleScreen = null;
+                    }
+                }
+                disposed = true;
+            }
+        }
+
+        public Bitmap Create()
+        {
+            Bitmap img = new Bitmap(1280, 720);
+            Graphics g = Graphics.FromImage(img);
+            g.PixelOffsetMode = PixelOffsetMode.Half;
+            //g.InterpolationMode = InterpolationMode.NearestNeighbor;
+            g.SmoothingMode = SmoothingMode.AntiAlias;
+            g.CompositingMode = CompositingMode.SourceOver;
+            g.CompositingQuality = CompositingQuality.HighQuality;
+            g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
+
+            GraphicsPath nl1 = new GraphicsPath();
+            GraphicsPath nl2 = new GraphicsPath();
+            GraphicsPath r = new GraphicsPath();
+            GraphicsPath p = new GraphicsPath();
+
+            Font font = new Font("Trebuchet MS", 10.0F, FontStyle.Regular, GraphicsUnit.Point);
+            Rectangle rectangleNL1 = Longname ? new Rectangle(578, 313, 640, 50) : new Rectangle(578, 340, 640, 50);
+            Rectangle rectangleNL2 = new Rectangle(578, 368, 640, 50);
+            Rectangle rectangleR = new Rectangle(586, 450, 250, 40);
+            Rectangle rectangleP = new Rectangle(586, 496, 200, 40);
+            SolidBrush brush = new SolidBrush(Color.FromArgb(32, 32, 32));
+            Pen outlineBold = new Pen(Color.FromArgb(222, 222, 222), 5.0F);
+            Pen shadowBold = new Pen(Color.FromArgb(190, 190, 190), 7.0F);
+            Pen outline = new Pen(Color.FromArgb(222, 222, 222), 4.0F);
+            Pen shadow = new Pen(Color.FromArgb(190, 190, 190), 6.0F);
+            StringFormat format = new StringFormat();
+
+            g.Clear(Color.White);
+
+            if (Frame == null)
+            {
+                GraphicsPath vc = new GraphicsPath();
+                GraphicsPath n = new GraphicsPath();
+                GraphicsPath sf = new GraphicsPath();
+                GraphicsPath sfi = new GraphicsPath();
+
+                Font fontVC = new Font("Arial", 10.0F, FontStyle.Regular, GraphicsUnit.Point);
+                Font fontN64 = new Font("Arial Black", 10.0F, FontStyle.Regular, GraphicsUnit.Point);
+                Rectangle rectangleVC = new Rectangle(60, 105, 400, 50);
+                Rectangle rectangleN = new Rectangle(575, 239, 350, 60);
+                Rectangle rectangle64 = new Rectangle(902, 234, 72, 60);
+                Rectangle rectangle64I = new Rectangle(1075, 645, 150, 40);
+                SolidBrush brushVC = new SolidBrush(Color.FromArgb(147, 149, 152));
+                SolidBrush brushN = new SolidBrush(Color.FromArgb(42, 65, 152));
+                SolidBrush brush64 = new SolidBrush(Color.FromArgb(230, 0, 18));
+                SolidBrush brush64I = new SolidBrush(Color.FromArgb(213, 213, 213));
+                Pen outline64I = new Pen(Color.FromArgb(150, 150, 150), 2.0F);
+
+                g.Clear(Color.FromArgb(226, 226, 226));
+                g.FillRectangle(new SolidBrush(Color.FromArgb(200, 200, 200)), 61, 192, 1162, 421);
+                g.FillRectangle(new SolidBrush(Color.FromArgb(226, 226, 226)), 66, 197, 1152, 411);
+
+                vc.AddString("Virtual Console", fontVC.FontFamily,
+                    (int)(FontStyle.Bold | FontStyle.Italic),
+                    g.DpiY * 37.4F / 72.0F, rectangleVC, format);
+                g.FillPath(brushVC, vc);
+
+                n.AddString("NINTENDO", fontN64.FontFamily,
+                    (int)(FontStyle.Bold),
+                    g.DpiY * 40.0F / 72.0F, rectangleN, format);
+                g.FillPath(brushN, n);
+
+                sf.AddString("64", fontN64.FontFamily,
+                    (int)(FontStyle.Bold),
+                    g.DpiY * 31.0F / 72.0F, rectangle64, format);
+                g.FillPath(brush64, sf);
+
+                sfi.AddString("64Inject", font.FontFamily,
+                    (int)(FontStyle.Regular),
+                    g.DpiY * 26.0F / 72.0F, rectangle64I, format);
+                g.DrawPath(outline64I, sfi);
+                g.FillPath(brush64I, sfi);
+            }
+
+            if (TitleScreen != null)
+            {
+                if (TitleScreen.Width > TitleScreen.Height)
+                {
+                    g.DrawImage(TitleScreen, 131, 249, 400, 300);
+                }
+                else if (TitleScreen.Width < TitleScreen.Height)
+                {
+                    g.FillRectangle(new SolidBrush(Color.Black), 131, 249, 400, 300);
+                    g.DrawImage(TitleScreen, 218, 249, 225, 300);
+                }
+                else
+                {
+                    g.FillRectangle(new SolidBrush(Color.Black), 131, 249, 400, 300);
+                    //g.InterpolationMode = InterpolationMode.NearestNeighbor;
+                    g.DrawImage(TitleScreen, new Rectangle(203, 271, 256, 256));
+                    //g.InterpolationMode = InterpolationMode.Default;
+                }
+            }
+            else
+                g.FillRectangle(new SolidBrush(Color.Black), 131, 249, 400, 300);
+
+            if (Frame != null)
+                g.DrawImage(Frame, new Rectangle(0, 0, 1280, 720));
+
+            if (NameLine1 != null && NameLine2 != null)
+            { 
+                if (Longname)
+                {
+                    nl1.AddString(NameLine1, font.FontFamily,
+                        (int)(FontStyle.Bold),
+                        g.DpiY * 37.0F / 72.0F, rectangleNL1, format);
+                    g.DrawPath(shadowBold, nl1);
+                    g.DrawPath(outlineBold, nl1);
+                    g.FillPath(brush, nl1);
+                    nl2.AddString(NameLine2, font.FontFamily,
+                        (int)(FontStyle.Bold),
+                        g.DpiY * 37.0F / 72.0F, rectangleNL2, format);
+                    g.DrawPath(shadowBold, nl2);
+                    g.DrawPath(outlineBold, nl2);
+                    g.FillPath(brush, nl2);
+                }
+                else
+                {
+                    nl1.AddString(NameLine1, font.FontFamily,
+                        (int)(FontStyle.Bold),
+                        g.DpiY * 37.0F / 72.0F, rectangleNL1, format);
+                    g.DrawPath(shadowBold, nl1);
+                    g.DrawPath(outlineBold, nl1);
+                    g.FillPath(brush, nl1);
+                }
+            }
+
+            if (Released > 1995)
+            {
+                r.AddString("Released: " + Released.ToString(), font.FontFamily,
+                    (int)(FontStyle.Regular),
+                    g.DpiY * 25.0F / 72.0F, rectangleR, format);
+                g.DrawPath(shadow, r);
+                g.DrawPath(outline, r);
+                g.FillPath(brush, r);
+            }
+
+            if (Players > 0)
+            {
+                string pStr;
+
+                if (Players == 4)
+                    pStr = "1-4";
+                else if (Players == 3)
+                    pStr = "1-3";
+                else if (Players == 2)
+                    pStr = "1-2";
+                else
+                    pStr = "1";
+
+                p.AddString("Players: " + pStr, font.FontFamily,
+                    (int)(FontStyle.Regular),
+                    g.DpiY * 25.0F / 72.0F, rectangleP, format);
+                g.DrawPath(shadow, p);
+                g.DrawPath(outline, p);
+                g.FillPath(brush, p);
+            }
+
+            return img;
+        }
+    }
+}
diff --git a/CllAssemblyVersion.exe b/CllAssemblyVersion.exe
new file mode 100644
index 0000000..4cdaea7
Binary files /dev/null and b/CllAssemblyVersion.exe differ
diff --git a/IconImage.cs b/IconImage.cs
new file mode 100644
index 0000000..c80e683
--- /dev/null
+++ b/IconImage.cs
@@ -0,0 +1,139 @@
+using System;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+
+namespace _64Inject
+{
+    public class IconImage : IDisposable
+    {
+        private bool disposed = false;
+
+        private Bitmap _frame;
+        private Bitmap _titleScreen;
+
+        public Bitmap Frame
+        {
+            set
+            {
+                if (_frame != null)
+                    _frame.Dispose();
+                _frame = value;
+            }
+            get { return _frame; }
+        }
+        public Bitmap TitleScreen
+        {
+            set
+            {
+                if (_titleScreen != null)
+                    _titleScreen.Dispose();
+                _titleScreen = value;
+            }
+            get { return _titleScreen; }
+        }
+        public bool IsDefault;
+
+        public IconImage()
+        {
+            _frame = null;
+            _titleScreen = null;
+            IsDefault = true;
+        }
+
+        ~IconImage()
+        {
+            Dispose(false);
+        }
+
+        public void Dispose()
+        {
+            Dispose(true);
+            GC.SuppressFinalize(this);
+        }
+
+        protected virtual void Dispose(bool disposing)
+        {
+            if (!this.disposed)
+            {
+                if (disposing)
+                {
+                    if (Frame != null)
+                    {
+                        Frame.Dispose();
+                        Frame = null;
+                    }
+                    if (TitleScreen != null)
+                    {
+                        TitleScreen.Dispose();
+                        TitleScreen = null;
+                    }
+                }
+                disposed = true;
+            }
+        }
+        
+        public Bitmap Create()
+        {
+            Bitmap img = new Bitmap(128, 128);
+            Graphics g = Graphics.FromImage(img);
+            g.PixelOffsetMode = PixelOffsetMode.Half;
+            //g.InterpolationMode = InterpolationMode.NearestNeighbor;
+            g.SmoothingMode = SmoothingMode.AntiAlias;
+            g.CompositingMode = CompositingMode.SourceOver;
+            g.CompositingQuality = CompositingQuality.HighQuality;
+            g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
+
+            GraphicsPath vc = new GraphicsPath();
+
+            Font font = new Font("Arial", 10.0F, FontStyle.Regular, GraphicsUnit.Point);
+            Rectangle rectangleVC = new Rectangle(0, 101, 128, 27);
+            Rectangle rectangleTS = new Rectangle(3, 9, 122, 92);
+            SolidBrush brush = new SolidBrush(Color.FromArgb(147, 149, 152));
+            Pen pen = new Pen(Color.Black, 2.0F);
+            StringFormat format = new StringFormat();
+            format.Alignment = StringAlignment.Center;
+            format.LineAlignment = StringAlignment.Center;
+
+            g.Clear(Color.FromArgb(30, 30, 30));
+
+            if (TitleScreen != null)
+            {
+                if (TitleScreen.Width > TitleScreen.Height)
+                {
+                    g.DrawImage(TitleScreen, 3, 9, 122, 92);
+                }
+                else if (TitleScreen.Width < TitleScreen.Height)
+                {
+                    g.FillRectangle(new SolidBrush(Color.Black), 3, 9, 122, 92);
+                    g.DrawImage(TitleScreen, 30, 9, 69, 92);
+                }
+                else
+                {
+                    g.FillRectangle(new SolidBrush(Color.FromArgb(37, 37, 37)), 3, 9, 122, 92);
+                    g.FillRectangle(new SolidBrush(Color.Black), 5, 11, 118, 88);
+                    //g.InterpolationMode = InterpolationMode.NearestNeighbor;
+                    g.DrawImage(TitleScreen, new Rectangle(32, 23, 64, 64));
+                    //g.InterpolationMode = InterpolationMode.Default;
+                }
+            }
+            else
+            {
+                g.FillRectangle(new SolidBrush(Color.FromArgb(37, 37, 37)), 3, 9, 122, 92);
+                g.FillRectangle(new SolidBrush(Color.Black), 5, 11, 118, 88);
+            }
+
+            if (Frame == null)
+            {
+                vc.AddString("Virtual Console.", font.FontFamily,
+                (int)(FontStyle.Bold | FontStyle.Italic),
+                g.DpiY * 9.2F / 72.0F, rectangleVC, format);
+                g.DrawPath(pen, vc);
+                g.FillPath(brush, vc);
+            }
+            else
+                g.DrawImage(Frame, new Rectangle(0, 0, 128, 128));
+
+            return img;
+        }
+    }
+}
diff --git a/Log.cs b/Log.cs
new file mode 100644
index 0000000..ce59ee1
--- /dev/null
+++ b/Log.cs
@@ -0,0 +1,125 @@
+using System;
+using System.Diagnostics;
+using System.IO;
+
+namespace Cll
+{
+    public static class Log
+    {
+        public enum TabMode
+        {
+            None,
+            OnlyFirst,
+            ExceptFirst,
+            All
+        }
+
+        private static string _filename;
+        public static string Filename { get { return _filename != null ? _filename : ""; } }
+        public static void SaveIn(String filename, bool clear = true)
+        {
+            if (filename != null && filename.Length > 0)
+            {
+                _filename = filename;
+                if (clear)
+                    File.Delete(filename);
+            }
+            else
+                _filename = null;
+        }
+
+        public static void Write(string value)
+        {
+            Debug.Write(value);
+            Console.Write(value);
+            if (_filename != null)
+                File.AppendAllText(_filename, value);
+        }
+
+        public static void WriteLine(string value)
+        {
+            Debug.WriteLine(value);
+            Console.WriteLine(value);
+            if (_filename != null)
+                File.AppendAllText(_filename, value + "\r\n");
+        }
+
+        public static void WriteLine(string value, int width, int tab, TabMode mode)
+        {
+            int tabLength = GetTabLength(value);
+            string t = tab > 0 ? new string(' ', tab) : value.Substring(0, tabLength);
+            string s = value.Substring(tabLength, value.Length - tabLength);
+            string[] words = s.Split(new char[] { ' ' });
+
+            if (words.Length == 1)
+                WriteLine((mode == TabMode.All || mode == TabMode.OnlyFirst ? t : "") + s);
+
+            else if (words.Length > 1)
+            {
+                int charCount = words[0].Length;
+                int start = 0;
+                int i = 1;
+                for (; i < words.Length; i++)
+                {
+                    if ((mode == TabMode.All || mode == TabMode.OnlyFirst ? t.Length : 0) +
+                        charCount + words[i].Length + 1 < width)
+                        charCount += words[i].Length + 1;
+                    else
+                    {
+                        WriteLine((mode == TabMode.All || mode == TabMode.OnlyFirst ? t : "") +
+                            s.Substring(start, charCount));
+                        start += charCount + 1;
+                        charCount = words[i].Length;
+                        break;
+                    }
+
+                    if (i + 1 == words.Length)
+                        WriteLine((mode == TabMode.All || mode == TabMode.OnlyFirst ? t : "") +
+                            s.Substring(start, charCount));
+                }
+                i++;
+                for (; i < words.Length; i++)
+                {
+                    if ((mode == TabMode.All || mode == TabMode.ExceptFirst ? t.Length : 0) +
+                        charCount + words[i].Length + 1 < width)
+                        charCount += words[i].Length + 1;
+                    else
+                    {
+                        WriteLine((mode == TabMode.All || mode == TabMode.ExceptFirst ? t : "") +
+                            s.Substring(start, charCount));
+                        start += charCount + 1;
+                        charCount = words[i].Length;
+                    }
+
+                    if (i + 1 == words.Length)
+                        WriteLine((mode == TabMode.All || mode == TabMode.ExceptFirst ? t : "") +
+                                s.Substring(start, charCount));
+                }
+            }
+            else
+                WriteLine(mode == TabMode.All || mode == TabMode.OnlyFirst ? t : "");
+        }
+
+        public static void WriteText(string text, int width, int tab, TabMode mode)
+        {
+            text = text.Replace("\r", "");
+            string[] lines = text.Split(new char[] { '\n' });
+
+            foreach (string line in lines)
+                WriteLine(line, width, tab, mode);
+        }
+
+        private static int GetTabLength(string line)
+        {
+            int i;
+
+            for (i = 0; i < line.Length; i++)
+            {
+                if (!char.IsWhiteSpace(line[i]))
+                    break;
+            }
+
+            return i;
+        }
+    }
+}
diff --git a/NusContent.cs b/NusContent.cs
new file mode 100644
index 0000000..af7db5c
--- /dev/null
+++ b/NusContent.cs
@@ -0,0 +1,365 @@
+using System;
+using System.Diagnostics;
+using System.Drawing;
+using System.IO;
+using System.Text;
+using System.Xml;
+using Microsoft.Win32;
+
+namespace _64Inject
+{
+    public static class NusContent
+    {
+        public const uint CommonKeyHashCRC32 = 0xB92B703D;
+
+        public static string GetJavaVersion()
+        {
+            try
+            {
+                ProcessStartInfo startInfo = new ProcessStartInfo("java", "-version");
+                startInfo.RedirectStandardOutput = true;
+                startInfo.RedirectStandardError = true;
+                startInfo.UseShellExecute = false;
+                startInfo.CreateNoWindow = true;
+                Process java = Process.Start(startInfo);
+                java.Start();
+                java.WaitForExit();
+                string version = java.StandardError.ReadLine();
+                java.Dispose();
+                //version = version.Split(' ')[2].Replace("\"", "");                
+                return version;
+            }
+            catch
+            {
+                return null;
+            }
+
+            /*object vesion = null;
+            RegistryKey javaRE = Registry.LocalMachine.OpenSubKey("SOFTWARE\\JavaSoft\\Java Runtime Environment");
+
+            if (javaRE != null)
+                version = javaRE.GetValue("CurrentVersion");
+
+            if (version != null)
+                return version.ToString();
+            else
+                return null;*/
+        }
+
+        public struct JNUSToolConfig
+        {
+            public const string UpdateServer = "http://ccs.cdn.wup.shop.nintendo.net/ccs/download";
+            public const string TAGAYA1 = "https://tagaya.wup.shop.nintendo.net/tagaya/versionlist/EUR/EU/latest_version";
+            public const string TAGAYA2 = "https://tagaya-wup.cdn.nintendo.net/tagaya/versionlist/EUR/EU/list/%d.versionlist";
+        }
+
+        public static string Check(string path)
+        {
+            if (File.Exists(path + "\\code\\app.xml") &&
+                Directory.Exists(path + "\\content") &&
+                File.Exists(path + "\\meta\\meta.xml"))
+            {
+                XmlDocument xmlMeta = new XmlDocument();
+                xmlMeta.Load(path + "\\meta\\meta.xml");
+                XmlNode meta_title_id = xmlMeta.SelectSingleNode("menu/title_id");
+                return meta_title_id.InnerText;
+            }
+            return null;
+        }
+
+        public static string CheckEncrypted(string path)
+        {
+            if (File.Exists(path + "\\title.tmd") &&
+                File.Exists(path + "\\title.tik") &&
+                File.Exists(path + "\\title.cert"))
+            {
+                byte[] id = new byte[8];
+                FileStream fs = File.OpenRead(path + "\\title.tmd");
+                fs.Position = 0x18C;
+                fs.Read(id, 0, 8);
+                fs.Close();
+                return BitConverter.ToString(id).Replace("-", "");
+            }
+            return null;
+        }
+        
+        public static void CheckBatchFiles()
+        {
+            if (!Directory.Exists("resources"))
+                Directory.CreateDirectory("resources");
+
+            if (!File.Exists("resources\\pack.bat"))
+            {
+                StreamWriter sw = File.CreateText("resources\\pack.bat");
+                sw.WriteLine("@echo off");
+                sw.WriteLine("cd resources\\nuspacker");
+                sw.Write("java -jar NUSPacker.jar -in %1 -out %2");
+                sw.Close();
+            }
+
+            if (!File.Exists("resources\\unpack.bat"))
+            {
+                StreamWriter sw = File.CreateText("resources\\unpack.bat");
+                sw.WriteLine("@echo off");
+                sw.WriteLine("cd resources\\jnustool");
+                sw.Write("java -jar JNUSTool.jar %1 -file %2");
+                sw.Close();
+            }
+        }
+
+        private static bool IsValidCommonKey(string key)
+        {
+            byte[] array = Encoding.ASCII.GetBytes(key.ToUpper());
+            uint hash = Cll.Security.ComputeCRC32(array, 0, array.Length);
+            if (hash == CommonKeyHashCRC32)
+                return true;
+            return false;
+        }
+                
+        public static bool LoadKey(string key)
+        {
+            if (NusContent.IsValidCommonKey(key))
+            {
+                try
+                {
+                    if (!Directory.Exists("resources\\nuspacker"))
+                        Directory.CreateDirectory("resources\\nuspacker");
+                    if (!Directory.Exists("resources\\jnustool"))
+                        Directory.CreateDirectory("resources\\jnustool");
+
+                    StreamWriter sw = File.CreateText("resources\\nuspacker\\encryptKeyWith");
+                    sw.WriteLine(key.ToUpper());
+                    sw.Close();
+                    sw = File.CreateText("resources\\jnustool\\config");
+                    sw.WriteLine(NusContent.JNUSToolConfig.UpdateServer);
+                    sw.WriteLine(key.ToUpper());
+                    sw.WriteLine("updatetitles.csv");
+                    sw.WriteLine(NusContent.JNUSToolConfig.TAGAYA1);
+                    sw.Write(NusContent.JNUSToolConfig.TAGAYA2);
+                    sw.Close();
+                    return true;
+                }
+                catch
+                {
+                    return false;
+                }
+            }
+            return false;
+        }
+
+        public static bool CheckCommonKeyFiles()
+        {
+            StreamReader sr;
+            StreamWriter sw;
+            string jnustoolKey = "";
+            string nuspackerKey = "";
+            bool jnustoolKeyValid = false;
+            bool nuspackerKeyValid = false;
+
+            if (File.Exists("resources\\jnustool\\config"))
+            {
+                sr = File.OpenText("resources\\jnustool\\config");
+                sr.ReadLine();
+                jnustoolKey = sr.ReadLine();
+                sr.Close();
+                jnustoolKeyValid = IsValidCommonKey(jnustoolKey);
+            }
+
+            if (File.Exists("resources\\nuspacker\\encryptKeyWith"))
+            {
+                sr = File.OpenText("resources\\nuspacker\\encryptKeyWith");
+                nuspackerKey = sr.ReadLine();
+                sr.Close();
+                nuspackerKeyValid = IsValidCommonKey(nuspackerKey);
+            }
+
+            if (jnustoolKeyValid && nuspackerKeyValid)
+                return true;
+            else if (jnustoolKeyValid && !nuspackerKeyValid)
+            {
+                try
+                {
+                    sw = File.CreateText("resources\\nuspacker\\encryptKeyWith");
+                    sw.WriteLine(jnustoolKey);
+                    sw.Close();
+                    return true;
+                }
+                catch
+                {
+                    return false;
+                }
+            }
+            else if (!jnustoolKeyValid && nuspackerKeyValid)
+            {
+                try
+                {
+                    sw = File.CreateText("resources\\jnustool\\config");
+                    sw.WriteLine(JNUSToolConfig.UpdateServer);
+                    sw.WriteLine(nuspackerKey);
+                    sw.WriteLine("updatetitles.csv");
+                    sw.WriteLine(JNUSToolConfig.TAGAYA1);
+                    sw.Write(JNUSToolConfig.TAGAYA2);
+                    sw.Close();
+                    return true;
+                }
+                catch
+                {
+                    return false;
+                }
+            }
+            else
+                return false;
+        }
+        
+        public static bool Encrypt(string inputPath, string outputPath)
+        {
+            string titleId = Check(inputPath);
+            if (titleId != null &&
+                CheckCommonKeyFiles() &&
+                GetJavaVersion() != null &&
+                File.Exists("resources\\nuspacker\\NUSPacker.jar"))
+            {
+                NusContent.CheckBatchFiles();
+                Process encrypt = Process.Start("resources\\pack.bat", "\"" + inputPath + "\" \"" + outputPath + "\"");
+                encrypt.WaitForExit();
+                encrypt.Dispose();
+                return true;
+            }
+            return false;
+        }
+
+        public static bool Decrypt(string inputPath, string outputPath)
+        {
+            string titleId = CheckEncrypted(inputPath);
+            if (titleId != null &&
+                CheckCommonKeyFiles() &&
+                GetJavaVersion() != null &&
+                File.Exists("resources\\jnustool\\JNUSTool.jar"))
+            {
+                string name = JNUSToolWrapper(inputPath, 0, Int32.MaxValue, titleId, ".*");
+                if (name != null)
+                {
+                    Useful.DirectoryCopy(name, outputPath, true);
+                    Directory.Delete(name, true);
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        public static string JNUSToolWrapper(string inputPath, int minFileLength, int maxFileLength, string titleId, string filter)
+        {
+            if (inputPath == null)
+                throw new Exception("JNUSToolWrapper: Input path is null.");
+            if (minFileLength < 0)
+                throw new Exception("JNUSToolWrapper: Min file length < zero.");
+            if (minFileLength > maxFileLength)
+                throw new Exception("JNUSToolWrapper: Min file length > Max file length.");
+            if (titleId == null)
+                throw new Exception("JNUSToolWrapper: Title Id is null.");
+
+            try
+            {
+                string[] directories = Directory.GetDirectories("resources\\jnustool");
+                foreach (string dir in directories)
+                    Directory.Delete(dir, true);
+
+                Directory.CreateDirectory("resources\\jnustool\\tmp_" + titleId);
+
+                string[] file = Directory.GetFiles(inputPath);
+                FileInfo[] fileInfo = new FileInfo[file.Length];
+
+                for (int i = 0; i < file.Length; i++)
+                {
+                    fileInfo[i] = new FileInfo(file[i]);
+                    if (fileInfo[i].Length >= minFileLength && fileInfo[i].Length <= maxFileLength)
+                        File.Copy(inputPath + "\\" + fileInfo[i].Name, "resources\\jnustool\\tmp_" + titleId + "\\" + fileInfo[i].Name, true);
+                }
+
+                NusContent.CheckBatchFiles();
+                Process decrypt = Process.Start("resources\\unpack.bat", titleId + " " + filter);
+                decrypt.WaitForExit();
+                decrypt.Dispose();
+
+                Directory.Delete("resources\\jnustool\\tmp_" + titleId, true);
+                string[] result = Directory.GetDirectories("resources\\jnustool");
+
+                if (result.Length == 1)
+                    return result[0];
+            }
+            catch
+            {
+                Cll.Log.WriteLine("JNUSToolWrapper: Failed.");
+            }
+            return null;
+        }
+
+        public static bool ConvertToTGA(Bitmap image, string outputFileName)
+        {
+            if (image.Width > 0xFFFF || image.Height > 0xFFFF)
+                return false;
+
+            byte[] header = {
+                    0x00, 0x00, 0x02, 0x00,
+                    0x00, 0x00, 0x00, 0x00,
+                    0x00, 0x00, 0x00, 0x00,
+                    (byte)(image.Width & 0xFF),
+                    (byte)((image.Width >> 8) & 0xFF),
+                    (byte)(image.Height & 0xFF),
+                    (byte)((image.Height >> 8) & 0xFF),
+                    0x00, 0x00 };
+
+            byte[] footer = {
+                    0x00, 0x00, 0x00, 0x00,
+                    0x00, 0x00, 0x00, 0x00,
+                    0x54, 0x52, 0x55, 0x45,
+                    0x56, 0x49, 0x53, 0x49,
+                    0x4F, 0x4E, 0x2D, 0x58,
+                    0x46, 0x49, 0x4C, 0x45,
+                    0x2E, 0x00 };
+
+            int bytesPerPixel = 0;
+            if (image.PixelFormat == System.Drawing.Imaging.PixelFormat.Format32bppArgb)
+            {
+                header[0x10] = 0x20;
+                header[0x11] = 0x08;
+                bytesPerPixel = 4;
+            }
+            else if (image.PixelFormat == System.Drawing.Imaging.PixelFormat.Format24bppRgb)
+            {
+                header[0x10] = 0x18;
+                bytesPerPixel = 3;
+            }
+            else
+                return false;
+
+            Bitmap bmp = new Bitmap(image.Width, image.Height, image.PixelFormat);
+            Graphics g = Graphics.FromImage(bmp);
+            g.DrawImage(image, new Rectangle(0, 0, bmp.Width, bmp.Height));
+            g.Dispose();
+
+            bmp.RotateFlip(RotateFlipType.RotateNoneFlipY);
+            Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
+            System.Drawing.Imaging.BitmapData data =
+                bmp.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, bmp.PixelFormat);
+            int length = data.Width * data.Height * bytesPerPixel;
+            byte[] bmpBytes = new byte[length];
+            for (int y = 0; y < data.Height; ++y)
+            {
+                IntPtr ptr = (IntPtr)((long)data.Scan0 + y * data.Stride);
+                System.Runtime.InteropServices.Marshal.Copy(
+                    ptr, bmpBytes, y * data.Width * bytesPerPixel, data.Width * bytesPerPixel);
+            }
+            bmp.UnlockBits(data);
+            bmp.Dispose();
+
+            FileStream fs = File.Open(outputFileName, FileMode.Create);
+            fs.Write(header, 0, header.Length);
+            fs.Write(bmpBytes, 0, bmpBytes.Length);
+            fs.Write(footer, 0, footer.Length);
+            fs.Close();
+
+            return true;
+        }
+    }
+}
diff --git a/Program.cs b/Program.cs
new file mode 100644
index 0000000..ba616fd
--- /dev/null
+++ b/Program.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Windows.Forms;
+
+namespace _64Inject
+{
+    class Program
+    {
+        [System.Runtime.InteropServices.DllImport("kernel32.dll")]
+        static extern bool FreeConsole();
+
+        /// <summary>
+        /// Main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main(string[] args)
+        {
+            if (args.Length == 0)
+            {
+                FreeConsole();
+                Application.EnableVisualStyles();
+                Application.SetCompatibleTextRenderingDefault(false);
+                Application.Run(new _64InjectGUI());
+            }
+            else
+            {
+                _64InjectCMD cmd = new _64InjectCMD();
+                cmd.Run(args);
+            }
+        }
+    }
+}
diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..7b14d72
--- /dev/null
+++ b/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// La información general sobre un ensamblado se controla mediante el siguiente 
+// conjunto de atributos. Cambie estos atributos para modificar la información
+// asociada con un ensamblado.
+[assembly: AssemblyTitle("64Inject debug")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("64Inject")]
+[assembly: AssemblyCopyright("Copyright © 2019")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Si establece ComVisible como false, los tipos de este ensamblado no estarán visibles 
+// para los componentes COM. Si necesita obtener acceso a un tipo de este ensamblado desde 
+// COM, establezca el atributo ComVisible como true en este tipo.
+[assembly: ComVisible(false)]
+
+// El siguiente GUID sirve como identificador de typelib si este proyecto se expone a COM
+[assembly: Guid("a61f45e8-f166-49d6-be58-62d11c332451")]
+
+// La información de versión de un ensamblado consta de los cuatro valores siguientes:
+//
+//      Versión principal
+//      Versión secundaria 
+//      Número de versión de compilación
+//      Revisión
+//
+// Puede especificar todos los valores o establecer como predeterminados los números de versión de compilación y de revisión 
+// mediante el asterisco ('*'), como se muestra a continuación:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.4.82.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..4d74362
--- /dev/null
+++ b/Properties/Resources.Designer.cs
@@ -0,0 +1,102 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Este código fue generado por una herramienta.
+//     Versión de runtime:4.0.30319.42000
+//
+//     Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
+//     se vuelve a generar el código.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace _64Inject.Properties {
+    using System;
+    
+    
+    /// <summary>
+    ///   Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc.
+    /// </summary>
+    // StronglyTypedResourceBuilder generó automáticamente esta clase
+    // a través de una herramienta como ResGen o Visual Studio.
+    // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen
+    // con la opción /str o recompile su proyecto de VS.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources() {
+        }
+        
+        /// <summary>
+        ///   Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("_64Inject.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+        
+        /// <summary>
+        ///   Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las
+        ///   búsquedas de recursos mediante esta clase de recurso fuertemente tipado.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture {
+            get {
+                return resourceCulture;
+            }
+            set {
+                resourceCulture = value;
+            }
+        }
+        
+        /// <summary>
+        ///   Busca un recurso adaptado de tipo System.Drawing.Bitmap.
+        /// </summary>
+        internal static System.Drawing.Bitmap checkmark_16 {
+            get {
+                object obj = ResourceManager.GetObject("checkmark-16", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   Busca una cadena traducida similar a Use: 64inject [-base folder_path]
+        ///              [-name short_name] [-longname name_line_1 name_line_2]
+        ///              [no-darkfilter] [widescreen] [-zoom value]
+        ///              [-in folder_path] [-rom file_path] [-ini file_path]
+        ///              [-icon file_path] [-tv file_path] [-drc file_path]
+        ///              [-out folder_path] [not-encrypt]
+        /// Or: 64inject help
+        /// Or: 64inject load-key common_key
+        /// Or: 64inject load-base folder_path
+        /// Or: 64inject create-image [-frame file_path] [-title file_path]
+        ///           [resto de la cadena truncado]&quot;;.
+        /// </summary>
+        internal static string Help {
+            get {
+                return ResourceManager.GetString("Help", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Busca un recurso adaptado de tipo System.Drawing.Bitmap.
+        /// </summary>
+        internal static System.Drawing.Bitmap x_mark_16 {
+            get {
+                object obj = ResourceManager.GetObject("x-mark-16", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+    }
+}
diff --git a/Properties/Resources.resx b/Properties/Resources.resx
new file mode 100644
index 0000000..7d85a84
--- /dev/null
+++ b/Properties/Resources.resx
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="x-mark-16" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\x-mark-16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="checkmark-16" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\checkmark-16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="Help" xml:space="preserve">
+    <value>Use: 64inject [-base folder_path]
+              [-name short_name] [-longname name_line_1 name_line_2]
+              [no-darkfilter] [widescreen] [-zoom value]
+              [-in folder_path] [-rom file_path] [-ini file_path]
+              [-icon file_path] [-tv file_path] [-drc file_path]
+              [-out folder_path] [not-encrypt]
+ Or: 64inject help
+ Or: 64inject load-key common_key
+ Or: 64inject load-base folder_path
+ Or: 64inject create-image [-frame file_path] [-title file_path]
+              [-name short_name|-longname name_line_1 name_line_2]
+			  [-r value] [-p value] [-out folder_path]
+ Or: 64inject create-icon [-frame file_path] [-title file_path]
+              [-out folder_path]
+ Or: 64inject pack|unpack -in folder_path [-out folder_path]
+
+Options:
+
+ help
+    Show this help message.
+
+ load-key common_key
+    The Wii U Common Key is required to pack and unpack NUS CONTENT.
+ load-base folder_path
+    Path to the N64 VC game that will be copied internally "base" where the ROM will be injected.
+
+ create-image
+    Indicates that must create an image for the boot screen.
+ create-icon
+    Indicates that must create an icon to represent a game.
+
+ pack
+    Indicates that the NUS CONTENT input will be encrypted.
+ unpack
+    Indicates that the NUS CONTENT input will be decrypted.
+
+ -base folder_path
+    Path to the N64 VC game where the ROM will be injected.
+    The process does not modify the N64 VC game since it creates an internal copy of the game "base", if not specified, the previous loaded base will be used.
+ -name short_name
+    A short game name to show.
+    If not specified, the name inside ROM will be used.
+    If the create-image option is present, it indicates the name of a single line that will be placed on the frame image.
+ -longname name_line_1 name_line_2
+    A long game name to show can be two lines.
+    If not specified, the short name will be used.
+    If the create-image option is present, it indicates the name of two lines that will be placed on the frame image.
+ no-darkfilter
+    Indicates that the dark filter should be removed from the layout.
+    If not specified, the dark filter will remain active.
+ widescreen
+    Indicates that the masking pillarbox must be removed from the layout.
+    If not specified, the masking pillarbox will remain active.
+ -zoom value
+    A value between 50 and 200 that represents the zoom percentage of the game image. If not specified, the value 100 will be used.
+ -in folder_path
+    Path where the "rom.z64", "vc.ini", "icon.png", "tv.png" and "drc.png" files are taken.
+    If the pack|unpack option is present it indicates the path to the NUS CONTENT.
+ -rom file_path
+    Path to the N64 game ROM.
+    If not specified, the "rom.z64" file will be searched in the "-in" folder.
+ -ini file_path
+    Path to the N64 VC INI file.
+    If not specified, the "vc.ini" file will be searched in the "-in" folder, if not found an empty INI file will be injected.
+ -icon file_path
+    Path to an image file to use as icon (*.png, *.jpg or *.bmp).
+    If not specified, the "icon.png" file will be searched in the "-in" folder, if not found a default image will be used.
+ -tv file_path
+    Path to an image file to use as boot tv (*.png, *.jpg or *.bmp).
+    If not specified, the "tv.png" file will be searched in the "-in" folder, if not found a default image will be used.
+ -drc file_path
+    Path to an image file to use as boot drc (*.png, *.jpg or *.bmp).
+    If not specified, the "drc.png" file will be searched in the "-in" folder, if not found the boot tv image will be used.
+ -out folder_path
+    Path where the result will be put.
+    If not specified, the root folder of 64Inject will be used.
+ not-encrypt
+    Indicates that the result should not be encrypted, by default is encrypted.
+
+ -title file_path
+    Path to the image of the title screen, which will be placed on the background by default. If not specified, a black box will be placed.
+ -frame file_path
+    Path to the frame image, which will be placed on the title screen.
+    If not specified, the background will be seen by default.
+ -r value
+    A value greater than or equal to 1996, that represents the launch year of the game, will be placed on the frame image.
+ -p value
+    A value between 1 and 4, that represents the number of players that the game supports, will be placed on the frame image.
+
+Note:
+    If the paths or names contain spaces put them in quotes.</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Resources/checkmark-16.png b/Resources/checkmark-16.png
new file mode 100644
index 0000000..6a98806
Binary files /dev/null and b/Resources/checkmark-16.png differ
diff --git a/Resources/icon.ico b/Resources/icon.ico
new file mode 100644
index 0000000..4799ada
Binary files /dev/null and b/Resources/icon.ico differ
diff --git a/Resources/x-mark-16.png b/Resources/x-mark-16.png
new file mode 100644
index 0000000..acbd2f6
Binary files /dev/null and b/Resources/x-mark-16.png differ
diff --git a/RomN64.cs b/RomN64.cs
new file mode 100644
index 0000000..5bb84ee
--- /dev/null
+++ b/RomN64.cs
@@ -0,0 +1,218 @@
+using System;
+using System.IO;
+using System.Text;
+
+namespace _64Inject
+{
+    public class RomN64 : IDisposable
+    {
+        public enum Endian
+        {
+            BigEndian,
+            LittleEndian,
+            ByteSwapped,
+            Indeterminate
+        }
+
+        private bool disposed = false;
+
+        public int Size
+        { private set; get; }
+        public Endian Endianness
+        { private set; get; }
+        public string Title
+        { private set; get; }
+        public char FormatCode
+        { private set; get; }
+        public string Id
+        { private set; get; }
+        public char ContryCode
+        { private set; get; }
+        public byte Version
+        { private set; get; }
+
+        public char Revision
+        { get { return Version == 0? ' ' :(char)(Version + 0x40); } }
+        public string ProductCode
+        { get { return (FormatCode + Id + ContryCode).ToUpper(); } }
+        public string ProductCodeVersion
+        { get { return ProductCode + Version.ToString("X1"); } }
+        public bool IsValid
+        { private set; get; }
+        public uint HashCRC32
+        { private set; get; }
+
+        public RomN64(string filename)
+        {
+            Size = 0;
+            Title = "";
+            FormatCode = '?';
+            Id = "??";
+            ContryCode = '?';
+            Version = 0;
+
+            try
+            {
+                Cll.Log.WriteLine("Validating ROM.");
+
+                byte[] header = new byte[0x40];
+                FileStream fs = File.Open(filename, FileMode.Open);
+                Size = (int)fs.Length;
+                fs.Read(header, 0, 0x40);
+                fs.Close();
+
+                if (Size > 0xFFF)
+                {
+                    if (header[0] == 0x80 &&
+                        header[1] == 0x37 &&
+                        header[2] == 0x12 &&
+                        header[3] == 0x40)
+                        Endianness = Endian.BigEndian;
+                    else if (header[0] == 0x37 &&
+                        header[1] == 0x80 &&
+                        header[2] == 0x40 &&
+                        header[3] == 0x12)
+                        Endianness = Endian.ByteSwapped;
+                    else if (header[0] == 0x40 &&
+                        header[1] == 0x12 &&
+                        header[2] == 0x37 &&
+                        header[3] == 0x80)
+                        Endianness = Endian.LittleEndian;
+                    else
+                        Endianness = Endian.Indeterminate;
+
+                    if (Endianness != Endian.Indeterminate && Size % 4 == 0)
+                    {
+                        IsValid = true;
+
+                        byte formatCode;
+                        byte[] id = new byte[2];
+                        byte contryCode;
+
+                        header = ToBigEndian(header, Endianness);
+
+                        formatCode = header[0x3B];
+                        id[0] = header[0x3C];
+                        id[1] = header[0x3D];
+                        contryCode = header[0x3E];
+                        Version = header[0x3F];
+                        FormatCode = (char)formatCode;
+                        Id = Encoding.ASCII.GetString(id);
+                        ContryCode = (char)contryCode;
+
+                        byte[] titleBytes = new byte[20];
+                        Array.Copy(header, 0x20, titleBytes, 0, 20);
+                        int count = 20;
+                        while (titleBytes[--count] == 0x20 && count > 0) ;
+                        Title = Encoding.ASCII.GetString(titleBytes, 0, count + 1);
+
+                        fs = File.Open(filename, FileMode.Open);
+                        HashCRC32 = Cll.Security.ComputeCRC32(fs);
+                        fs.Close();
+
+                        Cll.Log.WriteLine("The ROM is valid and its metadata has been loaded.");
+                    }
+                    else
+                        Cll.Log.WriteLine("It was not possible to determine the ROM format.");
+                }
+                else
+                {
+                    Size = 0;
+                    Cll.Log.WriteLine("The ROM is too small to be valid.");
+                }
+            }
+            catch
+            {
+                Cll.Log.WriteLine("Error reading ROM.");
+            }
+        }
+
+        ~RomN64()
+        {
+            Dispose(false);
+        }
+
+        public void Dispose()
+        {
+            Dispose(true);
+            GC.SuppressFinalize(this);
+        }
+
+        protected virtual void Dispose(bool disposing)
+        {
+            if (!this.disposed)
+            {
+                if (disposing)
+                {
+                }
+                disposed = true;
+            }
+        }
+
+        public static bool ToBigEndian(string source, string destination)
+        {
+            RomN64 rom = new RomN64(source);
+
+            if (rom.IsValid)
+            {
+                try
+                {
+                    FileStream fs = File.Open(source, FileMode.Open);
+                    byte[] data = new byte[fs.Length];
+                    fs.Read(data, 0, data.Length);
+                    fs.Close();
+
+                    data = ToBigEndian(data, rom.Endianness);
+                    fs = File.Open(destination, FileMode.Create);
+                    fs.Write(data, 0, data.Length);
+                    fs.Close();
+
+                    return true;
+                }
+                catch { }
+            }
+            return false;
+        }
+
+        private static byte[] ToBigEndian(byte[] array, Endian endianness)
+        {
+            if (array.Length % 4 != 0)
+                throw new Exception("ToBigEndian: Invalid array length.");
+
+            byte[] bigEndian = new byte[4];
+
+            if (endianness == Endian.ByteSwapped)
+            {
+                for (int i = 0; i < array.Length / 4; i++)
+                {
+                    bigEndian[0] = array[(i * 4) + 1];
+                    bigEndian[1] = array[(i * 4) + 0];
+                    bigEndian[2] = array[(i * 4) + 3];
+                    bigEndian[3] = array[(i * 4) + 2];
+
+                    array[(i * 4) + 0] = bigEndian[0];
+                    array[(i * 4) + 1] = bigEndian[1];
+                    array[(i * 4) + 2] = bigEndian[2];
+                    array[(i * 4) + 3] = bigEndian[3];
+                }
+            }
+            else if (endianness == Endian.LittleEndian)
+            {
+                for (int i = 0; i < array.Length / 4; i++)
+                {
+                    bigEndian[0] = array[(i * 4) + 3];
+                    bigEndian[1] = array[(i * 4) + 2];
+                    bigEndian[2] = array[(i * 4) + 1];
+                    bigEndian[3] = array[(i * 4) + 0];
+
+                    array[(i * 4) + 0] = bigEndian[0];
+                    array[(i * 4) + 1] = bigEndian[1];
+                    array[(i * 4) + 2] = bigEndian[2];
+                    array[(i * 4) + 3] = bigEndian[3];
+                }
+            }
+
+            return array;
+        }
+    }
+}
diff --git a/Security.cs b/Security.cs
new file mode 100644
index 0000000..b8341e0
--- /dev/null
+++ b/Security.cs
@@ -0,0 +1,183 @@
+using System;
+using System.IO;
+
+namespace Cll
+{
+    public static class Security
+    {
+        #region Consts
+
+        private static readonly ushort[] CRC16Table =
+        {
+            0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241,
+            0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440,
+            0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40,
+            0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841,
+            0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40,
+            0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41,
+            0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641,
+            0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040,
+            0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240,
+            0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441,
+            0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41,
+            0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840,
+            0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41,
+            0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40,
+            0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640,
+            0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041,
+            0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240,
+            0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441,
+            0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41,
+            0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840,
+            0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41,
+            0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40,
+            0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640,
+            0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041,
+            0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241,
+            0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440,
+            0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40,
+            0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841,
+            0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40,
+            0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41,
+            0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641,
+            0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040
+        };
+
+        private static readonly uint[] CRC32Table =
+        {
+            0x00000000, 0x77073096, 0xee0e612c, 0x990951ba,
+            0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
+            0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
+            0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,
+            0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de,
+            0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
+            0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec,
+            0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5,
+            0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
+            0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
+            0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940,
+            0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
+            0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116,
+            0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f,
+            0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
+            0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d,
+            0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a,
+            0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
+            0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818,
+            0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
+            0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
+            0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
+            0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c,
+            0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
+            0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
+            0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb,
+            0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
+            0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
+            0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086,
+            0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
+            0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4,
+            0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad,
+            0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
+            0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
+            0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
+            0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
+            0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe,
+            0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
+            0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
+            0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
+            0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252,
+            0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
+            0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60,
+            0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
+            0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
+            0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f,
+            0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04,
+            0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
+            0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a,
+            0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
+            0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
+            0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
+            0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e,
+            0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
+            0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
+            0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
+            0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
+            0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db,
+            0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0,
+            0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
+            0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6,
+            0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
+            0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
+            0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
+        };
+
+        #endregion
+
+        public static ushort ComputeCRC16(byte[] source, int offset, int count, ushort crc)
+        {
+            if (count < 0 || count > source.Length)
+                throw new IndexOutOfRangeException("Count out of range exception.");
+
+            if (offset < 0 || offset + count > source.Length)
+                throw new IndexOutOfRangeException("Offset out of range exception.");
+
+            count += offset;
+            for (; offset < count; offset++)
+                crc = (ushort)(CRC16Table[(crc ^ source[offset]) & 0xFF] ^ (crc >> 8));
+
+            return crc;
+        }
+
+        public static ushort ComputeCRC16_ARC(byte[] source, int offset, int count)
+        {
+            return ComputeCRC16(source, offset, count, 0);
+        }
+
+        public static ushort ComputeCRC16_MAXIM(byte[] source, int offset, int count)
+        {
+            return (ushort)(ComputeCRC16(source, offset, count, 0) ^ 0xFFFF);
+        }
+
+        public static ushort ComputeCRC16_MODBUS(byte[] source, int offset, int count)
+        {
+            return ComputeCRC16(source, offset, count, 0xFFFF);
+        }
+
+        public static ushort ComputeCRC16_USB(byte[] source, int offset, int count)
+        {
+            return (ushort)(ComputeCRC16(source, offset, count, 0xFFFF) ^ 0xFFFF);
+        }
+
+        public static uint ComputeCRC32(byte[] source, int offset, int count, uint crc)
+        {
+            if (count < 0 || count > source.Length)
+                throw new IndexOutOfRangeException("Count out of range exception.");
+
+            if (offset < 0 || offset + count > source.Length)
+                throw new IndexOutOfRangeException("Offset out of range exception.");
+
+            count += offset;
+            for (; offset < count; offset++)
+                crc = CRC32Table[(crc ^ source[offset]) & 0xFF] ^ (crc >> 8);
+
+            return crc;
+        }
+
+        public static uint ComputeCRC32(byte[] source, int offset, int count) //ISO-HDLC
+        {
+            return ComputeCRC32(source, offset, count, 0xFFFFFFFFU) ^ 0xFFFFFFFFU;
+        }
+
+        public static uint ComputeCRC32_JAMCRC(byte[] source, int offset, int count)
+        {
+            return ComputeCRC32(source, offset, count, 0xFFFFFFFFU);
+        }
+
+        public static uint ComputeCRC32(Stream source)
+        {
+            byte[] array = new byte[source.Length];
+            source.Read(array, 0, array.Length);
+            return ComputeCRC32(array, 0, array.Length);
+        }
+    }
+}
diff --git a/Useful.cs b/Useful.cs
new file mode 100644
index 0000000..0cf4539
--- /dev/null
+++ b/Useful.cs
@@ -0,0 +1,180 @@
+using System;
+using System.IO;
+using System.Text;
+
+namespace _64Inject
+{
+    public static class Useful
+    {
+        public static bool DirectoryCopy(string source, string destination, bool overwrite)
+        {
+            if (destination != source && (!Directory.Exists(destination) || overwrite))
+            {
+                try
+                {
+                    Directory.CreateDirectory(destination);
+
+                    string[] sources = Directory.GetFiles(source);
+                    string[] destinations = new string[sources.Length];
+                    int i, last;
+
+                    for (i = 0; i < sources.Length; i++)
+                        destinations[i] = destination + "\\" + Path.GetFileName(sources[i]);
+
+                    for (i = 0; i < sources.Length; i++)
+                        File.Copy(sources[i], destinations[i], overwrite);
+
+                    string[] sourcesDir = Directory.GetDirectories(source);
+                    string[] destinationsDir = new string[sourcesDir.Length];
+
+                    for (i = 0; i < sourcesDir.Length; i++)
+                    {
+                        last = sourcesDir[i].LastIndexOf('\\');
+                        destinationsDir[i] = destination + sourcesDir[i].Substring(last, sourcesDir[i].Length - last);
+                    }
+
+                    for (i = 0; i < sourcesDir.Length; i++)
+                    {
+                        if (!DirectoryCopy(sourcesDir[i], destinationsDir[i], overwrite))
+                            return false;
+                    }
+
+                    return true;
+                }
+                catch
+                {
+                    return false;
+                }
+            }
+
+            return false;
+        }
+
+        public static byte[] StrHexToByteArray(string hex, string separator)
+        {
+            if (hex.Length % 2 == 1)
+                throw new Exception("The binary key cannot have an odd number of digits.");
+
+            if (separator.Length > 0)
+                hex = hex.Replace(separator, "");
+
+            if (!IsHexadecimal(hex))
+                throw new Exception("The binary key does not contain only hexadecimal values.");
+
+            byte[] arr = new byte[hex.Length >> 1];
+
+            for (int i = 0; i < hex.Length >> 1; ++i)
+                arr[i] = (byte)((GetHexVal(hex[i << 1]) << 4) + (GetHexVal(hex[(i << 1) + 1])));
+
+            return arr;
+        }
+
+        public static bool IsHexadecimal(string hex)
+        {
+            for (int i = 0; i < hex.Length; i++)
+            {
+                if ((hex[i] < '0' || hex[i] > '9')
+                    && (hex[i] < 'A' || hex[i] > 'F')
+                    && (hex[i] < 'a' || hex[i] > 'f'))
+                    return false;
+            }
+            return true;
+        }
+
+        private static int GetHexVal(char hex)
+        {
+            int val = (int)hex;
+            //For uppercase A-F letters:
+            //return val - (val < 58 ? 48 : 55);
+            //For lowercase a-f letters:
+            //return val - (val < 58 ? 48 : 87);
+            //Or the two combined, but a bit slower:
+            return val - (val < 58 ? 48 : (val < 97 ? 55 : 87));
+        }
+
+        public static bool IsUTF8(byte[] bytes)
+        {
+            try
+            {
+                (new UTF8Encoding(false, true)).GetString(bytes);
+            }
+            catch
+            {
+                return false;
+            }
+            return true;
+        }
+
+        public static string Windows1252ToASCII(string windows1252, char replacement)
+        {
+            if (replacement < 0x20 || replacement > 0x7E)
+                throw new Exception("Replacement character is not a valid ASCII character.");
+
+            windows1252 = windows1252.Replace("Š", "Sh");
+            windows1252 = windows1252.Replace("Œ", "OE");
+            windows1252 = windows1252.Replace("Ž", "Zh");
+            windows1252 = windows1252.Replace("š", "sh");
+            windows1252 = windows1252.Replace("œ", "oe");
+            windows1252 = windows1252.Replace("ž", "zh");
+            windows1252 = windows1252.Replace("Ÿ", "Ij");
+            windows1252 = windows1252.Replace("Æ", "AE");
+            windows1252 = windows1252.Replace("Ð", "Dh");
+            windows1252 = windows1252.Replace("Ñ", "Nh");
+            windows1252 = windows1252.Replace("Ø", "OE");
+            windows1252 = windows1252.Replace("Þ", "Th");
+            windows1252 = windows1252.Replace("ß", "ss");
+            windows1252 = windows1252.Replace("æ", "ae");
+            windows1252 = windows1252.Replace("ð", "dh");
+            windows1252 = windows1252.Replace("ñ", "nh");
+            windows1252 = windows1252.Replace("ø", "oe");
+            windows1252 = windows1252.Replace("þ", "th");
+            windows1252 = windows1252.Replace("ÿ", "ij");
+
+            char[] array = windows1252.ToCharArray();
+
+            for (int i = 0; i < array.Length; i++)
+            {
+                if (array[i] >= 0xC0 && array[i] <= 0xC5)
+                    array[i] = (char)0x41; //A
+                else if (array[i] >= 0xC8 && array[i] <= 0xCB)
+                    array[i] = (char)0x45; //E
+                else if (array[i] >= 0xCC && array[i] <= 0xCF)
+                    array[i] = (char)0x49; //I
+                else if (array[i] >= 0xD2 && array[i] <= 0xD6)
+                    array[i] = (char)0x4F; //O
+                else if (array[i] >= 0xD9 && array[i] <= 0xDC)
+                    array[i] = (char)0x55; //U
+                else if (array[i] >= 0xE0 && array[i] <= 0xE5)
+                    array[i] = (char)0x61; //a
+                else if (array[i] >= 0xE8 && array[i] <= 0xEB)
+                    array[i] = (char)0x65; //e
+                else if (array[i] >= 0xEC && array[i] <= 0xEF)
+                    array[i] = (char)0x69; //i
+                else if (array[i] >= 0xF2 && array[i] <= 0xF6)
+                    array[i] = (char)0x6F; //o
+                else if (array[i] >= 0xF9 && array[i] <= 0xFC)
+                    array[i] = (char)0x75; //u
+                else if (array[i] == 0xC7)
+                    array[i] = (char)0x53; //S
+                else if (array[i] == 0xE7)
+                    array[i] = (char)0x73; //s
+                else if (array[i] == 0xDD)
+                    array[i] = (char)0x59; //Y
+                else if (array[i] == 0xFD)
+                    array[i] = (char)0x79; //y
+                else if (array[i] == 0x91)
+                    array[i] = (char)0x27; //'
+                else if (array[i] == 0x92)
+                    array[i] = (char)0x27; //'
+                else if (array[i] == 0x93)
+                    array[i] = (char)0x22; //"
+                else if (array[i] == 0x94)
+                    array[i] = (char)0x22; //"
+                else if (array[i] < 0x20 || array[i] > 0x7E)
+                    array[i] = replacement;
+            }
+
+            return new string(array);
+        }
+    }
+}
diff --git a/VCN64.cs b/VCN64.cs
new file mode 100644
index 0000000..0184504
--- /dev/null
+++ b/VCN64.cs
@@ -0,0 +1,40 @@
+
+namespace _64Inject
+{
+    public class VCN64
+    {
+        public readonly uint HashCRC32;
+        public readonly string Title;
+        public readonly string Info;
+
+        public VCN64(uint hashCRC32, string info, string title)
+        {
+            HashCRC32 = hashCRC32;
+            Title = title;
+            Info = info;
+        }
+
+        public override string ToString()
+        {
+            return Title + "\nCRC32: " + HashCRC32.ToString("X8") + " " + Info;
+        }
+
+        public static readonly VCN64 DonkeyKong64   = new VCN64(0xFB245F10, "SVN: 1680 TIME: 2015/01/20 14:12:06", "Donkey Kong 64 (NTSC-U)");
+        public static readonly VCN64 Ocarina        = new VCN64(0xF042E451, "SVN: 1696 TIME: 2015/01/30 10:49:22", "The Legend of Zelda: Ocarina of Time (NTSC-U)");
+        public static readonly VCN64 PaperMario     = new VCN64(0xAE933905, "SVN: 1743 TIME: 2015/03/05 15:06:57", "Paper Mario (NTSC-U)");
+        public static readonly VCN64 Kirby64        = new VCN64(0x7EB7B97D, "SVN: 1790 TIME: 2015/03/24 13:46:36", "Kirby 64: The Crystal Shards (NTSC-U)");
+        public static readonly VCN64 MarioTennis    = new VCN64(0x05F20995, "SVN: 1918 TIME: 2015/05/20 14:34:00", "Mario Tennis (NTSC-U)");
+        public static readonly VCN64 MarioGolf      = new VCN64(0x307DCE21, "SVN: 1955 TIME: 2015/06/16 16:09:03", "Mario Golf (NTSC-U)");
+        public static readonly VCN64 StarFox64      = new VCN64(0xF41BC127, "SVN: 1970 TIME: 2015/06/30 14:07:35", "Star Fox 64 (NTSC-U)");
+        public static readonly VCN64 SinAndP        = new VCN64(0x36C0456E, "SVN: 1991 TIME: 2015/07/16 09:20:39", "Sin and Punishment (NTSC-U)");
+        public static readonly VCN64 MarioKart64    = new VCN64(0x5559F831, "SVN: 2043 TIME: 2015/08/18 10:07:52", "Mario Kart 64 (NTSC-U)");
+        public static readonly VCN64 YoshiStory     = new VCN64(0xD554D2E4, "SVN: 2079 TIME: 2015/09/15 16:19:11", "Yoshi's Story (NTSC-U)");
+        public static readonly VCN64 WaveRace64     = new VCN64(0xC376B949, "SVN: 2136 TIME: 2015/11/18 12:41:26", "Wave Race 64 (NTSC-U)");
+        public static readonly VCN64 Majora         = new VCN64(0x71FC1731, "SVN: 2190 TIME: 2016/01/05 16:50:14", "The Legend of Zelda: Majora's Mask (NTSC-U)");
+        public static readonly VCN64 PokemonSnap    = new VCN64(0x967E7DF0, "SVN: 2195 TIME: 2016/01/08 09:42:51", "Pokémon Snap (NTSC-U)");
+        public static readonly VCN64 MarioParty2    = new VCN64(0xBE3CEC5F, "SVN: 2234 TIME: 2016/02/02 10:56:10", "Mario Party 2 (NTSC-U)");
+        public static readonly VCN64 OgreBattle64   = new VCN64(0xFED1FB48, "SVN: 2395 TIME: 2016/08/30 13:57:02", "Ogre Battle 64: Person of Lordly Caliber (NTSC-U)");
+        public static readonly VCN64 Excitebike64   = new VCN64(0x724C4F5D, "SVN: 2404 TIME: 2016/09/14 13:42:00", "Excitebike 64 (NTSC-U)");
+        public static readonly VCN64 FZeroX         = new VCN64(0x2AF3C23B, "SVN: 2428 TIME: 2016/11/18 11:44:39", "F-Zero X (NTSC-U)");
+    }
+}
diff --git a/app.config b/app.config
new file mode 100644
index 0000000..cf7e7ab
--- /dev/null
+++ b/app.config
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>