Przeglądaj źródła

created common startup project for mono & windows

Luke Pulverenti 10 lat temu
rodzic
commit
1a80362a0f
52 zmienionych plików z 1031 dodań i 3428 usunięć
  1. 112 0
      MediaBrowser.Api/FilterService.cs
  2. 1 1
      MediaBrowser.Api/Images/ImageService.cs
  3. 4 2
      MediaBrowser.Api/MediaBrowser.Api.csproj
  4. 1 5
      MediaBrowser.Api/UserLibrary/ItemsService.cs
  5. 1 1
      MediaBrowser.Api/packages.config
  6. 3 2
      MediaBrowser.Controller/MediaBrowser.Controller.csproj
  7. 1 1
      MediaBrowser.Controller/packages.config
  8. 3 0
      MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
  9. 3 0
      MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
  10. 0 6
      MediaBrowser.Model/Configuration/ServerConfiguration.cs
  11. 1 0
      MediaBrowser.Model/MediaBrowser.Model.csproj
  12. 19 0
      MediaBrowser.Model/Querying/QueryFilters.cs
  13. 3 2
      MediaBrowser.Providers/MediaBrowser.Providers.csproj
  14. 1 1
      MediaBrowser.Providers/packages.config
  15. 5 2
      MediaBrowser.Server.Implementations/Localization/Server/server.json
  16. 3 2
      MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
  17. 1 1
      MediaBrowser.Server.Implementations/packages.config
  18. 4 24
      MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj
  19. 0 25
      MediaBrowser.Server.Mono/Native/Assemblies.cs
  20. 0 20
      MediaBrowser.Server.Mono/Native/Autorun.cs
  21. 170 48
      MediaBrowser.Server.Mono/Native/NativeApp.cs
  22. 0 26
      MediaBrowser.Server.Mono/Native/ServerAuthorization.cs
  23. 1 3
      MediaBrowser.Server.Mono/Networking/NetworkManager.cs
  24. 5 3
      MediaBrowser.Server.Mono/Program.cs
  25. 21 21
      MediaBrowser.Server.Startup.Common/ApplicationHost.cs
  26. 2 2
      MediaBrowser.Server.Startup.Common/Browser/BrowserLauncher.cs
  27. 9 5
      MediaBrowser.Server.Startup.Common/EntryPoints/KeepServerAwake.cs
  28. 2 2
      MediaBrowser.Server.Startup.Common/EntryPoints/StartupWizard.cs
  29. 148 0
      MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegDownloadInfo.cs
  30. 24 23
      MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegDownloader.cs
  31. 1 1
      MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegInfo.cs
  32. 88 0
      MediaBrowser.Server.Startup.Common/INativeApp.cs
  33. 128 0
      MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj
  34. 24 0
      MediaBrowser.Server.Startup.Common/NativeEnvironment.cs
  35. 31 0
      MediaBrowser.Server.Startup.Common/Properties/AssemblyInfo.cs
  36. 1 1
      MediaBrowser.Server.Startup.Common/StartupOptions.cs
  37. 4 0
      MediaBrowser.Server.Startup.Common/packages.config
  38. 0 252
      MediaBrowser.ServerApplication/FFMpeg/FFMpegDownloadInfo.cs
  39. 0 65
      MediaBrowser.ServerApplication/Logging/LogForm.Designer.cs
  40. 0 88
      MediaBrowser.ServerApplication/Logging/LogForm.cs
  41. 0 2473
      MediaBrowser.ServerApplication/Logging/LogForm.resx
  42. 0 75
      MediaBrowser.ServerApplication/Logging/WindowTraceListener.cs
  43. 18 13
      MediaBrowser.ServerApplication/MainStartup.cs
  44. 7 25
      MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
  45. 0 25
      MediaBrowser.ServerApplication/Native/Assemblies.cs
  46. 0 88
      MediaBrowser.ServerApplication/Native/NativeApp.cs
  47. 1 1
      MediaBrowser.ServerApplication/Native/NativeFileSystem.cs
  48. 36 0
      MediaBrowser.ServerApplication/Native/Standby.cs
  49. 104 0
      MediaBrowser.ServerApplication/Native/WindowsApp.cs
  50. 3 92
      MediaBrowser.ServerApplication/ServerNotifyIcon.cs
  51. 0 1
      MediaBrowser.ServerApplication/packages.config
  52. 37 0
      MediaBrowser.sln

+ 112 - 0
MediaBrowser.Api/FilterService.cs

@@ -0,0 +1,112 @@
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Net;
+using MediaBrowser.Model.Querying;
+using ServiceStack;
+using System;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Api
+{
+    [Route("/Items/Filters", "GET", Summary = "Gets branding configuration")]
+    public class GetQueryFilters : IReturn<QueryFilters>
+    {
+        /// <summary>
+        /// Gets or sets the user id.
+        /// </summary>
+        /// <value>The user id.</value>
+        [ApiMember(Name = "UserId", Description = "User Id", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
+        public string UserId { get; set; }
+
+        [ApiMember(Name = "ParentId", Description = "Specify this to localize the search to a specific item or folder. Omit to use the root", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
+        public string ParentId { get; set; }
+
+        [ApiMember(Name = "IncludeItemTypes", Description = "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)]
+        public string IncludeItemTypes { get; set; }
+
+        [ApiMember(Name = "MediaTypes", Description = "Optional filter by MediaType. Allows multiple, comma delimited.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)]
+        public string MediaTypes { get; set; }
+
+        public string[] GetMediaTypes()
+        {
+            return (MediaTypes ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
+        }
+
+        public string[] GetIncludeItemTypes()
+        {
+            return (IncludeItemTypes ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
+        }
+    }
+
+    [Authenticated]
+    public class FilterService : BaseApiService
+    {
+        private readonly ILibraryManager _libraryManager;
+        private readonly IUserManager _userManager;
+
+        public FilterService(ILibraryManager libraryManager, IUserManager userManager)
+        {
+            _libraryManager = libraryManager;
+            _userManager = userManager;
+        }
+
+        public async Task<object> Get(GetQueryFilters request)
+        {
+            var parentItem = string.IsNullOrEmpty(request.ParentId) ? null : _libraryManager.GetItemById(request.ParentId);
+            var user = !string.IsNullOrWhiteSpace(request.UserId) ? _userManager.GetUserById(request.UserId) : null;
+
+            var item = string.IsNullOrEmpty(request.ParentId) ?
+               user == null ? _libraryManager.RootFolder : user.RootFolder :
+               parentItem;
+
+            var result = await ((Folder)item).GetItems(GetItemsQuery(request, user));
+
+            return ToOptimizedResult(GetFilters(result.Items));
+        }
+
+        private QueryFilters GetFilters(BaseItem[] items)
+        {
+            var result = new QueryFilters();
+
+            result.Years = items.Select(i => i.ProductionYear ?? -1)
+                .Where(i => i > 0)
+                .Distinct()
+                .OrderBy(i => i)
+                .ToArray();
+
+            result.Genres = items.SelectMany(i => i.Genres)
+                .Distinct(StringComparer.OrdinalIgnoreCase)
+                .OrderBy(i => i)
+                .ToArray();
+
+            result.Tags = items.OfType<IHasTags>()
+                .SelectMany(i => i.Tags)
+                .Distinct(StringComparer.OrdinalIgnoreCase)
+                .OrderBy(i => i)
+                .ToArray();
+
+            result.OfficialRatings = items
+                .Select(i => i.OfficialRating)
+                .Where(i => !string.IsNullOrWhiteSpace(i))
+                .Distinct(StringComparer.OrdinalIgnoreCase)
+                .OrderBy(i => i)
+                .ToArray();
+
+            return result;
+        }
+
+        private InternalItemsQuery GetItemsQuery(GetQueryFilters request, User user)
+        {
+            var query = new InternalItemsQuery
+            {
+                User = user,
+                MediaTypes = request.GetMediaTypes(),
+                IncludeItemTypes = request.GetIncludeItemTypes(),
+                Recursive = true
+            };
+
+            return query;
+        }
+    }
+}

+ 1 - 1
MediaBrowser.Api/Images/ImageService.cs

@@ -658,7 +658,7 @@ namespace MediaBrowser.Api.Images
 
         private ImageOutputFormat[] GetClientSupportedFormats()
         {
-            if (Request.AcceptTypes.Contains("image/webp", StringComparer.OrdinalIgnoreCase))
+            if ((Request.AcceptTypes ?? new string[] { }).Contains("image/webp", StringComparer.OrdinalIgnoreCase))
             {
                 return new[] { ImageOutputFormat.Webp, ImageOutputFormat.Jpg, ImageOutputFormat.Png };
             }

+ 4 - 2
MediaBrowser.Api/MediaBrowser.Api.csproj

@@ -49,8 +49,9 @@
     <RunPostBuildEvent>Always</RunPostBuildEvent>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="MoreLinq">
-      <HintPath>..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll</HintPath>
+    <Reference Include="MoreLinq, Version=1.1.17511.0, Culture=neutral, PublicKeyToken=384d532d7e88985d, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\packages\morelinq.1.1.0\lib\net35\MoreLinq.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />
@@ -74,6 +75,7 @@
     <Compile Include="Devices\DeviceService.cs" />
     <Compile Include="Dlna\DlnaServerService.cs" />
     <Compile Include="Dlna\DlnaService.cs" />
+    <Compile Include="FilterService.cs" />
     <Compile Include="Library\ChapterService.cs" />
     <Compile Include="Playback\Hls\MpegDashService.cs" />
     <Compile Include="PlaylistService.cs" />

+ 1 - 5
MediaBrowser.Api/UserLibrary/ItemsService.cs

@@ -1,5 +1,4 @@
-using System.Threading;
-using MediaBrowser.Controller.Collections;
+using MediaBrowser.Controller.Collections;
 using MediaBrowser.Controller.Dto;
 using MediaBrowser.Controller.Entities;
 using MediaBrowser.Controller.Entities.Audio;
@@ -8,15 +7,12 @@ using MediaBrowser.Controller.Entities.TV;
 using MediaBrowser.Controller.Library;
 using MediaBrowser.Controller.Localization;
 using MediaBrowser.Controller.Net;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Channels;
 using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.Querying;
 using ServiceStack;
 using System;
 using System.Collections.Generic;
 using System.Globalization;
-using System.IO;
 using System.Linq;
 using System.Threading.Tasks;
 

+ 1 - 1
MediaBrowser.Api/packages.config

@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="morelinq" version="1.0.16006" targetFramework="net45" />
+  <package id="morelinq" version="1.1.0" targetFramework="net45" />
 </packages>

+ 3 - 2
MediaBrowser.Controller/MediaBrowser.Controller.csproj

@@ -48,8 +48,9 @@
     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="MoreLinq">
-      <HintPath>..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll</HintPath>
+    <Reference Include="MoreLinq, Version=1.1.17511.0, Culture=neutral, PublicKeyToken=384d532d7e88985d, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\packages\morelinq.1.1.0\lib\net35\MoreLinq.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />

+ 1 - 1
MediaBrowser.Controller/packages.config

@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="morelinq" version="1.0.16006" targetFramework="net45" />
+  <package id="morelinq" version="1.1.0" targetFramework="net45" />
 </packages>

+ 3 - 0
MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj

@@ -923,6 +923,9 @@
     <Compile Include="..\MediaBrowser.Model\Querying\PersonsQuery.cs">
       <Link>Querying\PersonsQuery.cs</Link>
     </Compile>
+    <Compile Include="..\MediaBrowser.Model\Querying\QueryFilters.cs">
+      <Link>Querying\QueryFilters.cs</Link>
+    </Compile>
     <Compile Include="..\MediaBrowser.Model\Querying\QueryResult.cs">
       <Link>Querying\QueryResult.cs</Link>
     </Compile>

+ 3 - 0
MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj

@@ -882,6 +882,9 @@
     <Compile Include="..\MediaBrowser.Model\Querying\PersonsQuery.cs">
       <Link>Querying\PersonsQuery.cs</Link>
     </Compile>
+    <Compile Include="..\MediaBrowser.Model\Querying\QueryFilters.cs">
+      <Link>Querying\QueryFilters.cs</Link>
+    </Compile>
     <Compile Include="..\MediaBrowser.Model\Querying\QueryResult.cs">
       <Link>Querying\QueryResult.cs</Link>
     </Compile>

+ 0 - 6
MediaBrowser.Model/Configuration/ServerConfiguration.cs

@@ -85,12 +85,6 @@ namespace MediaBrowser.Model.Configuration
         /// <value>The sort remove words.</value>
         public string[] SortRemoveWords { get; set; }
 
-        /// <summary>
-        /// Show an output log window for debugging
-        /// </summary>
-        /// <value><c>true</c> if [show log window]; otherwise, <c>false</c>.</value>
-        public bool ShowLogWindow { get; set; }
-
         /// <summary>
         /// Gets or sets the minimum percentage of an item that must be played in order for playstate to be updated.
         /// </summary>

+ 1 - 0
MediaBrowser.Model/MediaBrowser.Model.csproj

@@ -302,6 +302,7 @@
     <Compile Include="Entities\BaseItemInfo.cs" />
     <Compile Include="Querying\LatestItemsQuery.cs" />
     <Compile Include="Querying\NextUpQuery.cs" />
+    <Compile Include="Querying\QueryFilters.cs" />
     <Compile Include="Querying\QueryResult.cs" />
     <Compile Include="Querying\SeasonQuery.cs" />
     <Compile Include="Querying\SessionQuery.cs" />

+ 19 - 0
MediaBrowser.Model/Querying/QueryFilters.cs

@@ -0,0 +1,19 @@
+
+namespace MediaBrowser.Model.Querying
+{
+    public class QueryFilters
+    {
+        public string[] Genres { get; set; }
+        public string[] Tags { get; set; }
+        public string[] OfficialRatings { get; set; }
+        public int[] Years { get; set; }
+
+        public QueryFilters()
+        {
+            Genres = new string[] { };
+            Tags = new string[] { };
+            OfficialRatings = new string[] { };
+            Years = new int[] { };
+        }
+    }
+}

+ 3 - 2
MediaBrowser.Providers/MediaBrowser.Providers.csproj

@@ -53,8 +53,9 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\packages\MediaBrowser.BdInfo.1.0.0.10\lib\net35\DvdLib.dll</HintPath>
     </Reference>
-    <Reference Include="MoreLinq">
-      <HintPath>..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll</HintPath>
+    <Reference Include="MoreLinq, Version=1.1.17511.0, Culture=neutral, PublicKeyToken=384d532d7e88985d, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\packages\morelinq.1.1.0\lib\net35\MoreLinq.dll</HintPath>
     </Reference>
     <Reference Include="policy.2.0.taglib-sharp">
       <HintPath>..\packages\taglib.2.1.0.0\lib\policy.2.0.taglib-sharp.dll</HintPath>

+ 1 - 1
MediaBrowser.Providers/packages.config

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="MediaBrowser.BdInfo" version="1.0.0.10" targetFramework="net45" />
-  <package id="morelinq" version="1.0.16006" targetFramework="net45" />
+  <package id="morelinq" version="1.1.0" targetFramework="net45" />
   <package id="taglib" version="2.1.0.0" targetFramework="net45" />
 </packages>

+ 5 - 2
MediaBrowser.Server.Implementations/Localization/Server/server.json

@@ -1274,7 +1274,10 @@
     "LabelForgotPasswordUsernameHelp": "Enter your username, if you remember it.",
     "HeaderForgotPassword": "Forgot Password",
     "TitleForgotPassword": "Forgot Password",
-    "TitlePasswordReset":  "Password Reset",
+    "TitlePasswordReset": "Password Reset",
     "LabelPasswordRecoveryPinCode": "Pin code:",
-    "HeaderPasswordReset":  "Password Reset"
+    "HeaderPasswordReset": "Password Reset",
+    "HeaderParentalRatings": "Parental Ratings",
+    "HeaderVideoTypes": "Video Types",
+    "HeaderYears": "Years"
 }

+ 3 - 2
MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj

@@ -53,8 +53,9 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\packages\Mono.Nat.1.2.21.0\lib\net40\Mono.Nat.dll</HintPath>
     </Reference>
-    <Reference Include="MoreLinq">
-      <HintPath>..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll</HintPath>
+    <Reference Include="MoreLinq, Version=1.1.17511.0, Culture=neutral, PublicKeyToken=384d532d7e88985d, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\packages\morelinq.1.1.0\lib\net35\MoreLinq.dll</HintPath>
     </Reference>
     <Reference Include="ServiceStack.Api.Swagger">
       <HintPath>..\ThirdParty\ServiceStack\ServiceStack.Api.Swagger.dll</HintPath>

+ 1 - 1
MediaBrowser.Server.Implementations/packages.config

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="Mono.Nat" version="1.2.21.0" targetFramework="net45" />
-  <package id="morelinq" version="1.0.16006" targetFramework="net45" />
+  <package id="morelinq" version="1.1.0" targetFramework="net45" />
 </packages>

+ 4 - 24
MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj

@@ -66,40 +66,20 @@
     </Reference>
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="..\MediaBrowser.ServerApplication\IO\StartupOptions.cs">
-      <Link>IO\StartupOptions.cs</Link>
-    </Compile>
     <Compile Include="..\SharedVersion.cs">
       <Link>Properties\SharedVersion.cs</Link>
     </Compile>
     <Compile Include="Program.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="..\MediaBrowser.ServerApplication\EntryPoints\StartupWizard.cs">
-      <Link>EntryPoints\StartupWizard.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.ServerApplication\Native\BrowserLauncher.cs">
-      <Link>Native\BrowserLauncher.cs</Link>
-    </Compile>
-    <Compile Include="Native\Autorun.cs" />
-    <Compile Include="Native\ServerAuthorization.cs" />
-    <Compile Include="..\MediaBrowser.ServerApplication\FFMpeg\FFMpegInfo.cs">
-      <Link>FFMpeg\FFMpegInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.ServerApplication\ApplicationHost.cs">
-      <Link>ApplicationHost.cs</Link>
-    </Compile>
-    <Compile Include="Native\Assemblies.cs" />
     <Compile Include="Native\NativeApp.cs" />
     <Compile Include="Networking\NetworkManager.cs" />
-    <Compile Include="..\MediaBrowser.ServerApplication\FFMpeg\FFMpegDownloader.cs">
-      <Link>FFMpeg\FFMpegDownloader.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.ServerApplication\FFMpeg\FFMpegDownloadInfo.cs">
-      <Link>FFMpeg\FFMpegDownloadInfo.cs</Link>
-    </Compile>
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <ItemGroup>
+    <ProjectReference Include="..\MediaBrowser.Server.Startup.Common\MediaBrowser.Server.Startup.Common.csproj">
+      <Project>{b90ab8f2-1bff-4568-a3fd-2a338a435a75}</Project>
+      <Name>MediaBrowser.Server.Startup.Common</Name>
+    </ProjectReference>
     <ProjectReference Include="..\MediaBrowser.WebDashboard\MediaBrowser.WebDashboard.csproj">
       <Project>{5624B7B5-B5A7-41D8-9F10-CC5611109619}</Project>
       <Name>MediaBrowser.WebDashboard</Name>

+ 0 - 25
MediaBrowser.Server.Mono/Native/Assemblies.cs

@@ -1,25 +0,0 @@
-using MediaBrowser.IsoMounter;
-using System.Collections.Generic;
-using System.Reflection;
-
-namespace MediaBrowser.ServerApplication.Native
-{
-    /// <summary>
-    /// Class Assemblies
-    /// </summary>
-    public static class Assemblies
-    {
-        /// <summary>
-        /// Gets the assemblies with parts.
-        /// </summary>
-        /// <returns>List{Assembly}.</returns>
-        public static List<Assembly> GetAssembliesWithParts()
-        {
-            var list = new List<Assembly>();
-
-            list.Add(typeof(LinuxIsoManager).Assembly);
-
-            return list;
-        }
-    }
-}

+ 0 - 20
MediaBrowser.Server.Mono/Native/Autorun.cs

@@ -1,20 +0,0 @@
-using System;
-using System.IO;
-
-namespace MediaBrowser.ServerApplication.Native
-{
-    /// <summary>
-    /// Class Autorun
-    /// </summary>
-    public static class Autorun
-    {
-        /// <summary>
-        /// Configures the specified autorun.
-        /// </summary>
-        /// <param name="autorun">if set to <c>true</c> [autorun].</param>
-        public static void Configure(bool autorun)
-        {
-
-        }
-    }
-}

+ 170 - 48
MediaBrowser.Server.Mono/Native/NativeApp.cs

@@ -1,67 +1,189 @@
-using MediaBrowser.Server.Mono;
-using System;
-using System.Runtime.InteropServices;
-using System.Threading;
-using System.Threading.Tasks;
-using MediaBrowser.Common.Updates;
+using MediaBrowser.Common.Net;
+using MediaBrowser.IsoMounter;
 using MediaBrowser.Model.Logging;
-using MediaBrowser.Model.Updates;
+using MediaBrowser.Server.Mono.Networking;
+using MediaBrowser.Server.Startup.Common;
+using Mono.Unix.Native;
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Text.RegularExpressions;
 
-namespace MediaBrowser.ServerApplication.Native
+namespace MediaBrowser.Server.Mono.Native
 {
     /// <summary>
     /// Class NativeApp
     /// </summary>
-    public static class NativeApp
+    public class NativeApp : INativeApp
     {
         /// <summary>
         /// Shutdowns this instance.
         /// </summary>
-        public static void Shutdown()
+        public void Shutdown()
         {
-			MainClass.Shutdown ();
+            MainClass.Shutdown();
         }
 
         /// <summary>
         /// Restarts this instance.
         /// </summary>
-        public static void Restart()
-        {
-			MainClass.Restart ();
-		}
-
-		/// <summary>
-		/// Determines whether this instance [can self restart].
-		/// </summary>
-		/// <returns><c>true</c> if this instance [can self restart]; otherwise, <c>false</c>.</returns>
-		public static bool CanSelfRestart
-		{
-			get
-			{
-				return MainClass.CanSelfRestart;
-			}
-		}
-
-		/// <summary>
-		/// Gets a value indicating whether this instance can self update.
-		/// </summary>
-		/// <value><c>true</c> if this instance can self update; otherwise, <c>false</c>.</value>
-		public static bool CanSelfUpdate
-		{
-			get
-			{
-				return MainClass.CanSelfUpdate;
-			}
-		}
-
-		public static bool SupportsAutoRunAtStartup
-		{
-			get { return false; }
-		}
-
-        public static void PreventSystemStandby()
-        {
-            
+        public void Restart()
+        {
+            MainClass.Restart();
+        }
+
+        /// <summary>
+        /// Determines whether this instance [can self restart].
+        /// </summary>
+        /// <returns><c>true</c> if this instance [can self restart]; otherwise, <c>false</c>.</returns>
+        public bool CanSelfRestart
+        {
+            get
+            {
+                return MainClass.CanSelfRestart;
+            }
+        }
+
+        /// <summary>
+        /// Gets a value indicating whether this instance can self update.
+        /// </summary>
+        /// <value><c>true</c> if this instance can self update; otherwise, <c>false</c>.</value>
+        public bool CanSelfUpdate
+        {
+            get
+            {
+                return MainClass.CanSelfUpdate;
+            }
+        }
+
+        public bool SupportsAutoRunAtStartup
+        {
+            get { return false; }
+        }
+
+        public void PreventSystemStandby()
+        {
+
+        }
+
+        public List<Assembly> GetAssembliesWithParts()
+        {
+            var list = new List<Assembly>();
+
+            if (Environment.OperatingSystem == Startup.Common.OperatingSystem.Linux)
+            {
+                list.AddRange(GetLinuxAssemblies());
+            }
+
+            list.Add(GetType().Assembly);
+
+            return list;
+        }
+
+        private List<Assembly> GetLinuxAssemblies()
+        {
+            var list = new List<Assembly>();
+
+            list.Add(typeof(LinuxIsoManager).Assembly);
+
+            return list;
+        }
+
+        public void AuthorizeServer(int httpServerPort, string httpServerUrlPrefix, int udpPort, string tempDirectory)
+        {
+        }
+
+        private NativeEnvironment _nativeEnvironment;
+        public NativeEnvironment Environment
+        {
+            get { return _nativeEnvironment ?? (_nativeEnvironment = GetEnvironmentInfo()); }
+        }
+
+        public bool SupportsRunningAsService
+        {
+            get
+            {
+                return false;
+            }
+        }
+
+        public bool IsRunningAsService
+        {
+            get
+            {
+                return false;
+            }
+        }
+
+        public void ConfigureAutoRun(bool autorun)
+        {
+        }
+
+        public INetworkManager CreateNetworkManager(ILogger logger)
+        {
+            return new NetworkManager(logger);
+        }
+
+        private NativeEnvironment GetEnvironmentInfo()
+        {
+            var info = new NativeEnvironment
+            {
+                OperatingSystem = Startup.Common.OperatingSystem.Linux
+            };
+
+            var uname = GetUnixName();
+
+            var sysName = uname.sysname ?? string.Empty;
+
+            if (string.Equals(sysName, "Darwin", StringComparison.OrdinalIgnoreCase))
+            {
+                info.OperatingSystem = Startup.Common.OperatingSystem.Osx;
+            }
+            else if (string.Equals(sysName, "Linux", StringComparison.OrdinalIgnoreCase))
+            {
+                info.OperatingSystem = Startup.Common.OperatingSystem.Linux;
+            }
+            else if (string.Equals(sysName, "BSD", StringComparison.OrdinalIgnoreCase))
+            {
+                // TODO: How to detect BSD?
+                info.OperatingSystem = Startup.Common.OperatingSystem.Bsd;
+            }
+
+            var archX86 = new Regex("(i|I)[3-6]86");
+
+            if (archX86.IsMatch(uname.machine))
+            {
+                info.SystemArchitecture = Architecture.X86;
+            }
+            else if (string.Equals(uname.machine, "x86_64", StringComparison.OrdinalIgnoreCase))
+            {
+                info.SystemArchitecture = Architecture.X86_X64;
+            }
+            else if (uname.machine.StartsWith("arm", StringComparison.OrdinalIgnoreCase))
+            {
+                info.SystemArchitecture = Architecture.Arm;
+            }
+
+            return info;
+        }
+
+        private static Uname GetUnixName()
+        {
+            var uname = new Uname();
+            Utsname utsname;
+            var callResult = Syscall.uname(out utsname);
+            if (callResult == 0)
+            {
+                uname.sysname = utsname.sysname;
+                uname.machine = utsname.machine;
+            }
+            return uname;
+        }
+
+        public class Uname
+        {
+            public string sysname = string.Empty;
+            public string machine = string.Empty;
         }
     }
 }

+ 0 - 26
MediaBrowser.Server.Mono/Native/ServerAuthorization.cs

@@ -1,26 +0,0 @@
-using System;
-using System.Diagnostics;
-using System.IO;
-using System.Reflection;
-
-namespace MediaBrowser.ServerApplication.Native
-{
-    /// <summary>
-    /// Class Authorization
-    /// </summary>
-    public static class ServerAuthorization
-    {
-        /// <summary>
-        /// Authorizes the server.
-        /// </summary>
-        /// <param name="httpServerPort">The HTTP server port.</param>
-        /// <param name="httpServerUrlPrefix">The HTTP server URL prefix.</param>
-        /// <param name="webSocketPort">The web socket port.</param>
-        /// <param name="udpPort">The UDP port.</param>
-        /// <param name="tempDirectory">The temp directory.</param>
-        public static void AuthorizeServer(int httpServerPort, string httpServerUrlPrefix, int udpPort, string tempDirectory)
-        {
-
-        }
-    }
-}

+ 1 - 3
MediaBrowser.Server.Mono/Networking/NetworkManager.cs

@@ -3,11 +3,9 @@ using MediaBrowser.Common.Net;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Net;
-using System;
 using System.Collections.Generic;
-using System.Runtime.InteropServices;
 
-namespace MediaBrowser.ServerApplication.Networking
+namespace MediaBrowser.Server.Mono.Networking
 {
     /// <summary>
     /// Class NetUtils

+ 5 - 3
MediaBrowser.Server.Mono/Program.cs

@@ -3,8 +3,8 @@ using MediaBrowser.Common.Implementations.IO;
 using MediaBrowser.Common.Implementations.Logging;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Server.Implementations;
-using MediaBrowser.ServerApplication;
-using MediaBrowser.ServerApplication.IO;
+using MediaBrowser.Server.Mono.Native;
+using MediaBrowser.Server.Startup.Common;
 using Microsoft.Win32;
 using System;
 using System.Diagnostics;
@@ -114,7 +114,9 @@ namespace MediaBrowser.Server.Mono
 
 		    var fileSystem = new CommonFileSystem(logManager.GetLogger("FileSystem"), false, true);
 
-            _appHost = new ApplicationHost(appPaths, logManager, false, false, options, fileSystem, "MBServer.Mono", false);
+		    var nativeApp = new NativeApp();
+
+            _appHost = new ApplicationHost(appPaths, logManager, options, fileSystem, "MBServer.Mono", false, nativeApp);
 			
 			if (options.ContainsOption("-v")) {
 				Console.WriteLine (_appHost.ApplicationVersion.ToString());

+ 21 - 21
MediaBrowser.ServerApplication/ApplicationHost.cs → MediaBrowser.Server.Startup.Common/ApplicationHost.cs

@@ -81,10 +81,7 @@ using MediaBrowser.Server.Implementations.Session;
 using MediaBrowser.Server.Implementations.Sync;
 using MediaBrowser.Server.Implementations.Themes;
 using MediaBrowser.Server.Implementations.TV;
-using MediaBrowser.ServerApplication.FFMpeg;
-using MediaBrowser.ServerApplication.IO;
-using MediaBrowser.ServerApplication.Native;
-using MediaBrowser.ServerApplication.Networking;
+using MediaBrowser.Server.Startup.Common.FFMpeg;
 using MediaBrowser.WebDashboard.Api;
 using MediaBrowser.XbmcMetadata.Providers;
 using System;
@@ -96,7 +93,7 @@ using System.Reflection;
 using System.Threading;
 using System.Threading.Tasks;
 
-namespace MediaBrowser.ServerApplication
+namespace MediaBrowser.Server.Startup.Common
 {
     /// <summary>
     /// Class CompositionRoot
@@ -193,7 +190,7 @@ namespace MediaBrowser.ServerApplication
 
         private ILiveTvManager LiveTvManager { get; set; }
 
-        internal ILocalizationManager LocalizationManager { get; set; }
+        public ILocalizationManager LocalizationManager { get; set; }
 
         private IEncodingManager EncodingManager { get; set; }
         private IChannelManager ChannelManager { get; set; }
@@ -228,40 +225,42 @@ namespace MediaBrowser.ServerApplication
 
         private readonly bool _supportsNativeWebSocket;
 
+        internal INativeApp NativeApp { get; set; }
+
         /// <summary>
         /// Initializes a new instance of the <see cref="ApplicationHost" /> class.
         /// </summary>
         /// <param name="applicationPaths">The application paths.</param>
         /// <param name="logManager">The log manager.</param>
-        /// <param name="supportsRunningAsService">if set to <c>true</c> [supports running as service].</param>
-        /// <param name="isRunningAsService">if set to <c>true</c> [is running as service].</param>
         /// <param name="options">The options.</param>
         /// <param name="fileSystem">The file system.</param>
         /// <param name="remotePackageName">Name of the remote package.</param>
+        /// <param name="supportsNativeWebSocket">if set to <c>true</c> [supports native web socket].</param>
+        /// <param name="nativeApp">The native application.</param>
         public ApplicationHost(ServerApplicationPaths applicationPaths, 
             ILogManager logManager, 
-            bool supportsRunningAsService, 
-            bool isRunningAsService,
             StartupOptions options, 
             IFileSystem fileSystem,
             string remotePackageName, 
-            bool supportsNativeWebSocket)
+            bool supportsNativeWebSocket, 
+            INativeApp nativeApp)
             : base(applicationPaths, logManager, fileSystem)
         {
             _startupOptions = options;
             _remotePackageName = remotePackageName;
             _supportsNativeWebSocket = supportsNativeWebSocket;
-            _isRunningAsService = isRunningAsService;
-            SupportsRunningAsService = supportsRunningAsService;
+            NativeApp = nativeApp;
         }
 
-        private readonly bool _isRunningAsService;
         public override bool IsRunningAsService
         {
-            get { return _isRunningAsService; }
+            get { return NativeApp.IsRunningAsService; }
         }
 
-        public bool SupportsRunningAsService { get; private set; }
+        public bool SupportsRunningAsService
+        {
+            get { return NativeApp.SupportsRunningAsService; }
+        }
 
         /// <summary>
         /// Gets the name.
@@ -582,7 +581,7 @@ namespace MediaBrowser.ServerApplication
 
         protected override INetworkManager CreateNetworkManager(ILogger logger)
         {
-            return new NetworkManager(logger);
+            return NativeApp.CreateNetworkManager(logger);
         }
 
         /// <summary>
@@ -591,7 +590,8 @@ namespace MediaBrowser.ServerApplication
         /// <returns>Task.</returns>
         private async Task RegisterMediaEncoder(IProgress<double> progress)
         {
-            var info = await new FFMpegDownloader(Logger, ApplicationPaths, HttpClient, ZipClient, FileSystemManager).GetFFMpegInfo(_startupOptions, progress).ConfigureAwait(false);
+            var info = await new FFMpegDownloader(Logger, ApplicationPaths, HttpClient, ZipClient, FileSystemManager)
+                .GetFFMpegInfo(NativeApp.Environment, _startupOptions, progress).ConfigureAwait(false);
 
             MediaEncoder = new MediaEncoder(LogManager.GetLogger("MediaEncoder"), JsonSerializer, info.EncoderPath, info.ProbePath, info.Version);
             RegisterSingleInstance(MediaEncoder);
@@ -915,7 +915,7 @@ namespace MediaBrowser.ServerApplication
             // Xbmc 
             list.Add(typeof(ArtistNfoProvider).Assembly);
 
-            list.AddRange(Assemblies.GetAssembliesWithParts());
+            list.AddRange(NativeApp.GetAssembliesWithParts());
 
             // Include composable parts in the running assembly
             list.Add(GetType().Assembly);
@@ -1088,7 +1088,7 @@ namespace MediaBrowser.ServerApplication
 
             try
             {
-                ServerAuthorization.AuthorizeServer(
+                NativeApp.AuthorizeServer(
                     ServerConfigurationManager.Configuration.HttpServerPortNumber,
                     HttpServerUrlPrefixes.First(),
                     UdpServerEntryPoint.PortNumber,
@@ -1173,7 +1173,7 @@ namespace MediaBrowser.ServerApplication
         {
             if (SupportsAutoRunAtStartup)
             {
-                Autorun.Configure(autorun);
+                NativeApp.ConfigureAutoRun(autorun);
             }
         }
     }

+ 2 - 2
MediaBrowser.ServerApplication/Native/BrowserLauncher.cs → MediaBrowser.Server.Startup.Common/Browser/BrowserLauncher.cs

@@ -3,7 +3,7 @@ using MediaBrowser.Model.Logging;
 using System;
 using System.Diagnostics;
 
-namespace MediaBrowser.ServerApplication.Native
+namespace MediaBrowser.Server.Startup.Common.Browser
 {
     /// <summary>
     /// Class BrowserLauncher
@@ -100,7 +100,7 @@ namespace MediaBrowser.ServerApplication.Native
             {
                 logger.ErrorException("Error launching url: {0}", ex, url);
 
-                Console.WriteLine("Error launching browser");
+                Console.WriteLine(string.Format("Error launching url: {0}", ex));
                 Console.WriteLine(ex.Message);
 
 //#if !__MonoCS__

+ 9 - 5
MediaBrowser.ServerApplication/EntryPoints/KeepServerAwake.cs → MediaBrowser.Server.Startup.Common/EntryPoints/KeepServerAwake.cs

@@ -1,23 +1,25 @@
-using MediaBrowser.Controller.Plugins;
+using MediaBrowser.Controller;
+using MediaBrowser.Controller.Plugins;
 using MediaBrowser.Controller.Session;
 using MediaBrowser.Model.Logging;
-using MediaBrowser.ServerApplication.Native;
 using System;
 using System.Linq;
 using System.Threading;
 
-namespace MediaBrowser.ServerApplication.EntryPoints
+namespace MediaBrowser.Server.Startup.Common.EntryPoints
 {
     public class KeepServerAwake : IServerEntryPoint
     {
         private readonly ISessionManager _sessionManager;
         private readonly ILogger _logger;
         private Timer _timer;
+        private readonly IServerApplicationHost _appHost;
 
-        public KeepServerAwake(ISessionManager sessionManager, ILogger logger)
+        public KeepServerAwake(ISessionManager sessionManager, ILogger logger, IServerApplicationHost appHost)
         {
             _sessionManager = sessionManager;
             _logger = logger;
+            _appHost = appHost;
         }
 
         public void Run()
@@ -35,9 +37,11 @@ namespace MediaBrowser.ServerApplication.EntryPoints
 
         private void KeepAlive()
         {
+            var nativeApp = ((ApplicationHost)_appHost).NativeApp;
+
             try
             {
-                NativeApp.PreventSystemStandby();
+                nativeApp.PreventSystemStandby();
             }
             catch (Exception ex)
             {

+ 2 - 2
MediaBrowser.ServerApplication/EntryPoints/StartupWizard.cs → MediaBrowser.Server.Startup.Common/EntryPoints/StartupWizard.cs

@@ -1,9 +1,9 @@
 using MediaBrowser.Controller;
 using MediaBrowser.Controller.Plugins;
 using MediaBrowser.Model.Logging;
-using MediaBrowser.ServerApplication.Native;
+using MediaBrowser.Server.Startup.Common.Browser;
 
-namespace MediaBrowser.ServerApplication.EntryPoints
+namespace MediaBrowser.Server.Startup.Common.EntryPoints
 {
     /// <summary>
     /// Class StartupWizard

+ 148 - 0
MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegDownloadInfo.cs

@@ -0,0 +1,148 @@
+
+namespace MediaBrowser.Server.Startup.Common.FFMpeg
+{
+    public class FFMpegDownloadInfo
+    {
+        public string Version { get; set; }
+        public string FFMpegFilename { get; set; }
+        public string FFProbeFilename { get; set; }
+        public string ArchiveType { get; set; }
+        public string[] DownloadUrls { get; set; }
+
+        public FFMpegDownloadInfo()
+        {
+            DownloadUrls = new string[] { };
+            Version = "Path";
+            FFMpegFilename = "ffmpeg";
+            FFProbeFilename = "ffprobe";
+        }
+
+        public static FFMpegDownloadInfo GetInfo(NativeEnvironment environment)
+        {
+            var info = new FFMpegDownloadInfo();
+
+            // Windows builds: http://ffmpeg.zeranoe.com/builds/
+            // Linux builds: http://ffmpeg.gusari.org/static/
+            // OS X builds: http://ffmpegmac.net/
+            // OS X x64: http://www.evermeet.cx/ffmpeg/
+
+            switch (environment.OperatingSystem)
+            {
+                case OperatingSystem.Bsd:
+                    break;
+                case OperatingSystem.Linux:
+
+                    info.ArchiveType = "gz";
+
+                    switch (environment.SystemArchitecture)
+                    {
+                        case Architecture.X86_X64:
+                            info.Version = "20140716";
+                            break;
+                        case Architecture.X86:
+                            info.Version = "20140923";
+                            break;
+                    }
+                    break;
+                case OperatingSystem.Osx:
+
+                    info.ArchiveType = "7z";
+
+                    switch (environment.SystemArchitecture)
+                    {
+                        case Architecture.X86_X64:
+                            info.Version = "20140923";
+                            break;
+                        case Architecture.X86:
+                            info.Version = "20140716";
+                            break;
+                    }
+                    break;
+
+                case OperatingSystem.Windows:
+
+                    info.FFMpegFilename = "ffmpeg.exe";
+                    info.FFProbeFilename = "ffprobe.exe";
+                    info.Version = "20141005";
+                    info.ArchiveType = "7z";
+
+                    switch (environment.SystemArchitecture)
+                    {
+                        case Architecture.X86_X64:
+                            break;
+                        case Architecture.X86:
+                            break;
+                    }
+                    break;
+            }
+
+            info.DownloadUrls = GetDownloadUrls(environment);
+
+            return info;
+        }
+
+        private static string[] GetDownloadUrls(NativeEnvironment environment)
+        {
+            switch (environment.OperatingSystem)
+            {
+                case OperatingSystem.Windows:
+
+                    switch (environment.SystemArchitecture)
+                    {
+                        case Architecture.X86_X64:
+                            return new[]
+                            {
+                                "http://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20141005-git-e079d43-win64-static.7z",
+                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/windows/ffmpeg-20141005-git-e079d43-win64-static.7z"
+                            };
+                        case Architecture.X86:
+                            return new[]
+                            {
+                                "http://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-20141005-git-e079d43-win32-static.7z",
+                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/windows/ffmpeg-20141005-git-e079d43-win32-static.7z"
+                            };
+                    }
+                    break;
+
+                case OperatingSystem.Osx:
+
+                    switch (environment.SystemArchitecture)
+                    {
+                        case Architecture.X86_X64:
+                            return new[]
+                            {
+                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/osx/ffmpeg-x64-2.4.1.7z"
+                            };
+                        case Architecture.X86:
+                            return new[]
+                            {
+                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/osx/ffmpeg-x86-2.4.2.7z"
+                            };
+                    }
+                    break;
+
+                case OperatingSystem.Linux:
+
+                    switch (environment.SystemArchitecture)
+                    {
+                        case Architecture.X86_X64:
+                            return new[]
+                            {
+                                "http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.latest.tar.gz",
+                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/linux/ffmpeg.static.64bit.2014-07-16.tar.gz"
+                            };
+                        case Architecture.X86:
+                            return new[]
+                            {
+                                "http://ffmpeg.gusari.org/static/32bit/ffmpeg.static.32bit.latest.tar.gz",
+                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/linux/ffmpeg.static.32bit.2014-07-16.tar.gz"
+                            };
+                    }
+                    break;
+            }
+
+            // No version available 
+            return new string[] { };
+        }
+    }
+}

+ 24 - 23
MediaBrowser.ServerApplication/FFMpeg/FFMpegDownloader.cs → MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegDownloader.cs

@@ -4,7 +4,6 @@ using MediaBrowser.Common.Net;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Net;
-using MediaBrowser.ServerApplication.IO;
 using Mono.Unix.Native;
 using System;
 using System.Collections.Generic;
@@ -14,7 +13,7 @@ using System.Text;
 using System.Threading;
 using System.Threading.Tasks;
 
-namespace MediaBrowser.ServerApplication.FFMpeg
+namespace MediaBrowser.Server.Startup.Common.FFMpeg
 {
     public class FFMpegDownloader
     {
@@ -38,7 +37,7 @@ namespace MediaBrowser.ServerApplication.FFMpeg
             _fileSystem = fileSystem;
         }
 
-        public async Task<FFMpegInfo> GetFFMpegInfo(StartupOptions options, IProgress<double> progress)
+        public async Task<FFMpegInfo> GetFFMpegInfo(NativeEnvironment environment, StartupOptions options, IProgress<double> progress)
         {
             var customffMpegPath = options.GetOption("-ffmpeg");
             var customffProbePath = options.GetOption("-ffprobe");
@@ -53,14 +52,16 @@ namespace MediaBrowser.ServerApplication.FFMpeg
                 };
             }
 
-            var version = FFMpegDownloadInfo.Version;
+            var downloadInfo = FFMpegDownloadInfo.GetInfo(environment);
+
+            var version = downloadInfo.Version;
 
             if (string.Equals(version, "path", StringComparison.OrdinalIgnoreCase))
             {
                 return new FFMpegInfo
                 {
-                    ProbePath = FFMpegDownloadInfo.FFProbeFilename,
-                    EncoderPath = FFMpegDownloadInfo.FFMpegFilename,
+                    ProbePath = downloadInfo.FFProbeFilename,
+                    EncoderPath = downloadInfo.FFMpegFilename,
                     Version = version
                 };
             }
@@ -70,8 +71,8 @@ namespace MediaBrowser.ServerApplication.FFMpeg
 
             var info = new FFMpegInfo
             {
-                ProbePath = Path.Combine(versionedDirectoryPath, FFMpegDownloadInfo.FFProbeFilename),
-                EncoderPath = Path.Combine(versionedDirectoryPath, FFMpegDownloadInfo.FFMpegFilename),
+                ProbePath = Path.Combine(versionedDirectoryPath, downloadInfo.FFProbeFilename),
+                EncoderPath = Path.Combine(versionedDirectoryPath, downloadInfo.FFMpegFilename),
                 Version = version
             };
 
@@ -87,14 +88,14 @@ namespace MediaBrowser.ServerApplication.FFMpeg
                 // No older version. Need to download and block until complete
                 if (existingVersion == null)
                 {
-                    await DownloadFFMpeg(versionedDirectoryPath, progress).ConfigureAwait(false);
+                    await DownloadFFMpeg(downloadInfo, versionedDirectoryPath, progress).ConfigureAwait(false);
                 }
                 else
                 {
                     // Older version found. 
                     // Start with that. Download new version in the background.
                     var newPath = versionedDirectoryPath;
-                    Task.Run(() => DownloadFFMpegInBackground(newPath));
+                    Task.Run(() => DownloadFFMpegInBackground(downloadInfo, newPath));
 
                     info = existingVersion;
                     versionedDirectoryPath = Path.GetDirectoryName(info.EncoderPath);
@@ -162,11 +163,11 @@ namespace MediaBrowser.ServerApplication.FFMpeg
             return null;
         }
 
-        private async void DownloadFFMpegInBackground(string directory)
+        private async void DownloadFFMpegInBackground(FFMpegDownloadInfo downloadinfo, string directory)
         {
             try
             {
-                await DownloadFFMpeg(directory, new Progress<double>()).ConfigureAwait(false);
+                await DownloadFFMpeg(downloadinfo, directory, new Progress<double>()).ConfigureAwait(false);
             }
             catch (Exception ex)
             {
@@ -174,9 +175,9 @@ namespace MediaBrowser.ServerApplication.FFMpeg
             }
         }
 
-        private async Task DownloadFFMpeg(string directory, IProgress<double> progress)
+        private async Task DownloadFFMpeg(FFMpegDownloadInfo downloadinfo, string directory, IProgress<double> progress)
         {
-            foreach (var url in FFMpegDownloadInfo.GetDownloadUrls())
+            foreach (var url in downloadinfo.DownloadUrls)
             {
                 progress.Report(0);
 
@@ -190,7 +191,7 @@ namespace MediaBrowser.ServerApplication.FFMpeg
 
                     }).ConfigureAwait(false);
 
-                    ExtractFFMpeg(tempFile, directory);
+                    ExtractFFMpeg(downloadinfo, tempFile, directory);
                     return;
                 }
                 catch (Exception ex)
@@ -202,7 +203,7 @@ namespace MediaBrowser.ServerApplication.FFMpeg
             throw new ApplicationException("Unable to download required components. Please try again later.");
         }
 
-        private void ExtractFFMpeg(string tempFile, string targetFolder)
+        private void ExtractFFMpeg(FFMpegDownloadInfo downloadinfo, string tempFile, string targetFolder)
         {
             _logger.Info("Extracting ffmpeg from {0}", tempFile);
 
@@ -212,7 +213,7 @@ namespace MediaBrowser.ServerApplication.FFMpeg
 
             try
             {
-                ExtractArchive(tempFile, tempFolder);
+                ExtractArchive(downloadinfo, tempFile, tempFolder);
 
                 var files = Directory.EnumerateFiles(tempFolder, "*", SearchOption.AllDirectories).ToList();
 
@@ -221,8 +222,8 @@ namespace MediaBrowser.ServerApplication.FFMpeg
                         var filename = Path.GetFileName(i);
 
                         return
-                            string.Equals(filename, FFMpegDownloadInfo.FFProbeFilename, StringComparison.OrdinalIgnoreCase) ||
-                            string.Equals(filename, FFMpegDownloadInfo.FFMpegFilename, StringComparison.OrdinalIgnoreCase);
+                            string.Equals(filename, downloadinfo.FFProbeFilename, StringComparison.OrdinalIgnoreCase) ||
+                            string.Equals(filename, downloadinfo.FFMpegFilename, StringComparison.OrdinalIgnoreCase);
                     }))
                 {
                     File.Copy(file, Path.Combine(targetFolder, Path.GetFileName(file)), true);
@@ -245,15 +246,15 @@ namespace MediaBrowser.ServerApplication.FFMpeg
             }
         }
 
-        private void ExtractArchive(string archivePath, string targetPath)
+        private void ExtractArchive(FFMpegDownloadInfo downloadinfo, string archivePath, string targetPath)
         {
             _logger.Info("Extracting {0} to {1}", archivePath, targetPath);
-            
-            if (string.Equals(FFMpegDownloadInfo.ArchiveType, "7z", StringComparison.OrdinalIgnoreCase))
+
+            if (string.Equals(downloadinfo.ArchiveType, "7z", StringComparison.OrdinalIgnoreCase))
             {
                 _zipClient.ExtractAllFrom7z(archivePath, targetPath, true);
             }
-            else if (string.Equals(FFMpegDownloadInfo.ArchiveType, "gz", StringComparison.OrdinalIgnoreCase))
+            else if (string.Equals(downloadinfo.ArchiveType, "gz", StringComparison.OrdinalIgnoreCase))
             {
                 _zipClient.ExtractAllFromTar(archivePath, targetPath, true);
             }

+ 1 - 1
MediaBrowser.ServerApplication/FFMpeg/FFMpegInfo.cs → MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegInfo.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.ServerApplication.FFMpeg
+namespace MediaBrowser.Server.Startup.Common.FFMpeg
 {
     /// <summary>
     /// Class FFMpegInfo

+ 88 - 0
MediaBrowser.Server.Startup.Common/INativeApp.cs

@@ -0,0 +1,88 @@
+using MediaBrowser.Common.Net;
+using MediaBrowser.Model.Logging;
+using System.Collections.Generic;
+using System.Reflection;
+
+namespace MediaBrowser.Server.Startup.Common
+{
+    public interface INativeApp
+    {
+        /// <summary>
+        /// Gets the assemblies with parts.
+        /// </summary>
+        /// <returns>List&lt;Assembly&gt;.</returns>
+        List<Assembly> GetAssembliesWithParts();
+
+        /// <summary>
+        /// Authorizes the server.
+        /// </summary>
+        /// <param name="httpServerPort">The HTTP server port.</param>
+        /// <param name="httpServerUrlPrefix">The HTTP server URL prefix.</param>
+        /// <param name="udpPort">The UDP port.</param>
+        /// <param name="tempDirectory">The temporary directory.</param>
+        void AuthorizeServer(int httpServerPort, string httpServerUrlPrefix, int udpPort, string tempDirectory);
+
+        /// <summary>
+        /// Gets the environment.
+        /// </summary>
+        /// <value>The environment.</value>
+        NativeEnvironment Environment { get; }
+
+        /// <summary>
+        /// Gets a value indicating whether [supports running as service].
+        /// </summary>
+        /// <value><c>true</c> if [supports running as service]; otherwise, <c>false</c>.</value>
+        bool SupportsRunningAsService { get; }
+
+        /// <summary>
+        /// Gets a value indicating whether this instance is running as service.
+        /// </summary>
+        /// <value><c>true</c> if this instance is running as service; otherwise, <c>false</c>.</value>
+        bool IsRunningAsService { get; }
+
+        /// <summary>
+        /// Gets a value indicating whether this instance can self restart.
+        /// </summary>
+        /// <value><c>true</c> if this instance can self restart; otherwise, <c>false</c>.</value>
+        bool CanSelfRestart { get; }
+
+        /// <summary>
+        /// Gets a value indicating whether [supports autorun at startup].
+        /// </summary>
+        /// <value><c>true</c> if [supports autorun at startup]; otherwise, <c>false</c>.</value>
+        bool SupportsAutoRunAtStartup { get; }
+
+        /// <summary>
+        /// Gets a value indicating whether this instance can self update.
+        /// </summary>
+        /// <value><c>true</c> if this instance can self update; otherwise, <c>false</c>.</value>
+        bool CanSelfUpdate { get; }
+
+        /// <summary>
+        /// Shutdowns this instance.
+        /// </summary>
+        void Shutdown();
+
+        /// <summary>
+        /// Restarts this instance.
+        /// </summary>
+        void Restart();
+
+        /// <summary>
+        /// Configures the automatic run.
+        /// </summary>
+        /// <param name="autorun">if set to <c>true</c> [autorun].</param>
+        void ConfigureAutoRun(bool autorun);
+
+        /// <summary>
+        /// Gets the network manager.
+        /// </summary>
+        /// <returns>INetworkManager.</returns>
+        INetworkManager CreateNetworkManager(ILogger logger);
+
+        /// <summary>
+        /// Prevents the system stand by.
+        /// </summary>
+        void PreventSystemStandby();
+    }
+}

+ 128 - 0
MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj

@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>MediaBrowser.Server.Startup.Common</RootNamespace>
+    <AssemblyName>MediaBrowser.Server.Startup.Common</AssemblyName>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
+    <RestorePackages>true</RestorePackages>
+  </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>
+  </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>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Mono.Posix, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\packages\Mono.Posix.4.0.0.0\lib\net40\Mono.Posix.dll</HintPath>
+    </Reference>
+    <Reference Include="ServiceStack.Interfaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=e06fbc6124f57c43, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\ThirdParty\ServiceStack\ServiceStack.Interfaces.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\SharedVersion.cs">
+      <Link>Properties\SharedVersion.cs</Link>
+    </Compile>
+    <Compile Include="ApplicationHost.cs" />
+    <Compile Include="Browser\BrowserLauncher.cs" />
+    <Compile Include="EntryPoints\KeepServerAwake.cs" />
+    <Compile Include="EntryPoints\StartupWizard.cs" />
+    <Compile Include="FFMpeg\FFMpegDownloader.cs" />
+    <Compile Include="FFMpeg\FFMpegDownloadInfo.cs" />
+    <Compile Include="FFMpeg\FFMpegInfo.cs" />
+    <Compile Include="INativeApp.cs" />
+    <Compile Include="NativeEnvironment.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="StartupOptions.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\MediaBrowser.Api\MediaBrowser.Api.csproj">
+      <Project>{4fd51ac5-2c16-4308-a993-c3a84f3b4582}</Project>
+      <Name>MediaBrowser.Api</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\MediaBrowser.Common.Implementations\MediaBrowser.Common.Implementations.csproj">
+      <Project>{c4d2573a-3fd3-441f-81af-174ac4cd4e1d}</Project>
+      <Name>MediaBrowser.Common.Implementations</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj">
+      <Project>{9142eefa-7570-41e1-bfcc-468bb571af2f}</Project>
+      <Name>MediaBrowser.Common</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj">
+      <Project>{17e1f4e6-8abd-4fe5-9ecf-43d4b6087ba2}</Project>
+      <Name>MediaBrowser.Controller</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\MediaBrowser.Dlna\MediaBrowser.Dlna.csproj">
+      <Project>{734098eb-6dc1-4dd0-a1ca-3140dcd2737c}</Project>
+      <Name>MediaBrowser.Dlna</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\MediaBrowser.LocalMetadata\MediaBrowser.LocalMetadata.csproj">
+      <Project>{7ef9f3e0-697d-42f3-a08f-19deb5f84392}</Project>
+      <Name>MediaBrowser.LocalMetadata</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\MediaBrowser.MediaEncoding\MediaBrowser.MediaEncoding.csproj">
+      <Project>{0bd82fa6-eb8a-4452-8af5-74f9c3849451}</Project>
+      <Name>MediaBrowser.MediaEncoding</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj">
+      <Project>{7eeeb4bb-f3e8-48fc-b4c5-70f0fff8329b}</Project>
+      <Name>MediaBrowser.Model</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\MediaBrowser.Providers\MediaBrowser.Providers.csproj">
+      <Project>{442b5058-dcaf-4263-bb6a-f21e31120a1b}</Project>
+      <Name>MediaBrowser.Providers</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\MediaBrowser.Server.Implementations\MediaBrowser.Server.Implementations.csproj">
+      <Project>{2e781478-814d-4a48-9d80-bff206441a65}</Project>
+      <Name>MediaBrowser.Server.Implementations</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\MediaBrowser.WebDashboard\MediaBrowser.WebDashboard.csproj">
+      <Project>{5624b7b5-b5a7-41d8-9f10-cc5611109619}</Project>
+      <Name>MediaBrowser.WebDashboard</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\MediaBrowser.XbmcMetadata\MediaBrowser.XbmcMetadata.csproj">
+      <Project>{23499896-b135-4527-8574-c26e926ea99e}</Project>
+      <Name>MediaBrowser.XbmcMetadata</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="packages.config" />
+  </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>
+  -->
+</Project>

+ 24 - 0
MediaBrowser.Server.Startup.Common/NativeEnvironment.cs

@@ -0,0 +1,24 @@
+
+namespace MediaBrowser.Server.Startup.Common
+{
+    public class NativeEnvironment
+    {
+        public OperatingSystem OperatingSystem { get; set; }
+        public Architecture SystemArchitecture { get; set; }
+    }
+
+    public enum OperatingSystem
+    {
+        Windows = 0,
+        Osx = 1,
+        Bsd = 2,
+        Linux = 3
+    }
+
+    public enum Architecture
+    {
+        X86 = 0,
+        X86_X64 = 1,
+        Arm = 2
+    }
+}

+ 31 - 0
MediaBrowser.Server.Startup.Common/Properties/AssemblyInfo.cs

@@ -0,0 +1,31 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("MediaBrowser.Server.Startup.Common")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("MediaBrowser.Server.Startup.Common")]
+[assembly: AssemblyCopyright("Copyright ©  2014")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("fcc1d690-3a86-4c4b-baef-439c53e1547a")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//

+ 1 - 1
MediaBrowser.ServerApplication/IO/StartupOptions.cs → MediaBrowser.Server.Startup.Common/StartupOptions.cs

@@ -2,7 +2,7 @@
 using System.Collections.Generic;
 using System.Linq;
 
-namespace MediaBrowser.ServerApplication.IO
+namespace MediaBrowser.Server.Startup.Common
 {
     public class StartupOptions
     {

+ 4 - 0
MediaBrowser.Server.Startup.Common/packages.config

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="Mono.Posix" version="4.0.0.0" targetFramework="net45" />
+</packages>

+ 0 - 252
MediaBrowser.ServerApplication/FFMpeg/FFMpegDownloadInfo.cs

@@ -1,252 +0,0 @@
-using Mono.Unix.Native;
-using System;
-using System.IO;
-using System.Text.RegularExpressions;
-
-namespace MediaBrowser.ServerApplication.FFMpeg
-{
-    public static class FFMpegDownloadInfo
-    {
-        // Windows builds: http://ffmpeg.zeranoe.com/builds/
-        // Linux builds: http://ffmpeg.gusari.org/static/
-        // OS X builds: http://ffmpegmac.net/
-        // OS X x64: http://www.evermeet.cx/ffmpeg/
-
-        public static string Version = getFfmpegValue("Version");
-
-        public static string FFMpegFilename = getFfmpegValue("FFMpegFilename");
-        public static string FFProbeFilename = getFfmpegValue("FFProbeFilename");
-
-        public static string ArchiveType = getFfmpegValue("ArchiveType");
-
-        private static string getFfmpegValue(string arg)
-        {
-            OperatingSystem os = Environment.OSVersion;
-            PlatformID pid = os.Platform;
-            switch (pid)
-            {
-                case PlatformID.Win32NT:
-                    switch (arg)
-                    {
-                        case "Version":
-                            return "20141005";
-                        case "FFMpegFilename":
-                            return "ffmpeg.exe";
-                        case "FFProbeFilename":
-                            return "ffprobe.exe";
-                        case "ArchiveType":
-                            return "7z";
-                    }
-                    break;
-
-                case PlatformID.Unix:
-                    if (PlatformDetection.IsMac)
-                    {
-                        if (PlatformDetection.IsX86_64)
-                        {
-                            switch (arg)
-                            {
-                                case "Version":
-                                    return "20140923";
-                                case "FFMpegFilename":
-                                    return "ffmpeg";
-                                case "FFProbeFilename":
-                                    return "ffprobe";
-                                case "ArchiveType":
-                                    return "7z";
-                            }
-                        }
-                        if (PlatformDetection.IsX86)
-                        {
-                            switch (arg)
-                            {
-                                case "Version":
-                                    return "20140910";
-                                case "FFMpegFilename":
-                                    return "ffmpeg";
-                                case "FFProbeFilename":
-                                    return "ffprobe";
-                                case "ArchiveType":
-                                    return "7z";
-                            }
-                        }
-                    }
-                    else if (PlatformDetection.IsLinux)
-                    {
-                        if (PlatformDetection.IsX86)
-                        {
-                            switch (arg)
-                            {
-                                case "Version":
-                                    return "20140716";
-                                case "FFMpegFilename":
-                                    return "ffmpeg";
-                                case "FFProbeFilename":
-                                    return "ffprobe";
-                                case "ArchiveType":
-                                    return "gz";
-                            }
-                        }
-
-                        else if (PlatformDetection.IsX86_64)
-                        {
-                            // Linux on x86 or x86_64
-                            switch (arg)
-                            {
-                                case "Version":
-                                    return "20140716";
-                                case "FFMpegFilename":
-                                    return "ffmpeg";
-                                case "FFProbeFilename":
-                                    return "ffprobe";
-                                case "ArchiveType":
-                                    return "gz";
-                            }
-                        }
-                    }
-
-                    break;
-            }
-
-            switch (arg)
-            {
-                case "Version":
-                    return "path";
-                case "FFMpegFilename":
-                    return "ffmpeg";
-                case "FFProbeFilename":
-                    return "ffprobe";
-                case "ArchiveType":
-                    return "";
-                default:
-                    return string.Empty;
-            }
-        }
-
-        public static string[] GetDownloadUrls()
-        {
-            var pid = Environment.OSVersion.Platform;
-
-            switch (pid)
-            {
-                case PlatformID.Win32NT:
-                    if (PlatformDetection.IsX86_64)
-                    {
-                        return new[]
-                        {
-                            "http://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20141005-git-e079d43-win64-static.7z",
-                            "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/windows/ffmpeg-20141005-git-e079d43-win64-static.7z"
-                        };
-                    }
-
-                    return new[]
-                    {
-                        "http://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-20141005-git-e079d43-win32-static.7z",
-                        "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/windows/ffmpeg-20141005-git-e079d43-win32-static.7z"
-                    };
-
-                case PlatformID.Unix:
-                    if (PlatformDetection.IsMac && PlatformDetection.IsX86)
-                    {
-                        return new[]
-                        {
-                            "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/osx/ffmpeg-x86-2.4.2.7z"
-                        };
-                    }
-
-                    if (PlatformDetection.IsMac && PlatformDetection.IsX86_64)
-                    {
-                        return new[]
-                        {
-                            "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/osx/ffmpeg-x64-2.4.1.7z"
-                        };
-                    }
-
-                    if (PlatformDetection.IsLinux)
-                    {
-                        if (PlatformDetection.IsX86)
-                        {
-                            return new[]
-                            {
-                                "http://ffmpeg.gusari.org/static/32bit/ffmpeg.static.32bit.latest.tar.gz",
-                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/linux/ffmpeg.static.32bit.2014-07-16.tar.gz"
-                            };
-                        }
-
-                        if (PlatformDetection.IsX86_64)
-                        {
-                            return new[]
-                            {
-                                "http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.latest.tar.gz",
-                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/linux/ffmpeg.static.64bit.2014-07-16.tar.gz"
-                            };
-                        }
-
-                    }
-
-                    // No Unix version available 
-                    return new string[] { };
-
-                default:
-                    throw new ApplicationException("No ffmpeg download available for " + pid);
-            }
-        }
-    }
-
-    public static class PlatformDetection
-    {
-        public readonly static bool IsWindows;
-        public readonly static bool IsMac;
-        public readonly static bool IsLinux;
-        public readonly static bool IsX86;
-        public readonly static bool IsX86_64;
-        public readonly static bool IsArm;
-
-        static PlatformDetection()
-        {
-            IsWindows = Path.DirectorySeparatorChar == '\\';
-
-            // Don't call uname on windows
-            if (!IsWindows)
-            {
-                var uname = GetUnixName();
-
-                var sysName = uname.sysname ?? string.Empty;
-
-                IsMac = string.Equals(sysName, "Darwin", StringComparison.OrdinalIgnoreCase);
-                IsLinux = string.Equals(sysName, "Linux", StringComparison.OrdinalIgnoreCase);
-
-                var archX86 = new Regex("(i|I)[3-6]86");
-                IsX86 = archX86.IsMatch(uname.machine);
-                IsX86_64 = !IsX86 && uname.machine == "x86_64";
-                IsArm = !IsX86 && !IsX86_64 && uname.machine.StartsWith("arm");
-            }
-            else
-            {
-                if (Environment.Is64BitOperatingSystem)
-                    IsX86_64 = true;
-                else
-                    IsX86 = true;
-            }
-        }
-
-        private static Uname GetUnixName()
-        {
-            var uname = new Uname();
-            Utsname utsname;
-            var callResult = Syscall.uname(out utsname);
-            if (callResult == 0)
-            {
-                uname.sysname = utsname.sysname;
-                uname.machine = utsname.machine;
-            }
-            return uname;
-        }
-    }
-
-    public class Uname
-    {
-        public string sysname = string.Empty;
-        public string machine = string.Empty;
-    }
-}

+ 0 - 65
MediaBrowser.ServerApplication/Logging/LogForm.Designer.cs

@@ -1,65 +0,0 @@
-namespace MediaBrowser.ServerApplication.Logging
-{
-    partial class LogForm
-    {
-        /// <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(LogForm));
-            this.listBox1 = new System.Windows.Forms.ListBox();
-            this.SuspendLayout();
-            // 
-            // listBox1
-            // 
-            this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.listBox1.Font = new System.Drawing.Font("Consolas", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.listBox1.FormattingEnabled = true;
-            this.listBox1.ItemHeight = 18;
-            this.listBox1.Location = new System.Drawing.Point(0, 0);
-            this.listBox1.Margin = new System.Windows.Forms.Padding(0);
-            this.listBox1.Name = "listBox1";
-            this.listBox1.Size = new System.Drawing.Size(984, 561);
-            this.listBox1.TabIndex = 0;
-            // 
-            // LogForm
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(984, 561);
-            this.Controls.Add(this.listBox1);
-            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-            this.Name = "LogForm";
-            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
-            this.Text = "Media Browser Log";
-            this.ResumeLayout(false);
-
-        }
-
-        #endregion
-
-        private System.Windows.Forms.ListBox listBox1;
-    }
-}

+ 0 - 88
MediaBrowser.ServerApplication/Logging/LogForm.cs

@@ -1,88 +0,0 @@
-using MediaBrowser.Common.Implementations.Logging;
-using MediaBrowser.Model.Logging;
-using NLog.Targets;
-using System;
-using System.ComponentModel;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace MediaBrowser.ServerApplication.Logging
-{
-    public partial class LogForm : Form
-    {
-        private readonly TaskScheduler _uiThread;
-        private readonly ILogManager _logManager;
-        
-        public LogForm(ILogManager logManager)
-        {
-            InitializeComponent();
-
-            _logManager = logManager;
-            _uiThread = TaskScheduler.FromCurrentSynchronizationContext();
-        }
-
-        protected override void OnLoad(EventArgs e)
-        {
-            base.OnLoad(e);
-
-            ((NlogManager)_logManager).RemoveTarget("LogWindowTraceTarget");
-
-            ((NlogManager)_logManager).AddLogTarget(new TraceTarget
-            {
-                Layout = "${longdate}, ${level}, ${logger}, ${message}",
-                Name = "LogWindowTraceTarget"
-
-            }, LogSeverity.Debug);
-        }
-
-        /// <summary>
-        /// Logs the message.
-        /// </summary>
-        /// <param name="msg">The MSG.</param>
-        public async void LogMessage(string msg)
-        {
-            await Task.Factory.StartNew(() =>
-            {
-                if (listBox1.Items.Count > 10000)
-                {
-                    //I think the quickest and safest thing to do here is just clear it out
-                    listBox1.Items.Clear();
-                }
-
-                foreach (var line in msg.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries))
-                {
-                    if (!string.IsNullOrWhiteSpace(line))
-                    {
-                        listBox1.Items.Insert(0, line);
-                    }
-                }
-
-            }, CancellationToken.None, TaskCreationOptions.None, _uiThread);
-        }
-
-        /// <summary>
-        /// The log layout
-        /// </summary>
-        /// <value>The log layout.</value>
-        public string LogLayout
-        {
-            get { return "${longdate}, ${level}, ${logger}, ${message}"; }
-        }
-
-        /// <summary>
-        /// Shuts down.
-        /// </summary>
-        public async void ShutDown()
-        {
-            await Task.Factory.StartNew(Close, CancellationToken.None, TaskCreationOptions.None, _uiThread);
-        }
-
-        protected override void OnClosing(CancelEventArgs e)
-        {
-            base.OnClosing(e);
-
-            ((NlogManager)_logManager).RemoveTarget("LogWindowTraceTarget");
-        }
-    }
-}

+ 0 - 2473
MediaBrowser.ServerApplication/Logging/LogForm.resx

@@ -1,2473 +0,0 @@
-<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=4.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>
-        AAABAAsAICAQAAEABADoAgAAtgAAABAQEAABAAQAKAEAAJ4DAAAwMAAAAQAIAKgOAADGBAAAICAAAAEA
-        CACoCAAAbhMAABAQAAABAAgAaAUAABYcAAAAAAAAAQAgALt/AAB+IQAAgIAAAAEAIAAoCAEAOaEAAEBA
-        AAABACAAKEIAAGGpAQAwMAAAAQAgAKglAACJ6wEAICAAAAEAIACoEAAAMRECABAQAAABACAAaAQAANkh
-        AgAoAAAAIAAAAEAAAAABAAQAAAAAAIACAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAA
-        AACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AHJWFlJWFneP//+HJSVD
-        RwZQBCQEJAf/////dAQkJAYHdCQGBAYI////+HBgQGAEJWBgQkBgWP////hgYEJAZCVAQEBAQkj////4
-        QEBAQAQGR3dnZ3ZI////+Ednd2dnQmiI+PiId/////93iI+Pj4V4h4eHh3eI////dnh4eHiGePiIiIiF
-        ZY///4d4iI+Phnj3ZXd1cGB////4ZWVnf3R492BEJEJEaP///4dkRFZ4ePdAYGQkQlj/////h3d4j3j3
-        YGQGBgaP//////////9490JAZEZHj///////////ePdGRgYEJHj//////////3j3RgZGRkZH////////
-        //9491YHBhYHBnj4eP//////ePdGRkZGRkZHd0Z4////h2/3RlZWVlZWVlZWR////4Z490ZGRkZGRkZG
-        Rkf///+GePdkZGRkZGRkZGRkdnd3R3j4iIiIiIiIiIiIiIiIiHZv+Pj4+Pj4+IiPj4+Pj4+GeIeHh4eH
-        h4eIiHh4eHh4hniIiIj4iIiPiIiPiIiPiIdmV2d2dWd2d2V2d0d2d2dHdmRmRmZkZkZmZGZmRmRmRnZH
-        ZWdHR2VnR0dlZWdHZWd0ZGZGRmRkZGZGRmRkZGZHZmdlZ2dlZ2dlZ2dlZ2dlZ3RkZGRkZGRkZGRkZGRk
-        ZGZ2dnZ2dnZ2dnZ2dnZ2dnZ3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABAAQAAAAAAMAAAAAAAAAAAAAAABAA
-        AAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A
-        /wD//wAA////AHUnR4//d0NHYAQH//hgQkNHZWf//0dHR3iIh4//d4iHiHd3aP+Hd4eIRAZX//h2eHg0
-        YGj/////iEYGV/////+IRkZGeHj/+IhGRkZGRv/3iHd3d3d3eHeIiIiIiIiIiHh3d3d3d3h3ZmVnZWdl
-        Z0d0ZGRkZGRkZnZ2dnZ2dnZ3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAEAAAAA
-        AABAKR0ARSweAEkuHgBLMB8ATDAeAFAyHwBSNB8AVDUfAEUuIgBGMSUASTAhAE4yIABLMyYATTQlAEo1
-        KQBMNisATzgqAE45LQBQNCIAVjYgAFg3IABSOCcAWjggAF06IABfPCAAXD0nAFA4KQBWOigAVjwrAFE7
-        LwBbPioAWT8uAFI9MgBWPjEAUz80AGI9IQBaQC4AXUEvAFdAMwBeRDMAWUM2AF9GNwBXQzgAWEQ4AF1G
-        OQBdST8AZkAiAGtCIgBgQy8AYkQvAGhFKgBuSy8AcEUiAHRJJQB2TSsAZUYwAGlIMABtSzEAb0wxAGlM
-        NgBiSToAZUs6AGdMOgBgSz4AZEs8AGJMPwBqTToAc04xAG1QOwB3UTIAfFMzAHBSOwB1UzkAclM8AHZV
-        PQB5VzwAfFk8AF9LQQBiTUEAYU5EAGZQQQBrVEUAbVVGAGZUSgBvV0gAaldMAGxYSwB2WkUAdFpJAG5b
-        UABuXFIAcV1RAH9gRwB+YUwAdmNYAHdlWgB6ZVkAeWddAHpoXwB5aWAAfWtgAHxsYgB/bmUAhFElAINT
-        KQCKXTUAg109AItiPgCSZj8AhmBBAI1lQwCJZkkAkGdFAJBoRgCSbEsAiG1XAI9zXgCUcFIAnXVTAJt2
-        WACdeVsAo35fAIBvZgCAcGcAhHFkAIBwaACHd24AiXhtAIx6bwCTeWQAm3tgAIh5cACMe3EAi3xyAIt8
-        dACNfXQAkH90AKF/YgCbgWwAjoB5AJKBdQCVgnUAmYV1AJ2HdgCThHwAmYh9AKOBZAClhmsAqodoAKmJ
-        bgCjinYAqo10AKKLeQCvkHUArZF5ALGVfQCWiYEAmYqCAJ2MgQCZjIUArJaFAKCSiwCjlYsApJWLAKSV
-        jACvm4sAtJuFALGbigC4nokAqJ2XALuijQCvopkAraKcALylkQC/qJMAsaSbALKlnQC1ppwAtaqkALys
-        oAC3rqgAv7CkALuxqwC9s6sAvbSuAMGqlwDJtaUAzLmqAMG4swDHurAAwrm1AMi7sgDCu7gAw7y4AMi/
-        uQDHwLwAyMC7AMjBvQDNxL4A0cG0ANTFuADKw8AAy8TAAM3IxADQycYA2s7DANHLyADSzMgA187IANXP
-        zADd0ccA1tDNAN7SyADb084A3NTNANrV0gDc1tIA29bUANzX1ADe2NMA3tnVAN/b2QDg1cwA49vUAOHc
-        2gDl3tgA4t7cAOTg3gDq49wA5eLgAOnl4QDt5uEA6eblAO7o4wDq6OYA7unkAOzp6ADu7OwA8OrmAPDr
-        6ADx7ekA8O7tAPTv7AD08O0A8vHwAPTy8QD29PIA9vX0APj18wD49vUA+fj2APr6+gD8+/oA/Pz7AP38
-        /AAAAAAATw4ODg8ODg4ODg4ODg4ODg4RIiIqwP77+/v7+/v7+58PDg4ODg4ODg4ODg4ODg5PKgAAAAAA
-        AAAAAAAAAAAAAACLy8vO9P79/f39/f3+0yIAAAAAAAAAAAAAAAAAAAAqKgAAAAAAAAAAAAAAAAAAAAnF
-        /v7+/v39/f39/f39nAAAAAAAAAAAAAAAAAAAAAAqKgAAAAAAAAAAAAAAAAAAAB3Z/v39/f39/f39/f3t
-        UwAAAAAAAAAAAAAAAAAAAAAqKgAAAAAAAAAAAAAAAAAAACvl/v39/f39/f39/f7ZHQAAAAAAAAAAAAAA
-        AAAAAAAqKgAAAAAAAAAAAAAAAAAAAC3q/v39/f39/f39/f7JCQAAAAAAAAAAAAAAAAAAAAAqKwAAAAAA
-        AAAAAAAAAAAAAE3s/v39/f39/f39/f7BCAAAAAAAAAAAAAAAAAAAAAAqKgAAAAAAAAAAAAAAAAAAAC3q
-        /v39/f39/f39/f7JCQAAAAAAAAAAAAAAAAAAAAAqKxFjfX19fX19fX19fX19Kyvl/v39/f39/f39/f7Z
-        IB1lfX19fX19fX19fX19WggrK336+/f5+/n3/Pf3/Pn2hx3X/f39/f39/f39/f3xVSvc9/v69/r79/r7
-        9/n94isrK4f+4Hqp64Od8Z2D7Kl6fQzF/v7+/v39/f39/f39nwpZZdXJYr7ZZqzofp/67EErLIf+0yaH
-        5U5e7F9O44gmkAyFw8XK8f79/f39/f3+1ygBEMq0GrDMIZDiP2H37EEsLIv+9s/i+tPa/NrT+uDP2lsK
-        DQ0QuP79/f39/f39+6EKVuXszur1z+L509r+7E4sLIf+/vS2srKysrKysrKysn8DAgICf/r9/f39/f39
-        /uxlGoSysrKysrKyw/7+7EE8PIz+/tofAwMDAwMDAwMDAwMDAgMDKdz+/f39/f39/f3iYQsDAwMDAwMD
-        YPXgnRVQPIz+/twkAwMEBAQEBAMEBAQEBAQEC6T8/P39/f39/f3+6IwcAwMDAwMDQIBAElG8QI3+/tok
-        CwsLCwsLBAsLCwsLCwsFC1Tq/v39/f39/f39/vfCfCcSCwsLEhtSpOP8PYz+/twlBQUFBRIFEgUSBQUF
-        BQUFJLD7/f39/f39/f39/f3+99q3pJGeq8rs/f79Po3+/towBgYGBgYGBgYGBgYGBgcer/r+/f39/f39
-        /f39/f39/f7+/v7+/v7+/f38Qo3+/twxBwcHBwcHBwcHBwcHBwdY7P79/f39/f39/f39/f39/f39/f39
-        /f39/f39RI7+/tsxExMTExMTExMTExMUExMesfv9/f39/f39/f39/f39/f39/f39/f39/f38RI7+/tw3
-        FhQWFhQWFBYUFhQWFhQUO8b+/f39/f39/f39/f39/f39/f39/f39/f39RI/+/ts3FxYXFhcWFxcXFhcW
-        FhYXF1fV/v39/f39/f39/f39/f39/f39/f39/f38R4/+/t04FxcXFxcXFxcXFxcXFxcXFxdd2P39/f3+
-        /f39/fz9/f39/f39/f39/f39SZj+/tw5GBgYGBgYGBgYGBgYGBgYGBgYXdD9/v3soL/0/v39/f39/f39
-        /f39/f39SY/+/t05IyMjIyMjIyMjIyMjIyMjIyMjI0q9+u+KLjJzs+L6/f39/f39/f3+/vHWSpj+/t86
-        Iy4uLi4uLi4uLi4uLi4uLi4jLi4zmIEuLi4uL0i1/vz9/f39/f3+73RcS5b+/uFDLi4uLi4uLi4uLi4u
-        Li4uLi4uLi4uLi8uLi4uLi6l/v39/f38/f3+5kxLTJj+/t9FLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
-        Ly8vLy+n/v39/f39/fz96UxMTJb+/uFFLzQvNDQvNC80NC80LzQvNC80LzQvNC80NC80NDSW7/r8/f7+
-        /fv20EZMapr+/t9GNDU0NDU0NTQ0NTQ1NDU0NTQ1NDU0NTQ0NTQ0NDU2b4KXoKinmpN1TDRqapf+/uRt
-        RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRjVqapr+/vrh39/h3+Hf4d/h3+Hf
-        4d/h3+Hf3+Hf4d/h39/h39/h3+Hf4d/f3+HfzW1qa5r+/O7z/O7w/fDu/PPp/Pbp+Prp9vzu8v3v8P3y
-        6/3z6/r46/b76/P97vD+8G5ra5r+33Km6XeT8pN256hx37puyM1wruF1mvB4ie+ZdeSucNTHbLvecark
-        dpX68HBra5r+33Ko6XiV8pV46ahy37pxyNJxueR2m/CJkvCZduSuctTHcbvecqrnd5n68HBrbJf8/PD2
-        /fDz/vPw/Pbw/Pju+vzu+Pzw8/3y8v7z8Pz48Pr68Pj87vj98PL+52xrbGmVmZmZmZmZmZmZmZmZmZmZ
-        mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkmhsbGdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dn
-        Z2dnZ2dnZ2dnZ2dnZ2dnZ2dsbGdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dn
-        Z2dnZ2dsbGdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dsbGdnZ2dn
-        Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dsbGdnZ2dnZ2dnZ2dnZ2dnZ2dn
-        Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dsbGdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dn
-        Z2dnZ2dnZ2dnZ2dnZ2dnZ2dsbGdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dn
-        Z2dnZ2dsbGdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dsbGdnZ2dn
-        Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dslHZ2dnZ2dnZ2dnZ2dnZ2dnZ2
-        dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnaUAAAAAAAAdnYAAAAAAAB2dgAAAAAAAHZ2AAAAAAAA
-        dnYAAAAAAAB2dgAAAAAAAHZ2AAAAAAAAdnYAAAAAAAB2dgAAAAAAAHZ2AAAAAAAAdnYAAAAAAAB2dgAA
-        AAAAAHZ2AAAAAAAAdnYAAAAAAAB2dgAAAAAAAHZ2AAAAAAAAdnYAAAAAAAB2dgAAAAAAAHZ2AAAAAAAA
-        dnYAAAAAAAB2dgAAAAAAAHZ2AAAAAAAAdnYAAAAAAAB2dgAAAAAAAHZ2AAAAAAAAdnYAAAAAAAB2dgAA
-        AAAAAHZ2AAAAAAAAdnYAAAAAAAB2dgAAAAAAAHZ2AAAAAAAAdnYAAAAAAAB2dgAAAAAAAHZ2AAAAAAAA
-        dnYAAAAAAAB2dgAAAAAAAHZ2AAAAAAAAdnYAAAAAAAB2dgAAAAAAAHZ2AAAAAAAAdnYAAAAAAAB2dgAA
-        AAAAAHZ2AAAAAAAAdnYAAAAAAAB2dgAAAAAAAHZ2AAAAAAAAdnYAAAAAAAB2dgAAAAAAAHZ2KAAAACAA
-        AABAAAAAAQAIAAAAAACABAAAAAAAAAAAAAAAAQAAAAAAAEApHQBKLx4ATTAeAFAyHwBTNB8AVjYfAEQt
-        IQBPNSUASjQpAE01KABNNywATjkuAFY2IABZOCAAXDogAFE5KgBWPCoAUj0xAFc/MQBgPCEAZD4hAFZC
-        NwBfRjYAV0M4AFlFOgBdSD0AaEEiAGxDIgBqQyQAakUpAHFGIwBxRiQAdk0rAGJGMwBkRjEAYUs9AGVN
-        PwB8VTUAfFo/AH9cPwBeS0EAZU5BAGdRQwBjUEUAZFFHAGhRQgBlUkgAZ1RJAG1XSQBrV0wAbllMAHFb
-        TQB1XU0AeF9OAG1aUABuXVMAcFxQAHBeVQB/YEgAe2FOAH5iTgBzYFUAdGJXAH1jUAB1YlgAd2VbAHtp
-        XwB/a14AfWthAHtsYwCEUSUAh1ctAIlaMQCMXjcAglw9AJJmPgCHYEAAi2NCAI5lQgCCZU4AimZJAIdo
-        TwCVbUsAmnBLAIpqUACObFAAgmxeAIVuXgCRblAAlG9RAIlwXgCNc18AlnFRAJd3XgCAbmMAgnFnAIVx
-        ZQCLcmAAj3RgAIN0bACJdmkAiHduAJJ2YACWeGAAmXphAJp8YwCPfnMAinx1AKB+YgCfgWkAm4FtAJ6I
-        dwCSgngAl4Z7AJiIfwChgGMApoJhAKKBZQCgg2sApoZrAKiJbgCpinAAoYp4AKuQegCukXkAsZV9AJaJ
-        ggCZjIQAopOJAKaakwC6oYwAvKSPAK6hmgCsopwAuKeZAL2rnACzqqUAtKqkALivqgC+tK4AvrWxAL+4
-        tADBqZUAxLKiAMCxpADItKQAzLqqAMi7rwDCu7YAyb20AMW9uQDQv7EAycK9ANLBswDTxLYA08S4ANXF
-        uADWyL0A2Mq+AMvEwADOxsIAzsjEANHJwwDQycUA2cvAANrNwgDcz8MA287EANzPxADRy8kA0szJANXP
-        zADd0MUA1tDNAN7SyADY0tAA2tXRAN3W0QDb19UA3NfUAN3Z1wDf29gA4NTJAOHWzADi2M4A49nQAOTZ
-        0ADi29YA4dzZAOXe2QDi3twA5uDaAOPg3gDl4NwA6ODZAOri3ADr5N8A7OXfAObj4QDo5eIA7ebhAOjl
-        5ADu6eUA7OroAO/s6gDv7e0A8OvmAPPx7gD08OwA8/LxAPTz8gD19PMA9vX0APj39gD4+PcA+vr6APz8
-        +wD8/PwA9FH/APZx/wD3kf8A+bH/APvR/wD///8AAAAAABsALwAtAFAAPwBwAFIAkABjALAAdgDPAIgA
-        8ACZEf8ApjH/ALRR/wDCcf8Az5H/ANyx/wDr0f8A////AAAAAAAIAC8ADgBQABUAcAAbAJAAIQCwACYA
-        zwAsAPAAPhH/AFgx/wBxUf8AjHH/AKaR/wC/sf8A2tH/AP///wAsCwsLCwsLCwsLCyhFY7TX19fX2akZ
-        CwsLCwsLCwsLLhUAAAAAAAAAAAAAftLT19jZ2NjWawAAAAAAAAAAAAAXFQAAAAAAAAAAAAaI2djZ2NjZ
-        2ckoAAAAAAAAAAAAABcVAAAAAAAAAAAABo3Z2djY2djYrQoAAAAAAAAAAAAAFxUAAAAAAAAAAAAGlNnY
-        2djY2NmpCAAAAAAAAAAAAAAXGCs5OTk5OTk5NxGM2djY2NnY2LIRKzk5OTk5OTk9GBgvrcCvxqvHq8mh
-        QIXZ2NnY2NjYzTZ/rcmryavJqsuKGTG8iWWMRJhAnz0+X6qv0tjZ2NjYgQlClkGfQJ9Ar5QjMrzLr7Wj
-        vqHAoYoSDxKW2NjY2dnJOF6zob6hvq3UlCMyvNdwLSotLS0tKQcBAWrW2NjY2NmqMSQqKioqhMlyKjO8
-        10MCAgICAgICAgICFrPY2NnZ2dmwYBACAgItMDOLNLzXVgMDAwMDAwMDAwMts9nZ2NjZ2dnRoIBkYHGL
-        ydk1vNdXBAQEBAQEBAQEIaDY2NjZ2dnZ2NjZ2dbW19nY2DW811cFDAwFDAwMBQwiotnY2NjY2dnZ2djY
-        2dnZ2NjYO73XWg0NDQ0NDQ0NDQ0/wdjY2dnZ2djY2dnZ2NjY2dg8vddhDg4ODg4ODg4ODhNhx9jY2NbZ
-        2dnY2NnZ2djY2E+911sTExMTExMTExMTExNbu9mxb5XM19nZ2djY2NjVT7/XYhQUFBQUFBoUFBQUFBQ6
-        hk8UHU+Q2djZ2dnZsXpRv9dmGhocGhwaGhoaGhoaGhwcGhoaGm7X2dnY2NmTJlS/12cbGxsbGxsbGxsb
-        GxsbGxsbGxsbZ87U1tfV0YcnVcLXaR8fHx8fHx8fHx4eHx8fHx8fHx8gUF12dmlYJUpYwtmdj4+Pj4+P
-        j5GPkY+Rj4+Pj4+Rj4+PkY+Pj497TFnCw67Ipc6ezp7OpM6mxa7CubrCtsWnzp7Ons6k0JtNXMOSfJp3
-        pXSsc6x1pXiZfZGCg5F9l3medKx0rHS6nE5Smrq2ura6rLqsuqy6trq2uLa3uLa6trqsuqy6rLqOTktI
-        SUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUhLS0ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZG
-        RktLRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGS0tGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZG
-        RkZGRkZLS0ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRktLRkZGRkZGRkZGRkZGRkZGRkZGRkZG
-        RkZGRkZGRkZGS3RTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1N0AAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAA
-        AAABAAgAAAAAAEABAAAAAAAAAAAAAAABAAAAAAAAQCkdAE4xHwBUNR8ATzMgAFAzIQBVNiEAWzkgAFw6
-        IgBSPjMAYj0hAFdCOABYRDkAX0c5AGVBJQBqQiIAa0MkAG5GJwBiRTEAX0xCAGBNQgBiTkQAY1BGAGZT
-        SQBoVkwAcFtOAHVfUQBxYFcAhFElAJJmPwCIZ00Ak2dAAJRnQACWa0QApH1cAIBxaQCKd2sAh3hvAJl6
-        YACcfmUAl35rAId5cgCKfHQAjX51AKN/YACZgW4Al4JyAJeGewCXiH8AoINrAKiGaQCxk3gAspR5AJeJ
-        ggCZioEAnI2EAKqTgQCznIkAtZ+MALifigCmmpQAqJqQALqllACxp6AAsqijALaqoQC6rKIAva2hALuw
-        qQC9sakAu7KtAL+3swDAsKMAxLGhAMCzqQDDtKoAxraqAMK6tQDEvLcAy7+1AMO8uADIwLsA08S3ANTE
-        twDUxbgAzMTAAM/IwwDZy8AA2MzBANbPygDb19QA39jTAN7a2ADi390A6OLeAO7r5wDv7OoA7+7tAPHv
-        7wDy8O4A9PPzAPb19QD4+PcA+vr6AGfwAAB4/xEAiv8xAJz/UQCu/3EAwP+RANL/sQDk/9EA////AAAA
-        AAAmLwAAQFAAAFpwAAB0kAAAjrAAAKnPAADC8AAA0f8RANj/MQDe/1EA4/9xAOn/kQDv/7EA9v/RAP//
-        /wAAAAAALyYAAFBBAABwWwAAkHQAALCOAADPqQAA8MMAAP/SEQD/2DEA/91RAP/kcQD/6pEA//CxAP/2
-        0QD///8AAAAAAC8UAABQIgAAcDAAAJA+AACwTQAAz1sAAPBpAAD/eREA/4oxAP+dUQD/r3EA/8GRAP/S
-        sQD/5dEA////AAAAAAAvAwAAUAQAAHAGAACQCQAAsAoAAM8MAADwDgAA/yASAP8+MQD/XFEA/3pxAP+X
-        kQD/trEA/9TRAP///wAAAAAALwAOAFAAFwBwACEAkAArALAANgDPAEAA8ABJAP8RWgD/MXAA/1GGAP9x
-        nAD/kbIA/7HIAP/R3wD///8AAAAAAC8AIABQADYAcABMAJAAYgCwAHgAzwCOAPAApAD/EbMA/zG+AP9R
-        xwD/cdEA/5HcAP+x5QD/0fAA////AAAAAAAsAC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx
-        /wD0Uf8A9nH/APeR/wD5sf8A+9H/AP///wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAsAB2AM8AiADwAJkR
-        /wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR/wD///8AAAAAAAgALwAOAFAAFQBwABsAkAAhALAAJgDPACwA
-        8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x/wDa0f8A////ABcICAgIGk9hZmMoCAgICBcKAAAAACJmZmZd
-        CgAAAAALFhQVFRMpZmZmWxIVFRUUFTtGRUU/KllkZmAkPkVFTDQ+VTY1NRgMVWZmTSo2NlAvQEMEAQEB
-        BDxmZmVUIxkuTUBEBQICAhFYZmZvZmRiZGZBSQcHBgYHLV9mZWZmb2ZmQkoNCQkJCQ0sQidOZWZmWkdL
-        Dw8ODg4ODxAOHV1iXjdIVyYmJiYmJiYmJjA4PTklSFZRUlJSU1JRUlJTUlJWOjEzMzMzMzMzMzMzMzMz
-        MyscGxsbGxsbGxsbGxsbGxsfHhsbGxsbGxsbGxsbGxsbHyEgICAgICAgICAgICAgICEAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiVBORw0K
-        GgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAB/gklEQVR42uxdB6BVxdGeQ++gdCkPFMSKWLAgIgIi
-        0uzG3mJvURM1xogtttgTS6qJRo3lT7Fr7MYSa2IXbA8UlV6l886/u+fs7szs7rnnlke9m8h7795ztszu
-        fvPN7O5sBNVUTdW03qao736/eFf87LG6K1JN1bTupFj8F63uShSuZQRTor77XlELDaCmpLb52hmnP6N6
-        lgPPO/1bF5snkWdZfsXkw5ur3ovFv1EUlhMqVz4We/LKJQNw318jUjF9j54tVu4F89WZllvf2GYVF8iv
-        om1w6oHGVZ56ZzwTQ1wrGIAAgKgIACim4CJSlLatlEFTVpmhPEP5B4An17tOPnkbkT5XAEgIgMWFB2qh
-        emYBZLEpyauMTHxyrsfkncRFl11CZSveziQj33hIAAAzgLgMbeLRwHmQ0GpMcCdQOUKoD4Aq9rs8WiUq
-        8FleLVZAi9arVvLV3QdwecdXCExXN7MupfxS67wK2loeA1gVlc7b+VnaGiBzYpTUhrzP5Cg7l6bOyh+V
-        kadujqnia1cZmq6SrCGrnMz8CwBrSdq9mLKKrI/3eaDflwLghd6pPAAUI4By8ikxv4JCDE2qNS1V0lTi
-        aFDKJPA9V8m8Ck28ipgn2W3INXYq0d5yUt75YSxKbgLkaWhWw+rbTisp31TFrsoJvZqoqk/7ejVyKRqy
-        PuualZy6eiq/poy3LFDSzruc82VV9IGfAeTx8hdDZ0poVCmDI0ixC+Vl8mBAsTrtzSLKdnwuISdlAbmU
-        PeBKWEUpqcxymUOlng+9V/BvBgQ5fTwl90/GfC3OBKhPG6kSDS2n7vWRD3k2hxe/PuqSAwwchgCQvx+z
-        PltVAFph5lL0alQoj4x6ltvOzDKLKKcgAGQuk+HPAMpG5dye9GIHfs71XTOIQk65YtpZoB6V1HxFO91K
-        6YMS61ZWqrSmzzuOVoeyCL1XzyAaxyEAWJWaymerFpPPKrCfisvP53MI7sQIatAsQCRLaaUu3eYYaBRc
-        0oIKNKl0ueWoJ/8coHjlUPH65iu0Yuyk0Hch3w+wz9Uw5QBQogapD/ukXlMebVCup73SmhZ3ImYpPsqd
-        6Yzy11WBSC6WU0YHlbKUCwVYWSnr8gXbWMl3c1SyguZBkcqqgsuApWgzyNZ0JVPmVW2HFpKD/hw3ptR6
-        levcKkFzZso/L4Mroj2VZIOhttS7l70+VyZ0Q8op38sA1jQhVNoUgcL5FbUCkSO/YN6FNHYJXvX8citR
-        FRd6tIw6F7NCBPzZ1bliU0Jbi3q+VMadi3iU4gPI6vTQd5Wk+sXYhHnrnfX8qrJ1K5AqvsxaiZRnvBTS
-        6JWY4MWucGR9Xui7jKTNmXpdAs2dXbEMoJSJXAlbuFRbL/J/EYkeiHMfxKlAXSqYSto6XKkJVCojKVSP
-        Cni+lVwAip/IpbQn5DT1+WZ8z5fquM2qQwnzMD8A5HUq1QNiFi2QMpfCVnl9V3W+q6JdUGQZOcCl7Ala
-        JpvIVacsul6PDu9Sz5MQAMi95l9J2m6+88JTBbV+Pb23qssoy7YvsQ6VXo8PpJIcvaA1aVp4xcGvwPIt
-        +brCsi8WsIoAPf1R/o1ARYPBGuCVqY9Uz1q7eOdOuEIhh2Op9n/RG474s+WuXvjqVKI5pKqztgzPYvxq
-        RWetAQAEAOSx70yhFSm9ZHutrLwBCudfzlpxfSS+blVpM6sSNmm5bfPUv+Tl31JkkWlTZ2TG+6SelISS
-        RQpewPuqGMcqeS3LBCg31dckKrpj09FdKL+M+lbCu57JpvLKrIi26wFTMUq8KpZ0y1gNyNXevOXoPAMM
-        I8/elbyJ51UfjvEkT/eFIAMottKZlVsdjsGQyQJQ2gCphNOwVOdpOWWiJq+yTS+lyK6M8ko2TfK2J/27
-        ogxpVfuqgq6MFABE42riQi/VZ6Xr02VQygagkidnkZtoeL3qU8sW06Y12oVTIfNTp0rIO+cY52c4ymJf
-        FRgrdCfgKlgewgLI1EqV2DtQoC5Ox/HPAhOmYL1xRXO2CTyvFXMkdZVt7CmVzSEnJxdTSWUWa176nKzl
-        gGDZcyVH5oF2e5lIyVtaggwgyTHTrqoPZ93qWhsvkIqyLytZnzw+AYB8A9k3eFbREl/55k95FSgZIPOM
-        T59yKJb15tDw3E2V208AEKxLvq3ARdp3FUPZAqloZ0leDVzM0tLq9J7jtpUip3J9EPW4scXNr8h9IvXh
-        3Cy0VFtpedSnwkn33ogf7nHgoge042VnpdWzE6j+hIUyXZU2caW0col1dgZ4hZieGVflgA1bsSnZpi47
-        ZdD0nKlenJc5qkw/KiUewOpIq3gCRmnvFLNZpN4nToVSsQPPp/Eq0tZiQLw+zdBi67kG5Fcpk8YbFXiV
-        NyzLG17KBoci2UHQvi/YniI9/qjuoQ4sml4CFCfz+nBsVSLPSsq6TPmoPihVpsUAdiGTotjySxjD2QBQ
-        oQFR1J6BSgiiGAGhZ0qhqEU5fYqpfx7QKkcmlXq+Psol7zIzDDe+XPZQqUYU6cwrL9nMvGOgyLLoTkBG
-        eb2asVLOogLP5p5YpQq8kh1VbPt0qsDGmSA9r8TeixKX2opLsVprymVOZC3TlpsKObPLbmf59TGfA1Ss
-        TwofB14VkwK/sNqWAStTPpl8q8RvseqcI2WznUovJZaah25MMd/rhkdRPbEN9v4qWHpPisnYClw2dc/b
-        iErR3RKEUHYeuoJFl1cPE7dCbCmXk7CYz1eTxqzYuKmAH6O+HMQFTe2iGcDqXgUoGl25W9MuSdYLcFSy
-        PXmez7sfo5iyA5M003lVqf0GOfLK7Lf6MEGJ1g08nAfY+Psl1LWkK91LcXaaV4s4DJQbYfJWqBjELFRe
-        BVcF8PcFw1GX4N/gf5cEVIHy60XTlFq3NSDPitvx5bSt3DLrhTQWOgtQoi1S1KBepV7U4ttSdAcU2QbP
-        /pZ8ZeiXAQFVpWxIn7OyJOGVIKs8MisEzMXWoWA7c9Sx4isoJS595lhuto9nOQHrw2lTAQQtWmOuUqdc
-        GfWqtFbKK/96AN2Sza9SbPkywa6YupZlVtaXcitDMRVmAJVOa9IkLMeurXTbQmZKQMNU1r9RQbd2hkYs
-        du9CnudxUWtSqjf/UznOzoIAUOTLJT1bH0soq2jNNG9+a9KqRd5JtMomkG9yFwA7rxzqc7mtFEZRRn2K
-        jjpUQl5hMRAA4B51j7QiAL+qCvxOsozTvz1WL/kzou9kST32Pcs9sfw5yNdh/B53/rL5PnbbxHdUgef9
-        jG4h+XgnhRfO0/IKjWqPpxof6ApNDj4aHZl4G1vACYvrwpcikFyVHHL0q9N3GYhTcFnWN4YLdKFZCQjI
-        IiQb/F6oz8nvjA6SsiP/356yk4AgcitwFNfYQaxzxQLgjcKDPEZlYIH5JmSaTxSUHquh/gi/Tzsv+YQB
-        CTeuNfA4AydGoJP1OaqD+T5inZcBbEY2aKIRIMFyKDR5mZyJvAFNFiwHnqUP0H19jPqKeypRmWo/X8zz
-        A8+gjFmVkgtaIgJ4qN+9Ez/5xewhNG3B5epx4gP/DMCOuHw9sufjHtfVNMujnPj3uBwsrojL3QPOpjro
-        ZR5tB2eK64TqHqvjwPv+QgBAVEM61cs9UM+ZBqMJTUKWctagH2UDkr+GZe4bw84cQx3nBQtafzXYTF4W
-        HOJIDyZPGaQs3OkYXIAN1pi1lwMJlYG3rVz0gGROyvPIHDLycwZHjncAtY0DVqzliuoT4K7JnEB5xAl4
-        6H9tcZEd4IxlhfGWgRpRNrEFqbQ0M9FI+2w++HkXDwIgz/snNF/y9A9Z1rGQlzyTMVYdoYM7xnS/JSaA
-        AABIfAC+9pGKejMq0JgQXfH9bd4L0GhPHQhB4f2A+yliz3GygtpA5jcfG7y+QcBw6+2Uh+uVlTdpfEb/
-        ZPUV1zSsfL81xRhXYGLzPIOyCSXP9z6MpfhjTYassjkuc+sNUN6F2ujk75MVErp3PvE25ZUlhQD/GMD1
-        Z3qI9K39tTbqIxhAJE0AT65xKuCIC97PMfINTPweoi00V9xD9kWlqWNCAD0dz8DD9xRVQl5h+1Enok/I
-        qCoxGAqbaBbUwfy10Llj8aBjHWQOCVo/90iNvy8cawMzOKdcD58MTVTSFt1+rdkjlhMCFc+kAfZMIhdE
-        9dPnXEn626LDYUfoexdEWG7BiwZxcO1ipq9vPGXIuWB+tF+pkuAfBhQp6IhA+14mTIAGNdmNK9BRPkGb
-        byPybXhy8XJj9G+EBk9ITBEdYEwYrhj9bWQ46xGqOwtMyzUV9jzn1i+rbPu+v10+OdJ+sXLz1d8nJ/Dk
-        Zz+nvRF6PkgDyXcYvmnLfWMHCuYZGrcxMS0K1Y2+EXn/0r85Zxg9Kik0VvBzhXgArzc3B3ysg9YZMn5H
-        ABDVGIF7jSxfhXzqwMMjCe/1qaGAPQXI9Cs4+TJESVSx50Xn3YgMnEQc1g7AddLPeacmb0uad+Rrq8+e
-        99bNDiDaGy4DMG3g3UDkbmsWo2cdOZKX/QPc1MdjTtgu4PaUCwjEKeQBfKcdoY4P9K9fDnFqLmhpou9M
-        Z+Yr0/iTPIonCCCpgCwYYpUXF2he2HZ0/LKmfkZFSBMgAQAyibIYcAjsAwyV5MmfA38ZzqRGDDDyzTie
-        F4A76D3g4hsVjhMSwG0/m9i4jr7JoyeAHktee9snFt7ekGx9v/uwm8nfWVTx9BEZ/xF6D9C7WUQu1Nes
-        jd6+Qj/JogvkS07fsHxwVbnf2unLQMFeQOIyQOMapzykP2uIm3w8FouXY7pjVwLApbXi05oILaOYgSrR
-        B/UOJvxUkghqHGCjpERK2tjykWduqe9p48gIQb1KaSLYyaarEgOy01E+oQ7E/oMIUS2kHqnRo21+TMHw
-        ZE8/JyOcSJGCIx8/rD5OAFb8XuQZNGwkGXnjQY4mh2/dOA5OiJitnrDpicaF9aizEZqlXNIKmzGoK2Nm
-        qUWGpG62gbZoj7zISgVmcSmzijC5tjMLrxDbJiJzMbaFkPFtqmzrgkmwk69DI/WreA7EKVtBcwTJLY4j
-        P4mKmIwIABghoMZ5NQiibjH/2KXFuLPJShESDvbGEmqDO8syNfRV8otqcBSTMpwlZVp1ko+pcZQCilku
-        8tVJfh2b+vrUbFK2rYAeEJCCkW2rS+dxTha0UH20+YHqYJ/PsAEREGKQBF0PVc84uI/IVWw8f/1c7Mo7
-        Ao/lhygyAeUAMrC+c/KKub8EMa/Y8zmWNZqEGA4A0DygAwblHdC2pDm4ly2ggudd0x8cqNK/uTVCMgO9
-        rwL3WVLnCPBzJuvaqO8+l9aafQCBfgh5zL2MD01UL5OOwFmO8w8wT+LUMVAXH1v3MWJeHw4a4MkfCpTD
-        AS0oV/ANlDDFLWT1RDn/DuWTq2+1jDwC8cmgEMUNjpFAv9k+8kspi2LnGQvefsDjn+skz9zwkZmw2aIn
-        LRAw8G7x0H96MvTVr2A/Jj8wAGCK638tw7yxjQHrocQUnVIt+gnPUWuw0KTz1wwzkwgxP2aCOCVSak90
-        RPoDaw9uBtA2ewm+ydOWT2vP65Kd3KGcBRoqf6Jmdd+4QwL3j2PqZIwB3gecSQL6m1sJVLZUvnztxuQZ
-        p9wppXpkr5CnX3wTnvdkSNaF2o41O6RU3ZUdrYmtHTj1A2MCR478+QqV26P+dQhcS80EUstSmAD7XFIb
-        pQyAvmylijOJnOyxsG11bCHulGd2CKPB3C5jZRlWkjY3wgOaL+GxAWpsStuNpvZpnUhNY21/Is4HoWnn
-        W4/XXyFq5oCsBSyeLwaOZA7jXXfpRIjos3ZwI7nEMVu5SCWubUs2mtyB7ljKbKSgPjOaTPcxGjUaiFIT
-        zTzp8/wbc5VOP4NlkV+OSbHIHEQSUXV0tnDTMattIEKUyeTRZbOVIp8SMfKluRH5U0FbkxEwACK4xj4P
-        DLOpGcxHgO493TYzQpP2JwBgTACi8YB4aEn3ML6TSfUI5Lq2kCvAmEwY7iXmO44T6mP3opOqEW2DtoJG
-        aBhr2w7s+5yOaXHGaRm4Xhob+PKE8W+k5WITEufrkwWYdiG5GzkgSaUAkGhEmhHupwjZfnxHKtaeaH46
-        xzUcLzkbuIQ10LmEBrY7hqyc0rwjVB5ExImLV4KcfiZ9QAaW7SP0DH0HjAxxPxEzAAGps8scyYtvIXbq
-        YdoQ0cHMdTgfYEjAfGzz9jpL1aZcrTTTx+tSBiA+qTH1ZQXEuFchQl5NnWmqdbnmIJMPIS/potiiuc94
-        AtoR1tsLRgNgFOVnTaz89ESxowwPVCxAI+cIdUmM8mODzj7L6q4HavpFFFkNZDQ7c1459TaAEXrGIrBv
-        e4VPHqQ+Mf+cDio7wVLA4aDP+ybGfWRnu51ISLti5WLGkGZptgIWIFK6r8qyg4v3I1Y4dOkYUWsGcvjs
-        EAeMKHUy28FoG2/3zbBJiPsAmKwYeOHKk7EXU7na/nRnPvZdAXvfUyWrXOsiAQDjNQPgNiCmH+nPBlEi
-        QGeipuioP0YlawrkR83IDAAyUlG2BNVI/kT9Ap29fICxAcWEAk4W+F8uPJup1sjAmAHuScs6mELAWomr
-        HKZATH2JXD2djCdo7Gkj2DrhSaZftpMLfxbTfLhQyKBzVZ4e2jFvFKeVmPLwAnSgVz2JQ+XzV1P2E4M7
-        vrh2dkBBP6T7lsuTUB7U93jsmPJRxQJNpG3FWpuOe1sPTeltu+vi2AI8msWkylgOsQKAi60JAHTQ6Xo2
-        bNAAenbZAHbdZmPYtKYTtGjexFoYvg4p1MhyU978i6lHVOHn6isxkKtYfqurfatLnqui3FLLKLKPly5f
-        CV99NxteefcL+KR2GixbvsLJDqfY/pICgNoIpImmxW35W0Oh9bfapBsct+8uMHCLGmjXujk0btSwniVX
-        TdVUTXnTyro6WLhoqZr8dz/+Jjz3xkQBAivN95ExvRDtimPLAMTkrzG+XOz5EKnLhq3h1IOGwP7DB0DT
-        Jo1Wd1urqZqqKZBWrKyDNz+shV/e+Qx88Nm3gG1F7/6BOgQA6gPmbZQ/d+nfGy47ZSz02qj96m5fNVVT
-        NRVIc+YvgtsffAn+/Mh/yKoD8S1pp28cpwAAkgG43kX5116DNodrz9ofmjVtvLrbVk3VVE0F0krBAv7y
-        2Otw5R1P0cNk9gdyHCoAmFCrfAB6qSmmyyxjdtsSrj/7AGjYsMHqbls1VVM15Uj3PP4GXPq7x9Ml5iS5
-        /nBJA+o0AOiw4JYz6GWdMbttBdefkx8AkqWIbNdllC4lRny3SdF5RBDIYs3Joy7mC2nePBo0iILf581D
-        LtP6clFsbxXWI5RH7noIYTYICFT5ruIy86hIPRJ/2arIo0EUBeeKLykA+O1jZMOVQwcSR6AAgHEX1QK+
-        G5AdvB8zeOvcALB0+Qr4+Itv4cups9TkcYQh/lcX10Gr5k1hqz4bwUYd24rBQvNdvmIl/PeTr+Dr6XOd
-        yWeqKD5v1rQJ7LBFT+i0YWtHOIuXLIcPv/hG1YMPRiyCls2bwPab94QO7Vo5eXy/eCm8/+k38M2MeZDV
-        Re1aNYf+m3aDjhu0dr5b8P0SeHfSVPhu5rx0D4Wb5KetWjSFQdtsLH42I9/JMr9ftBT+N+lrlUeDyLvR
-        WMl1w7YtYOu+3aB925bO93Pmfw/vf/YtzJyzMHOwdRJt2KZfd2jdspkDJPNFW17/4EuYt3AJhIainFSy
-        PwZs1gPatGzmfD9r3vfwnmjLnPmL0YoTa4toY5f2bdT48OUxc+5CeEeMDynbUJJjr6bLhiqPFs2a0DqK
-        72YLO/n197+ExUuXB1ex5dDr1rkdDNi0u2P+yvxlf7z/2TewUNYjMDllf/UU9diyT1do1oTlIWT1rchD
-        jvWlZtnOv+7Xt0cn2Kx3Z2jSOJ8T3gAA20Jp9xOYHVAJACQ+AH8as1t+AJi3YDHc8fCr8NAL78KKFXXO
-        98k6Qx1077wBnHTAbjB4wCbQmDVqwaIlcN2dz8ALb02ElXUeAIiSgbZRp3Zw7tF7wvZb1DgIO2POArjj
-        n6/Coy+9TzfIMBFLADr/2L1ggBj0DREQSbl9M2Mu3P7Ai2ptdYUApZB8+vToAGceOgy2E0DC05TvZsMt
-        970Ar/zv8yCCy497CHlcc9b+6idOsgMlEP7q3ufgjQ9qUw3MBJJuttpi465w+iFDYWsx6Hn6SICydAy9
-        KyZfXZ2nJRGo5V452M86fLhy+PL6fvH1TDGoHoXPxU9HkEhwA7fsBT86bA/o1a2D05YPP/8WbrrnWZg0
-        ebqaRL4sGjVqADuKPE49eIioRwfgSbbh2jufhtpvZkEoSdDfc+fN4cT9BwtAakPmp2z/R19+C5fc/ih8
-        N2s+rQPeQCaG79CBm8LZhw+D9kJB4CS97a+99wX8VshU1SPQt00aN0zqIcY6B2ap6OS4uO6up9W8iXEF
-        WPrByO3h6HG7QJtWzSBPSgDgUbKjEeduMUEBwM9r9VbgtKtIRRIAODAXAEgP5K/vew7ue/Jt1UC7G8/S
-        DplzjRhg5xw5HIbvuJmDavO/XwwTbnsEnnr1IyVoW3FqzfTsuqFandhlm00cAJAde8tfn4cHn34b6igP
-        Qk2MBBC1gyvP2Bd23KqXAwByY8Uv7/wXPP/mJFi2fDlrqRXlZr06w4XH7w0799/YkccXU2fCNX96Cp57
-        4xP2nm2HrLqccL+76AhnpUVOmsnfzoYr/vAEvPzfz4w8aJLmWgPYRkzeC344CrYT2penZNL8C976aDKs
-        XBnTQZbuI20k+ldO3otOHCNAraMDAJMmT4Nzrv8/NXkds8hsD45h1wF9lDz69OzktOV/E7+Gy3/3mAKC
-        hCG6w7NJo4aw67Z94LxjRop60DxkeuvDyXCRGB+ffzUd7bCj2/rkWB03pD+cfcQw6NqhnQMA7376NZx9
-        7YMwVYCr3jXn5gUwatct4KITxihWg5PsB6mgrr/rGfjsqxmediRJLpuP270/nHPECMEQKYjI+SHX6y8W
-        bZk1fyF5D+/ElTU7dp9BcMrBQ9UenDxJA0DYejXbawUAjJUmQFxD997aZ0oDgLdgudqIwPfmJs/1UgAw
-        IhMAnnz1Q+XRdFOyhtFzIwkA4/IBgG9jtaiPZCKFAWCis7MKj5MEAEYXAICJ7GXUGgkAXTvA7yaEAGAW
-        BQDPpnc5WRUAHDfKy0QMAIjJY1kVBUMFAIJNXXRSIQCYlgCAc7lIMpF2FayuNABIUuNGjWDwtpsUAICH
-        xcSbbsaCPmehkwWA4WEA+KUAgBlzaH+yA/Wjdt0yAwAmCQD4lwKA0Mbxpk0aCgDYJhMAJoi2zBYmmm+M
-        64pLADj14N2LAIDXExOgLt3+E7G8daPVTsCxkgGguwHZhoGiAeCvAgCeSgEgYGD16poCwE4FAECZEWhT
-        P8ovPwDEdoMD3qwv/l8QAP78VMoAVjh7x3U9pG1WEABe/8R+yDb4JwwgBwC8kwIAceemWqJBhBhACACe
-        EpNnSgKqLhGBRqL9A7cqwACuezBhAL51pfTHIAEAPxfyCALAbyUAfJM4WNH5CE1XJW0ePCBlAD0LAQD4
-        CIDqSwUAR2YAwLUPwNRpc/0DOX0+GwAkA3g6ZQC0T7V8FQMYKhnAnvkAwO/gSQGgGAbwOmUA+vCJbpgt
-        RwLAz2qtCeDOWAUAPz6oOAB48s3EBCAStfkmDGBPPwAsXKw6+CkBACvq6twQSGmSJsClp46HQUEAeC4B
-        gLoQD0pNgDP3ywCAJ+F5gfTLlq2AUNqsVxe48IQMALjjSXhWmAAhELYAcKQfAL7RDODTgAmQMoB+PbIZ
-        wJ+lCVBLWBWeO8YEOGlsAQCYhkwAei5eJknfswDgMjEwNQD4LGe5zXzwtn2DACB3uk24FQEAO7omk2EA
-        Qsl4AWCSBID7ExOAHKqi43TUrlspQAwBwHWCVX1uACCDARwZAAChGCbcLgBgHmcAOL8Ijt1XM4AWkCfd
-        85gEgEfI4aRA9hwASJepDMYKQZYCAMtWrEBCTfPTPgDBAH58VBgAJCr6TAAcXEL5AAQA7JIFAP9627sa
-        oZNiABkAcM2fnlQdvWzZSis0lvIAQOIDoPal/is3ALzzKWIANK/EBOiRMIAAAEg287byAawEognS/Bo1
-        bJgDAB5QPzGm2qO/2gToo+ThB4CvFAP4QAAA8SOkdFcxgAIA8JYAgItu9TAARJmlQ1NOvEIA8PX0OeAs
-        nCINPmqwYAAnjs0EAGsCuCQx8QGUBgA4vwQAhhYBAP9RDKAu9g5ZnLsEgAtqRQcSH4CJQgplMABlN0dO
-        58iyFQMoBACvfCAYgI4gZPc062OQPQWIXHZKCgANOADMS0yAf71lAYBsc06eTxjA/mEGIADgOWkCKDDT
-        jhMgdmI/AQA/FzQxBABX3/EEPK9MAGoz64jFxgdw8ZGO19sAwO8fT3wAdalJpJuUtkM2v79gAD87bu8M
-        BvAk8QHwyyUsAxijbO8gANROY8tLYEBEAcC20gcwxg8An3wFlykfwFTkRwAEatoHUAgAHlIAwGDQ5JEw
-        gMIAMFUtNacghn1gqeYcNTibAVwvzKrPpsxA6+vEvoYmTRrD+KHbKHOXLxNbAHhIAMAisJ1qx2cy1GIB
-        ALvCqT8oBgAEA/jNI0ZhmqNAbjNro03GXFArOq4mRh2qo7DIVDQDuBebAHbtDY+ZXooBjCwMAELQbM6a
-        vUpyffWyU/dJTAAfANyb+gDq6ui8RXXp3mWDggCQOAFxWzQQJUkBwIljMhjAE3YVIG1IjCLLyJ+9u2kG
-        kAUAn8LyVB5GgaftUD4AZQKEAUC2JWEAzIxIM5TtlwAw4eRsBjBRAACPPoIDiwxWDGBMBgMQJsBnwgRA
-        A95EaIpTH4ACgL2CJsBFtzwEn3893XvRr/EBFGIAv7wvAYDU78eDncofeysACDCAN6UP4CnmA8DRmVIT
-        YKhmAH4AuOi2h5QPwO5xAa3jjIyP3ac4ALhbMoDfPOJey2kUh9FhggEIALAmALpSKo2EUjwAPCsA4A2h
-        NVc69CoZ/7EwATrkAoCErjq+JvVbYgLsE2YAAgAeEAxAU02DgkYRRzkB4BNytBK1RP2WCQBfJwCQ+ADc
-        ViRLeFFiAmQygMfSVYCUvqesSuvwxAkoTYAMBiDaIpcBdR5WXyYDtmEjaQL0hgkFGMDElAGYb8m9fZGY
-        vBkAIBlA6gOIpYuae0TF38oHsF0YAAwDmDIdvaflqpcBtQmwZ0EAMKwsxv6MKAUAaQKMCwOAZABfzzCz
-        lgfmbCJMgPEFAGCCBIDUBPAbiVACA/iPYQA2JDpgza/z1wAANbRwm0YLALjhxwfnAoD5C5eowp945X3R
-        wDoMyrYDxCfdOraDYwSqyUnDYwvIc8233Pec0nhyzZo4vVHq0qENnHHoMBjQr6cDADPnLlA06MlXPjSf
-        +drWWeRx1hEjYOs+3ciORNmfcqfXHf98GV5//wu1qSm0oUJq7xMP2l154Xn6etoc+P3fX1K7zhoAonVY
-        LuKfbp02gEtOGad+4iQnjdyJ+Lv/e1Fpb+zQxHKVk3XT3l3ghP0HwxYbuxuBJtZ+p9rygVx+0yyC5SHb
-        L3cSnnzw7opdcQCQG16uEWZErWA1IceslNt2m/eAkw4aqgCat+WTL7+D3zz4gqLN2AnIHXhyc9dx+w52
-        8pDpw8+mKpYpN1n5xqz8TPqE9hjYD44aP0hNPA4AEyd/B1f/8QmYMXuBvx3pz9226wMni7ZsyDbxSBYl
-        N2b9+aGXVT1CkXrl2N5jx83g6PG7wAZtaB4SiF9/7wsx1p+HuQsWmTx8bdpv+LZwyKgd1Q7NPEnOwUt+
-        83CSWaxNRX5dq/pLAsBPayUDIAMcmbtjdxMM4Cf5AECi2pRvZ6ktjnqwchCQHzdv1lhMnI5qdxSfvBJd
-        P5syDWbMWQi+wwxaSJI59OvVWaEiH6xLly2HWlGP78Tk0d/5VvHkFs9NazpD21bNnTyWLF2uKPzMOQs8
-        esr+bNmiKWzcvaMXnRctWSao6gyYPXchcVSylUS1XXXLPhtB86Zs22paD7npZdbc7wGLigwU8Uvrls1h
-        YyFT324xuW32S9GWeQsXBWPFySTb0KdnR9E/TZ1BKLdGywksf6JiSZKTul2bFtC3Z2dnC65McjuxbIvc
-        PhuavPKzDdu1UsDqy2OeYIifTp4Oi5cs9W6/SbZ9xNC5fRuVR1O2BVd+t0AomY8EC1me7u/g/aF/7yDA
-        Q5pDnKWq7cRCa38h+lZuJwb2nvlb9Lmsh2R20rThspot+vRTMdb1ipkPEOXv0lndQ4Bh44b5AvEkDOBh
-        4wTU5q9xopuKSgDYWwCADAiC9kAYQYjPRu+2DdyQEwCqqZqqafWnux9NACBmS632yjJjB9RGm+x9PrsX
-        gB7TGDtkG8EAflAFgGqqprUkJQDwUOr/ihwWTnwAEgBUUFC9s8w8lVCCMUMkA6gCQDVV09qS7nn0Nbj0
-        dmECqL+sKa7VOzLINQNIQ4LpNbb0DckURu9eBYBqqqa1KUkAuOT2h8lys0yu7ycWADDqvFpoADVmvw5o
-        f2Hy6NghA+D6c6sAUE3VtLakBAAeMncoAvAN2wAJ25dOQAkAkRsPQNsNygQ495AqAFRTNa0lyQKA/Aub
-        AGylI1IM4FwFAHj9At8HmADAoVUAqKZqWkvS3Y++Cpfe9hDobf02pfw+0vdcegCAb/EeXQWAaqqmtSrd
-        IwDgkttSEwDfbSgTWu5PfAB7SQCIWTwA+8KY3csHALkpSJ7zXxk4zlpN1VRNlUt/e/pNuPZPT5hlQHsO
-        LUYGgfpNAsBPEgbAkvEB7D6gbACQwSh/euP98M30uTnfCG1MXhPSmly3NT1VZbcqktxaPH32/OyHkq7A
-        AMA7J/l7zBABAOeVBwByX/3h59+uDrbQSuDzifiz0KZItKWB7xHm+ziB5U3Ojeu/3SAO+Iw8PYYI/jqR
-        K1wjCOy6SLNnMib3juMjaUD/jlmG/DCBr2q8P+1+UFSfiH7nO70RkrORNXrAt2eab7TlRztJn6LjfTHL
-        kxwp9/QtxKwOrP/40UHfHnPTJxGQ25qBy4mNF9K3nvzx2MNy98oK5+0ZV047ff3tkTk5jm6SBIBzapPT
-        gOkeQHa8UjGA8w6rEADMdOuLjyiGPo95h6AxoseJc0CFTW7PZm++n94FEZxdxAp15U3mke5A37O+Mkj5
-        7F3TSPB8zvLnMvSVE6iHI2teN/KuB5BCsgt2i+fFyD/PzC94UTurnGCZ/nY5YfMzqsjri4Tnlzkpy22D
-        fSU5hRsa5z7uZMNcuuOT4Je//QIARp6TMgDk+bNOAgEA21YIAG6DyVNn0iUGXU182X3sGxS+d4AMRHM4
-        FmVlXkrft89Q9GCxINUfyTHK0FGkQjQ2oE2d9+1zsb7EkZ8K8wKFPQqM8ylcs9hOcvqp2SkWbkueVrp0
-        gc4Hux8NPO00wTm8KJVVOhYU7SvfZlguPd4n+h1fu9x3A2QyJDvC6Oj3Nh/abn7MWG/ljTzjKCwvVi9Z
-        UJ10Ao48O9kKrLNhlVMM4PzDyweAc2+DWsEAXPZnUTROaQBlcXZis77AD1GBemm0yyppH4UpnO9SlaS+
-        qG6p2tIe14hVidSddzj/Oo10S1gzoLJ1CC1U5YjliQNTOOyEt4OJM5OtEIDF8rEgRKwvrmFx1rqdqKw4
-        YhMMa0AiTzQ90wphYDNywE3lbNM3DtCYc4KEIH2Eg8vigFURH4OpQOK0MhTscKegauhhi35S6xTBkGNN
-        xEoOJHi0HxtlNikA6JuBzIt239CYIdtWBAAOEwAw5duZ4NizJlHNbE8uIRTOoEMxWImZEE+IlpGSfLQX
-        a1FcD8BZoRdNpOJ00suBm0W99QDinWIGa2QHC6sj1TweswKL0ikXAyNvl22vpd1uxW2PYY0EZDTT8RWZ
-        dthSGKvRfzPGZ+pDQNeaPziKv+73pP6aQbGUxhqkig2XaJmvAc2IRvZxBJyOMzNiUN952Z0pJ0Zl8THs
-        9q21FOzA0YE+nfGvx5+WiakdjwMAdkDHigGcVQueoKC6KmN3rwQAzFUMQPoACpHi0N+8K/J8z4kmpm+F
-        yFJcRHl2sPs7J0Q6wcnHrbuLJT7yH36f1wI8w9pHHn3147rKDi36FI026Gt9yLDAkyWEaT467JNjqEz6
-        r1vXfGPCV79iDEWPERR4N2yw5DGQQvVO9bwEgB/VggoIQlFDZSx+jBm6XUUBgCJwpJDZpcKUO1o6GbFZ
-        ERumYG0r/Rji/YjdmDYa+om0U6zpcmw1k0NftUbBvR9bTYO7LEa0UecFGCJSSceR1cLghtrGJk4SP8+2
-        FaLImTYE89PKRj5OibW0ZjPO4GJyxNOGxfY3TAgNSys7W7YOU2W7E+1ZR9zd+sssJQciG1u3OAIiA1t2
-        hIeS2Rhjb6yKzFjXWtTWy8YqhMhlHkwaNtJxhGqCxw7rMxdsdXlp6RFbucfsFk0E/7+odsiGwiaGAoCN
-        90wAwLXpkj+VE/D8IyoAALcm4aQ0/cNsRP/ELDWik8xnd+Jx4EwYn93ps02B1SOm9YgMeFD7I0JlcQAL
-        qnE6D0j9uSrDK0YY3zxOZMe2jnj7Ud5s/jvlO9qCyYJoHWxaWbwkGQS1JCrPJyNfsE+v7EJjgrcDWN14
-        nmiMkMGX/pAh05o1aaTi/MnIPPKnDPstw6mr/xo1VOHIZWxJGeVKPq/NCSvf5LbpupUxrIjr1B2XMtDr
-        yhUrYUXdSnWZjryEZumyFeo+SvlT/o0DqCZ9kAJBTNunizNf+cYZkPEkGIACAH0c2A54XVriBDyybAA4
-        7Ce3wpRvZpAexTYUOboYRdZm89jSqSgRAeUY6tJz7f23dqdr6VrNRaWGa4sHjX0sJvaq1wThyAd69YGi
-        ddKJEQMry0QAlYPLdbSI1am69cyOxlKk7dN9oatuB5MdFzZcG10tcfVQ1lO2zAjtz6Bn2Jie5M5Ro87w
-        0Ca8LlUuMVqlcyRj3mzSpCG0aNYU2rRqrsKsyZubW7doBq3E7zJEWNvWLaBlc/19MxW2rFmTJiq8nLwB
-        uHHjhioWYEMBCgoIlCCTtkq5yt2wMuzd8hUr1IRfsmw5LFm6TIV+k+HWZPi2Bd8vVr/Pmfc9zJq7EBYu
-        WqI+lz/ljlr5/aLFy0zUbOt8xtzPN0/Y6FYMYMSZtWCuBovMD00zlQnw00oAwC0weeoMFHsPdYBRbZgy
-        g6XjaBhpFWepmj7YgIihpnOGAmnqqceupVIxRGh+eiYEytvOVao+aMhyOv1tPPYIjVM7iSyim+zSyWDN
-        FL6dINaUHuzYtwwmnVzpaLfzJWJ/WzlRCkYaivDGqko8OQ1rYuPGTPDIts30ekQnuN17E9t66G+xBeJy
-        ZoeZ6A9dppn2LdL2jcRk3bBNK3WDcKcObaHjBm1UDL9O7duqeJXt2rRUE17+Jye6jNnYwLnmneZZSorp
-        PybJCb54yTIFBnPnf6/iIUpQmD1vgXKsz5g9H6bNSn7KnX/yluE6fXcElqsecnjsJuUlABDp68HxoExf
-        qCQATBEAwJgeG72pTwDxvwhrmijG6EXgjNhsqNURyttoUud9HQadlWO8+9r+duaHMxh08MUI23nYtwBA
-        NbkRBm5fRJkB49tmjgCkSz5I/+uJhi9SYQwFr4xEKVhYbNJtpmBMlD+qI6HweLRR2ObdZRiF3+uAgsGa
-        k2sUaAjnJezRjg8Drqg+sh3yEpSNu3eGUUMGwFZ9uomJ3kpF7ZVavZXQ9jIIaFTOjK7nJOUhGYNkBXMX
-        CGBYsEgFr33zgy/g6Vfeg2kz59IxavqSs1u5CjDijFpQTkArPUzSEwA4qjwAmCEA4NxfCxNgJnGU0C2O
-        pL4kaZpnBw/SvGZeuB5+QM+bwUachuxZ85wHpNxuQIPSAoUvuKq1j6l7z4Mf9gCHIwzEBji7YX3LrASU
-        vYfhAKbazDWF2hchKTOoNW018jcyoFuMfLjpX0AEVkdXbjEBmtDgwQCYyE5S8p7d2sP5x+8DO269iZr0
-        0Zo823MmeeBu5pz58PiL/4Nb731K3dGBxYLHO1oclAxAAkBiAjDsVcg5Zo8KAcBPfq18AO7kYr3GaSrg
-        r7hWQVTF0EisjOgQMoVG1A7McDQgWhsxuswagvYF2LvyPJoP5w36PWvfGi+wVeW6AkgibOJhc4hkToYA
-        6V2cF/8LQ4Qjb85inNZZs8mn3zFC+sYbj2HvbwsdHaam1BJEpoXtO+m8O3CvneBHR+0N7du1hnUtTar9
-        Fq7+7UPw77c/9iovOlYkAAwXAMBPA8Zg6OjYodtXDAAmSyegpz9Nl5pBFQN1zXq6PUKTiysCAwLIbiX2
-        uc4Xq8fIvodRyBhQHJXowNUNsVlidxNtL9BHiMMGA4Ol2NZuMb4EJCtsR5t2sc0pBu5Qu6LY2tnmvj/1
-        SkR9IkwO1u8WI5lF1BaPmQzBbbf/J+IbyEdCDVqUZQTegW7ajn1D4r+mTRuLyT8aDh2zq3LwrWtJ0v+b
-        73oCHnzyP5CK0DYe+7WSJBnA6bXSBPA5IWQaK02AC46uAAD8KmEAzGanHBXb/MAGMX2PDFqk1XVgU3xR
-        k6v1kjzt4GJt53nicgDStWXqnsR+DFfy2ifgKwa1jREaFyyYR4zvBUYv0eVCuxU1+SD2gqrZfamndBS5
-        MtYmj8kXrLwJtcN+FYItadnchPAwCcemAQtA1oNhOYreRhxjuVLnhfTWn33MaDhEAID05udN5DZjz9+V
-        TNwkKcZEmT5rngKAB554zWG91CZVX0gGcHpthJYBScGQOgErBACTp07HhYNnhHs+9wgIfFBV/DNEQ8Rl
-        5pNR53x5hG13XQbdiuLm7dlC5H0wqz6h7zKmZ452YVMrXC6WZEz+KkWOlIHpnxIAzjpaMoDB6lYnR8po
-        YscK5FOw1GC4ipN1Jkfmb/yTJ8MAFAC4QmN/SgA4rVZ8UhPqhbF7bF8ZAPjxzWoZ0CkH18ybOG3319NV
-        Z+x3Hw0N1cVXWMgc9eUXqo+DfYZLh71k4MkvjwxDNLtQnr6/eVl+B0Rh+YTqw0wAJy4CNkN8suYmm699
-        6e8KAI4Z4wCAnFByCS1ZRlvzk6wvvs9SJwsAr9Lu8MlDAcCwU2oBGtTQJ9Mn5MUgQ3eAGysFAD4fQCF9
-        k3nQIpRHeLbQneRhyRgd4mUIsXGkuNvP8GdZtJY6/wy1D6SMNQ6Wt56MIRn5ZiUAOQLtbhbw9FkWerAy
-        UjMhkSdvJ3P0ICcisZk4hSW3EntkhbdDIt/B+gEAjycAEFuzjtlwWqAaAFIfgEcLJwzgmAoAwE2WAZj6
-        FEMky0ukeSHGHvjcqzwLWyrue9QnleudzAdCjCHjVQAPjGYUGhf5fNHJo+CDxkwhVoeeI0cf0OcKAI4d
-        u+4DwOOvhmeWlXlt1HvoybUQSQaAtn8i1+rYYRUCgHNuTAOCuJrZGVhOWDD9LL7v3GoJollSLWJ3AOr8
-        dLvsyIkjlw+QMsnGc8QEcB29ZgibNsy7Z3e4xWwyR1YQpgpoWyfz+dkNPdRrH/F2OCYU0gIRsrb1hiWz
-        FTiyk8nUITbOUV0pI8XIygwv0SZNtW0mB7i89UTam9nA5nt+UJ6Uj7LEjAuSVYCzj1nHAeDOx+EBAQAE
-        WM14IrKUDODkWtE5NVGgoAQAjq0QAFgfgNGiLPkOe2AzmTs2fe+TZ302OdDPzW4xxD7xmHQOEZnf08Ee
-        O0MXVQJ9wT9HbnPnABJ43mWWQoQ/1PVJf8fyxVsJnLgGvuSfh+5PYFiSUedQQVzTh9x+NjvcXta1zMJS
-        78W0XokJIABgrAQAe5X6ugUAjyUMwPQV2voTE9kIAFAMIKrRNi8Ws/xs7B47wA0/qxwAePZ0gdn24dvP
-        CbqTQyGv/B6+2LQj1SLIlORvagaB2UVMliT5kRGmk9ggx0PWCfGF6uccC0bZ2cnhhqaydp3OFz9hpWWX
-        S90aUBYd8CQaX4KWEe8ft49wHWhuLhrTdQ0PnDuT3A2DFSME4ku/vlP06wsAKAYAvpFGJC0AYPeTaqEB
-        8gHEkAo1caQkAHBcmQAwBw47+0blBLT3lSHqDkC71qBUbJ1H2MEFlvoaFuv40XjUmvQ9+2HA5EBCi/Vf
-        vsmOnVNoGhmfmj67z2gqRMwutQDlCztGnFioE/UvzqEXboaYPgUyeenpP2xxMdOG9AESG2EE3GRA5pd+
-        nrAA5mjkahs3Ms1f/8H3Y+F4Bz658viJiQ9g3DoOAI+mAGBjH5g5o5cRk26tjXoLAIga0KvBsIDH7jEQ
-        briwXAYgAOCcG6BWngZEmkuX4T3jzSPjRsCOPDoiAbIxBRWUZS746pN8h85cI/8B31yEj0+TFb2YNsEt
-        HxvztJ42zJWunxvaiTAc0hatK9Pvdaw+dKBGt9eLN6g9PgsmInXhrUHaF89l10JhHCGmQKVL4putkK+B
-        7s2i244B1YX3beIDGA+HjluHAeDPEgBeSdrukXkyTKR86lIGIC8HpQrDPC0ZwI0XVoIB3JBuBFKluxoF
-        Pe9QXmv5caMBGD/w/zR7zHmZMRtAvlPr4fr5DRSXADvvMyUbepOCHD1+a0iF+Y5OWcddgX63b/GdeGiA
-        eeSA28/L8f8MtSdGn9Ee8fn/MaX3AZejOzzGAjYBzj5GMIBxu63DAPCIYgCurDjbrpMM4MTaCJ0FMCGZ
-        UpU0bpgwAS78YfkAcBYCAKYdQjQA63uM9upvrC3QCHU2/1JeDkSzOOpQwyUemvhYL6QTzw5zHkrLaHIy
-        wenANpNLO+WIHKg2xiG5bFPoUSbcBv/k0Adt6Kf4XdNicg4YadY4sqsmKGCICbuFMrMa341cY4diWjPT
-        PH7cm/aP3X6tX0oK9x0cM3+bE6D2e8sA1mUA0AwgpkwUjy9pdtYpBnCCYQBEz6aCTRhA+QBwaAoAlk1b
-        NcjnHo05R3m0XX7C81Z7ONkAZnrL7m23ErGXJ1o7lIYDixktpm4zNwqb/YWGLcOAYZmJjSWI/BqM4Ou9
-        /Na+tT9MbDuGhkQTI5ChGMD8AKaZqHyEndpnwy+bxBQT523gA/Wh4yhkeERNETxGKO/gYbyIkcT62fA6
-        UXcZvefsY9d1ABAM4LEUADAT4uaAjArce0gCAM5BlPS3ccMGVogBXA+1yATguh2fm8OXV/hJOiehAGQU
-        oTfwN9lHg+hnceAJbstzX4aeBeGDuUx3E0XnqyGlyjQwpZ8CJw+igKvs2cj7vnvmP8kmIk64kGTk740a
-        NYJWLZupeTd/wSJYsTIGPeJYSEWnHt7c0UsOA2TPeuXtEU6zpusJADz+sifupvZVpZPdAAAkAKATllli
-        AhxfAQZwfWoCYBVo/8RHTHW1HceFDpGFasmXemxEm8hQcyKCOCaOJv2eb8mIHCghZgYAHsK6bt7onE4E
-        3MAE4ITF5KOpuGmhUyfOQpzjy3rCRHTKur4B/2EiByQRk1BFiaHRcYO2sNuOW8AWfXtKagnvfPg5vPL2
-        JypaDW4chT9mC6KlBXx8m9QTfQ5E5Cw8CTZlkcSlD+DMo8fC4fsMVdF/TBvXEQCQc+2mPz0M/6fOArjy
-        w32fAsDxigGAgxbJoJWrADf+vAIA8KPrjAlAYuM5FfRrKL4o4JcKyyg8q8wL2oRIPg6c32eqlmh7rzPC
-        MeQZzY3RZAQ6syjKEBPJ2UafPmADnkbuAx6Kg7gWMxDZ98Z08ExYSDpFBsLcul9P2HfPXWDYoK2hY/t2
-        CgC+/nYW/O2pV+Deh15ScexiqAOq1SNiARj/CZO32+8sTmKITmDhpgAqJ0yL5s0UAzhwND0OvK4AgDwO
-        fNtfHof7H/u3YGArk77DcqVzQgDAbhIA4pqQ+2jssB0rBADXkuPAriZwCa2X3pJBoQcR5wQ8lGiYWIc/
-        yyao9B0kWB6/3HkzBurwtNQ+9uYde3rGF5Cr0Ju+9oUQ1c2XOxSjBhG0ad0SRg/dHg4YNQg226SH0q6m
-        leKZ6bPnwX2PvAR/+cfzKqilM5EBL97FGfXj7Iy30D9+GjSQIbsjMembQs+uHWHLfjWwRZ+esOv2m0H3
-        Lh3ImF5XAECGEZ/4xVR4/X8T4cNPp8DHn32l5p+MPizDj9fhTogVAPywFszVYK7oxw6XDOCECgJAUrKO
-        OkMdWBDAAkRpiecnQ+PxRHxOehKiL5jy5WDJ7hP1c3ldL10QZNfFf3GBBzRC8yDy/O59IPmbWMqOzDH1
-        BoYb6Hnxo4mw9Tfu2UVp0ZG7bQtdO27oiZZrQeCvD78E9zz0gmACC4s/Ux+0mdx+kD8iMeGbNmmitHvv
-        7p1hm817q/82qekKG7RtpWIANhWsxRd0Y10AAJlkfMDFS5cq82vW7AXw8RdfwbsffQnvfVIL306bBYuW
-        LINlK1bIewkkABxbC+nloD7BJgygEgDwS5j89QzA9Jgs02CbLaQMkP1gNCY/fuuNyKl/jd3JRLkushvB
-        NxNsPvp7Y4zjivL6a4CJ2Wcx/R17YnGZ3KwJKUfdHl/ZpP0Y6Vi5AWDQ38uY+Ttvuxkcc8AIGLBFb6Vd
-        syLWyAk/Y858uPvvz8N9j74Es+cuAN+qhQPyzs0vHgRGYNlETOp2rVtAty7txYTfGHbYui9s0bcHtBUs
-        pXmzJirSb1ZalwCAy19eMLJ4yVKYIcBYgsAb706CjyZNEX8vSAHAczegTmOHVwgAzvwlYgC+FgEZ6CHr
-        PfR8JntEmJLJfHlmQRAqsd65ys5XtZLyL9YCQI2SA27Ddq1hz8ED4Mj9hkGfXl3VjTh5khyEs+YsgD//
-        7Vl4QNims+fOD/tzCvYrBtlIxezfqFN7Qe27w87bbQbbbrkJdGrfTk14Wb9iAv7Kyb86ov6UmtTtQ0U0
-        ULZtubpxaDlMEXPx/YmTBQAMPqZWBQRJ6TD111YWAGr1PoCkNoj+5uDxqfcX+fPRF+DMbv8VmhkI4ZTv
-        Uuhg3TBjwGaF8x5iJ3QnTaAMn48+UD658wtXIWZ/+9rmaYuRYawGWi9Bp6Wtv+/IXaBzh3ZFh9KWzZwl
-        Jv6dAgTuf/RFmD1nAbHd/W3z21nS3OiwYVvYtPdGMLD/prDjNpvCZpt0F7S/mfqulDDfKvxX+t/akvKy
-        gFB7V66s0wCQMgC0pGIAQJoAF51YAQC4RpgAHgYQ8v8A/RyPX8fP5hvPHt8SnyPOs6F38eesfvT6ckut
-        ccx+p73+LvFWzB7mCNQB3O98YQz8RSKTx735Q/3eqFEDGCAotdT6ewzqryZZOLvYTGTfJNRM4J5/Pgd3
-        /5P5BHxtZKmx0Oo9unaAbbfaRE387YS277FRR2jcqLSLPPBkX1uoP09SzljWRTICDQD2ajB9q03yAMC4
-        4ZUDgNqvk30AxM3lHO8CwB47fU8790cTX3/6jwmKkVJW7JAjgSyQd40wHuxgJBUKsQSsv+zHUegV/Y56
-        ht7RB1oyPjeG7RnqN48is5tQb5PV8rDttJXBx4ipH8PvN5Ex9HffaWs4+oDhsL2wqbPsaK096+I6aBA1
-        CGom+czM2fPhvkdehLv+9hzMnr/A9hMxu9JeEdk0adxYTPyOMGTHrcR/W0Lf3t2go2AAxYxJbePjeuCf
-        60LiAUM1OITaiABAxwOwk0uPhrHDd6oIABwiGcDUaRnBKPynzOgT+l+yqIaUBzYB0CdYI3qetWsDvhPt
-        mSIneYRi33oNArzwwHwIvhI47LErNQCDiA7HTW/7QVt8DKvyn5iTlZPOvlG7bw9HHzgC+m3cXV14GUo+
-        +pxFT5VjcPY8uP+Rl+Cuvz8rmMACiJkMJIjI23drunWCobv0h6E791crD/Iyj+LNj9j7c11OPjDwyKU2
-        qhl8dG2DFADoHXbIB3DRSWUCwOzUBJgGZBO3qQiAiemONZa5jNJdqkNvE06hzQVO4aO0faTrIzT10SoE
-        nWg4G8/yoaduqAVoagbqaKtiZGHBAYNL8iIBQXZ5CrdvOMcIB9+wMpRXZ224QWu1seewfYYqzZvV90rr
-        B+hzHhD460MvCJPgeXULLqTsUy7TdevSQbCPrRQIySW8Nq1aFGXvYkDSv68LV4AVm3S7OStIv5MM4Kha
-        8UhN5BtM4rOxIyoBAMIEOOPqBAAgomoPzR+dzBl4fWklfgbfUGs6Fd3AazMwf5OjujGqAhaUftqUldBq
-        7Hh2XXP24s6kPlj7Kmmbgype3xxaciQsQX+nwAADM2brbNNuRPMkUED+cM0a7VSVDrSundvDQaMHwyFj
-        d4f2G7ZJr7f2pzxe80hdkR0GAekTuPNvz8B9D78I8xZ+Dz3ExN9p234wetiO0H+zjdV6fjFjb2105q3q
-        hIBUAMCuAgAiGhMQj5fEBCgTAKZbBqA1n9GEPsccc1zzCYgdgxYM7FfEcYhdDEwB8mX4oMMPjSXvpAM0
-        91i+hN6zuppsmGOT1Bv56Uh5mD2wOsTsHed2Hiy39LOGYpL26tEJjthvOOw3ahC0btEi6FiTdr6Sb45J
-        pn1KDRv4TQi1OjBnHvzp/56GL6dMgzHDBsJuA7eEli2a5x5zZsLHGvqqKWdKAQDQaUATnir1AQzbGW6c
-        UAkAuDpdBozJzLbHQuPAqTjPcp6eRd6ZC2zQu1Fr6b56fuMOdb3ZetnpY/+kMdcx9cdHnXHSx1xdb4sp
-        ETB598UFJMQ+0swDwF5XZj0S9i/UAnM1WPK57No+vbrBsQeNhHEjdoLmzcJXZmlHXzHzTNZEap0sJiBP
-        D8ptrO3atsr0N+A8MQhpAMjhuKkmnWIMAEA1jp5figFMOLkCAHCVWgbkpipRtMRmp3M8sGOWmMJJ3jYY
-        Jv4egI0NrB2JTY9kwJ63E4iyCcfpj07wYfZhNTud1FwGRPvjMnn1Wdt8axcEMDx+Ckn7N+/TE44/ZBTs
-        udv2atdcKMmJH9eVpmEVCGSsDuTOJ53wxYJQNXlTbVQjACCSy4AkXnD6j/hbAsBNlQCAMyQD+I4N2nT5
-        SkeeYZpW/aUDZqBoFjhoKI5gZC6uRFrbt+hgTQkcMSUCvBHemtSWEdmjxrocjR0adGLkp4jZvnobs9C4
-        GOPIMAJyFBZ1QdoKwuljxCB4oBEcSx+zJ7svwR6Hbigm4xZ9a+Ckw0fDHrtsU1jzl7lWXogJZL7LHHrV
-        VJEkAGDQkbUN0sNAWOvo+TB2xM4VYQCHnHGVdQKiGRkBDu3MkgYKZkeDxQJkT+OgoFhzWnDxbbVHr/uP
-        22J/BfmchruKUQYek520hZogdNkOe/vxagZhNED9C1iaBLy0EWGCg1jhNBL9uUUfOfnHqGU23+TXa+eV
-        nnTF7mBb27borkVJAsARggEkOwHpAlKSJADcNOGUCjCAK1MTwF1t9/itAatB3/MA7iTjASVtvrZ1/J4A
-        X/Lm4zCJkIXNPPpO7vg9LGtf4Ab7Oc+LeC2QvZJ11Yb2EzRs1EjQ/h5q8g8bNEBFyQklfUCm0ktoeUCg
-        EqyjmjJTCgBxCgA6hDQakmNHSB9A+QBwiAKAaeknOqINd6/jVe4Y/Q6pFqTnxyNA9NzQYLqOT9bOSGEh
-        vanrFzhvj0KO0w02vmBd4Pne3RvAy8XTGEc4wkE56dIAoLKyztgLzd+gIWwmJv8Jh42GkUO2V2vuvrQq
-        ltOidN8+PQMg21d51lFN3iQAYOcjSFRgsnwkfoxTJkClGMA038U/zvIUTtw5iJ2UzssRe57hC182JKd0
-        0XIk98pje9xXJnEaxp724LrpLGK3vdhR55hjgLCMOyh5wu1GsmrYMIK+vbsrzT9q6MDVOvmTaiaOQbxl
-        Vd9iJEGg6tKv9yQB4HACAGSYqlUAYQJcfGr5DOD0K9LDQNna2P3bW60SHMClveXLwccfCpfj+9zN0Q2B
-        lafeAU8nAYIGaivtKUeOU5tsQrS/SrvXq2QBgBNKTUTHjtgFbqwYAEwzn9Fr5/laPE90gSvr2YLThbsa
-        iEZ1KXWxWiir/OIgiJbtLvNl1Y29K37t1qUjnHb0eOXTCZ3oq+6iW++SBIBDlRPQ7A/GbmYxEMbuuUsF
-        GcB3yQcoGoyx640itAve2ceD/DawNxm3uf7bt8GAuecjVE6MMsJLJOx77YvA5Ybi9rtHBhkb4EsAoU0R
-        +imyn0F/mvwrT86ddMRYOHDMEGjdqoVfRNXJvz4mAQA7HVrbIIpqYh6OC5I/KwUAh572C6hFTkCylqcL
-        42tygO1zessLBQzP5CXzC5WH3/PlB/xdD+X3ndcFT7kh1s9fYP4M7PwL1gvt2TD35eGs02dlSKyjDhgJ
-        Rx80UkX0CaXqUtt6mRIAiPTtwJ5UMQYgAEAeB3ZGaehuJ6PWAE1YnnxaFH0UMU0KGCwAXI9kFJi0jGnY
-        ZYkMl4bH1vAFP81KPoIQlAE4bZLx+sbvOQjOOG4/6NJxg+BSXnXyr7cpBYDIBgSh1nCkfAA3XVIJALic
-        LAPa5FNx+DtaL/d9YJPOl9DED6hmU7Jv905QnfNKsDZwRuJ7BVsShpCE2sspiTXb+G4B6eTbY9C28KMf
-        7q8CaHjPg8v/1VVp/3qcJAAcIgCABQVF9DgBgNMqDADgav1A8pi8gQfR71H4fWIqR+GsokLfZ35QjrvP
-        fsDryq0LXl9NbGSIrIED+sE5Jx4E22yxidry60tVzb/eJwEAO/6AAQA9LTduzwoBwKmXQ+3X3yGfm8fI
-        9pvEQKm5x2wgIaXYOho/S0tO1dhM4tjesKMF4K43aLs7tmY4O+NL/I0xrwO4szim9TZhvki7AzQCOSp1
-        bAR5uKdv7x5w/ik/gME7bg2NPCfrqg6/akqTCwA8fJbyAVxyelkA8K10AmoA8HzvU7Z6GdIE1cAO8IJ2
-        ceH8nYQ2BXnfc8oyNXSecfx3nno67wG4LCZrUcM8gwBR/OjUfgP48ckHwzjB3EJr/VXNX01p4gDgTpXK
-        AcBlCADQkiPQswA2/Jf2bNPNrWDe9y+fsVxIq1jwMGCbhp288ASn5fMg1nyFnubjbvCFHEDoQ4PIWx6k
-        pcibeX94yGg46sC9vB5/WQ95jLa60aea0lQb9RQAoJYBFYUEMs6UCTBiENx0aXkAkJgAl9l9AGBZLWf2
-        5ntIoQHfWc4os5lOnqU37uinR3Bjd1J7FhQSRqBNBo/GtHaAfQnQ8SPf4gGwyZ/mwdsS9AvgsGOpPGR7
-        mjRporZtn3bMvtCre5dgWO7q5K8mlCQDOLgWIAkJ5ox16QTcc1DZDOC76bPgkFMuS5yAnsGNV+yc7Qic
-        VkdWkzo3dJkM01iBGdsCQoFGY1KhCC+3U0aB6sTrENqvT4OCgLsVAsuELSZ4L/1I69BQ2P3bb90Pzjv1
-        ENh2q77eU3ZVu7+aPEkAwEABANoEwAEx0pmYAMAZFTEBJAMgoaMxbTcTX2u49NSdmWiMxDtLbFE66WLX
-        g49mnaXi+p0YTdiIvZbyEOIcoE5GHMtfx7/D2txUjQQcSb80uyBZ0K+I1QSxIBPzH2w1unftAOecdDCM
-        33NXfz/FaTSf6uSvJpqECTDwIOMD8DnixkkAuLQ8ALAM4LvwvhnP33yV2xcJn9r5vngANG/Anxn/mRt3
-        T3MEn1ywhPgKfGinQYTe0C1w22m/oVEDcV60rvKK7sP2GwEnHTle7frz1TBeGSPZVVM1mZQAQOIDSD6x
-        IawTjakYwGXlMoBZcOgpl0LtV9OQ3R+nE5BecaHVWhTxKcSHPuXgxjZGz9uz84DKAndZDdk/kf7ervgZ
-        DQ8RduZpHwO+5lwDir5mmwYz8Tn7TRWMyUCXDPnnOgaCLEDemDNk523gZ2ccAb16dPXulygnjl81rfNJ
-        mgCCAaRXg1m6alnzWMMA8t0E60sJA5AA8J2zRq7PIGBbmicblddO2NijbjH95rdd22JRxGEz+eik8/lC
-        9D0BpixUJTO9UN3R1oD0WR2FKHbqFbO6E0cs3kuA4o3LP3v36AIX//hY2HWHrb0AXXX6VVOBJBnAgbU2
-        JFicTkhr8o4dWVkACK2nE+dfaisbh1+MwmUh1z6+9gPS7/Cqgm5IFLNoPcanANQBmGWLOHtwGP2PbNBN
-        wxFQ2HLSJkQrYmd7ckRAJkbyMa0V77QWdP9kQfuPOHAktG7pP+FXXe+vpgIp9QFAnAIAo+Pi93F77pqa
-        ABUAgK+/M3H0fcGrTGIbaWiYS9+KeupQY7SA33sHwEkDnmzu+j146qbL9FF6Gsmf2u2YwpupnIIZfTby
-        voNzlWxhi3694YZLTlfx/H1LftXJX005UsIAZFTgkPKrBAAkPoBLYPJXyT6A0LAsoHQdr5//MB65qzez
-        HK8D0lmA920EYu/jJTvPs3nazJcYyTIi2yMh+2K3nfrDFT89UV3l5UtV+l9NORIFAHdiSAYwuDIAcPIl
-        6SoA1pwRWwvHzrX0w4hpfrMBRt8ngCaQz4/ATgNZ51ySP12PR5Sc7UoiwT6MLR+Z8vQ13THY79jl45To
-        p/8YnkFQwyIAufwoPa8gg2n26d0drr3oVNhqs97B6LpVFlBNBZIAgB0OSADAXX9Tf48bKRnAmRUAgIsT
-        H4AvMdZrNGAcYAKMexsnfsyeDahhkqe3gEAdDfgAOctkHkGTFbch9Axvs7dOgfo1a9YE9h+9O5x27P7Q
-        tVP78Fn/6irAqk8xBFloZJaa1oiUAEDiA2Bu6fTvSgCA8gE4AOAjysnnrt3vCtQ+477vWfFHb7llR4G3
-        kskaO09ghkS9BTq/mHyGnXm+euL8yBKBdyeBZUxtWrdSIHDCEeOgS8cNqwE/VmHi142Xc28C7ptVfI25
-        BID91CqA/565SACA3AfwowowgAkUAPQ6o2ONuyoPAwL5Ns3DAQhsk8d2qdFr9fuuCopwyQDhOur3w05D
-        J3n8BW65buudPOQ3whRo16YV7Lf3EDj+8PHQpVMYBKo+gdJTaLLXFwDwz+oxWQBISgVCdWNtAlxeKQD4
-        FuwCN4B3fzt46LCRDgBmULFfQbox95lpg/MnChc8083rbEyZCTIF6DKlr97BGe62L9R+37PiR1sBAgeM
-        GQo/PHQsdOncvsoEKpjwZF+FmtkkfH6jHvpOAMD2CADIOnQy8hMToAIAcJIGAABqUKNyjUcuYkrXboAx
-        kwnf5IEeMbljbxtea3cCh1LHnuHXaK9BjFHHblag9dVF4XY5MQ09dQi6+2MKJLF/mTapWgStW7WEQ/Yd
-        AUcfvLcCgQYZICD9AlEhMFpPE9fqq2PShxI/zFUBQJAAsC8CANNyM3jHjRxcGQbAAcDZsYPL93/sTx57
-        me4q0tICPGnA8Xqiz33BRPGzXgoRZ9TH1x6f1zJDCOlEjzFQxfQ5eS7g0P1GwFEHj646BotMeLKvSZM+
-        lCp0W3IAAFCqHABcFF4FqKxoYNW5WeujrNLzlG/JHYIH7zMcjjtkDHQJgEA1GKhNeuJXetLHmNXZ0ogJ
-        W5lyygICAQDb7ZOcBmTKUO+HV/sAfnFWhQDgWysTwv6xn9zjmGMVi9NFf7yfwD7OnXzpZ0a7o2dcBz9d
-        AoDYIQnmd1NchJynsfcR+xw6qhx7mET6HFmv1NVD9Up3RHgknbwrfQL7j9kDTijgGFxfmUC5dr0cnsmE
-        q1O/14l/Vq5cCQu/XwzfL1oMi5cshaVLl8OKFSthxcoV6nsZmLWRmEONGjeC5k2bQLNmTaF1y+bQokVz
-        Za4ZIGoQBc23wvUq2l+QAgDQmIDYVFUMoFwAmJYCwNffAkGXgOPfu0CA9+UgJ6VvYc+cwuOba/hJIxxK
-        F4DgAjCssO+AWyJfEMDvRWX8zpOzB0EHMgXiMpADqW3bZInw+MPGZzsG1yMQKJXmx+kEXy4m9PLlK2DB
-        wu/VmP762xlqiXvGrDkwe858mD13vgKB5Wrir0wmZOp4lXczyondoGEDNZeaNGqo2Fr7DdqK/9pApw4b
-        QtfOHWCjrh3Ukm6L5s2gsQCLxuK5Yueenvw5Vn0sA7BaBjvC0lWAX5xdGQD46hvdFbqq5nfHLxcDOmAD
-        9HmzV8HmRYL96kednPUn6JQ9diymH5klR2cy8kETu+AVgQUf9iq2350by41PQLcnNkeQCXihyW9dHNZp
-        qc8MyM/bqiXC3eGEI/cJmgMyrfMgIJqtbyHOm+QkWrpsOSxatATmzFsAX0yeCp99+TVM/HwKTJn6Hcye
-        PR+WLFsmNP0yWCaeW75ihQAJGW/R4/sxyopqMrmDU0ZtlhO9qfiviWAGLQQz6NRhA+jVsytsukkNbLpx
-        D+jZrbMCC3nRS+NGjfOFyU/boM29QNIMAN8OTFPCAMoHgENO+rkyAezWl7SSGdt5tN8bf+ZOQXrohwb5
-        dHsCb9EJPW9MEZYvV9P+28h8YONpQ4amx/ngOgL+XJXNTCdgG60lE2jVEg4aPwyOlUuEnTqosOG+tK4u
-        ERZr40sNLyf8tBmz4eNPa+G/70+EDz75Qml6OdklKEhqH9au9OAW3wbmWL/Ax3WkrnGXdzs0adJYMYGe
-        3btA/y36qHBvfTfuCR3at4M2ol/zxujICAcnAWB8LaQxAUmt0l8lANxcEQbwc7QKgKYSXgEEr441lYrw
-        pptU5ZMVtDSDGP3O2+Rh7qw0htOsYllL/AGLJeML+z0OYkrcFZ5s3HpyG4nWRw6Wg/YZDkcdtDd036iT
-        c3ZATg61PLgObRRSdyQIrZ/X47bw+0UwVVD6iZ9NgTf+9xG8895EmCJM1mUCEKQdHxvRYD+Up1sDfexY
-        o6qOPLq0P0n/QUPBFJoLdtBvk56w/Tabi//6QZ9e3RWzaxoI/+7UwQUCAQADxidXg5ELNezlIOP2qiQD
-        +AawPtM2dowMZ7QFgQgr7VXP5hsbANQMehQrn/oGbKeR6YTLAx1xF/M3cOcXKc+OBLz/wG5T0OUgm90U
-        zHvJ0orksBN2WAYcIqlsTDV0+WAPT7Vu1RwuPf9EGD18V2gqNAtO6xoASIBLzKDCJ0PlxP94Ui385+0P
-        4I3/fgQfTvwC5s//HsVQDDmftWwpursOWjx+PNqHeHgBwhBvTbtGDRtBxw7tBCvoC7vssBXsMGBzBQZN
-        WL/6EgMBBAC+h8V/4/farTIAcOKFMFkgqjaDuSlPCBOa4MCAIOgbzHCqaRnrOYTmDM0Xl8vkwMsFXkc8
-        VgD8AAYMjLCzP+QIBfo5Hgy4brjdzrvij+223hQuOOtYQSM3dajjurJNOC/dl175RYsWw1v/+wReeeNd
-        Nfmlfb9EUHxOk33EzTiJPYs45nv0jPkcv8MC1fBFMR+Ix854iaBd21aw+aa9YZeBW8GuO24DW222sTIf
-        CskgBYHaqMeAceRyUGxJJgAwpAIAMDMBgK++Qw3GzpIIqNzdyy6tMo3ciYLrbGxj/i7SBmke9j3Xlqbd
-        z2qlqRtRuWBnHWsLtt6Jo4/k6oUJ87v/UhMgtfddZCY/b9WyBZx3+pFw0PjhikYCeya5LGTttv+Ta9Gy
-        bWIJcnKJ7r/vT4JnXnoDXnvrfUHzp8ES8RkZl2qyRfZvwP1FZQvgPgfp026oWTrdqW6379klKOs4jrLG
-        hDB1WrdqAX17d4chu2wLI4bsCH037qGci1lAoACgZwoAdpLYyWkZwDllA8ChAgCID4B5w/gwtjTcio4Z
-        Cuigj+ve49tmaaRdnI9918fSyCBD3W4mdObf2PnD60X/xkhPS8dlgg0vjuufagseW0j+Kp1+ewzeHi74
-        0THQp3cP3yBYq+8LyKP1Zdukdv/0i6/gsadfhhdf/S9MmSon/hLFBrSc6T1Q2Bmb9kCM9Y/HHW0unaFO
-        bgA0BtJOphMeUHl4XNJnKAC5XmTp82jVuoW6G3LUsF1g+JCB0K1LR2gsTAOv60kBwDYCABqkDMAqJ5P9
-        uJG7wc1XlA8AhyAAICYwdgAiZxhusNc5xpyHunOyHG78WWozk27y+nKMKREBEb/1ZWDZUbAxpoB+hpkM
-        rMfd/Am/d+Vj5An0e7nOfM4ph8EP9hkBjQQ15Glt9v7n0frSY//NdzPg+Vfehn8+8SJ8+vkUWLR4SQp6
-        Vqzk7kmUfLwMfxHz/gSglD0wno3j16twkJpgJh2FKJsfdiVIE08uG27Xvx8cMGYPGLjdltB+w3bOBqPE
-        BNhmrACANCiox780fpR0Av64MgAw5RvjyONScbfmx/ZZLH0k1TgmLxipEyqMCiOTHTnkYk/UIB2th9tg
-        CQjFSBOzmwsRUCW/x8gxmKxkxOgnpFeyxQg97Hca1PCBJB7kFA0EdGWYfL6h+GWYoIMXnXOcWkryJbnB
-        ZW1MhTS/7NPvFy2B9z76FO7/59PwwqvvwMKFi2Cl9HUYWzoGHUvSOgx1n0TEqWuMAHxZLUJ9wxOQeYkj
-        TNmQ9Nw/QzVHJADNMLIYmRa+8YczM3W1rFLuGejQvg2MHTkE9hszFDbp1Z04gFMGMLZW3gxE/KXIjh43
-        qjImwCEn/MwyAIOUaVXR0p6ph9GyWs0jguuwH2xGcMLkXrRhdwrGSPb6b1oeDTaK5INUt4EcPZGNsweH
-        DUODRUcI1vQQXQ3OaR12MaCmJjWOkDFBIicndZMbSs44/gdw+IGjgteFrY3OP7V1NkPzy3ZN/XY6/OuF
-        1+Fvjz4ntP5XsGzFCv0l8aiRfRXpWKOXxiKTINLmqe1j4slJAZiPx7Rg5OCLrBMQjYtGQnPvMrC/qv/X
-        30yHaTNmKdOFKwBzkxTxE6TlGuUEBmDkXoJt+2+mWODgnbaFDdKLYxEA2FUAPgSVD+CKCjAADACAp6cW
-        T3bK85zXdAi0i/wd+TPOej/0fdCdh77I2+ZcKZCvHEyDduwPV/zsNOjerbNrzqyltn+yvh+5XB2164OP
-        P4d7//4UPPXcqzB33kIw9yJlNDVIqyE8nki5kJ03eJ7HTFEmeZ37LdecB717bqRWJT6e9KViMJ98WgvT
-        Z85RbM25KzejLfinBMxuXTvCgeOGif+Gw0ZdO0lhSRNgTHo1GDNqIKGmY/caAjdXCAAmp/sAqGsEsSDj
-        IMGuSLpiYHgAcwZE6LPYQRds9GPjCwuNTkvDPKKsLqdDItIHMdLHaY7YhieuP8AuTCfYIGEk6VsR8zGg
-        TVFauh2Ezae0/0F7q0MoPK2Ntn8hm196+F9/+324875H4T9vfwiLFy9NNCLgUYLZn5U1MfXAbsPGbBJH
-        l+LrZQ77RKTR9DILZGtT8pdcofnjTRfBrjsNUH/L1Ql53uCzL6bAO+99ovYpTPpssmIF0pQhoexTpzle
-        PlT1Mw6EpELy2vg9h+4ERx08Ru4qTAFAbgVm41ubzpUDgAvIKkBSBvZoBzQjd6SQXUCUBgMAYA+Atfc1
-        NQILEJjRE4cipnnoC3RWwL5oB0UUx07exGEYozUE831E/jbUEdmeTr/wwYyciMb2bxDBdv03hxsuP1vt
-        /Itc589aR/3V5p4MrT933gJ46vn/wF33Pya05xRYtmwFGvj6QWObIQqP+0jLGAEtcRCDAWOuZq0pjkHF
-        Ps46D39rfpcnBO9AAKCT7CvZPgkGb7zzITz70uuK5SxevASWax8OmeiorWDrp0trKUyC7YRJcNiBewsT
-        oL9kAHGNXU5DlY7kKoAAgCsrAADHX2B2AiblIC1PnCJIJEg+ZFK4Q4C6SUmerv2OCyM+GD2Z0IAgfgci
-        H3oSD7kqyIPYeYQVQxzYA02uQI+BlEGwB5fL8mjTsiWcfOwBcNzh+yhaydPapv2TI7KB0OeiHdNnzIZ/
-        CFv/Lw8+rvbwy0M5yHI3wkG6wPYz6n/TVeZX22/eocd0BJk4uj98BJIrkfSjEACY11LHppxPb7/7ETz2
-        r5fh/Y8/g/nSublihWEAWJ/EMWtD+qU8Zdhxw3bSB7B3LajjwNpBhZFQMIBRFWIAGABMo/UkdNfSk385
-        HaY9aBvMHCy4c0lH6IZhgcSGSSRCDl3naXsqMt5dZzyg6tl3cFvxVWH4XgSyiu9fo+TDATkYwV43JuZJ
-        31494KYrz4XNNu3lPVu+Nnn+9Rl53475xNk3A/769yfhgX/8C2bOmcdWhrBSRP1J2FwUKBmxTPRYjLzs
-        ZEbpZzzlmxEcM3BgY0KZADeHAQC3Wx5KkvPqpdfegccFEEz8fDLMm78g2deAVwj4Wid2XkdyK3D/vZPj
-        wD7+rWIC1g8DwPzJcWoQ7wi/64fZbRoMQMsSe0vTDxkSWA7id/PgfHmZvoRbgUvwIBCpD94UZFc/IvBf
-        F+ara9oKdMFqk6aNhX03Fk47/mBo16a1U9e1SftnLfXJNnw1dRr85YHH4G+PPAtz5s333rPongYo9hkI
-        0E96RlM/h11M5Luk1iT3pI0WMxIAmFAQALAM5GGlyVO+gSeffw2eeeE/MOmLKYnvgxvUbvXlAacEACCy
-        AUG4eMZJH8CVP6kcAHBjPyr8fog9+aWSU4GyvHNPCceisMyBMz8XWtyyMxR80XKSaaMuHeDaS8+Gnbff
-        yttnaxMAZNn9X38zDf5478OC+j8L85SnnyZsAeLxoH3FJAVYO7edef5xxt++Z/kmMv6OMgGKAABTzXSn
-        47sfTFJmgfQRTP1uRmZdUtlIABhVKyMCObZ4msZJE0DQyfIB4KfICUiMYaYpteS1lLBjA5AHnFUUa3h8
-        CozMQGsHki85HLOTkdRb5Os6ww/BeizZcPBNYgdMrBfXDx+ofnokI9nJaDNjRu6mtv1u1KWj0w9rzeSP
-        sgN4yJ19f7r3IXjw4WeVc8yZ1Y7D1mdKgh1/gFZWPEfO/V5pVAbdJQZkhcmltpblGXBJ6t6sqQCAXxUP
-        AKYokedsYQbddscD8Me7HyL2v8NA5VirixMAAB0T0BNna9yo3SvEAH6a7ARkHW0j3QIQl7an36yskG2j
-        l3l8qtaHLbhTQkWmZWhHHOojarR43BMhxuVhnrQuHCDQykUclAP9vGWL5nDJ+SfB+L2HOkd+16Z1/5DT
-        T9Z9xsw58JcHH4N7HnxcheAKAquTqf4nZpPSfk37iznDQh5A1n9eq8+UD6y+CAjilAH86uKSAUCnu+5/
-        FCZcfTuNBMRBKPm3NurRf6/aKGpQ43LR5O9KMADppT3lJ1cIm226p1MAwDd5Q4IPTGSykbsIACBOEvUc
-        6ykMTnykBetm3122fLk6c75c/PTOdGwHOC5ljwZy/Ae2YBko4pLzT4att+jj9MHasvSXtdY/b/5CofWf
-        ht/86f9g5qy5uHX6ZfKnTE2aNILWLVuqYJxG3OQ1PFi02Klzzrcuiy+LJTGl+HhhCgTbImTLuvilabMm
-        cMPl58DAbbcsS4YKAK66nYK9b7kDIgEAW49KNgJ5r6OJUwZQHgDIAInffjdTxU1b39K7H0yEW//4AHz6
-        +WRwDc0sDwFPPrS0SR4AOeGo/eHkYw5SZ8R5Wlvof2icSa/3sy++Dlfe+Ee1TdZrHpmUmIHyGLTcWnv4
-        QaOhZ7cuCNzXzCRXbDp3au8c2S42JQBwm/deSyyjODYAwAOC2AFZCQBYn9Orb7wLl1/3O/ho4heBJ3w2
-        AdE15PNQHnLf/4RzT1Q+AN/Gn7WB/oecfnLZ8n8fTIIrrvs9vPvhpORAT5Y0RB7yFOSoEbvCsYftA716
-        dPWehFxXkwKAK28zI0mvdXDQVE7AHlvvZe8F8DkB964CQKlJMh65QeWG2/6iGFDWknOmbwAg/G6aBu+8
-        LUz4yYmwaZ8aN/s1nP7L+snJHzqwNPmrb+HaW+5Uy1wy3n7QnEuTDLF98D4j4ahDxylgXBtu+qlkkgBw
-        kQAAx0nOxpgFALkRiAjVeg/H7S19AOdVAaDIJCf/O+9+Ajfefje8/tZ7NvCEEwQBPAQAeZQBfOwNsI9A
-        xoI79tB94KxTDvfSx7WB/oe0v4yzf9sf71eOvwULvgfinTfCsEjZtk1rOPLgsXDMoeOho5j862O66z5p
-        AtxKNyB5/GMpAIxMAAAitKMMzAtqH8BVVQAoJknH33/fmwg3/+YedThlhQADuzpkZzpVXh6vMk5shSr5
-        LHlb7vc/78xjYPyooU5d1nTtL1OY+tfBY0//G6791Z0qFr8TBcEsWiXvypWPfccOg7NOPty7DLq+pLvu
-        ewQuuiplABluptQHIAFAhgRjmy3TF9QqwFXnVwEgZ1KT//2JcJPQ/G++82Hq/UdKHq9E4dVEvUSc5uML
-        UMpXkHQmO26/FfziwtNh0417OvVZ07V/yOsvazxx0pdw1U13wCuv/1dF9vHKIU0NxPgctEN/uOCcH8KW
-        m22y3tF+nAwAxLHHPZqkZPEpxgxAC5by0XFCq+RlAHpHkrwpJeS0kmNRdrikqo0bN/LmIY91ygsasvOI
-        oEXz5upmFZ5kgMslS5eqemSNA3ldkwyW4M+jTh3HLLRy0aBBEq9d5iE1lnRSXfvrP8NbYvIrOThUFTUi
-        coNO8DhRJDgFj4cGCf0/YNwIuPj8k9RGEp7W9H3/Ie0vr9+Sy3133PNPFcILiJzs8wkGRuomndOPPxT2
-        GLyDcvhJuciDUD5wkTKRh2riOMyMZPfI8dlcjA/feQo5PuUYUwePgmMsgiYiD7m+HwXyWLxkSUGAbtKk
-        iWpLXlCTAGBXAbytU3VDAAA1WDWZ6Ch6GTAnA5Ad9e/X3la2r1z642fsZa4yAu2G7dqqUFX9+tQ4+cpJ
-        9/gzL8MnAv1D1FXmJq/CHrfX7tC7ppsjGGkrvvDKW0ITf6I6z6cxZGrbto0ycWp6dHXymDN3vtpSOenT
-        WhQ40k2dO7aHPYftAr16bKRCTv3i+t/BQ48/D98vXmqOCNPNF/hug5hq9PQXCsQ0tCkGRflb5w7tle1/
-        yP5u1J81nf6HtL+coM+//CZcdcMf4fPar5xttEnj7I47OeHljTnbb7ulunhT9peMmb/Hbjuq69G4TGS0
-        oL8/8gzMVz4Ff5Jdt3m/3jBq+K5qOREnKdNPv5iiliVnzZnH+sb2kWxbUo+B0JLlIYFj0ueT4Qkx1mWI
-        ciYZwHNmpx22Vk7evMuDCgCuvNWMOP/4lwBQJwBgqxQAiPfZLBMou/Lmq/MxADlpbvn9vfDXvz+lqG+U
-        XqZAQnuIX3v13AjOOe1IGD5kJ+cyg/nzF8KEq2+Dp559JQUR2yF4p26P7l3h0gtOhUEDt3EGkbzG6Zbf
-        /xUefOip9BpsKwHczB4bdYErJ5wJA7fbSt2+ggfJV8Lm/OWv/gzP//uNhMajfR04UGO/vr3hwh8fDztt
-        3x++nDwVzjz/Gnj/40l07zkumA1m1/HvX/YjnYhcBf369oJfXnaOGmhr27n/kPb/RkzQG27/C/zjkWdt
-        DD/fPhsj0GT/gNwLIR+T5oBUXGefcqS6cBOXIeUhWdo5P7tWAME0miegHb3iv1EjBsOEc09ynInSHHnh
-        lTfhulvuhC++/Mr2mwn4keQoNfd4WY/TjoIO7Tcgk1Cais+99CZcLDT1nLlzSdg3G7Yu+evYw/aFU354
-        MLRr6x7u8iVlAggAsAlHvdZH8PW9AFvtmQIAlbC+cUdq2ZuvzscAJADcJDrunv97QjWQoDbqxF49uymn
-        1Z5Dd/ECwAWX/0ohIwYAe/llkk2N0Li/uOgMGLzTAAcA5Nbjm39zN9z/9ydNvHtDtVEz5eaQX156tkDY
-        /g4AyGuhrhQa6Ll/v55QeTZTNQDISxkmnHcy7CKA6KVX31be1y8nJ1uebew/NMAg2bQjl6okEDYVgyT2
-        xXnybw9woHwzUb6kvpIR8bQm2/8h7b902TJ44umX4fJrfwuzZs/DS1bOZj2jq1iSY3Wf0XvAT04/WjkD
-        OQD874OJcMZ5V6kDRY5ozfgHtafi0p+eCp06bkjylwDwnGCH19z8JxV8JGbv6jrLvt1X1kOM9Y6ivzkA
-        PPPC63ChGOuz586zF8fq19EJpuOP3B/OOPFQAQBtcsnWMoCYIia/0owAgKGbUSro5AW1DyCnCSAB4EYB
-        APc+mAAApIcsTAemaWNB288989gMALhZDYLEftW2MP4tBYCfnymoUQAAbr8b7vvHk8n1zIDmDdoT3aN7
-        ZwEA5wQB4Kob/iDMgDdgqQIzvztl8003hgnnnywYwNZwrwC+m397N0yfMQf0Md1E7nZPv7y1ZZst+8Fh
-        B42GzQV7kPZh1iQNmS86yfDPHdtvsM5ofyl3qb0kmEpzMTk7k2pXtHmWbpSiUpIAqwDgjGP8APD+RDj9
-        vCvha8EAIuJtpfv/R+85JAwAghlec9Md8NkXkwFXAwcLk3f27Tt6mBjrfgCQJsSFl/1KmBF4W3M6ylEE
-        q+OPPKBIAHhYyTCO9Q3XeE88rmsKAJDeDuwbaMoJWAQDSADg8RQA3L0s8vdiAMC/NyZx+lzx8zNg1522
-        zWAAT6Abb9gtwNKMUAwgDABX3vgHeO7FhAHgyL8YWLdIAWBHAQDXC0p4118fVnv/gbTblt1NmB0/Pes4
-        YVsOgsaNC9/lVkpa0+/6C2l/6VT752PPw1VC7jKYJwC/owH7UoB8Epmnk4CohQDgDAkAggH4oFc/Pdow
-        gPbk+4QBCAC4+Y8qXh+AH6g1AIQYwLMpA5glTIDwRs8Ijj+qWAaQAACzKwi7SUHKBQBOh8btXToABJaz
-        oVeNNAGyAeBxzQA89rtMNd0FAFx0Juy6sx8A5DKcBAB9AYQBeFSPHt275GAAqQnAEgeAAVtvBj+77GZ4
-        5MkX1ADxnQGRwTl3HthfMSppE9ZnWpPpv0/7y6pKm/wnF10Pb77zvnKS+S7W8Ll0+SdSzuPzMIDUBACg
-        Zei/swFAmgB3KGdgyErLDQCEAbhtOv6oA+B0AQAbFA0AdeAyaFwGMQHSj7AbKk62Av/q6p/mBIB5cONt
-        f1FUWK9/67VIrHpzMwC59qtZWUTxv1f3bgIAzggCwM23UwagY/Bhf0QuAJAMYPly5pO3Pl8NADXdN4Lz
-        L7kB/v3aO1Z4EWm48uLuP34EXPjjE9XyY32mNRkAfGNJLonJ4B5Sq86aLSeE5/rz9B4HG57Bs0siBrUk
-        W9AEODcxASh/oMuLY3ICAACQN3VOCQBIH8CxuQDAURqpw1sCQMkmgPNtjAPUCgDYUjAAfRgotp7HRMAx
-        jB+1R3EMQAHA4woATPw0FMNPJuUE/FEGAFwmAeDfygNMjrzqyxzk6aUe0gQ4MwMA/gL3/yMBgBhFDwaT
-        W2RNgIEhJ2DKAMz+85icCk6WijaGi88/RZ3Fv+jKW+Dd9z6hkYAjMM4Y6cU97YRD4ehDxue+073YFKVL
-        rWsq/Q/Z/jNnzYHzLrkRXnrlLViebvohDNLsjqZjiSst+XfDho1ymABXwNdTpwEe8frCGG07Kx/ABRkA
-        cJMAgC+nGH+Z7fdk5jZt2lgAwPCwD+CF/6QAMA+saovMaoT+6/ijpQlwWH4A+OvDaiwmztIYnQKOCCVX
-        ANB9yxGGAfCAOPJn4gPIywDmw023yVWAxxADsLefaA3au1f3TBNAUunHBQCsUIM4JgF5dJJOwCuUEzBk
-        AvwlYQCxHTAm8GasTYCuagktvArwB9XRy5YtQ0LTdxAkf0sAmCAAQG6AuuK636q756wXF8WME//v2L4d
-        /OLnZ8CI3Xfxbj4qN2mNvyaf/PMBgJyUL7z8Blx89e3w1VffEn8L5VvJEp8MFqK2V0PsXQ3IAwCnSwD4
-        ZrqdIClNxQFmCwHA1Tf9ET5XqwDoZL8ZGlHCAMbsodhuiAHIse46AfENVpoBFAcAEwQA1KFgIyZnHO0o
-        YQAjasVvNdxZqGUyfu9iAGCemnjWCYjXHFLpiD96KxNALgMO8gPA5QkASDsQ0uVIHDVI1lGvAmQxgAf+
-        8WR6dJTXwwLANRnLgFdpAFBshrc2aYtaBhQAIMNUXferP6mfzgpeqhnksuOt11+ktqryOieUHSDnZq9g
-        WlMnvpJ5yPm3ZClcef3v4YGHnoIli5eSbdP8WrS2rVupHY/TZ87WLTZ562cTH8BQAQDHZjoBpwacgHoC
-        7r3nbtkM4OY7Uicg0poGDCJoUsAEkKcbf375rxMnIGhtHZExKtMPj9ofThcAkNsH8NeHrBMwAuoDo3uV
-        JAAMVwxAoxa/j6cYAJDe70efehH+/epb6d5tG/dfa145QOWyyv5jh8M2W/VzzmkvWrREMIhH4Z13Pzbx
-        3WnXJILacMO2cKSg0nIZzreLTzrjXhb2uPoOCwEleXvOUYeOh7593PDZM2bNhr89/Ay8KwYLptN4H56U
-        VveNOsNB++0l2vw2/Pq398K8+fPx5l3Tkw2F1tpm635w67UXJtcysbQm2+yVSiH6P/HTWmH23aRi3dvb
-        lXT8Rn0RJkCrVi1g0I4DVNAMGRoM0ifxtEs/Embd1kL7DldxAXCSMpYbtn735wfVOPEv7iYacvsBW8Ah
-        B4xSJwxxkuPy/Y8mqfExbfosuj9BPpAyXjlnpHkpHYF8R6KcH+99OFGFNpPbntVryM0JqF4jhu6sHJIt
-        W9DdhKEkASBhAOnal/abIKaTyk2aABIAkqvBrFVlB3AxACC17bx5C1SDwmM5VpN+g3ZtlCPMRwelTSS3
-        R2blIesjPem+7ZFy9UB27oKFizL3T0saLkGgmScPSTFlzDkJSFlJMhjZubf94T74/Z0PJpc5At7Rl7a5
-        cWMYuccguPzC09VVzb46r8spFOJbTsj7/v6kMB3vgu+mz/Qu92mTql+f3nCJ0Mg9BXPDh4N4knlKsJAa
-        02dqLRV9JBlEwjDDqUWLZgpA+NjX51VkAM6sesh6t1T1aO3PY/ESNdYL1UNu8pL+o0JXoeuU+AB+bRSK
-        lSZdl4s1AxC/GR8AoIclCCTLgBdUTwNmJMl8Lr/2N3D/356wdjgTtjzMcfjBY+GsU44UHeruT19TnXaV
-        SiH6L2UnfScP/OMptfMztPNJym/83sPg4p+eCq1b5dOE62vSDMCORZlS34I2/yEFgO5bDFchwfTyWMz2
-        7aqzANdUASArSRp46TW3wWNPvZDKMGJOgFhok+bwIzH5j/zBOLVigNP6AAAh+v/hx5/BJVffBm++/b7d
-        ZGXc4Pb6+C6dOsAlPz0NRg4bVC8O1HUpJT6AW9Q+AHbWNEnWZaEBIK6h0gfQ94yPHbU73CRMgPratbYu
-        JGlTXiYAQC4ZWlvQrhTITpCU9PILz4Axew1Re8R10rv2pAmwLp9h92/+ieGRJ1+EKwUDkI7byK5/gb6Z
-        N0rfHbjdlmIcXgAbdelUbNHrVZIyvfPef8IlV91mT7FGaJ1CH6SA9Dhw9y2HGR8A6O/0c0L6w3bfGa67
-        /Fyv3VpNSfrok88UA3jtzffMZ2Y9GBIPjFzC+dU1P1PLlphNrc8AII+P/+aO++HW39+rbOlk6UuPwdhs
-        9JG32Z503A/ghKMPdNhTNdEk/QrSwXnDrXeZZWi8YwKvC6YmwDC0ExD0eDWUQR43vfAnJ8Puu+6wTg/Q
-        ctJb//0ALhU0VoYAd1KUENluG3WG39wwAbbyHNtd11cAQva/XGq95qY/qJUj82xM6WqU0v+bBXiqY9sN
-        8znC1tcklyWvuuF38Mzzr4Vv07bnWVIGoJyA6MiFAYkYmjVtBqP23A3OOOlw6N2zW3LmugoEJL382tsK
-        ACZ+Vpt+Qj1ZMnrRlpv3Vc7UTXr3cN5fXwHgnXc/gouFrfr+hxNTqfFjX6D2ZwwZtANccfFZasm1mtwk
-        h05d3Uq1hfqeBx+DP9/9d5gzf4Fr+KMxmWIAZgD4ICPqCNF58mYVueFmzMjdYUuhwVoJGpYfA9zjmgzj
-        fU0KPE/PfmW/W+h73990l4TbDl6X5G8Zs+6GW+4UGu0b9nbyjBz8g3YaAFddfLZawuJpXQcA/+6/GP71
-        3Mvws0tvhFlz5htpUSnEyvd0xA/GwREHj0MxD3zjwHfsDMDXX55jbyz5nokDeRb6nZfhG2+8bN4O35i2
-        ZckYCp9/+RX869lX4NkXX0v2JqB5TN/Ap1oiCgB4k3sU0RisTdP17v9v70qAq6yu8Hmx6UymHRyKHa0y
-        QIfCqGVa6kJRrGxCLC4gOLEWsIrFqJW0aTAxIRC2bOSVQBJBQ8pSEigiYI3SURm0xarTTbugFSwF29Jp
-        p9NalqSU5fWd+97/3rnbn5fkvf/9y/0cB3j/ctfz3XPuf+45eXl5US2Afq1VDUIqHQz665JLnJ4AVDuc
-        SX9fewKgh3ts68j5mgr3R8tBWxaDV8TiByYPrljuV6g15U8eB4tLH5E2sYL6BQD7rOOZTqhvbIu79ZLl
-        h+5Fh3KYzwh+OkVNiht/IX6iel4RP3KuCrpxJ9e4W3QLR0+/p1AO90/hOe439fNIpmfOnIH/RFf9buZJ
-        qegTLmmplfeSEcCEo1ZQUOt+KSVy4iAGX3wo/skrFLECiVDHbHqIJ/kSNU2oGmzVJSmmKpc+mYSA+0UW
-        dtqm+DkFVqQULUU5fsRTO+H3HTOZQsmO4ro5FqCiYMatULIgdiiE69oAEIDqEzLm9mtpbWefrJLu2rwA
-        88lZQ/IYQnIOxmCjRUkkDqAmDu7tZPyp8MTrkRhzO+3WRjNJyHpIUQb1ClTUVwhkwvUNPYSWaEdEksvY
-        YSAFAYgTnmsWd51nupjgqFhZMbgRsvqGOElSEij9QqTSmpIEFXtH4t8SIZGaK4g1cWeELyrClSvUE0gZ
-        5J3WZfRNf3DuLHjkm/ey1Yyrus8JQOcBiNl+Vjash32vvpE4si1lsrZ+FIWIG1PNnAHQaN7iykieCalS
-        ripEWnGv0GpSpxBwGaxVGj/vRyyc4LPu41dw7oQPfReQk689WEXRV8YJIBLPDMS1nJoEit6wMU3UA6no
-        TdC/S53MlO4S86oKLVPSMkJCEZaTCelH24Eh75G1IaqvQpJpSZ+g6/Nj878O86IkoIpSG0QCeP/wn6B0
-        SZh9OYlEIuo5BiBpjaoIr8nFQTDvUtHYQV0m/V2lESvNeGo66+Y+V4cIPzmVHSg+K5u29FWJ3yLiKwWz
-        PnbwKEoAV06IJQclk5ZbBWlq5MQ9op2iGzEdW4i9rBv1iH4ktfsxNpssnAAT20jFOmRQ5XcQ1qGDSCcM
-        aQ6mqF5YNA9mF9whhZj2OwHoPADf+d0foOjxajj2l+NANafYefx4R9rZ2HRJFQRIXgCSY8Sli6dzWToy
-        F/87dYxRqYsAqU3phKmQ3LsIWUflxX0A3YpKU46HFIUotQSBEPktFEIA3HKnEmqJUkh/ic+C4t+x35LG
-        AiQqy6lHcbufL54ftWRj+Pck9xusyinsLK4gOnghXrDVNg9pFymfSn38T9oGTA5RWfYoFMzIZ4kmuGkR
-        QALA9uKn06LSGnZoixs0frkXfqeqvmKO6tRLzn4ULwvqulVu4nXi3BfmOtC5SSHML9Eu5GxMSgARqRiZ
-        ucTnxbqG+PmfeB9d5KzTgCoCANG+sTO6VbaIzWBIsARaGFCl3qUBp5+HeCEH1aAqipE6l+9oO4tPqoMA
-        PDG4ovLbcNftt0iRgIJIAHgW/qV9r0Pp4nAi6w+DTui4aUY2xuj9IMwdKpjSYiA/ojZRVTfpyIFqC4q5
-        J67oHHEoVlZeTZH/lDymQEMYYgNpI5kJMD5KADlDOVU/8Yg46VM15IV7uAZxFbAZjUgP5SnqJL1G2CxR
-        bYrYvbq30LwPCaBuWQnccetEKQBKEAmARf/t3AdVtS0sGEhqEBR7TjUXrkvjQE00UYB0q4JKKCXjQlFe
-        KpOKxotQ3Ksq31ZGbO7VVidkaQBIAOQrgEHagUL/veoymDb1ZikASiAIIIfX5k53dcOOXXuhrnEDO5vv
-        dqR7nXALeiQAvzbcaSABrKmrgPxbbmKfBCmCQAD4P/V0xBgA7T/8Eax+cosnCMAr6K28Gg3AIeDx37Wr
-        FsHUyeO42IOIIBIARoza0rEHmp5qZ26sZqXJDgwBOAQkgOZwJUyZeKPnMvj2FyoCOHHyFGzcuosdA1Yl
-        XTFwBoYAHAISQFPDIpgyyWgACNQANrXvhpanO2IagEFWYAjAISABrKmvgPzJN0nn2YNIAKdOdcEPtj/H
-        AoF6lQD8YLUYAnAIuAnYWFvO4iqYTcDYJuC2Zzoh3LyJbQJmRJj8IKEZRvoIwHS2LZAAGlaUwm354yE3
-        13wGxLBVO597iR0GMl8Bsof0awBeI4LUfDa096TaXCSAmiXFMP22ycYRKApU+1/48WtQsbyxZ0cgr80p
-        D8GYAA7h47m5sLTiMZh151QpCUkQCQADgOz/yVtQXFHH9gOyhaBzS68JwM0d5ua6odpf/t1C+Nrd0wKX
-        E0AXDhzzACx4fCXLBmSQHRgNwCEgAXzn0W/AfffOIHHtYvA7AegCgh587zAUl9fBoQ+O+joeopthCMAh
-        oP//wxjX/v4CluONIggEoAoIgmm1K1eshTd//o4hgCzBEIAOabYnMJXVnHvuhKLCOTBo0EDuWlAJ4Pjf
-        /gHhpo2w54VXIHIh4lrzzc8IPAE4tW+AQTGnT5sEZcXz4bJLL+Gu+Z0ArPaLwAi2bVt2QkvrNt+3361I
-        GwG4eQPODUAbeOJXxsDyRUUw+IrLpOtBzAtw9uw52N35ClRVN7FU2wbOI/AagFPAePbXjh4F4epSGDbk
-        Cum63wlAtxF44M1fwaJljXDsz8edrxOYRcsQgENAAfjc8CGwLlwFI0cMk64HlQDeP3QEVqxaz4jA8/Ag
-        oxgCIOjT+KX6UPS+Tw8aCOtWL4XrvvR5SRiCSgCYy67xyc3QvqPT+fZ7UGDTDUMADgJTW6EJMOnmsdx5
-        gCCnBz9//kJU+J+HVWva2AEhxxFwEjAE4CDQA7BiYSHMmp4PecQdOMgEgDjwxi+ZGYCJQgychSGATIOs
-        MCj08x8ogMIH7glcchCEjgDQH2BpbTO8vP9n4GMryJUwBOAg8BQg5gUoLymU8gMiUAPwM3QOQXgwqPnp
-        dmjb8mx2zIAAwxCAg0BnmHFjr4HVNWVShmCE3zcCETot4LXXfwEr69fB4SPHsl3FQMEQgIPAiT9y+FB4
-        as0y+Oywwcp0WegSC/7dBrD9GlC2JAz7f/oW2xh0O/yyd9grAuh3o/3Sa/0AugFjaLAvX/dFZWxAbeba
-        FGFpEG7VJHQEcO7cedi8bQ+s27CNkYFB/5GKuBkNwGF8auDFUF7yENx1+xQpNBgiRFNY9QGW4F+IxLUJ
-        F0IXHwC/AiysXAUH3z0crb876+419EQChgAyBU3P4+7//bNnwoLC2VJkoPQVHYIL+J9LVWmdFtDV9V8I
-        N2+E7c++CF3d3YHXFp2AIQCHgaHBMDR43fKFUTLI6/8LbeDmTUVdyvBf/+ZdKKmoZ2cD3Fp3P8EQgMPA
-        ST/qqhGwuvYJGDF8aMYcfyznIrf6Fui0gI9OnITG5s2wfdeLnooW7NXtLUMAWQCGBCuY+VV48L67YeDF
-        A2Ix8/v4Lpx4ORflQO7H5P0EtzsXKV2DUQt4+yDbC0i7FuA1KXWgvpkjAK91toPASY+OQGOu/QJcf82o
-        qCnwCbZp11dgfIEbrh+t3FR0sxmg0wL+/dEJaN20A76/dXdUCzBxAjIJowGI6Adx9eZRXPgwTiCmDItp
-        AH0rFMscdfVIaFhZCoMvv1S67kUCwPq+/dv3YHF1E/z+4CF1o93ZJM/BEIAPMHTI5VBV9i2YNH6s8vOa
-        18wAxOnT3dCxsxOa1m9liUQNMgNDAD4AHjOeN3cmFD08V4q953YC0J0PQHxw5BjUhFuZd6BbtZg+txvc
-        ocQYAvABcBWdMvFGqKkqhkuEiMMIN5sBCJ0pgPXe+/IBaFjbBkc//Gu2q9n/doI7hJ7CEIBPcPWVw2FJ
-        1Ay4Ycxo6ZrbtQCEzhTAyMEtrR3MOejkyb6ZAm4UPLcgMwRgetxxYLKRBYVzoqbALOVq6vajxjotAPHH
-        Ix9CVW0LSyCCR4cN1OiL2MUI4KoJz0f//hmnK4zD7e51yTt1vygqQJh38Inih2DAgE9K193sFISwNACV
-        FvC/s2ehc++rUN+4Af7+z39lu6p+w3EfHz41MDDoCf8Hg1hr2WdX4CEAAAAASUVORK5CYIIoAAAAgAAA
-        AAABAAABACAAAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAABAKRzfQCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd
-        /kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd
-        /kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd
-        /kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/lM/NP7V0M7+/f39
-        /v39/f78/Pz++vr6/vr6+v76+vr++vr6/vr6+v76+vr++vr6/vr6+v76+vr++vr6/vr6+v76+vr++vr6
-        /vr6+v76+vr++vr6/vr6+v76+vr++vr6/vv7+/79/f3+/f39/vTz8/6Qg3z+Qywg/kApHf5AKR3+QCkd
-        /kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd
-        /kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkd
-        /kApHf5AKR3+QCkd/kApHf5AKR3+QCkd/kApHf5AKR3+QCkc3j8oHOBAKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/c2JZ//Hv7v/+/v7//v7+//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//v7+
-        //7+/v/9/f3/v7i0/045Lv9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKRzfPygc4EApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0EqHv9IMif/TTgt/004Lf9NOC3/TTgt/004Lf9NOC3/TTgt/045Lf+il5H/+/v6
-        //7+/v/9/f3/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/+/v7//v7+/+nm5f9uXVT/QSoe/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHN8/KBzgQCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/Y1FH/7mwrP/Nx8T/zcfE
-        /83HxP/Nx8T/zcfE/83HxP/Nx8T/zcjE/+ro5//+/v7//v7+//z8/P/7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//f39
-        //7+/v/8/Pz/qqCb/0YwJP9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkc3z8oHOBAKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0MtIf+soZz//Pz8//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+
-        //7+/v/+/v7//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/+/v7//v7+/+bj4f9mVEr/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKRzfPygc4EApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/TTcs/8rEwP/+/v7//v7+
-        //7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//39/f/7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//f39
-        //7+/v/8/Pz/saej/0YwJP9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHN8/KBzgQCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9YRDn/4Nza//7+/v/+/v7//fz9//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8
-        //z8/P/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v8+//+/v7//v7+//Hv7v91ZV3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkc3z8oHOBAKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/2pYT//t6+r//v7+
-        //7+/v/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8
-        //7+/v/+/v7/0czJ/1E8Mf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKRzfPygc4EApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/fW1l//Tz8//+/v7//f39//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//9/f3//v7+//z8/P+jmJP/Qywh/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHN8/KBzgQCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0AqHf+PgXr/+/r6
-        //7+/v/9/f3/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //39/f/+/v7/9PLx/3dnXv9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkc3z8oHOBAKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/Qywg/6KWkf/+/f3//v7+//39/f/7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//8/Pz//v7+//7+/v/h3dv/W0c9/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKRzfPygc
-        4EApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9FLyP/sKai
-        //7+/v/+/v7//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //z8/P/+/v7//v7+/8jBvf9KNSn/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHN8/KBzgQCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0gyJv+9tLH//v7+//7+/v/8/Pz/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//f39//7+/v/9/f3/rKOd/0UuIv9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkc
-        3z8oHOBAKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/SjQp
-        /8a/vP/+/v7//v7+//z8/P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//9/f3//v7+//38/P+WioP/QSsf/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKRzfPygc4EApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9LNSr/zcfE//7+/v/+/v7//Pz8//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//39/f/+/v7/+fj4/4V3b/9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHN8/KBzgQCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0w2K//Szcr//v7+//7+/v/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v//f79//7+/v/19fT/fG1l/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkc3z8oHOBAKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/TTcs/9TPzf/+/v7//v7+//z8/P/7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//+/v7//v7+//Py8v94aGD/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKRzfPygc4EApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9NNyz/1dDN//7+/v/+/v7//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//7+/v/+/v7/8/Lx/3hoX/9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHN8/KBzgQCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0w3K//Tzsv//v7+//7+/v/8/Pz/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//v7+//7+/v/19PP/e2tj
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkc30AoHOBAKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9BKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9BKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/TDYq/8/Jxv/+/v7//v7+//z8/P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//9/f3//v7+//j39/+Dc2z/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QSkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKRzfQCgc4EEpHf9BKR3/QSkd
-        /0EpHf9BKR3/QSkd/0ApHf9AKR3/QCkd/0EpHf9BKR3/QSkd/0ApHf9AKR3/QSkd/0EpHf9AKR3/QSkd
-        /0EpHf9BKR3/QSkd/0EpHf9BKR3/QSkd/0EqHf9BKR3/QSkd/0EpHf9BKR3/QSkd/0ApHf9AKR3/QCkd
-        /0EqHf9BKR3/QSkd/0EpHf9BKR3/QSod/0EpHf9BKh3/QSkd/0EpHf9LNCn/yMK+//7+/v/+/v7//Pz8
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//39/f/+/v7//Pz8
-        /5KFfv9CKx7/QCkd/0EpHf9BKR3/QSkd/0EpHf9BKR3/QSkd/0ApHf9BKR3/QSkd/0EpHf9BKR3/QSod
-        /0ApHf9BKh3/QSod/0AqHf9AKR3/QCkd/0EqHf9AKR3/QSkd/0EpHf9BKh3/QSod/0EpHf9BKR3/QSkd
-        /0EpHf9BKh3/QCkd/0EqHf9BKh3/QSkd/0EpHf9BKR3/QSkd/0EpHf9BKR3/QCod/0ApHf9BKR3/QSkd
-        /0EpHf9BKR3/QSkd/0EpHN9AKhzgQSkd/0EpHf9BKh3/QSod/0EqHf9BKR3/QSkd/0EpHf9BKh3/QSod
-        /0EqHf9BKR3/QSod/0EpHf9BKR3/QSkd/0EpHf9BKR3/QSkd/0EqHf9BKh3/QSkd/0EpHf9BKR3/QSod
-        /0EpHf9BKh3/QSod/0EqHf9BKh3/QSkd/0EqHf9BKh3/QSod/0EqHf9BKh3/QSod/0EpHf9BKh3/QSod
-        /0EqHf9BKh3/QSod/0kzJ/+/uLT//v7+//7+/v/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v//f39//7+/v/9/f3/p5yW/0UuIv9BKh3/QSkd/0EpHf9BKh3/QSod
-        /0EpHf9BKR3/QSod/0EpHf9BKR3/QSkd/0EqHf9BKh3/QSod/0EqHf9BKh3/QSkd/0EqHf9BKh3/QSod
-        /0EqHf9BKh3/QSod/0EqHf9BKh3/QSod/0EpHf9BKh3/QSod/0EqHf9BKh3/QSod/0EpHf9BKR3/QSkd
-        /0EpHf9BKR3/QSod/0EpHf9BKh3/QSod/0EqHf9BKR3/QSkd/0EqHf9BKh3/QSkc30AqHOBBKh3/QSod
-        /0EqHf9CKx7/TTYr/1pFOv9bRzz/W0c8/1tHPP9bRzz/W0c8/1xHPP9bRzz/W0c8/1tHPP9bRzz/XEc8
-        /1tHPP9bRzz/W0c8/1xHPP9bRzz/W0c8/1xHPP9cRzz/W0c8/1tHPP9cRzz/XEc8/1tHPP9bRzz/W0c8
-        /1xHPP9bRzz/W0c8/1tHPP9bRzz/W0c8/1tHPP9WQjb/RC0g/0EqHf9BKh3/SDEl/7Srpv/+/v7//v7+
-        //z8/P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//8/Pz//v7+
-        //7+/v/Bubb/STMn/0EqHf9BKh3/QSod/0kyJv9aRjr/W0c8/1tHPP9bRzz/W0c8/1tHPP9bRzz/W0c8
-        /1xHPP9cRzz/W0c8/1xHPP9bRzz/W0c8/1tHPP9bRzz/W0c8/1tHPP9bRzz/W0c8/1tHPP9cRzz/W0c8
-        /1tHPP9bRzz/XEc8/1tHPP9bRzz/W0c8/1tHPP9bRzz/W0c8/1tHPP9cRzz/W0c8/1pGO/9POS3/Qise
-        /0IqHf9BKh3/QSod/0EqHf9BKhzfQioc4EIqHf9CKh3/Qiod/15KP/++trH/5uPh/+nn5f/p5+X/6efl
-        /+nn5f/p5+X/6ufl/+rn5f/p5+X/6efl/+rn5f/q5+X/6ufl/+rn5f/p5+X/6ufl/+rn5f/q5+X/6ufl
-        /+rn5f/q5+X/6ufl/+rn5f/q5+X/6ufl/+rn5f/q5+X/6ufl/+nn5f/p5+X/6efl/+nn5f/p5+X/6ufl
-        /8vFwv9WQTX/Qiod/0IqHf9FLiH/ppuV//7+/v/+/v7//f39//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/+/v7//v7+/9zX1f9XQjf/Qiod/0IqHf9CKh3/aFRK
-        /9rW0//p5+X/6efl/+nn5f/p5+X/6efl/+rn5f/p5+X/6ufl/+rn5f/p5+X/6ufl/+rn5f/q5+X/6efl
-        /+nn5f/q5+X/6efl/+rn5f/p5+X/6efl/+rn5f/p5+X/6ufl/+rn5f/q5+X/6ufl/+rn5f/q5+X/6efl
-        /+nn5f/p5+X/6efl/+rn5f/p5+X/5+Tj/8fAvP9oVUv/Qyse/0IqHf9CKh3/Qiod/0IqHd9CKhzgQiod
-        /0IqHf9ELB//o5iR//v7+///////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////5ODe/19LQP9CKh3/Qiod/0MrHv+Uh4D//Pv7
-        //7+/v/9/f3/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8
-        //7+/v/+/v7/8O3t/3BeVP9CKx3/Qiod/0IqHf9SPDH/0cvH////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////////////////////////////////////////////f39
-        /7Wsp/9HMCT/Qiod/0IqHf9CKh3/Qioc30IqHOBCKx3/Qyod/0UtIP+8tK//////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ///////s6ej/aFRK/0MrHf9DKx3/Qysd/4Nzav/29fX//v7+//39/f/7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//f39//7+/v/7+vr/mIuE/0QsIP9DKh7/Qysd
-        /0UtIP+ekor//Pv7////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////zsjF/0szJ/9DKh3/Qysd/0MqHf9CKhzfQysd
-        4EMrHf9DKx7/Ri4h/721sP///////////////////////f39//Du7f/r6Of/6+jn/+vo5//t6+n/+/r6
-        ////////////+Pf2/+vp6P/r6Of/6+jn/+vo5//08vH////////////9/f3/7+3s/+vo5//r6Of/6+jn
-        /+3r6v/7+/v////////////39fX/6+nn/+vo5//r6Of/6+nn/+ro5v91Y1n/Qyse/0QrHf9EKx3/cV9V
-        //Du7f/+/v7//v7+//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//8/Pz//v7+//7+/f/Hwb3/Tjgr/0MrHv9DKx7/Qyse/2lVSv/e2df/6+nn/+vo5//r6Of/6+nn
-        //f29f////////////z7+//t6+r/6+jn/+vo5//r6Of/7+3s//39/f///////v7+//Ty8f/r6Of/6+jn
-        /+vp5//s6ej/+Pb2////////////+/r6/+3q6f/r6Of/6+jn/+vo5//w7u3//v39////////////////
-        ///////Qycb/SzQn/0MrHv9DKx3/Qysd/0MrHN9EKx3gRCsd/0QrHf9GLiH/vrWw////////////////
-        ///////08/L/j4F5/2lWS/9pVkr/alVK/3loXv/f2tj///////7+/v/HwLz/bFlO/2lWS/9qVkv/aVZL
-        /6yhm//8/Pv///////Lw7/+LfHT/aVVL/2pWSv9pVUv/e2lf/+Th3////////f39/8G4tP9tWk//alZK
-        /2pWSv9qV0z/q6Ca/4V2bf9FLB7/RCse/0QrHf9fSj//5eHg//7+/v/+/v7//Pz8//z8/P/8/Pz//Pz8
-        //z8/P/8/Pz//Pz8//z8/P/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/+/v7//v7+/+vp5/9sWU7/RCse
-        /0QrHv9EKx7/SjIk/3BdUf9rV0z/aVVL/2lWS/9uW1D/w7u3//7+/v//////5uPh/3ppX/9qVUr/alVL
-        /2lWSv+IeHD/8vDv///////7+vr/qp6Z/2pXTP9qVkv/aVZL/29cUf/HwLz//v7+///////e2df/d2Ra
-        /2pWSv9qVkv/alZK/5CBef/19PP//////////////////////9DJxv9MNCf/RCse/0QrHf9EKx3/RCsd
-        30QrHeBELB3/RCwe/0cuIf++tbD///////////////////////Hv7v91Ylj/RCwe/0QrHf9FKx3/WUM2
-        /9fSzv///////v7+/7mwq/9IMCL/RCwe/0QrHf9ELB7/mIuD//v7+v//////7+zr/29cUv9ELB3/RCwd
-        /0QrHf9aQzf/3tnX///////9/f3/saeh/0oyJP9ELB3/RCwe/0UtH/+ZjIX/mo2F/0UtH/9EKx7/RCsd
-        /1M8L//Ry8j//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/9/f3/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//39/f/+/v7/+/v6/6OXkf9HLyH/RCwd/0QsHv9ELB7/Ri4g/0UsHv9EKx7/RCwe
-        /0ozJf+1q6b//v7+///////g3Nn/WUQ3/0QrHf9EKx3/RCwd/2tXTP/v7Ov///////r5+f+Vh3//Ri0f
-        /0QsHv9EKx3/TDQm/7qwq//+/v7//////9bQzf9VPjH/RCwd/0QsHf9EKx3/dGJX//Px8f//////////
-        ////////////0MnG/0w0J/9EKx3/RCsd/0QrHf9EKx3fRSwd4EUsHv9FLB7/SC4h/761sP//////////
-        ////////////8fDu/3ViV/9FLB7/RSwd/0UsHf9ZQzb/19LO///////+/v7/ubCr/0kwIv9FLB3/RSwd
-        /0UsHv+YioP/+/v6///////v7Ov/cF1S/0UrHv9FLB7/RSwd/1pEN//e2df///////39/f+yp6H/SjIk
-        /0UsHv9FLB7/Ri0f/5yPh/+yqKL/SC8i/0UsHf9FLB7/SjIk/7euqf/9/f3//v7+//7+/v/+/v7//v7+
-        //7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8//7+/v/+/v7/3NfV
-        /15JPf9FLB3/RSwd/0UsHv9FLB7/RSwe/0UsHv9FLB7/SzMl/7Wrpv/+/v7//////+Dc2f9aRDf/RSwd
-        /0UsHf9FLB3/bFhM/+/s6///////+vn5/5aHgP9GLh//RSwe/0UsHv9MNCb/urCr//7+/v//////1tDN
-        /1U+Mv9FLB7/RSwe/0UsHv90Ylf/8/Hx///////////////////////Qysb/TDUn/0UsHv9FLB7/RSwe
-        /0QsHd9FLB3gRSwe/0YsHv9ILyH/vrWw///////////////////////x8O7/dWJX/0UsHf9FLB3/RSwd
-        /1pDNv/X0s////////7+/v+6sKv/STEj/0YsHv9FLB3/RSwe/5mLg//7+/r//////+/s6/9wXVL/RSwe
-        /0UsHv9FLB7/W0Q3/97Z1////////f39/7Knof9LMiT/RSwe/0YsHv9GLR//nZCJ/8nCvv9ROiz/RSwe
-        /0UsHv9GLR7/emhe/9jT0f/o5eT/6OXk/+jl5P/o5eT/6OXk/+jl5P/o5eT/6ebk//b19P/+/v7//v7+
-        //z8/P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v//f39//7+/v/6+fj/moyE/0gwIf9FLB7/RSwe/0UsHv9FLB7/RSwe
-        /0YsHv9LMyX/taum//7+/v//////4NzZ/1pEN/9FLB7/RSwe/0UsHv9sWEz/7+zr///////6+fn/loiA
-        /0cuIP9FLB7/RSwe/0w0Jv+6sKv//v7+///////W0M3/Vj8y/0UsHv9FLB7/RSwe/3ViV//z8fH/////
-        /////////////////9DKxv9NNSf/RSwe/0UsHv9FLR7/RCwd30UsHeBGLB7/Ri0e/0gvIf++tbD/////
-        //////////////////Lx8P97al//TjUo/042KP9PNij/YUw//9nU0f///////v7+/720r/9SOiz/TjYo
-        /042KP9ONij/nZCI//v7+v//////8O7s/3dkWf9ONif/TjYo/042KP9iTED/39vZ///////9/f3/taul
-        /1M7Lv9ONij/TjYo/083Kf+ilY7/39rY/19JPP9GLR7/Riwd/0YsHf9JMCH/XUc6/2dSRv9nUkb/Z1JG
-        /2dSRv9nUkb/Z1JG/2dSRv9oU0b/tqul//z8/P/+/v7//f39//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//9/f3//v7+
-        //7+/v/e2db/ZE5C/0YtHv9GLR7/Ri0d/0YsHv9GLR//TDMl/1Q9L/+5r6n//v7+///////h3dv/Yk1A
-        /042KP9ONij/TjUo/3NfVP/w7ez///////r5+f+bjYb/Tzgp/042KP9ONij/VT0w/720r//+/v7/////
-        /9jSz/9dRzr/TjUn/041KP9ONij/e2lf//Ty8f//////////////////////0MrG/041J/9GLB7/Riwe
-        /0YtHv9FLB3fRi0d4EYtHv9GLR7/STAh/762sP//////////////////////+vr6/9DKxv/At7L/wLey
-        /8C3sv/Gvrr/8e/v////////////5+Ti/8G5tP/At7L/wLey/8C3sv/b19T//v79///////6+fj/zsfD
-        /8C3sv/At7L/wLey/8e/u//08vH///////7+/v/l4d//wbm0/8C3sv/At7L/wbiz/97Z1//19PP/kYF4
-        /0oxIv9HLR7/Ri0e/0ctHv9GLR7/Ri0e/0YtHv9HLR7/Ry0e/0YtHv9HLR3/Ri0e/0ctHv+BcGX/9fTz
-        //7+/v/9/f3/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//+/v7//v7+//v6+v+soZr/TTUm/0YtHv9GLR7/Ri0e
-        /0kvIP9/bWP/vbSv/+bi4P////7///////Tz8v/Hv7r/wLey/8C3sv/At7L/zcbC//r5+P///////f39
-        /9vW0//AuLL/wLey/8C3sv/CurT/6OTi////////////8e/u/8W9uf/At7L/wLey/8C3sv/Qysb/+/r6
-        ///////////////////////Qysb/TjYn/0ctHv9GLR7/Ri0e/0YsHd9HLR3gRy0e/0ctHv9JMCH/v7aw
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ///////////////////////////////////////q5+X/iHdt/0syI/9HLR7/SC0e/0cuHv9HLR7/Ry0e
-        /0ctHv9HLR7/Ry0e/0ctHv9HLR7/Ry0e/2BKPP/f2tj//v7+//7+/v/8/Pz/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //z8/P/+/v7//v7+/+7r6v+AbmP/SC4f/0ctHv9HLR7/Ry0e/15HOf/MxcH//v39////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////////////////////////////////9HKxv9PNif/Ry0e
-        /0ctHv9HLR7/Riwd30ctHeBILh7/SC4e/0owIf+/trD/////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ///////p5eP/eWVa/0guH/9ILh7/SC4e/0guHv9ILh7/SC0e/0guHv9ILR7/SC4e/0guHv9ILR7/TTQl
-        /7itp//9/f3//v7+//39/f/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//39/f/+/v7//f39/9XPy/9jTUD/SC4e
-        /0guHv9ILh7/SC8f/21ZTP/W0Mz//f39////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////0crG/082J/9ILh7/SC4e/0guHv9ILR3fSC0d4EguHv9ILh7/SzEh
-        /7+2sP///////////////////////////////////////Pz7/+nm5P/m4uD/5uLg/+bi4P/m4uD/5uLg
-        /+bi4P/m4uD/5uLg/+bi4P/m4uD/5uLg/+bi4P/m4uD/5uLg/+bi4P/m4uD/5uLg/+bi4P/m4uD/5uLg
-        /+bi4P/m4uD/5uLg/+bi4P/m4uD/5uLg/+bi4P/m4uD/5uLg/+Pf3f+Sgnj/SjAg/0guHv9ILh7/SC4e
-        /0guHv9ILh7/SC4e/0guHv9ILh7/SC4e/0guHv9JLx//hXRp//b19P/+/v7//v7+//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v//Pz8//7+/v/+/v7/+/v7/7qwqv9WPS7/SC4e/0guHv9ILh7/Si8f/2pUSP/DurX/5eHf
-        /+bi4P/m4uD/5uLg/+bi4P/m4uD/5uLg/+bi4P/m4uD/5uLg/+bi4P/m4uD/5uLg/+bi4P/m4uD/5uLg
-        /+bi4P/m4uD/5uLg/+bi4P/o5eL/+vr5///////////////////////////////////////Rysb/UDYn
-        /0guHv9ILh7/SS4e/0gtHd9ILh7gSS4e/0kvHv9LMSH/v7aw////////////////////////////////
-        ///////s6ej/c19S/15GOP9eRjj/XkY4/15GOP9eRjj/XkY4/15GOP9eRjj/XkY4/15GOP9eRjj/XkY4
-        /15GOP9eRjj/XkY4/15GOP9eRjj/XkY4/15GOP9dRjj/XkY4/15GOP9eRjj/XkY4/15GOP9eRjj/XkY4
-        /15GOP9eRjj/XUY3/1M6Kv9JLh7/SS4e/0kuHv9JLh7/SS8e/0kvHv9JLx7/SS4e/0kuHv9JLh7/SS8e
-        /0kuHv9eRjj/2tTR//7+/v/+/v7//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8//7+/v/+/v7/9vX1
-        /6SXj/9SOSn/SS8e/0kvHv9JLh7/SS8e/1Q7LP9dRjf/XkY4/15GOP9dRjj/XkY4/15GOP9eRjj/XkY4
-        /15GOP9eRjj/XkY4/15GOP9eRzj/XkY4/15GOP9eRjj/XkY4/15GOP9eRjj/XkY4/2pUR//h3Nr/////
-        /////////////////////////////////9DJxf9RNyf/SS4e/0kuHv9JLh7/SS4d30kuHuBKLh7/SS8e
-        /0wyIf/AtrD//////////////////////////////////////+rn5f9iSjz/Si8e/0ovHv9KLx7/Si8e
-        /0ovHv9KLx7/SS8e/0ovHv9KLx7/SS8e/0kvHv9KLh7/Si8e/0ovHv9KLx7/Si8e/0ovHv9KLx7/Si8e
-        /0ovHv9KLx7/Si8e/0ovHv9KLh7/Si8e/0ovHv9KLx7/Si8e/0ouHv9KLx7/SS8e/0ovHv9KLx7/Si8e
-        /0ovHv9KLx7/Si8e/0kvHv9KLx7/Si8e/0ouHv9KLx7/Si8e/00zIv+nmpH//Pz8//7+/v/9/f3/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v//f39//7+/v/+/v7/8vDw/52Phv9SOCj/Si8e/0ovHv9KLx7/SS8e
-        /0ovHv9KLx7/Si8e/0ovHv9KLx7/Si8e/0ovHv9KLx7/Si4e/0ovHv9KLx7/Si8e/0ovHv9KLx7/SS8e
-        /0ovHv9KLx7/SS8e/0ovHv9KLx7/WD8v/93Y1f////////////////////////////79/f/q5+X/nI2F
-        /00zI/9KLx7/SS8e/0ovHv9JLh3fSS4e4EovHv9KLx7/TTIh/8C2sP//////////////////////////
-        ////////////6ufl/2JLPP9KLx7/Si8e/0ovHv9KLx7/Si8e/0ovHv9KLx7/Si8e/0ovHv9KLx7/Si8f
-        /0ovH/9LLx7/Si8e/0ovHv9KLx7/Si8e/0ovHv9KLx7/Si8e/0ovHv9KLx7/Si8e/0ovHv9KLx7/Si8e
-        /0ovH/9LLx7/Si8e/0ovHv9LLx7/Si8e/0ovHv9KLx7/Si8e/0ovHv9KLx7/Si8e/0ovHv9LLx7/Si8e
-        /0svHv9KLx7/Si8e/3FbTv/q5+X//v7+//7+/v/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//f39
-        //7+/v/+/v7/8u/u/5+QiP9TOir/Si8e/0ovHv9KLx7/Si8e/0ovHv9KLx7/Si8e/0ovHv9KLx7/Si8e
-        /0svHv9KLx7/Si8e/0ovHv9KLx7/Si8e/0ovHv9KLx7/Sy8e/0ovHv9KLx7/Si8e/0ovHv9YPy//3tjV
-        //////////////////7+/v/w7ez/vbOt/3ZiVf9QNSX/Sy8e/0ovHv9KLx7/Si8e/0ouHd9LLx3gSzAe
-        /0swHv9NMiH/wLew///////////////////////////////////////q5+X/Y0w8/0swHv9LMB//SzAe
-        /0swHv9LMB7/SzAe/0swHv9LMB7/Sy8e/0swHv9LMB7/SzAf/0svHv9LMB7/SzAe/0svHv9LMB7/SzAe
-        /0swHv9LMB7/TDAe/0wwHv9LMB7/SzAe/0swHv9LLx7/SzAe/0swH/9LLx7/SzAe/0swHv9LLx7/SzAe
-        /0swHv9LLx7/SzAe/0svHv9LLx7/Sy8e/0svHv9LLx7/SzAf/0svHv9LMB7/Uzgn/7yyrP/9/f3//v7+
-        //39/f/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//8/Pz//f39//7+/v/+/v7/9PLx/6uelv9cQzT/SzAf
-        /0swHv9LMB7/SzAe/0svHv9LMB7/SzAe/0svHv9LLx//SzAe/0swHv9LLx7/SzAe/0swHv9LMB//SzAe
-        /0swHv9LLx7/Sy8e/0svHv9LMB7/SzAe/1lAL//e2dX///////z7+//r6Ob/u7Gr/31pXP9UOir/SzAe
-        /0swHv9LMB7/SzAe/0swHv9RNiX/emZa30svHuBMMB7/TDAe/04zIf/At7D/////////////////////
-        /////////////////+rn5f9jTDz/SzAe/0swHv9MMB//TDAe/0wwHv9MMB//TDAe/0wwH/9MMB7/TDAe
-        /0wwHv9MMB//TDAe/0wwHv9MMB7/TDAe/0wwHv9MMB7/TDAe/0wwHv9MMB7/TDAe/0wwHv9MMB//TDAe
-        /0wwHv9MMB7/TDAf/0wwHv9MMB7/TDAe/0wwHv9MMB7/TDAe/0wwHv9MMB7/TDAe/0wwHv9MMB7/SzAe
-        /0wwHv9MMB7/TDAe/0wwHv9MMB//fmpd//Dt7P/+/v7//v7+//z8/P/7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v//f39//7+/v/+/v7/+Pf2/8K5s/9rVEb/TTIh/0wwHv9MMB7/TDAe/0wwHv9MMB7/TDAe
-        /0wwH/9MMB7/SzAe/0wwHv9MMB//TDAf/0wwHv9MMB7/TDAe/0wwHv9MMB7/TDAe/0wwHv9MMB7/WD8u
-        /87Hwv/Sy8f/opSL/3JcTv9UOSn/TDAf/0wwHv9MMB7/SzAe/0swHv9MMB//WT8v/5+Qh//q5uXfTC8e
-        4EwwH/9MMB7/TzMi/8G3sf//////////////////////////////////////6ufl/2RMPP9MMB7/TDAf
-        /00wH/9MMB7/TDAe/0wwHv9NMB7/TDAf/0wwH/9MMB7/TDAe/0wwHv9NMB7/TDAe/0wwHv9MMB7/TDAe
-        /0wwH/9MMB7/TDEe/0wwHv9MMB7/TTAe/00wHv9NMB7/TDAf/0wwH/9MMB//TTAe/00wHv9MMB7/TDAe
-        /00wHv9NMB//TDAe/0wwHv9MMR7/TDEe/0wwHv9MMB7/TDAe/0wwHv9MMB7/TDEe/0wwH/9WPCv/w7mz
-        //39/f/+/v7//f39//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//8/Pz//f39//7+/v/+/v7//Pv7
-        /9rV0v+KeGz/Vjsq/00wHv9MMB7/TDAe/0wxHv9NMB7/TDAe/0wxHv9MMB//TTAe/00wH/9MMB//TDAf
-        /0wwHv9NMB7/TTAf/0wwH/9MMB//TDEf/00wHv9QNCP/aVFB/1tBMf9PMyL/TTAf/0wwHv9MMB//TDAf
-        /0wwHv9NMB7/UDQi/3BZS/+/tq//9vTz//39/d9NMB7gTTEf/00xHv9PNCL/wbex////////////////
-        ///////////////////////q5+X/ZUw8/00xHv9NMR//TTEe/00xH/9NMR7/TTEf/00xH/9NMR//TTEf
-        /00xH/9NMR7/TTEe/00xH/9NMR//TTEf/00xHv9NMR7/TTEe/00xHv9NMR//TTEf/00xH/9NMR//TTEe
-        /00xH/9NMR//TTEf/00xH/9NMR//TTEe/00xHv9NMR7/TjEe/04xHv9NMR//TTEf/00xH/9NMR//TTEf
-        /00xH/9NMR//TTEf/00xH/9NMR//TTEe/00yH/9/al3/7+3s//7+/v/+/v7//Pz8//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v//f39//7+/v/+/v7//v7+//Hv7v+5r6f/dF5P/1M3Jf9NMR7/TTEf
-        /00xH/9NMR//TTEf/00xHv9NMR7/TjEe/00xHv9NMR//TTEf/04xH/9NMR//TTEe/00xHv9NMR//TTEf
-        /00xH/9NMR7/TjEf/00xH/9NMR//TTEe/00xH/9NMR//TzMh/2NKOf+djoT/4t3a//z8/P/+/v7//f39
-        304wHuBOMR//TjEf/1A0Iv/Bt7H//////////////////////////////////////+rn5f9mTTz/TjEe
-        /04xHv9OMR7/TjEe/04xHv9OMR//TjEf/04xH/9OMR//TjEf/04xH/9OMR//TjEf/04xH/9OMR//TjEe
-        /04xHv9OMR//TjEf/04xH/9OMR//TjEf/04xH/9OMR7/TjEf/04yH/9OMR//TjEf/04xH/9OMh//TjEe
-        /04xHv9OMR//TjEe/04xHv9OMR//TjEf/04xH/9OMR//TjEf/04xH/9OMR//TjEf/04xH/9OMR//TjIe
-        /1c7Kf+6r6j//fz8//7+/v/9/f7/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8
-        //7+/v/+/v7//v7+//z8/P/o5OL/sKOb/3NdTv9VOSf/TjIf/04xHv9OMR//TjEf/04xHv9OMh7/TjEe
-        /04xH/9OMR7/TjEf/04xH/9OMR7/TjEe/04xHv9OMR7/TjEf/04xH/9OMh//TjEe/04xHv9OMR//UTUj
-        /2RLO/+Xhnz/19DM//j39//+/v7//v7+//7+/v/8/PzfTjIe4E8yH/9OMR//UTQi/8K3sP//////////
-        ////////////////////////////6ufl/2ZNPP9OMh//TzIe/08yH/9OMh7/TjIf/04yH/9OMR7/TjEf
-        /08yH/9PMh7/TzIf/08yH/9PMR//TzEf/08xH/9PMh//TzIf/08yH/9PMh//TzIf/08yH/9PMh//TzIf
-        /08yH/9PMh//TzIf/08xH/9PMR//TzIf/08yH/9OMh//TzIf/08yH/9OMh//TzIf/04yH/9OMh//TjIf
-        /04yH/9PMh//TzIf/08yH/9PMR//TzIf/08yH/9PMh7/Vzsp/6udlP/7+vr//v7+//7+/v/8/Pz/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8//39/f/+/v7//v7+//7+/v/8+/v/6eXj
-        /7qvqP+FcmX/Ykg3/1M3Jf9PMh//TzIf/04yH/9OMh//TzIf/08yHv9OMh//TzIf/08yH/9PMh//TzIf
-        /08yH/9PMh//TzIf/08yH/9RNCL/WkAu/3ZgUf+ml43/2tXR//j39v/+/v7//v7+//7+/v/+/v7//Pz8
-        //v7+99PMh7gTzIf/08yH/9RNSL/wrex///////////////////////////////////////q5+X/Zk09
-        /08yH/9QMh//TzIf/08yH/9PMh//TzIf/08yH/9PMh//TzIf/08yH/9PMh//TzIf/08yH/9PMh//TzIf
-        /08yH/9PMh7/TzIf/08yH/9PMh//TzIf/08yH/9PMh//TzIf/08yH/9PMh//TzIf/08yH/9PMh//TzIf
-        /1AyH/9PMh//TzIf/08yH/9PMh//TzIf/08yH/9PMh//TzIf/08yHv9QMh//TzIf/08yH/9PMh//UDIf
-        /1c7Kf+hkYf/8vHv//7+/v/+/v7//f39//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//z8/P/9/v3//v7+//7+/v/+/v7//f39//Tz8v/a1ND/tKef/499cP9zXE3/Ykg3
-        /1k9K/9TNiP/UTMg/1AzIP9QMyD/UDMg/1AzIP9SNSL/Vzoo/15DMv9rUkP/hHBi/6WWjf/Mxb//7ero
-        //v7+//+/v7//v7+//7+/v/+/v7//Pz8//z8/P/7+/v/+/v7308yHuBQMx//UDMf/1I1Iv/Ct7H/////
-        /////////////////////////////////+vn5f9oTj3/UDIf/1AzH/9QMx//UDMf/1EzH/9QMx//UDMf
-        /1AzH/9RMx//UDIf/1AzH/9RMx//UDMf/1AzH/9QMx//UTMf/1AyH/9QMx//UDMf/1AzH/9QMx//UDMf
-        /1AyH/9QMx//UDMf/1AzH/9RMx//UDMf/1AzH/9QMx//UDMf/1AyH/9QMx//UDMf/1AyH/9QMx//UDIf
-        /1AzH/9QMx//UDIf/1AzH/9QMx//UDMf/1AzH/9YPCn/opKI//Px7//+/v7//v7+//39/f/7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//9/f3//f39
-        //7+/v/+/v7//v7+//7+/v/9/f3/+Pb2/+3q6P/c1tL/y8K8/7qvp/+snpX/pZaM/6KSiP+klIr/qZqR
-        /7SooP/Fu7X/1c7J/+fj4f/08/H//Pv7//7+/v/+/v7//v7+//7+/v/9/f3//f39//z8/P/7+/v/+/v7
-        //v7+//7+/vfUDMe4FEzH/9RMx//UzYi/8K4sf//////////////////////////////////////6+fl
-        /2hOPf9RMx//UTMf/1EzH/9RMx//UTMf/1EzH/9RMx//UTMf/1EzH/9RMx//UTMf/1EzH/9RMx//UTMf
-        /1EzH/9RMx//UTMf/1EzH/9RMx//UTMf/1EzH/9RMx//UTMf/1EzH/9RMx//UTMf/1EzH/9RMx//UTMf
-        /1EzH/9RMx//UTMf/1EzH/9RMx//UTMf/1EzH/9RMx//UTMf/1EzH/9RMx//UTMf/1EzH/9RMx//WTwp
-        /6KSh//z8O///v7+//7+/v/9/v3/+/z7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8//39/f/+/v7//v7+//7+/v/+/v7//v7+
-        //7+/v/+/v7//f39//z8/P/7+/r/+/r6//v7+v/8+/v//f39//7+/v/+/v7//v7+//7+/v/+/v7//v7+
-        //7+/v/9/f3//f39//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+99RMx7gUTMf/1IzH/9UNiL/wrix
-        ///////////////////////////////////////r5+X/aE49/1IzH/9SMx//UjQf/1I0H/9SMx//UjMf
-        /1EzH/9SMx//UjQf/1IzH/9SMx//UjMf/1IzH/9SNB//UjQf/1IzH/9RNB//UTMf/1IzH/9RMx//UjMf
-        /1IzH/9SMx//UjQf/1E0H/9SMx//UjMf/1IzH/9SMx//UTMf/1EzH/9RMx//UTMf/1EzH/9SNB//UjMf
-        /1IzH/9RMx//UTQf/1E0H/9RMx//UTMf/1o9Kf+ikoj/8/Hv//7+/v/+/v7//f39//v8+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//8/Pz//f39//39/f/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+
-        //7+/v/+/v7//v7+//7+/v/+/v7//v7+//39/f/8/Pz//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v731M0HuBTNB//UzQf/1U3Iv/DuLH/////////////////////////////////////
-        /+vn5f9qTz3/UzQf/1M0H/9TNB//UzQf/1I0H/9TNB//UzQf/1M0H/9SNB//UzQf/1M0H/9TNB//UzQf
-        /1I0H/9SNB//UjQf/1M0H/9TNB//UzQf/1M0H/9TNB//UzQf/1M0H/9TNB//UzQf/1I0H/9TNB//UzQf
-        /1M0H/9TNB//UzQf/1M0H/9TNB//UzQf/1M0H/9SNB//UzQf/1M0H/9SNB//UzQf/1M0H/9aPSn/o5OI
-        //Px7//+/v7//v7+//39/f/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //z8/P/8/Pz//Pz8//39/f/9/f3//f39//39/f/9/f3//f39//39/f/8/Pz//Pz8//z8/P/7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/vfUzQf4FM1H/9UNR//VTgi
-        /8O4sf//////////////////////////////////////6+fl/2pPPf9TNB//UzUf/1M1H/9TNR//UzUf
-        /1M0H/9TNB//UzQf/1M0H/9TNSD/VDUf/1M1H/9TNR//UzQf/1M0H/9TNR//UzQf/1M0H/9UNB//UzQf
-        /1M1H/9UNB//UzQf/1M0H/9TNB//VDQf/1M0H/9UNB//UzUf/1M1H/9TNR//UzQf/1M0H/9TNB//UzUf
-        /1M1H/9TNB//VDUf/1Q1H/9UNB//VTUh/5F+cP/y8O///v7+//7+/v/9/v3/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+99UNR/gVDUf/1Q1H/9XOCL/w7ix////////////////////////////////
-        ///////r5+X/a1A9/1Q1H/9UNR//VDUf/1Q1IP9UNR//VDUf/1Q1H/9UNR//VDUf/1Q1IP9UNR//VDUf
-        /1Q1H/9UNR//VDUf/1Q1H/9UNR//VDUg/1Q1H/9UNR//VDUf/1Q1H/9UNR//VDUf/1Q1IP9UNSD/VDUf
-        /1Q1H/9UNR//VDUf/1Q1H/9UNR//VDUf/1Q1H/9UNR//VDUf/1Q1H/9UNR//VDUf/1Q1IP9XOCT/rp+U
-        //39/f/+/v7//v7+//z8/P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v731U1H+BVNSD/VTUf
-        /1c4I//EubH//////////////////////////////////////+vn5f9sUD3/VTYg/1U1H/9VNh//VTUg
-        /1U1H/9VNh//VTUg/1U1H/9VNSD/VTYg/1U2IP9VNh//VTYf/1U1H/9VNR//VTYf/1U2H/9VNR//VTUf
-        /1U2H/9VNiD/VTYg/1U2H/9VNR//VTUf/1U1IP9VNSD/VTUf/1U2H/9VNh//VTUf/1U1IP9VNR//VTYg
-        /1U1H/9VNh//VTYf/1U2H/9VNR//VTYf/1U2IP98Y1L/6OPg//7+/v/+/v7//f39//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/vfVTUf4FY2IP9WNiD/WDki/8S5sf//////////////////////////
-        ////////////6+fl/2xRPf9WNiD/VjYf/1Y2H/9WNh//VjYg/1Y2IP9WNiD/VjYf/1Y2H/9WNiD/VjYg
-        /1Y2IP9WNiD/VjYg/1Y2IP9WNiD/VjYf/1Y2H/9WNh//VjYg/1Y2IP9WNiD/VjYg/1Y2IP9WNiD/VTYg
-        /1Y2IP9WNiD/VjYg/1Y2H/9WNh//VjYg/1U2H/9WNiD/VjYf/1U2H/9VNiD/VjYg/1Y2H/9WNh//VjYf
-        /1k6JP+gjoH/9vXz//7+/v/+/v7//P38//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+99WNh/gVjYg
-        /1Y2IP9ZOSP/xLmx///////////////////////////////////////r5+X/bVE+/1Y2H/9WNh//VjYg
-        /1Y2IP9WNiD/VjYg/1Y2IP9XNiD/VzYf/1Y2IP9WNiD/VzYg/1Y3IP9WNyD/VjYg/1c2IP9XNh//VjYf
-        /1Y2H/9XNyD/VzYg/1c3IP9XNyD/Vzcg/1Y3IP9WNiD/VzYg/1c2IP9XNyD/VjYf/1Y2H/9XNiD/VzYg
-        /1c2IP9XNh//VzYg/1Y3IP9XNyD/Vzcg/1c2IP9WNx//Vzcg/2JEL//Bta3//Pv7//7+/v/+/v7//Pz8
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v731c2H+BXNyD/WDcg/1o6I//EubH/////////////////////
-        /////////////////+vo5f9tUj3/Vzcg/1c3H/9XNx//Vzcg/1c3IP9XNyD/Vzcg/1c3IP9XNyD/Vzcg
-        /1c3IP9XNyD/Vzcg/1c3IP9XNyD/WDcg/1c3IP9XNyD/Vzcg/1c3IP9XNyD/WDcg/1g3IP9YNyD/WDcg
-        /1c3IP9XNyD/Vzcg/1c3IP9XNyD/Vzcg/1g3IP9YNyD/WDcg/1g3IP9YNyD/Vzcg/1c3IP9XNyD/Vzcg
-        /1c3IP9XNyD/Vzcg/3JXQ//Y0cv//v39//7+/v/9/f3//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/vfVzYf
-        4Fg3IP9ZNyD/Wzoj/8W5sf//////////////////////////////////////6+jl/25SPf9YNyD/WDcg
-        /1g3IP9YOCD/WDcg/1g3H/9YNyD/WTcg/1k3IP9ZNyD/WDcg/1g3IP9YNyD/WDcg/1g3IP9ZNyD/WTgg
-        /1g4IP9YNyD/WDcg/1g3IP9YOCD/WDgg/1k3IP9ZNyD/WDcg/1k3IP9YNyD/WDcg/1g3IP9YNyD/WDgg
-        /1g3IP9YOCD/WDcg/1g3IP9YNyD/WDcg/1g3IP9YNyD/WDcg/1g3IP9YNyD/WTkh/4VtW//o4+D//v7+
-        //7+/v/9/f3/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+99YNx/gWTgg/1k4IP9bOyP/xbmx////////////////
-        ///////////////////////s6OX/b1I+/1k4IP9ZNyD/WTgg/1k4IP9ZOCD/WTgg/1k4IP9ZOCD/WTgg
-        /1k4IP9ZOCD/WTcg/1k4IP9ZOCD/WTgg/1k4IP9ZOCD/WTgg/1k4IP9ZOCD/WTgg/1k4IP9ZOCD/WTgg
-        /1k4IP9ZOCD/WTgg/1k4IP9ZOCD/WTgg/1k4IP9ZOCD/WTgg/1k4IP9ZOCD/WTgg/1k4IP9ZOCD/WTgg
-        /1k4IP9ZOCD/WTgg/1k4IP9ZOCD/XDsk/5iDdP/w7ev//v7+//7+/v/9/f3/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        31k3H+BaOCD/Wjgg/1w7I//FurH//////////////////////////////////////+zo5f9wUj7/Wjgg
-        /1o4IP9aOCD/Wjgg/1o4IP9aOCD/WTgg/1o4IP9aOCD/Wjgg/1o4IP9aOCD/Wjgg/1o4IP9ZOCD/Wjgg
-        /1o4IP9aOCD/Wjgg/1o4IP9aOCD/Wjgg/1o4IP9aOCD/Wjgg/1o4IP9aOCD/Wjgg/1o4IP9aOCD/Wjgg
-        /1o4IP9aOCD/Wjgg/1o4IP9aOCD/Wjgg/1o4IP9aOCD/Wjgg/1o4IP9aOCD/Wjgg/1o4IP9aOCD/YD8n
-        /6eVif/29PP//v7+//7+/v/9/f3/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/vfWzgf4Fs5IP9bOSD/XTwj/8W6sf//////////
-        ////////////////////////////7Ojl/3FTPv9bOSD/Wzkg/1o5IP9bOSD/Wzkg/1s5IP9aOSD/Wzkg
-        /1s5IP9bOSD/Wzkg/1s5IP9bOSD/Wzkg/1s5IP9bOSD/Wzkg/1s5IP9bOSD/Wzkg/1s5IP9bOSD/Wzkg
-        /1s5IP9bOSD/Wzkg/1s5IP9bOSD/Wzkg/1s5IP9bOSD/Wzkg/1s5IP9bOSD/Wzkg/1s5IP9bOSD/Wzkg
-        /1s5IP9bOSD/Wzkg/1s5IP9bOSD/Wzkg/1s5IP9bOSD/ZUUu/7Slmf/49/b//v7+//7+/v/9/f3/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+99cOB/gXDkg/1w5IP9ePCT/xrqx///////////////////////////////////////s6OX/cVQ+
-        /1w5IP9cOiD/XDkg/1w5IP9cOiD/XDog/1w6IP9cOSD/XDog/1w5IP9cOiD/XDkg/1s5IP9cOSD/XDkg
-        /1w5IP9bOSD/XDkg/1w5IP9bOSD/Wzkg/1w5IP9cOSD/XDkg/1w5IP9cOSD/Wzkg/1s5IP9bOSD/Wzkg
-        /1s6IP9cOSD/XDkg/1w5IP9cOSD/Wzkh/1s6IP9cOSD/XDkg/1w6IP9cOSD/XDog/1w5IP9cOSD/XDkg
-        /1w5IP9cOSD/aUoy/7yuo//5+Pf//v7+//7+/v/9/f3/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/8/Pz//Pv7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v731w4H+BcOiD/XDoh/149I//GurH/////
-        /////////////////////////////////+zo5f9yVD7/XDog/1w6IP9cOSD/XDog/106IP9cOiD/XDog
-        /1w6IP9cOiD/XTog/1w6IP9dOiD/XTog/106IP9cOiD/XDog/106IP9cOiD/XDog/1w6IP9cOiD/XTog
-        /1w6IP9cOiD/XDog/1w6IP9cOiD/XToh/106IP9dOiD/XTog/106IP9cOiD/XDog/1w6IP9dOiD/XDoh
-        /1w6IP9cOiD/XDog/1w6IP9cOiD/XTog/106IP9cOiD/XDog/1w6IP9dOiD/bE02/7+yp//5+Pj//v7+
-        //7+/v/9/f3/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//8/Pz//v7+
-        //7+/v/+/v7//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/vfXTsh4F07IP9eOyD/Xz0j/8e6sf//////////////////////////////////////7Ojl
-        /3NVPv9dOiD/XTsg/107IP9dOiD/Xjog/106IP9eOiH/XTsh/147If9dOyH/XTog/107IP9dOiD/Xjoh
-        /107IP9eOyD/Xjoh/146If9dOiD/Xjog/146IP9dOiD/Xjsh/146If9dOiD/Xjsg/146If9eOiD/XTsg
-        /107IP9dOyD/XTog/107IP9dOyD/XTsg/147IP9eOyD/XTog/146If9eOyH/Xjsh/106If9eOyD/Xjog
-        /147IP9eOyH/XTsh/107If9dOyD/bU42/76wpv/5+Pf//v7+//7+/v/9/f3//Pz8//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v//P38//7+/v/+/v7//v7+//7+/v/+/v7//f39//z8/P/7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+99eOyHgXjsg/147IP9gPiT/x7ux
-        ///////////////////////////////////////s6OX/c1U+/147IP9eOyH/Xjsh/147IP9eOyD/Xjsg
-        /147IP9eOyH/Xjsh/147If9fOyH/Xjsh/147If9eOyD/Xjsg/147If9eOyD/Xjsg/147IP9eOyD/Xjsg
-        /147IP9eOyH/Xjsh/147If9fOyD/Xjsg/147If9eOyD/Xjsg/147If9eOyH/Xjsg/147If9eOyD/Xjsg
-        /147IP9eOyH/Xjsh/147If9eOyH/Xjsg/147IP9eOyH/Xjsh/147If9eOyH/Xjsh/147IP9fOyH/bU02
-        /7ytov/49/b//v7+//7+/v/+/v7/+/z7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/+/v7//v7+
-        //38/P/z8O//+/r5//7+/v/+/v7//v7+//39/f/8/Pz//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v73147IeBfOyH/Xzwh/2E+JP/Hu7H/////////////////////////////////////
-        /+zo5f90VT7/Xzsh/188If9fPCH/Xzwh/188If9fOyH/Xzsh/187If9fOyH/Xzwg/188If9fOyD/Xzsh
-        /187IP9fPCD/Xzwh/188IP9fPCH/Xzsg/188IP9fOyD/Xzsg/187IP9fOyH/Xzsh/187IP9fOyH/Xzsh
-        /187If9fOyH/Xzsh/187If9fOyD/Xzsg/187IP9fOyH/Xzsg/187IP9fPCH/Xzwh/187If9fOyH/Xzsh
-        /187If9fOyH/Xzwh/187IP9fOyH/Xzsg/188If9fPCH/bEsy/7SkmP/18/H//v7+//7+/v/+/v7//Pz8
-        //v7+//7+/v/+/v7//v7+//8/Pz//v7+//7+/v/9/fz/29PN/492ZP+0o5b/6eXh//z8/P/+/v7//v7+
-        //7+/v/+/v7//f39//z8/P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/8/PzfYDwh4GA8If9gPCH/Yj8k
-        /8e7sf//////////////////////////////////////7Ojl/3VWPv9gPCH/YDwh/2A8If9gPCH/YDwh
-        /2A8If9gPCH/YDwh/2A8If9gPCH/YDwh/2A8IP9gPCH/YDwg/2A8If9gPCH/YDwh/2A8If9gPCH/YDwh
-        /2A8If9gPCH/YDwh/2A8If9gPCH/YDwh/2A8If9gPCD/YDwg/2A8If9gPCH/YDwh/2A8If9gPCH/YDwh
-        /2A8If9gPCD/YDwg/2A8IP9gPCH/YDwh/2A8If9gPCH/YDwh/2A8If9gPCH/YDwh/2A8If9gPCH/YDwh
-        /2A8If9gPCD/aUct/6aSg//v6+j//v7+//7+/v/+/v7//f39//v7+//7+/v//P38//7+/v/+/v7//f39
-        /9vTzf+CZVD/YT0i/2RBJ/+BZU//uqqe/+rl4v/8+/v//v7+//7+/v/+/v7//v7+//39/f/8/Pz//Pz8
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //z8/P/9/f3//v7+//39/d9gPCHgYTwh/2E9If9jPyT/yLux////////////////////////////////
-        ///////s6OX/dlY+/2E8If9hPCH/YTwh/2E8If9hPSH/YT0h/2E8If9hPCH/YTwh/2E8If9hPSH/YT0h
-        /2E9If9hPCH/YTwh/2E9If9hPSH/YT0h/2E9If9hPSH/YT0h/2E9If9hPSH/YTwh/2E8If9hPSH/YT0h
-        /2E9If9hPCH/YT0h/2E8If9hPCH/YT0h/2E9If9hPSH/YT0h/2E9If9hPSH/YT0h/2E9If9hPCH/YT0h
-        /2E9If9hPSH/YTwh/2E8If9hPSH/YT0h/2E9If9hPSH/YT0h/2E9If9hPCH/ZkIo/5mBb//n4d3//f39
-        //7+/v/+/v7//f39//z9/P/+/v7//v7+//39/P/c083/gmVQ/2I+Iv9hPSH/YTwh/2E8If9nQyn/gWRO
-        /7Sjlv/i29b/+Pf2//7+/f/+/v7//v7+//7+/v/+/v7//f39//39/f/8/Pz/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//8/Pz//f39//39/f/9/f3//v7+//7+/v/+/v7//f3932E8IeBhPSH/YT0h
-        /2RAJP/Iu7H//////////////////////////////////////+3o5f93Vz7/Yj0h/2I9If9hPSH/YT0h
-        /2I9If9iPSH/Yj0h/2I9If9hPSH/Yj0h/2E9If9hPSH/YT0h/2I9If9iPSH/YT0h/2E9If9hPSH/YT0h
-        /2E9If9iPSH/Yj0h/2I9If9iPSH/Yj0h/2I9If9hPSH/YT0h/2I9If9iPSH/Yj0h/2E9If9iPSH/Yj0h
-        /2I9If9hPSH/Yj0h/2I9If9iPSH/YT0h/2I9If9iPSH/Yj0h/2I9If9iPSH/Yj0h/2I9If9iPSH/YT0h
-        /2I9If9iPSH/Yj0h/2E9If9iPSH/ZEAl/4dsVv/Vy8T/+/v6//7+/v/+/v7//v7+//7+/v/9/Pz/3NTO
-        /4NmUP9jPiL/Yj0h/2I9If9iPSH/YT0h/2I9If9iPSH/ZUEm/3hYP/+hi3r/0Ma9/+/r6P/7+vr//v7+
-        //7+/v/+/v7//v7+//7+/v/9/f3/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8//7+/v/+/v7//v7+
-        //7+/v/+/v7//f39//Xz8f/i29XfYz0h4GM+If9jPSH/ZUAk/8i7sf//////////////////////////
-        ////////////7ejl/3hYP/9iPiH/Yz4h/2M9If9jPSH/Yz4h/2M9If9jPSH/Yz4h/2M+If9jPSH/Yz0h
-        /2M9If9jPiH/Yz4h/2M+If9jPiH/Yj4h/2M+If9jPiH/Yz4h/2M+If9jPiH/Yz4h/2M9If9jPSH/Yz0h
-        /2M+If9jPiH/Yz0h/2M+If9jPiH/Yz4h/2M+If9jPiH/Yz4h/2M+If9jPiH/Yz4h/2M+If9jPiH/Yz4h
-        /2M+If9jPiH/Yz4h/2M+If9jPiH/Yz4h/2M+If9iPiH/Yz0h/2M9If9jPSH/Yz0h/2M+If9jPiH/Yz4i
-        /3hYP/+9rqL/9PLw//7+/v/+/v7//f39/9vTzP+EZk//Yz8i/2M+If9jPiH/Yz4h/2M+If9iPiH/Yz4h
-        /2M+If9jPiH/Yz0h/2Q/Iv9tSi//hmlT/6uXif/Sx7//7enm//r5+P/+/v7//v7+//7+/v/7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//9/f3//v7+//7+/v/9/Pz/8/Du/97W0f+6q57/k3ll/3ZVPN9kPiHgZD4h
-        /2Q+If9mQST/ybyx///////////////////////////////////////t6OX/eVg//2Q+If9kPiH/ZD4h
-        /2Q+If9kPiH/ZD4h/2Q+If9kPiH/ZD4h/2Q+If9kPiH/ZD4i/2Q+If9kPiH/ZD4h/2Q+If9jPiH/ZD4h
-        /2Q+If9kPiH/ZD4h/2Q+If9kPiH/ZD4h/2Q+If9kPiH/ZD4h/2Q+If9jPiH/ZD8h/2Q+If9kPiH/ZD4h
-        /2Q/If9kPyH/ZD4h/2Q+If9kPiH/ZD4h/2Q+If9kPiH/ZD4h/2Q+If9kPyH/ZD4h/2Q+If9kPiH/ZD4h
-        /2Q+If9kPiH/ZD4h/2Q+If9kPiH/ZD8h/2Q+If9kPiH/ZD4h/2xILf+fiHb/4tzX//j29f/Z0Mn/hGZP
-        /2VAIv9kPiH/ZD8h/2Q/If9kPyH/ZD4h/2M+If9kPiH/ZD4h/2Q+If9kPiH/ZD4h/2Q/If9kPiH/ZUAj
-        /25LMP+CZE3/uKaZ//r4+P/+/v7//v7+//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//39/f/+/v7//v39
-        /9nPyP+Oc17/dFM5/2hDJ/9kPiH/ZD0h32U+IeBlPyH/ZT8h/2dCJP/JvLL/////////////////////
-        /////////////////+3o5f95WT//ZT8h/2U/If9lPyH/ZT8h/2Q/If9lPyH/ZT8h/2U/If9lPyH/ZT8h
-        /2U/If9lPyL/ZD8h/2Q/If9kPyH/ZT8h/2Q/If9lPyH/ZT8h/2U/Iv9lPyH/ZT8i/2U/If9lPyH/ZT8i
-        /2U/Iv9lPyH/ZT8h/2U/If9lPyH/ZT8h/2U/If9lPyH/ZT8h/2U/If9lPyH/ZT8h/2U/If9lPyH/ZT8i
-        /2U/If9lPyH/ZT8h/2U/If9lPyH/ZT4h/2U/If9kPyL/ZT8h/2U/If9lPyH/ZT8h/2U/If9lPyH/ZT8h
-        /2U/If9lPyH/ZT8h/2dBJP9+XkX/mH5q/3paQP9mQCL/ZT8h/2U/If9lPyH/ZT8h/2U/If9lPiH/ZT4h
-        /2U/If9lPyH/ZT8h/2U/If9lPyH/ZT8h/2Q/If9kPyH/ZT8h/2U/If+Ve2f/9vXz//7+/v/+/v7/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v//f39//7+/v/9/f3/w7Wp/2lEJ/9lPyH/ZT8h/2U/If9kPiHfZj8i
-        4GY/If9mPyH/aEIk/8q8sf//////////////////////////////////////7ejl/3pZP/9mQCL/ZkAh
-        /2Y/If9mQCH/ZkAi/2ZAIv9mPyH/Zj8h/2ZAIf9mPyH/Zj8i/2ZAIf9mPyH/Zj8h/2Y/If9mPyH/Zj8h
-        /2Y/If9lPyH/ZT8h/2Y/If9mPyL/ZkAh/2Y/If9mPyL/Zj8h/2Y/Iv9mPyH/Zj8i/2Y/Iv9mPyH/ZkAh
-        /2ZAIv9mQCH/ZkAi/2Y/Iv9mPyH/Zj8h/2Y/If9mPyL/ZkAi/2Y/Iv9mQCH/Zj8h/2Y/If9mPyH/ZkAi
-        /2ZAIv9mPyL/ZT8h/2Y/If9mPyH/Zj8h/2Y/If9mQCH/Zj8h/2ZAIf9mPyH/Zj8h/2ZAIf9mQCL/ZkAh
-        /2Y/If9mPyH/Zj8i/2Y/If9mPyH/Zj8h/2Y/If9mPyH/Zj8h/2Y/Iv9mPyH/ZkAi/2ZAIf9mPyH/Zj8h
-        /2Y/If9mPyH/ZkAh/5V7Z//39fP//v7+//7+/v/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//9/f3//v7+
-        //39/f/Etan/akUo/2Y/Iv9mPyH/Zj8h/2U+Id9nQCLgZ0Ai/2dAIv9pQyX/yryy////////////////
-        ///////////////////////t6eX/e1o//2dAIv9nQCL/Z0Ai/2dAIv9nQCL/Z0Ai/2dAIv9nQCL/Z0Ah
-        /2dAIf9nQCL/Z0Ai/2dAIf9nQCL/Z0Ai/2dAIv9nQCL/Z0Ai/2dAIv9nQCL/Z0Ai/2dAIv9nQCL/Z0Ai
-        /2dAIv9nQCH/Z0Ai/2dAIv9nQCH/Z0Ai/2dAIv9nQCL/Z0Ai/2dAIv9nQCL/Z0Ai/2dAIv9nQSL/Z0Ai
-        /2dAIv9nQCH/Z0Ah/2dAIv9nQCH/Z0Ai/2dAIf9nQCL/Z0Ah/2dAIv9nQCL/Z0Ai/2dAIf9nQCH/Z0Ai
-        /2dAIv9nQCL/Z0Ai/2dAIf9nQCH/Z0Ai/2dAIv9nQSL/Z0Ah/2dAIv9nQCH/Z0Ai/2dAIv9nQCL/Z0Eh
-        /2dAIv9nQCH/Z0Ah/2dAIv9nQCL/Z0Ah/2dAIf9nQCL/Z0Ai/2dAIf9nQCH/l3xn//f18//+/v7//v7+
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//39/f/+/v7//f39/8S1qf9rRSj/Z0Ah/2dAIv9nQCH/ZkEh
-        32hAIuBoQSL/aEEh/2pDJf/KvbL//////////////////////////////////////+3p5f98Wj//aEAh
-        /2hBIv9oQSL/aEEi/2hBIv9oQSL/aEEi/2hBIv9oQSL/aEEi/2hBIv9oQSL/aEEh/2hBIf9oQSL/aEEh
-        /2hBIv9oQSL/aEEi/2hBIv9oQSL/aEEh/2hBIv9oQSL/aEEi/2hBIv9oQSL/aUEi/2lBIv9oQSL/aEEi
-        /2hBIv9oQSL/aEEi/2hBIv9oQSL/aEEi/2hBIv9oQSL/aEEi/2hBIv9oQSH/aEEi/2hBIf9oQSH/aEEi
-        /2hBIv9oQSH/aEAh/2hBIv9oQSL/aEEi/2hBIv9oQSL/aEEi/2hBIv9oQSL/aEEi/2hBIf9oQSL/aEEi
-        /2hBIf9oQSL/aEEi/2hBIv9pQSL/aEEi/2hBIv9oQSL/aEEi/2hBIv9oQSL/aEEi/2hBIv9oQSH/aEEh
-        /2hBIv9oQSL/aEEi/2hBIv+XfGf/9/Xz//7+/v/+/v7/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//f39
-        //7+/v/9/f3/xLaq/2xGKP9oQSH/aEEi/2hBIv9oQSHfaEAi4GlBIv9pQSL/a0Ql/8u9sv//////////
-        ////////////////////////////7enl/31bP/9pQSL/aUIi/2lBIv9pQSL/aUIi/2lBIv9pQiL/aUIi
-        /2lBIv9pQSL/aUEi/2lBIv9pQiL/aUIi/2lCIv9pQSL/aUEi/2lBIv9pQiL/aUIi/2lCIf9pQSL/aUEi
-        /2lCIv9pQSL/aUEi/2lBIv9pQSL/aUEi/2lBIv9pQiL/aUEi/2lBIv9pQSL/aUEi/2lBIv9pQSL/aUEi
-        /2lCIv9pQSL/aUEi/2lBIv9pQSL/aUEi/2lBIv9pQSL/aUEi/2lCIv9pQSL/aUEi/2lBIv9pQSL/aUIi
-        /2lBIv9pQSL/aUEi/2lBIv9pQiL/aUEi/2lCIv9pQiL/aUEh/2lBIv9pQSL/aUEi/2lBIv9pQSL/aUEi
-        /2lBIv9pQSL/aUEi/2lBIv9pQSL/aUEi/2lBIv9pQSH/aUEh/2lBIv9pQSL/aUEi/5h9Z//39fP//v7+
-        //7+/v/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//9/f3//v7+//39/f/Ftqr/bUYo/2lCIv9pQSL/aUEi
-        /2lBId9rQiLgakIi/2pCIv9tRSX/y72y///////////////////////////////////////u6eX/fls/
-        /2pCIv9qQiL/akIi/2pCIv9qQiL/akIi/2pCIv9qQiL/a0Ii/2tCIv9rQiL/akIi/2pCIv9qQiL/a0Ii
-        /2pCIv9rQiL/a0Ii/2tCIv9qQiL/akIi/2pCIv9qQiL/a0Ii/2tCIv9qQiL/akIi/2pCIv9qQiL/akIi
-        /2pCIv9qQiL/akIi/2pCIv9qQiL/akIi/2pCIv9qQiL/akIi/2tCIv9qQiL/akIi/2pCIv9qQiL/a0Ii
-        /2pCIv9qQiL/akIi/2pCIv9qQiL/akIi/2pCIv9qQiL/akMi/2tCIv9rQiL/akIi/2pCIv9qQiL/akIi
-        /2tCIv9qQiL/akIi/2tCIv9qQiL/akIi/2pCIv9qQiL/akIi/2pDIv9qQiL/akIi/2pCIv9qQiL/akIi
-        /2pCIv9qQiL/akIi/2pCIv9rQiL/mX1n//f18//+/v7//v7+//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //39/f/+/v7//f39/8W2qv9uRyj/a0Ii/2tCIv9qQiL/akIi32tDIuBrQyL/a0Mi/21GJf/LvbL/////
-        /////////////////////////////////+7p5f9/XD//a0Mi/2xDIv9sQyL/a0Mi/2xDIv9sQyL/a0Mi
-        /2tDIv9rQyL/bEMi/2xDIv9rQyL/a0Ii/2tDIv9rQyL/bEMi/2xDIv9sQyL/bEMi/2tCIv9rQyL/bEMi
-        /2xDIv9sQyL/a0Mi/2tDIv9rQyL/bEMi/2xDIv9sQyL/a0Mi/2tDIv9rQyL/a0Mi/2tDIv9sQyL/bEMi
-        /2tDIv9sQyL/bEMi/2xDIv9sQyL/a0Mi/2xCIv9sQyL/bEMi/2xDIv9rQyL/a0Mi/2xDIv9rQiL/a0Mi
-        /2tDIv9rQyL/bEMi/2xDIv9sQyL/bEMi/2tDIv9rQyL/a0Mi/2xDIv9rQyL/a0Mi/2tDIv9sQyL/bEMi
-        /2xDIv9rQiL/bEMi/2tDIv9rQyL/a0Mi/2tDIv9rQyL/a0Mi/2xDIv9sQyL/a0Mi/2tDIv+Zfmf/9/Xz
-        //7+/v/+/v7//Pz8//z8/P/7/Pv/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/8/Pz//f39//7+/v/9/f3/xraq/3BIKP9rQyL/a0Mi
-        /2xDIv9sQyLfbEMi4GxDIv9sQyL/bkYl/8y9sv//////////////////////////////////////7unl
-        /4BcP/9sQyL/bEMi/2xDIv9sRCL/bEMi/2xDIv9sQyL/bEMi/2xDIv9sQyL/bEMi/2xEIv9tQyL/bEMi
-        /2xDIv9sQyL/bUMi/2xDIv9sRCL/bEMi/2xDIv9sRCL/bEQi/2xDIv9sQyL/bEMi/2xDIv9tQyL/bUMi
-        /2xDIv9tQyL/bUMi/21DIv9tQyL/bEMi/2xDIv9sQyL/bEQi/21DIv9sQyL/bEMi/2xDIv9sQyL/bUMi
-        /21DIv9tQyL/bUMi/21DIv9sQyL/bEMi/2xDIv9sQyL/bEMi/21EIv9sRCL/bEMi/2xDIv9tQyL/bEMi
-        /2xDIv9sQyL/bEMi/2xDIv9sQyL/bEMi/2xDIv9tQyL/bUMi/2xDIv9tQyL/bEMi/2xDIv9tQyL/bEMi
-        /2xDIv9sQyL/bUMi/21DIv9sQyL/bEMi/5p9Z//39fP//v7+//7+/v/+/v7//v7+//7+/v/+/v7//f39
-        //39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/+/v7//v7+
-        //7+/v/+/v7//v7+//39/f/Gtan/cEko/2xDIv9sQyL/bEMi/2xDIt9tRCLgbkQi/25EIv9vRyX/zL6y
-        ///////////////////////////////////////u6eX/gV1A/21EIv9uRCP/bkQi/25EIv9uRCL/bkQi
-        /21EI/9uRCL/bkQi/25EIv9uRCL/bkQi/25EIv9tRCL/bkQi/25EIv9uRCL/bkQj/21EIv9uRCL/bkQi
-        /25EIv9uRCP/bkQi/25EIv9tRCL/bkQi/25EIv9uRCL/bkQi/25EIv9uRCL/bkQi/25EIv9uRCL/bUQi
-        /21EIv9uRCL/bkQi/25EIv9uRCL/bkUi/25EI/9uRCL/bkQi/25EIv9tRCL/bkQi/25EIv9uRCL/bkQi
-        /21EI/9uRCL/bUQi/21EIv9tRCL/bkQi/21EIv9tRCL/bkQi/25EIv9uRCL/bkQi/25EIv9uRCL/bkQi
-        /25EIv9uRCL/bkQi/21EIv9tRCL/bkQi/25EIv9uRCL/bkQi/25EIv9uRCL/bkQi/21EIv9uRCP/iGZK
-        /+Td1//8+/v//f39//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+
-        //7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//79/f/9/Pz/9fLw/6qSf/9vRiX/bkQi
-        /25EIv9uRCL/bUQi325EIuBvRCL/b0Qi/3FHJv/NvrL/////////////////////////////////////
-        /+7p5f+CXUD/b0Ui/25FI/9vRSL/b0Ui/29FIv9vRSP/bkUi/29FIv9vRCL/bkUi/25FIv9vRSL/b0Ui
-        /25FI/9uRSP/bkUj/25FI/9uRSP/b0Ui/29FIv9vRSP/b0Uj/29FI/9vRSP/b0Ui/25FIv9vRSL/b0Uj
-        /29FIv9uRSL/bkUj/29FI/9vRSL/b0Ui/25FI/9vRSP/bkUi/29EI/9vRCP/b0Qi/29EIv9vRSL/b0Ui
-        /29FIv9vRCP/bkUi/25FIv9vRSL/b0Ui/29FI/9uRSL/bkUi/25EIv9uRCP/b0Qi/29FIv9vRSL/b0Ui
-        /29EIv9vRSL/b0Uj/25EI/9uRSL/b0Qi/29EIv9vRSP/b0Uj/29FIv9uRCP/b0Qi/29EI/9vRSL/b0Ui
-        /29EI/9vRCP/b0Ui/29FIv9vRSL/b0Qi/25EI/9xSCX/jGtP/66Xg//FtKb/2M3D/+Xd1//u6ub/9vPx
-        //n49v/6+fn//Pv6//z8/P/9/f3//f39//79/f/9/f3//f39//38/P/8+/v/+/r5//r49//49vT/8e7r
-        /+ni3f/e1Mz/zb6y/7eikf+bfmb/dlAv/29FI/9vRSL/b0Qi/29FI/9uRCLfb0Uj4G9FI/9vRSP/cUgm
-        /82+sv//////////////////////////////////////7unl/4NeQP9vRSP/cEUj/29FI/9vRSL/b0Ui
-        /3BFI/9wRSP/cEUj/3BFI/9vRSL/cEUi/29FIv9wRSP/cEUj/29FI/9vRSP/cEUj/3BFI/9wRSL/b0Uj
-        /29FI/9vRSP/cEUj/3BFI/9wRSP/cEUi/3BFIv9vRSP/cEUj/3BFIv9vRSP/cEYj/29FI/9wRSP/b0Uj
-        /29FI/9wRSP/cEUj/3BFI/9vRSL/b0Ui/29FIv9vRSP/b0Ui/29FIv9wRSL/cEUi/3BFI/9wRSP/b0Uj
-        /3BFIv9wRSP/cEUj/29FI/9vRSP/b0Uj/3BFI/9vRSP/b0Uj/3BFI/9wRSP/cEUj/29FIv9wRSL/cEUi
-        /3BFI/9wRSL/b0Ui/3BFI/9vRSP/cEUj/29FI/9wRSP/cEUj/3BFI/9wRSP/cEUi/3BFIv9wRSL/b0Ui
-        /29FI/9wRiP/cUcl/3NKKP94UDD/gVw9/4pnSv+VdVz/ooZv/6yUf/+1n43/u6eX/8Ctn//DsqP/xLOl
-        /8SypP/Cr6H/vaqa/7eikf+wmYX/pYt1/5p8ZP+NbFH/hWBD/3xVNf91Syr/ckgm/3BGI/9wRSL/cEUj
-        /29FI/9wRSL/cEUi/3BEIt9wRiPgcUYj/3FGI/9ySCX/zb6y////////////////////////////////
-        ///////u6eX/hF9A/3FGI/9xRiP/cEYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYi
-        /3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cEYj
-        /3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiL/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj
-        /3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj
-        /3FGI/9wRiP/cUYj/3FGI/9xRiP/cUYi/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiL/cUYi
-        /3FGI/9xRiP/cUYj/3FGIv9xRiP/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj
-        /3FGI/9xRiP/cUck/3JHJP9yRyT/ckck/3JHJf9yRyX/ckcl/3FHJf9xRyT/cUck/3FHJP9xRyP/cUYj
-        /3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUUi33FGI+ByRyP/ckcj
-        /3NJJv/NvrL//////////////////////////////////////+7p5f+FX0D/ckYj/3JGI/9xRyP/ckcj
-        /3JHI/9yRyP/ckcj/3FHI/9yRiP/ckcj/3JGI/9yRiP/cUcj/3FHI/9yRyP/ckYj/3JHI/9yRyP/ckcj
-        /3JHI/9yRyP/ckYj/3JHI/9yRyP/ckYj/3JGI/9yRyP/ckcj/3JGI/9yRiP/ckYj/3JHI/9yRyP/ckcj
-        /3JHI/9yRyP/ckYj/3JHI/9yRiP/ckYj/3JGI/9yRyP/ckcj/3JGI/9yRiP/cUYj/3JGI/9yRyP/ckYj
-        /3JGI/9yRiP/ckcj/3JHI/9yRyP/ckYj/3JGI/9yRiP/ckYj/3JHI/9yRyP/ckci/3JGI/9yRiP/ckYj
-        /3JHI/9yRyP/ckYj/3JGI/9yRyP/ckcj/3JGI/9yRiP/ckcj/3JHI/9xRyP/cUYj/3FGI/9yRiP/ckcj
-        /3JGI/9yRiP/ckcj/3JHI/9yRyP/ckYj/3JHI/9yRyP/ckYj/3JHI/9yRyP/ckcj/3JGI/9yRiP/ckcj
-        /3JGI/9yRiP/ckYj/3JGI/9yRyP/ckcj/3JHI/9yRyL/ckcj/3JGI/9yRiP/ckYj/3JHI/9yRyP/ckYj
-        /3JHI/9yRiP/ckcj/3JHI/9yRSPfckYj4HNHI/9zRyP/dUkm/86/sv//////////////////////////
-        ////////////7+rl/4VgQP9zRyP/c0cj/3JHI/9zRyP/ckcj/3JHI/9zRyP/c0cj/3NHI/9yRyP/ckcj
-        /3NHI/9zRyP/c0cj/3NHI/9zRyP/ckcj/3JHI/9zRyP/c0cj/3NHI/9yRyP/c0cj/3NHI/9zRyP/c0cj
-        /3NHI/9zRyP/c0cj/3NHI/9zRyP/c0cj/3NHI/9yRyP/ckcj/3NHI/9zRyP/c0cj/3NHI/9zRyP/c0cj
-        /3NHI/9zRyP/c0cj/3NHI/9zRyP/c0cj/3NHI/9zRyP/c0cj/3NHI/9yRyP/c0cj/3NHI/9zRyP/c0cj
-        /3NHI/9zRyP/c0cj/3NHI/9zRyP/ckcj/3JHI/9zRyP/c0cj/3NHI/9zRyP/c0cj/3NHI/9yRyP/c0cj
-        /3NHI/9zRyP/c0cj/3JHI/9yRyP/c0cj/3NHI/9yRyP/c0cj/3NHI/9zRyP/c0cj/3NHI/9yRyP/c0cj
-        /3NHI/9yRyP/c0cj/3NHI/9zRyP/c0cj/3NHI/9zRyP/c0cj/3NHI/9zRyP/c0cj/3NHI/9zRyP/c0cj
-        /3NHI/9yRyP/c0cj/3NHI/9zRyP/c0cj/3JHI/9zRyP/c0cj/3NHI/9zRyP/c0cj/3JGI990RyPgdEgj
-        /3RII/92Sib/zr+y///////////////////////////////////////x7en/mHdc/4hjQ/+IYkP/iGJD
-        /4hjQ/+IYkP/iGJD/4hiQ/+IYkP/iGND/4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD
-        /4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD/4hiQ/+IY0P/iGJD/4hiQ/+IY0P/iGJD/4hiQ/+IYkP/iGJD
-        /4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD/4hiQ/+IY0P/iGND/4hiQ/+IYkP/iGJD
-        /4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD/4hiQ/+IY0P/iGJD/4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD
-        /4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGND/4hiQ/+IYkP/iGND/4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD
-        /4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD
-        /4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGJD/4hiQ/+IYkP/iGND
-        /4NcO/91SST/dEgj/3NHI/9zSCP/c0gj33VII+B1SCP/dUgj/3dLJv/Pv7L/////////////////////
-        //////////////////39/P/y7uv/8Ozo//Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ovo//Ds6P/w7Oj/8Ozo
-        //Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ozo//Ds6P/w6+j/8Ovo//Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ozo
-        //Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ozo
-        //Ds6P/w7Oj/8Ovo//Ds6P/w7Oj/8Ozo//Ds6P/w6+j/8Ozo//Ds6P/w7Oj/8Ozo//Ds6P/w6+j/8Ozo
-        //Ds6P/w6+j/8Ozo//Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ozo
-        //Ds6P/w7Oj/8Ovo//Dr6P/w6+j/8Ozo//Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ozo
-        //Dr6P/w6+j/8Ozo//Ds6P/w7Oj/8Ovo//Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/8Ozo
-        //Ds6P/w6+j/8Ozo//Ds6P/w7Oj/8Ozo//Ds6P/w7Oj/0cK2/3pPK/91SCP/dUgj/3VII/90SCPfdUgj
-        4HVJI/91SSP/d0sm/8+/sv//////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ///////c0cf/fFEs/3VJI/92SSP/dkkj/3VJI992SSPgdkkj/3ZJI/94Syb/z7+y////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////////////////93RyP98USz/dkkj/3dJJP93SSP/dkkj
-        33dJI+B4SiP/eEoj/3lMJv/QwLL/////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////3dHH/31SLf94SiP/eEok/3hKI/94SiPfeEkj4HhKJP94SiT/ek0n/9DAsv//////////
-        /////////////f38/+3n4v/n39j/59/Y/+ff2P/p4tz/+vj3////////////9vPw/+jg2f/n39j/59/Y
-        /+ff2P/y7en///7+///////9/Pv/7Obg/+ff2P/n39j/59/Y/+rj3P/7+fj////////////18u//6ODZ
-        /+ff2P/n39j/59/Y//Pu6////v7///////z7+v/r5N//59/Y/+ff2P/n39j/6uPd//z7+v//////////
-        //Tx7v/o39n/59/Y/+ff2P/o39n/8+/r////////////+/r5/+vk3//n39j/59/Y/+ff2P/r5d///Pv6
-        ////////////8+/r/+ff2P/n39j/59/Y/+ff2P/08O3////////////7+vn/6+Te/+ff2P/n39j/59/Y
-        /+zl4P/8+/r////////////y7ur/6N/Y/+ff2P/n39j/6ODZ//Xy7/////////////v5+P/q4tz/59/Y
-        /+ff2P/n39j/7Obg//38+////////v7+//Ht6f/n39j/59/Y/+ff2P/o4Nn/9vPw////////////+vj2
-        /+ni2//n39j/59/Y/+ff2P/t5+L//v38///////////////////////d0cj/flIt/3lKJP95SiP/eEoj
-        /3hKI995SyPgeUsk/3lLI/97TSf/0MCy///////////////////////28/H/qIlw/4phPv+KYT//imE/
-        /5ZyU//m3db////////+/v/TxLf/jGVD/4phPv+KYT7/imE//76olP/8+/v///////Tx7v+lhWr/imE+
-        /4phP/+KYT//l3NV/+rj3P///////v39/8+9r/+NZUT/imE//4phPv+LYkD/wqya//38+///////8u3p
-        /6B+Yv+KYT//imE//4phP/+ad1n/8Ovm///////+/v3/y7qr/4xlQ/+KYT//imE//4xkQv/EsJ///v39
-        ///////u6OP/nnxf/4phP/+KYT//imE//59+Yv/w6+b//////////v/Er57/i2NB/4phP/+KYT//jGRC
-        /8m2p//+/v7//////+3m4f+beFv/imE//4phP/+KYT//oYFl//Hs5////////v39/8Cql/+LY0H/imE/
-        /4phP/+OZkT/0MCy//7+/v//////7OTe/5dzVP+KYT//imE//4phP/+igmb/9PHu///////7+vr/vaWS
-        /4tiQP+KYT//imE//49nRv/UxLj///7+///////l3NX/lG9P/4phP/+KYT//imE//6iJcP/39PP/////
-        /////////////////93SyP9/Uy3/eUsk/3pLI/95SyP/eUsj33lLJOB7TCT/ekwk/3xOJ//RwLL/////
-        //////////////////Xy7/+delz/e0sk/3tLJP97TCT/iV88/+LY0P////////7+/828rf99UCj/ekwk
-        /3pMJP97TCT/tpyH//z7+v//////8/Ds/5l1V/96TCT/ekwk/3pMJP+JYD3/59/X///////+/f3/yLSk
-        /35QKv96TCT/e0wk/3tNJf+5oYz//fz7///////w6+b/k21M/3pMJP97TCT/e0wj/4xkQv/u6OP/////
-        //7+/f/FsJ//flAp/3pMJP96TCT/fU8n/7ylkf/+/f3//////+zl3/+Qakj/e0wk/3pLJP96TCT/k21M
-        /+7o4//////////+/7ykkP98TSb/ekwk/3tMJP99Tyj/wq2b//7+/v//////6uPd/45mRP97TCT/e0wk
-        /3pMJP+VcFD/7+nk///////+/f3/t56J/3tNJv96TCT/ekwk/35RK//KuKj//v7+///////p4dr/imA9
-        /3pLJP96TCT/ekwk/5ZxUf/z7+z///////v6+f+0moP/e00m/3tMJP97TCT/f1Is/869rv///v7/////
-        /+HXzv+GXDf/ekwk/3pMJP97TCT/nHlc//bz8f//////////////////////3dLI/4BTLf97TCT/eksk
-        /3pMJP96SyPfekwk4HtMJP97TCT/fU4n/9HAsv//////////////////////9fLv/516XP97TCT/e0wk
-        /3tMJP+KYDz/49jQ/////////v7/zryt/35QKf97TCT/e0wk/3tMJP+2nYb//Pv6///////08Oz/mnZX
-        /3tMJP97TCT/e0wk/4pgPf/n39f///////79/f/ItaT/f1Eq/3tMJP97TCT/fE0l/7qhjP/9/Pv/////
-        //Dr5v+TbU3/e0wk/3tNJP97TCT/jWRC/+7o4////////v79/8Wwn/9+UCn/e0wk/3tMJP99Tyf/vaWR
-        //79/f//////7OXf/5JqSf97TCT/e0wk/3tMJP+TbUz/7ujj//////////7/vKSQ/31OJ/97TCT/e0wk
-        /35QKP/DrZv//v7+///////q493/j2ZE/3tMJP97TCT/e0wk/5ZwUP/v6eT///////79/f+4non/fE4m
-        /3tMJP97TCT/f1Ir/8q4qP/+/v7//////+nh2v+KYD3/e0wk/3tMJP97TCT/l3FR//Tv7P//////+/r5
-        /7Sag/98TSX/e0wk/3tMJP+AUyz/zr2u///+/v//////4tfP/4dcN/97TCT/e0wk/3tMJP+delz/9vPx
-        ///////////////////////e0sj/gVMt/3tMJP97TCT/e0wk/3tMJN98TCTgfEwk/3xMJP9+Tyf/0cGy
-        ///////////////////////18u//nnpc/3xMJP98TCT/fEwk/4pgPP/j2ND////////+/v/Ova3/f1Ap
-        /3xMJP98TCT/fE0k/7edh//8+/r///////Tw7P+adlf/fE0k/3xMJP98TCT/i2E9/+ff1////////v39
-        /8m1pP+AUir/fEwk/3xMJP99TiX/uqGM//38+///////8Ovm/5RuTf98TST/fE0k/3xNJP+OZUL/7ujj
-        ///////+/v3/xbGf/39RKf98TCT/fEwk/35PJ/+9pZH//v39///////s5d//kmtJ/3xMJP98TCT/fE0k
-        /5RtTP/u6OP//////////v+9pJD/fk8n/3xMJP98TST/f1Ao/8Otm//+/v7//////+vj3f+PZ0T/fE0k
-        /3xNJP98TCT/lnBQ/+/p5P///////v39/7ifif99Tyb/fE0k/3xNJP+AUiv/y7io//7+/v//////6eHa
-        /4thPf98TCT/fEwk/3xNJP+XclH/9O/s///////7+vn/tZqD/31OJv98TST/fE0k/4FTLP/Ova7///7+
-        ///////i18//iFw3/3xNJP98TCT/fEwk/556XP/39PH//////////////////////97SyP+BVC3/fEwk
-        /3xNJP98TST/fEwk331NJOB9TST/fU0k/39PJ//RwbL///////////////////////bz8P+mhmr/iFw3
-        /4hcN/+IXDf/lW5N/+Xc1P////////7+/9PDtP+LYDv/iFw3/4hcN/+IXTf/vaWR//z7+v//////9fHu
-        /6OBZf+IXDf/iFw3/4hcN/+Wb07/6eLb///////+/f3/zrus/4thPf+IXDf/iFw3/4ldOP/AqZb//fz7
-        ///////x7ej/nnpc/4hcN/+IXDf/iFw3/5hyUv/v6uX///////7+/f/LuKf/i2A8/4hcN/+IXDf/il86
-        /8Stmv/+/f3//////+7n4v+ceFn/iFw3/4hcN/+IXTf/nnpb//Dq5f/////////+/8Otmf+KXjn/iFw3
-        /4hcN/+KXzr/yLSj//7+/v//////7eXg/5p0VP+IXDf/iFw3/4hdN/+gfV//8Ovm///////+/f3/v6eT
-        /4leOf+IXDf/iFw3/4xiPf/Pvq///v7+///////r5N3/lm9O/4hcN/+IXDf/iF03/6F+YP/18O7/////
-        //v6+v+7o47/iV05/4hcN/+IXDf/jWM+/9PDtf///v7//////+Xb0/+Takn/iFw3/4hcN/+IXDf/poZq
-        //j18v//////////////////////3tLI/4JULf99TST/fU0k/31NJP98TSTffk0k4H5OJP99TST/f1An
-        /9LBsv///////////////////////fz7/+nh2f/h1s3/4dbN/+HWzf/k2tL/+fb0////////////9PDs
-        /+LXzv/h1s3/4dbN/+HWzP/u6OL//v7+///////8+/r/59/X/+HWzf/h1s3/4dbN/+Tb0v/6+Pb/////
-        ///////z7ur/4tfO/+HWzf/h1s3/4dbN/+/p5f///v7///////v6+f/m3dX/4dbN/+HWzf/h1s3/5dvT
-        //v6+f////////////Lt6f/i183/4dbN/+HWzf/h183/8Orm////////////+/n4/+bd1f/h1s3/4dbN
-        /+HWzf/n3dX/+/r5////////////8Orl/+HWzf/h1s3/4dbN/+LXzf/x7Of////////////6+ff/5dzU
-        /+HWzf/h1s3/4dbN/+fe1v/7+vn////////////v6eT/4dbN/+HWzf/h1s3/4tfN//Pu6v//////////
-        //r49v/k29L/4dbN/+HWzf/h1s3/597X//z7+v///////v7+/+7o4v/h1s3/4dbN/+HWzf/i187/9PDs
-        ////////////+Pb0/+Ta0f/h1s3/4dbN/+HWzf/p4Nn//fz8///////////////////////e0sj/g1Uu
-        /35OJP99TiT/fU4k/31NJN9+TiTgfk4k/39OJP+AUCf/0L+v////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////9zQxf+EVS3/fk4k/35OJP9+TiT/fk0k339OJOB/TiT/f04k
-        /4BQJv+5n4j/+/n4////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ///////////////////////////////////////////////////////////////////////9/Pv/xa+c
-        /4JSKf9/TiT/f04k/39OJf9+TSTff04k4IBPJP+ATyX/gE8l/4xfOf/BqZT/39PI/+LXzv/i187/4tfO
-        /+LXzv/i187/4tfO/+LXzv/i187/4tfO/+LXzv/i187/4tfO/+LXzv/i187/4tfO/+LXzv/j187/49fO
-        /+LXzv/i187/4tfO/+LXzv/i187/4tfO/+LXzv/i187/4tfO/+LXzv/i187/4tfO/+LXzv/j187/4tfO
-        /+LXzv/i187/4tfO/+LXzv/i187/4tfO/+LXzv/i187/4tfO/+LXzv/i187/4tfO/+LXzv/i187/4tfO
-        /+LXzv/i187/4tfO/+PXzv/i187/4tfO/+LXzv/i187/4tfO/+LXzv/j187/4tfO/+LXzv/i187/4tfO
-        /+LXzv/i187/4tfO/+PXzv/j187/4tfO/+LXzv/i187/4tfO/+LXzv/i187/4tfO/+LXzv/i187/4tfO
-        /+LXzv/i187/4tfO/+LXzv/i187/4tfO/+PXzv/i187/4tfO/+LXzv/i187/4tfO/+LXzv/j187/49fO
-        /+LXzv/i187/4tfO/+LXzv/i187/4tfO/+PXzv/i187/49fO/+LXzv/i187/4tfO/+LXzv/i187/49fO
-        /+LXzv/i187/4tfO/+LXzv/i187/4NXL/8eyn/+QZkH/gE8l/4BPJP+ATyT/gE8k/4BOJN+ATiTggU8k
-        /4FPJf+BTyX/gU8l/4NTKf+HWC//iFgw/4hZMP+HWTD/h1kw/4hZMP+IWTH/h1kw/4hZMP+IWTD/h1kw
-        /4dZMP+IWTD/iFkw/4hZMP+IWTD/h1kx/4hZMP+HWTD/iFkw/4hZMP+IWDD/h1kw/4dZMP+HWTD/h1kw
-        /4dZMP+IWTD/iFgw/4dZMP+HWTD/iFkw/4hZMP+IWTD/iFkw/4hZMP+IWTD/iFkw/4dZMf+HWTH/h1kw
-        /4dZMP+HWTD/iFkw/4dZMP+HWTD/h1kx/4dZMP+IWTD/iFkw/4dYMf+IWDD/h1kw/4hZMP+IWTD/iFgw
-        /4hYMP+IWDD/iFkw/4hZMP+IWTD/iFkw/4hZMP+HWTD/h1kw/4dZMP+IWTD/iFkw/4hZMP+IWTD/h1kx
-        /4dYMP+HWTD/iFkw/4hZMP+IWTD/iFkw/4hZMP+IWTD/iFkw/4dZMP+HWTD/h1kw/4dZMP+HWTD/h1kw
-        /4hYMf+HWDD/h1kw/4hZMP+HWTD/iFkw/4dZMf+IWTD/h1gw/4hZMP+HWTD/h1kw/4hZMP+IWTD/iFkw
-        /4hYMP+IWTH/iFkw/4dZMP+HWTD/iFkw/4hZMP+IWTD/iFkw/4hZMP+IWTD/iFkw/4dZMP+HWTD/hFQq
-        /4FPJf+BTyT/gU8k/4BPJP+BTyT/gE4k34BPJOCBTyT/gVAl/4FQJf+BUCT/gVAk/4FQJf+BTyX/gVAk
-        /4FQJf+BUCX/gVAl/4FQJf+BUCX/gVAk/4FQJP+BUCX/gVAk/4FQJf+BUCX/gVAk/4FQJP+BUCX/gU8l
-        /4FQJf+BUCX/gVAl/4FPJf+BUCX/gVAl/4FQJf+BUCX/gVAl/4FQJP+BTyT/gVAk/4FQJP+BUCT/gVAl
-        /4FPJf+BTyX/gVAk/4FQJP+BUCX/gVAl/4FQJf+BTyX/gVAl/4FQJf+BUCX/gVAk/4FQJf+BUCT/gU8l
-        /4FPJP+CUCX/gU8l/4FPJP+BUCX/gVAk/4FPJf+BTyX/gU8k/4FPJP+BUCX/gU8l/4FQJP+BUCX/gVAl
-        /4FQJP+BTyT/gVAk/4FQJP+BUCT/gVAk/4FQJf+BUCX/gU8l/4FQJf+BUCT/gVAl/4FQJf+BUCX/gVAk
-        /4FQJf+BTyT/gVAk/4FQJP+BUCX/gVAk/4FQJf+BUCX/gU8l/4FPJP+BUCT/gVAl/4FQJf+BUCT/gU8l
-        /4FPJP+BTyX/gVAk/4FQJP+BUCX/gVAk/4FQJf+BUCT/gU8l/4FQJf+BUCX/gVAk/4FQJP+BTyX/gVAl
-        /4FQJf+BUCX/gVAl/4FQJf+BUCX/gVAl/4FQJf+BUCX/gVAk/4FQJf+BUCX/gU8k/4FQJf+BUCTfgU8l
-        4IJQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl
-        /4JQJP+CUCT/glAl/4JQJf+CUCX/glAl/4JQJP+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl
-        /4JQJP+CUCX/glAl/4JQJP+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl
-        /4JQJf+CUCT/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl
-        /4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJP+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl
-        /4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCT/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl
-        /4JQJf+CUCX/glAl/4JQJf+CUCX/glAk/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAk
-        /4JQJP+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAk/4JQJf+CUCX/glAl
-        /4JQJf+CUCX/glAl/4JQJP+CUCX/glAl/4JQJN+BUCTgglAl/4NRJf+DUCX/g1Al/4JQJf+CUSX/glAl
-        /4JQJf+CUSX/glAl/4JQJf+CUCX/glAl/4JRJf+CUSX/glEl/4JRJf+CUSX/glAl/4JRJf+CUCX/glAk
-        /4JQJf+DUSX/g1Al/4JQJf+CUSX/glEl/4NQJf+CUCX/glAl/4JQJf+CUSX/glEl/4NQJf+CUCX/glAl
-        /4NQJf+CUCX/g1Al/4NQJf+CUCX/glAl/4NQJf+DUCX/glAl/4NQJf+DUSX/glAl/4NQJP+DUCX/g1Al
-        /4JQJf+DUSX/glAl/4JQJf+DUCX/g1Al/4JQJf+DUCX/glAl/4JQJf+CUCX/g1El/4NRJf+DUSX/g1El
-        /4JQJf+CUSX/g1El/4NRJf+DUSX/g1El/4JQJf+CUCX/g1Al/4NQJf+DUCX/glEl/4JRJf+CUCX/g1Al
-        /4NQJf+DUCX/glAl/4JQJf+CUCX/glAl/4NQJf+CUCX/glAl/4NQJf+DUCX/glAl/4JQJf+CUCX/glAl
-        /4NQJP+DUCX/glAl/4JQJf+DUSX/g1El/4JQJf+DUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/g1Al
-        /4NQJf+DUCX/glEl/4JQJf+DUCX/g1El/4JQJf+CUCX/glEl/4JRJf+DUCX/g1Al/4NQJf+DUSX/glAk
-        34JQJOCDUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUCX/g1Al/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El
-        /4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1Al/4NRJf+DUSX/g1El
-        /4NRJf+DUCX/g1El/4NRJf+DUSX/g1El/4NQJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El
-        /4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El
-        /4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El
-        /4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El
-        /4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1Ek/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El
-        /4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/g1Ek
-        /4NRJf+DUSX/g1El/4NRJf+DUCX/g1El/4NRJf+DUSTfhFAk4IRRJf+DUSX/hFEl/4RRJf+EUSX/hFEl
-        /4RRJf+DUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+DUSX/hFEl
-        /4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4NRJf+EUSX/hFEl
-        /4RRJf+EUSX/g1El/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFIl/4RRJf+EUSX/hFEl/4RSJf+EUSX/hFEl
-        /4RRJf+EUSX/hFEl/4RRJf+EUSX/g1El/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUiX/hFEl
-        /4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+DUSX/g1El/4RRJf+EUSX/hFEl/4RRJf+DUSX/g1El
-        /4RRJf+EUSX/hFEl/4NRJf+EUSX/hFEl/4RRJf+DUSX/hFEl/4RRJf+DUSX/g1El/4RRJf+EUSX/hFEl
-        /4RRJf+EUSX/hFEl/4RRJf+EUSX/g1El/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl
-        /4NRJf+EUSX/hFEl/4RRJf+DUSX/hFEl/4RRJf+EUSX/hFEl/4NRJf+DUSX/g1El/4RRJf+EUiX/hFEl
-        /4NRJN+FUCXghFEl/4RSJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl
-        /4RRJf+EUSX/hFEl/4RSJf+EUSX/hFEl/4RSJf+EUiX/hFEl/4RSJf+EUiX/hFIl/4RSJf+EUSX/hFEl
-        /4RRJf+EUSX/hFIl/4RSJf+EUiX/hFEl/4RRJf+EUSX/hFEl/4RSJf+EUSX/hFEl/4RSJf+EUiX/hFIl
-        /4RRJf+EUSX/hFEl/4RRJf+EUiX/hFIl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFIl/4RRJf+EUSX/hFEl
-        /4RRJf+EUSX/hFEl/4RRJf+EUSX/hFIl/4RSJf+EUiX/hFIl/4RRJf+EUSX/hFEl/4RSJf+EUiX/hFIl
-        /4RRJf+EUSX/hFEl/4RRJf+EUiX/hFEl/4RRJf+EUSX/hVEl/4RRJf+EUSX/hFIl/4RRJf+EUSX/hFEl
-        /4RRJf+EUSX/hFEl/4RRJf+EUiX/hFEl/4RRJf+EUSX/hFIl/4RSJf+EUSX/hFEl/4RSJf+EUiX/hFEl
-        /4RSJf+EUSX/hFIl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl
-        /4RSJf+EUiX/hFIl/4RRJf+EUiX/hFIl/4RRJf+EUSX/hFEk34VRJeCEUiX/hFIl/4VRJf+EUiX/hFIl
-        /4VSJf+FUSX/hFIl/4RSJf+FUiX/hFIl/4VSJf+EUSX/hFEl/4RSJf+EUiX/hFIl/4VSJf+EUiX/hVIl
-        /4VRJf+FUSX/hVIl/4VSJf+EUiX/hFIl/4VSJf+FUiX/hVEl/4VSJf+FUiX/hFEl/4VSJf+FUiX/hVIl
-        /4RSJf+FUiX/hVIl/4RSJf+FUiX/hVIl/4VSJf+FUiX/hFIl/4RSJf+FUiX/hFIl/4RSJf+EUiX/hVIl
-        /4VSJf+FUiX/hFIl/4RSJf+FUiX/hVIl/4VSJf+EUiX/hVIl/4VSJf+EUiX/hFEl/4VSJf+FUiX/hFIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4RSJf+EUiX/hVIl/4VSJf+FUiX/hVIl/4RSJf+EUSX/hFIl
-        /4RSJf+FUSX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+EUSX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4RSJf+FUiX/hFIl/4VSJf+FUSX/hFIl/4VSJf+FUiX/hVIl/4VSJf+FUSX/hVIl
-        /4VSJf+FUiX/hFIl/4RRJf+FUiX/hVEl/4VSJf+FUSX/hVEl/4VSJf+FUiX/hVEl/4VSJf+FUiX/hVEl
-        /4VRJf+EUSTfhVEl4IVSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4RSJN+FUSXghVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hFIk34VRJeCFUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+EUiTfhVEl4IVSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4RSJN+FUSXghVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hFIk34VRJeCFUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+EUiTfhVEl4IVSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4RSJN+FUSXghVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hFIk34VRJeCFUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+EUiTfhVEl
-        4IVSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4RSJN+FUSXghVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hFIk
-        34VRJeCFUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+EUiTfhVEl4IVSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4RSJN+FUSXghVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hFEk34VRJeCFUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+EUSTfhVEl4IVSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4RSJN+FUSXghVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hFIk34VRJeCFUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+EUiTfhVEl4IVSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4RSJN+EUiZ/hVIkkYVSJJGFUiSRhVIkkYVQJJGFUiSRhVIkkYVSJJGFUiSRhVAk
-        kYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIk
-        kYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIk
-        kYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIk
-        kYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIk
-        kYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIk
-        kYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIk
-        kYVQJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIk
-        kYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhVIkkYVSJJGFUiSRhFImf///////////////
-        //////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAA
-        AEAAAACAAAAAAQAgAAAAAAAAQgAAAAAAAAAAAAAAAAAAAAAAAEAoHNc/KB30Pygd9D8oHfQ/KB30Pygd
-        9D8oHfQ/KB30Pygd9D8oHfQ/KB30Pygd9D8oHfQ/KB30Pygd9D8oHfQ/KB30Pygd9D8oHfQ/KB30Pygd
-        9D8oHfQ/KB30Pygd9D8oHfQ/KB30Pygd9EEqHvSkmZT0/fz89Pv7+/T7+/v0+/v79Pv7+/T7+/v0+/v7
-        9Pv7+/T7+/v0+/v79Pv7+/T9/f304d3c9GBNQvQ/KB30Pygd9D8oHfQ/KB30Pygd9D8oHfQ/KB30Pygd
-        9D8oHfQ/KB30Pygd9D8oHfQ/KB30Pygd9D8oHfQ/KB30Pygd9D8oHfQ/KB30Pygd9EAoHNY/KBzgQCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QSof/2taUP+Mfnf/jX94/41/eP+Rg3z/3NjW//39/f/7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//8/Pz/+vr5/5WIgv9CKx//QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKRzfPygc4EApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0w3LP/Pysf//Pv7//z8+//8/Pv//Pz8
-        //39/f/9/f3/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//f39/9vX1f9WQjf/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkc3z8oHOBAKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9bSD3/5+Tj
-        //39/f/8/Pz//Pz8//z8/P/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8
-        //39/f+jmJP/Qisf/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHN8/KBzgQCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/a1lQ//Lx8P/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//z8/P/z8vL/cWBX/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKRzfPygc
-        4EApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/3trY//4+Pf//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//9/f3/39za/1VANv9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkc3z8oHOBAKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf+HeXH/+/v7//z8/P/7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//f39/8rEwP9IMif/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHN8/KBzgQCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/j4F6
-        //38/P/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //39/f+6sq3/Qy0h/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKRzfPygc4EApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/5GEff/9/f3//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//+/v7/s6um/0IsIP9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkc
-        3z8oHOBAKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf+Qgnv//f39//z8/P/7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//f79/7evqv9DLCD/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHN9AKBzgQSod/0EqHf9BKR3/QSkd/0EpHf9BKR3/QSkd/0EpHf9BKR3/QSkd
-        /0EpHf9BKR3/QSkd/0EqHf9BKR3/QSkd/0EqHf9BKR3/QSod/0EqHf9BKR3/inx0//v7+//8/Pz/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//39/f/Fvrr/RzAk
-        /0EpHf9BKR3/QSkd/0EpHf9BKR3/QSkd/0EqHf9BKh3/QCod/0EqHf9BKh3/QSod/0EqHf9BKR3/QSod
-        /0EqHf9BKR3/QSkd/0EqHf9BKh3/QSkd/0EpHf9BKRzfQiod4EIrHv9lUkj/joB5/5CDe/+Qg3v/kYN7
-        /5CDe/+Rg3v/kYN7/5GDe/+Rg3v/kYN7/5GDe/+Rg3v/kYN7/5GDe/+Qg3v/kIN7/5CDe/9nVEr/Qiod
-        /4BwaP/5+fj//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//9/f3/2tXT/1E8MP9CKx7/blxS/5CDfP+Qg3v/kIN7/5GDe/+Rg3v/kYN7/5GDe/+Rg3v/kIN7
-        /5GDe/+Qg3v/kYN7/5GDe/+Rg3v/kYN7/5GDe/+Rg3v/hHVs/044LP9BKh3/QSoc30IqHeBKMyf/x8C8
-        //7+/f/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+
-        //7+/v/+/v7/pJiS/0MsHv9xX1X/9fPz//z8/P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v//Pz8/+/t7P9pVkz/Qyse/4t8dP/6+fn//v7+//7+/v/+/v7//v7+
-        //7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//j39/+CcWn/Qyod
-        /0IqHN9DKx3gTjcq/9bQzf//////+fj4/8fAvP+7s63/2tXS//39/f/Szcn/u7Kt/83Gw//8+/v/4d7b
-        /7yzrv/Du7f/9fTz/+7s6v+/trL/vrWw/6KWj/9GLiD/Yk5D/+vp5//9/f3/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/8+/v/loiB/0QsHv9aRTn/sqij
-        /7uyrf/SzMn//f39/9vW1P+7sq3/xr+7//j39//p5uX/vbWw/7+3sv/v7ez/9PLx/8K6tf+8s67/4+De
-        ///////+/v7/jn93/0MrHf9DKx3fRCsd4E83Kv/W0M3//////+7s6/9pVUn/SDAi/5uOhv/6+fn/hndt
-        /0gwIv94Zlz/9vX1/6+knv9JMSP/XUc7/+Th3//Ry8f/Ujst/043Kf+ThXz/TDMm/1Q9Mf/a1dL//v7+
-        //7+/v/+/v7//v7+//7+/v/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//f39
-        /8/Ixf9ROi3/RS0f/0kxIv9IMCL/hnZt//r5+f+fkor/SC8h/2ZRRf/t6un/xLy4/002KP9TPS//1c/M
-        /+Hc2v9aRDf/SjEj/7Sqpf///////v7+/45/d/9ELB7/RCsd30UsHeBQOCr/1tDN///////v7ez/bFdM
-        /0szJf+dj4j/+vn5/4h4b/9LMyT/emhe//f19f+wpqD/TDQm/2BKPv/l4d//0czI/1U9MP9ROSz/qJyW
-        /1dAM/9JMCH/jn92/7uyrf+8s63/vLOt/7+1sf/s6ej//f39//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//z8/P/19PT/g3Np/0YtH/9FLB7/SC8g/4h4b//6+fn/oJOM/0szJP9oVEj/7uvq
-        /8W9uf9QOCv/Vj8y/9XQzf/h3Nr/XUc6/000J/+1rKb///////7+/v+PgHf/RSwe/0UsHd9GLR3gUTkr
-        /9bRzf//////+vn5/9DJxv/Gvrn/4NvZ//79/f/Z1NH/xb65/9TOy//8/Pz/5uLg/8a+uf/MxcH/9/X1
-        //Du7f/Iwb3/x8C7/+Tg3v+JeW//STAh/0guH/9KMSL/SjEi/0oxIv9NNCX/s6mj//39/f/7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//f39/9LMyf9aQzX/Ry0e/15IO//Jwb3//f39
-        /+Hc2v/Gvrn/z8jE//n4+P/s6uj/x7+7/8nBvf/y8O//9fTz/8vEwP/Gvrr/5+Ti///////+/v7/kIB3
-        /0ctHv9GLB3fRy0d4FI5K//X0c3/////////////////+fj4//Px8P/z8fD/8/Hw//Px8P/z8fD/8/Hw
-        //Px8P/z8fD/8/Hw//Px8P/z8fD/8/Hw//Px8P/z8fD/3NfU/2dSRP9ILh7/SC4e/0guHv9ILh7/SC4e
-        /4JwZf/39vb//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/7+vr/qZ2W
-        /041Jf9MMiP/k4R7/+nm5P/z8fD/8/Hw//Px8P/z8fD/8/Hw//Px8P/z8fD/8/Hw//Px8P/08vH//f39
-        /////////////v7+/5GBd/9ILh7/SC0d30guHeBTOiv/19HN/////////////////7etpv9uWEv/blhL
-        /25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/2xWSf9TOir/SS8e
-        /0kvHv9JLx7/SS4e/0kuHv9cRDX/3NfU//39/f/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v//f39//Px8P+RgXf/TTMj/00zI/9mUEL/blhL/25YS/9uWEv/blhL/25YS/9uWUv/blhL
-        /25YS/9uWEv/fGld/+nl4/////////////j39v+Idmv/SS4e/0kuHd9JLx7gVTsr/9fRzf//////////
-        //////+mmZD/Sy8e/0svHv9KLx7/Si8e/0ovHv9KLx7/Sy8e/0svHv9LLx7/Sy8e/0svHv9LLx7/Sy8e
-        /0svHv9LLx7/Sy8e/0ovHv9KLx7/Sy8e/0svHv9LLx7/TTEh/6aZkP/8/Pz//Pz8//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//9/f3/7+zr/5GBd/9QNiX/Sy8e/0ovHv9LLx7/Sy8e
-        /0svHv9LLx7/Sy8e/0svHv9LLx7/Sy8e/11ENP/j39z/+fj3/9fRzf+Qf3X/VTsr/0ovHv9TOinfSy8e
-        4FY8K//X0c3/////////////////p5mQ/0wwHv9MMB7/TDAe/0wwHv9MMB7/TDAe/0wwHv9MMB7/TDAe
-        /0wwHv9MMB7/TDAe/0wwHv9MMB7/TDAe/0wwHv9MMB7/TDAe/0wwHv9MMB7/TDAe/0wwHv9sVUb/6eXj
-        //39/f/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//39/f/y8O//p5mR
-        /1tCMv9MMB//TDAe/0wwHv9MMB7/TDAf/0wwHv9MMB7/TDAe/0wwHv9YPy7/p5qR/4l2a/9cQzP/TTEf
-        /00yIP9sVUf/vbSt300wHuBXPSv/2NLO/////////////////6eakP9NMR7/TTEe/00xH/9NMR//TTEf
-        /00xHv9NMR//TTEe/00xHv9NMR//TTEf/00xH/9NMR7/TTEf/00xHv9NMR7/TjEf/00xH/9NMR//TTEf
-        /00xH/9OMR//UTUj/66hmf/8/Pz//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v//f39//r5+f/Ox8L/gm5h/1c8K/9OMR//TTEf/04xH/9NMR//TTEf/00xHv9NMR//TjIg
-        /1A0Iv9NMR//TzIg/2BGNv+ZiX//4t7b//z8/N9OMB7gWT0r/9jSzv////////////////+ompH/TzIf
-        /08yH/9PMh//TzIf/08yH/9PMh//TzEf/08yH/9PMh//TzIf/08yH/9PMh//TzIf/08yH/9PMh//TzIf
-        /08yH/9PMh//TzIf/08yH/9PMh//TzIf/1I2I/+ci4H/+vn4//39/f/7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//8/Pz//f39//Ty8f/Kwrz/koF1/2tTQ/9ZPiz/UjYj
-        /1AzIP9QMyD/UDMg/1Q4Jf9dQzL/dV9Q/6OUi//b1dH/+fn4//39/f/7+/vfTzIe4Fo+LP/Y0s7/////
-        ////////////qZuR/1AzH/9QMx//UDMf/1AzH/9QMx//UTMf/1AzH/9QMx//UDMf/1AzH/9QMx//UDMf
-        /1AzH/9QMx//UDMf/1AzH/9QMx//UDMf/1AzH/9QMh//UDMf/1M2I/+QfXD/7uvp//39/f/7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//9/f3//f39
-        //r5+f/r6OX/1c7J/8C2r/+ypZ3/r6GY/7Wpof/Gvbf/3NbS//Hv7f/8/Pz//f39//z8/P/7+/v/+/v7
-        31EzHuBcPyz/2dLO/////////////////6qbkf9SNB//UjQf/1IzH/9SNB//UjQf/1I0H/9SNB//UjQf
-        /1I0H/9SNB//UjQf/1I0H/9SNB//UjQf/1I0H/9SNB//UjQf/1I0H/9SNB//UjQf/1Q3I/+PfG//7uvp
-        //39/f/7/Pv/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//8/Pz//f39//39/f/9/v3//f79//79/f/9/f3//f39//39/f/9/f3//Pz8
-        //v7+//7+/v/+/v7//v7+99TNB7gXUAs/9nSzv////////////////+rm5H/UzQf/1M1H/9TNR//UzQf
-        /1M1H/9TNR//UzQf/1M1H/9TNB//UzQf/1M0H/9TNB//UzQf/1M0H/9TNB//UzUf/1M0H/9TNR//UzUf
-        /1M0H/93X07/6+fl//3+/f/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/vfVTUf4F9BLP/a087/////////////////q5yR
-        /1U2H/9VNR//VTYf/1U1H/9VNR//VTYf/1U1H/9VNh//VTUf/1U2IP9VNh//VTUf/1U1IP9VNSD/VTYf
-        /1U1H/9VNh//VTYf/1U2H/9VNR//cFVC/+Pe2//+/v7/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v731Y2H+BgQiz/2tPO
-        /////////////////6yckf9XNiD/VzYf/1Y2IP9XNiD/VjYg/1Y2IP9XNyD/VzYg/1c2IP9WNyD/Vzcg
-        /1c3IP9XNiD/VzYg/1c3IP9XNiD/VzYg/1c2IP9XNyD/Vzcg/1g4Iv+VgXL/9PLx//39/f/7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+99YNx/gYkMs/9rTzv////////////////+tnZH/WDcg/1g3IP9YNyD/WDcg/1g3IP9YNyD/WDcg
-        /1g3IP9YOCD/WDcg/1g3IP9YOCD/WDcg/1g3IP9YNyD/WDgg/1g3IP9YNyD/WDcg/1g3IP9YNyD/Xj8o
-        /7Gil//6+fn//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/vfWTgf4GNELf/b087/////////////////rp2R/1o4IP9aOCD/Wjgg
-        /1o4IP9aOCD/Wjgg/1o4IP9aOCD/Wjkg/1o4IP9aOCD/Wjgg/1o4IP9aOCD/Wjgg/1o4IP9aOCD/Wjgg
-        /1o4IP9aOCD/Wjgg/1o4IP9nSDH/xLiv//z8+//8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v731w4H+BlRS3/29TO////////////////
-        /66ekf9cOSD/XDkg/1w6IP9cOiD/XDkg/1w5IP9cOSD/XDkg/1w5IP9cOiD/Wzkg/1w5IP9cOSD/XDkg
-        /1w5IP9cOiD/XDkg/1s5IP9bOSD/XDkg/1w5IP9cOSD/XDkg/29ROv/Ow7z//Pz8//z8/P/7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//8/Pz//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+99dOh/gZkYt
-        /9vUzv////////////////+vnpL/XTog/107IP9dOiD/XTsg/147If9dOyD/XTog/106IP9dOiH/XTog
-        /106IP9dOiH/XTog/146IP9dOiD/XTog/107IP9dOyD/XTog/107If9dOiH/Xjog/106If9eOyH/c1U/
-        /8/Fvv/8/Pz//Pz8//v7+//7+/v/+/v7//v7+//9/f3//fz8//39/f/9/f3//Pz8//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/vfXzsh4GhHLf/c1M7/////////////////sJ+S/187If9fPCH/Xzsh/187If9fOyH/Xzwh
-        /187If9fPCH/Xzsh/188If9fOyH/Xzsh/187If9fOyH/Xzsh/187If9fOyD/Xzsg/187IP9fPCH/Xzsh
-        /187If9fOyH/Xzsh/188If90VT3/yr61//v6+v/9/f3/+/v7//v7+//9/f3/9/X0/7qrn//Et63/8u/t
-        //39/f/9/f3//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v//Pz832A8IeBqRy3/3NTO/////////////////7Gfkv9hPCH/YT0h
-        /2E9If9hPCH/YTwh/2E9If9hPCH/YTwh/2E8If9hPSH/YT0h/2E9If9hPSH/YT0h/2E9If9hPCH/YT0h
-        /2E9If9hPSH/YT0h/2E9If9hPSH/YTwh/2E9If9hPSH/YTwh/29ONf+7rKD/9/X0//39/f/9/f3/9/X0
-        /7CekP9oRiv/Z0Qq/4ltWf/Bs6j/6+fk//v7+v/9/f3//f39//z8/P/7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/9/f3//f39//r5+N9jPSHga0gu/9zUzv//////////
-        //////+yoJL/Yz4h/2I9If9jPSH/Yz4h/2I+If9iPSH/Yz0h/2M+If9iPSH/Yj4h/2M+If9jPSH/Yz0h
-        /2M9If9jPiH/Yz4h/2M+If9jPiH/Yz4h/2M+If9jPSH/Yz4h/2M+If9jPSH/Yz0h/2M9If9jPiH/akcs
-        /6WPf//s5+T/9/Xz/7Kgkf9qRiv/Yz4h/2M9If9jPiH/Z0Mn/31eR/+mkYD/0MW8//Px7//+/v7/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/9/f3/6eTg/8O1q/+bhHLfZT4h
-        4G5KLv/d1c7/////////////////s6CS/2U/If9lPyH/ZT8h/2U/If9lPyH/ZT8h/2U/If9lPyH/ZD8h
-        /2U/If9lPyH/ZT8h/2U/Iv9lPyH/ZT8h/2U/If9lPyH/ZT8h/2U/If9lPyH/ZT8h/2U/If9lPyH/ZT8h
-        /2U/If9lPyH/ZT8h/2U/If9nQiT/hmhR/5h/a/9sSCv/ZT8h/2U/If9lPiH/ZT8h/2U/If9lPyH/ZT8i
-        /21JLf/JvLL//v7+//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//8/Pz/+/r6
-        /6CJd/9oQyb/ZD4h32c/IuBwSy7/3tXO/////////////////7Shkv9nQCL/Z0Ai/2dAIv9nQCL/Z0Ai
-        /2dAIv9nQCH/Z0Ai/2dAIv9nQCL/Z0Ai/2dAIv9nQCL/Z0Ai/2dAIv9nQCL/Z0Ai/2dAIv9nQCL/Z0Ai
-        /2dAIf9nQCH/Z0Ai/2dAIv9nQCH/Z0Ah/2dAIv9nQCL/Z0Ah/2dAIf9nQSL/Z0Ah/2dAIv9nQCL/Z0Ah
-        /2dAIf9nQCL/Z0Ah/2dAIv9pQyX/xbar//7+/v/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v//Pz8//v6+f+agGz/Z0Ah/2ZAId9oQCLgcUwu/97Vzv////////////////+1opL/aUEi
-        /2lBIv9pQSL/aUEi/2lBIv9pQSL/aUIi/2lBIv9pQSL/aUIi/2lCIv9pQSL/aUEi/2lBIv9pQSL/aUEi
-        /2lBIv9pQSL/aUEi/2lBIv9pQSL/aUEi/2lBIv9pQSL/aUEi/2lBIv9pQSL/aUEi/2lBIv9pQSL/aUIi
-        /2lBIv9pQSL/aUEi/2lBIv9pQSL/aUEi/2lBIv9pQSL/a0Ql/8a3q//+/v7/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/7+vn/m4Fs/2lCIv9pQSLfa0Mi4HRNLv/e1s7/////
-        ////////////tqKS/2tDIv9rQyL/a0Mi/2tDIv9rQyL/a0Mi/2tDIv9rQyL/bEMi/2tDIv9rQyL/a0Mi
-        /2tDIv9rQyL/a0Mi/2tDIv9rQyL/a0Mi/2tDIv9rQyL/a0Mi/2tCIv9sQyL/a0Mi/2tDIv9rQyL/a0Mi
-        /2tDIv9rQyL/a0Mi/2tDIv9rQyL/a0Mi/2tDIv9rQyL/a0Mi/2tDIv9rQyL/a0Mi/25GJf/Ht6v//v7+
-        //z8/P/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8//z8/P/9/f3/+/r5/52CbP9rQyL/a0Mi
-        321EIuB2Ti//39bO/////////////////7ejkv9tRCL/bUQi/21EIv9tRCL/bUQi/21EIv9uRCL/bUQi
-        /21EIv9tRCL/bUQi/21EIv9tRCL/bUQi/21EIv9tRCL/bkQi/21EIv9tRCL/bUQi/21EIv9tRCL/bUQi
-        /25EIv9tRCL/bUQi/21EIv9tRCL/bUQi/21EIv9tRCL/bUQi/21EIv9tRCL/bUQi/21EIv9tRCL/bUQi
-        /25EIv9vRST/sZuI//Ds6P/59/b//Pz7//39/f/9/f3//f39//7+/f/9/f3//f39//39/f/7+/r/9/Tz
-        /+fh2/+QcFb/bUQi/21DIt9vRSLgd1Av/9/Wzv////////////////+4o5P/b0Uj/29FI/9wRSP/b0Uj
-        /3BFIv9vRSL/cEUj/29FI/9vRSP/cEUj/29FI/9wRSP/cEUi/3BFIv9wRSP/b0Uj/3BFI/9vRSP/cEUj
-        /29FI/9vRSL/b0Ui/3BFIv9wRSL/cEUj/3BFIv9vRSP/b0Uj/3BFI/9vRSP/cEUj/29FIv9wRSP/cEUj
-        /29FI/9wRSP/cEUj/3BFI/9wRSL/b0Uj/3ZNLP+JZUn/mXti/6mPev+3oZD/wK6e/8W0pv/Htqj/xLOk
-        /76qmv+znIr/pIlz/5R0Wv+DXkD/ckgm/3BFI/9wRCLfcUYj4HlRL//g1s7/////////////////uaST
-        /3FGI/9xRiP/cUYj/3JHI/9xRiP/ckYj/3FGI/9xRiP/cUYj/3FGI/9xRiP/cUYj/3JGI/9xRiP/ckYj
-        /3FGI/9xRiP/cUYj/3FGI/9xRiP/ckYj/3FGI/9yRiP/cUYj/3JGI/9yRiP/cUYj/3FGI/9xRiP/cUYj
-        /3JGI/9xRiP/ckcj/3FGI/9yRiP/ckYj/3FGI/9xRiP/cUYj/3JGI/9yRiP/ckYj/3FGI/9yRyP/ckck
-        /3NHJP9zSCX/c0gl/3NIJf9yRyT/ckcj/3JHI/9yRiP/cUYj/3JGI/9xRiP/cUUi33RHI+B8Ui//4NfO
-        /////////////////8q6rP+Uclb/k3JW/5NyVv+Tclb/k3JW/5RyVv+Uclb/lHJW/5NyVv+Tclb/k3JW
-        /5RyVv+Uclb/k3JW/5RyVv+Uclb/lHJW/5NyVv+Uclb/lHJW/5NyVv+Uclb/lHJW/5RyVv+Tclb/lHJW
-        /5RyVv+Uclb/lHJW/5RyVv+Uclb/k3JW/5NyVv+Tclb/k3JW/5RyVv+Tclb/k3JW/5RyVv+Uclb/lHJW
-        /5RyVv+Tclb/lHJW/5NyVv+Uclb/lHJW/5RyVv+Uclb/lHJW/5NyVv+Uclb/lHJW/5NyVv+AWDf/dEcj
-        /3NII991SCPgfVMw/+HXz//////////////////7+vn/+Pb0//j29P/49vT/+Pb0//j29P/49vT/+Pb0
-        //j29P/49vT/+Pb0//j29P/49vT/+Pb0//j29P/49vT/+Pb0//j29P/49vT/+Pb0//j29P/49vT/+Pb0
-        //j29P/49vT/+Pb0//j29P/49vT/+Pb0//j29P/49vT/+Pb0//j29P/49vT/+Pb0//j29P/49vT/+Pb0
-        //j29P/49vT/+Pb0//j29P/49vT/+Pb0//j29P/49vT/+Pb0//j29P/49vT/+Pb0//j29P/49vT/+Pb0
-        //j29P/39fP/qY12/3ZJI/91SSPfd0kj4H9UMP/h18/////////////9/Pv//Pv6//39/P///////f38
-        //z7+v/9/Pz///////79/f/8+/r//fz7///+/v/+/v7//Pv7//z7+//+/v7////+//38+//8+/r//v39
-        ///////9/Pz//Pv6//38/P///////v39//z7+v/9/Pv////+//7+/v/8+/v//Pv7//7+/v////7//fz7
-        //z7+v/+/f3///////38/P/8+/r//fz8///////+/f3//Pv6//38+////////v7+//z7+//8+/v//v7+
-        ///+/v/8/Pv//Pv7//79/f///////v7+/62Se/93SiP/eEoj33lLI+CBVTD/4dfP///////39fL/uJ+K
-        /6iKcP/Pv7H//Pz7/8ayof+oinD/v6iV//v6+P/ZzMD/qYtx/7KXgf/z7ur/6eLb/62QeP+rjnX/5dzU
-        //Xx7/+1m4X/qIpw/9TFuf/8/Pv/xK+d/6iKcP/BrJn//Pr5/9TGuf+pinH/tZuF//Xx7v/m3tf/q451
-        /6yPd//o4Nn/8+/r/7OZg/+pi3H/18m9//v6+P/Aqpf/qIpw/8ayof/8/Pv/0cGz/6iKcP+2nYf/9vPx
-        /+PZ0f+rjXT/rpF5/+vk3v/w6+f/sJV+/6mLcv/cz8X///////7+/v+uknv/eUsk/3lLI996TCTgglYw
-        /+LXz///////8+/r/5NsS/97TCT/t52I//v6+f+oiW//e0wk/557Xf/59/X/xbGf/3xNJv+KYT3/7OXf
-        /97SyP+CVTD/f1Ir/9fJvv/w6+b/jmdE/3tMJP++p5P/+/r4/6WEav97TCT/oYBj//r49v++p5P/fE0l
-        /45mRP/v6uX/2czB/4BSLP+BVC7/3NDF/+3n4f+MY0D/fE0l/8Ksmv/59/X/n3xf/3tMJP+oiW//+/r5
-        /7mhi/97TCT/kGlI//Lt6f/Uxbn/f1Eq/4NXMv/h1s3/6eHa/4hdOf98TSb/ybam///////+/v7/r5N7
-        /3tMJP97TCTffE0k4IRXMP/i2M////////Xx7v+lhGf/kWlG/8Otmv/8+/r/tpyF/5FoRv+ukHf/+vj3
-        /8+9rv+Rakj/nXpb/+/p5P/j2dD/lnBQ/5RuTP/e0sj/8u7q/6F/Yv+RaUb/yLWk//z7+f+0mIH/kWlG
-        /7GUe//7+ff/ybWk/5FpR/+hf2H/8u3p/+DUy/+Vbk3/lm9O/+LXzv/w6+b/n3xe/5FqR//Muqr/+vj3
-        /6+ReP+RaUb/tpyF//z7+v/FsJ7/kWlG/6OBZP/08Oz/3M/E/5RtS/+YclL/5tzV/+zm4P+cd1j/kmpI
-        /9LBtP///////v7+/7GUe/99TST/fEwk335NJOCFVzD/4dXM///////+/f3/8+/r//Hs5//39PL///7+
-        //by7//x7Of/9PHt//7+/v/59vT/8ezn//Lu6v/9/Pz/+/r5//Lt6P/x7Oj/+/n4//39/P/z7uv/8ezn
-        //j18////v7/9fLv//Hs5//18e7//v7+//j18//x7Of/8+/r//39/P/7+fj/8ezo//Lt6P/7+vn//fz8
-        //Pu6v/x7Of/+Pb0//7+/v/18e7/8ezn//by7////v7/9/Xy//Hs5//z7+v//v39//r59//x7Oj/8u3p
-        //z6+v/9/Pv/8u7q//Hs5//59/X///////79/f+wknj/fk4l/31NJN9/TiTgglIo/7WYf//f0sf/4NTK
-        /+DUyv/g1Mr/4NTK/+DUyv/g1Mr/4NTK/+DUyv/h1Mr/4NTK/+DUyv/g1Mr/4NTK/+DUyv/g1Mr/4dTK
-        /+DVyv/g1cr/4NXK/+DUyv/g1Mr/4NTK/+DUyv/g1Mr/4NTK/+DUyv/g1Mr/4NTK/+DUyv/g1Mr/4NTK
-        /+DUyv/g1Mr/4dTK/+DUyv/g1Mr/4NTK/+DUyv/g1cr/4NTK/+DUyv/g1Mr/4NTK/+DUyv/g1cr/4NXK
-        /+DUyv/g1Mr/4NXK/+DUyv/g1Mr/4NTK/+DUyv/g1Mr/4NTK/+DUyv/Wxrj/lWxJ/4BPJP+ATiTfgE8k
-        4IFQJf+DUif/h1cu/4dYL/+HWC//h1gv/4dYLv+HWC7/h1gv/4dYL/+HWC//h1gv/4dYL/+HWC//h1gv
-        /4dYL/+HVy//h1gv/4dYL/+HWC//h1gv/4dYL/+HVy//h1gv/4dYL/+HWC//h1gv/4dXL/+HWC//h1cv
-        /4dXL/+HWC//h1gv/4dYL/+HVy//h1gu/4dYL/+HWC//h1gv/4dYL/+HWC//h1gu/4dYL/+HWC//h1gv
-        /4dXL/+HWC//h1gv/4dYL/+HVy//h1gv/4dYL/+HWC//h1gv/4dYL/+HWC//h1gv/4dYL/+HWC//hVUs
-        /4JQJf+BUCT/gVAk34FPJOCCUCX/glAl/4JRJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl
-        /4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl
-        /4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl
-        /4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl
-        /4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJN+CUCTghFEl/4NRJf+EUSX/hFEl/4NRJf+EUSX/hFEl
-        /4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSX/hFEl/4RRJf+DUSX/g1El/4NRJf+DUSX/hFEl
-        /4RRJf+EUSX/hFEl/4RRJf+EUSX/g1El/4NRJf+DUSX/hFEl/4NRJf+DUSX/g1El/4NRJf+DUSX/g1El
-        /4NRJf+EUSX/g1El/4NRJf+DUSX/g1El/4NRJf+EUSX/g1El/4NRJf+EUSX/hFEl/4NRJf+DUSX/g1El
-        /4NRJf+DUSX/g1El/4NRJf+EUSX/g1El/4NRJf+DUSX/g1El/4NRJf+DUSTfhFEl4IRRJf+EUiX/hFEl
-        /4RSJf+EUSX/hVEl/4RRJf+EUiX/hFIl/4VSJf+EUiX/hFIl/4RRJf+EUSX/hFIl/4RSJf+EUSX/hFEl
-        /4RSJf+FUiX/hFIl/4RSJf+EUSX/hFIl/4RRJf+EUSX/hFIl/4RSJf+EUiX/hFEl/4RSJf+EUiX/hFIl
-        /4RRJf+EUiX/hFIl/4RSJf+FUiX/hFEl/4RSJf+EUSX/hFIl/4RSJf+EUiX/hVIl/4RSJf+EUSX/hFIl
-        /4RSJf+EUiX/hFEl/4RSJf+FUiX/hFEl/4RSJf+EUSX/hFEl/4VRJf+EUiX/hVIl/4VSJf+FUSX/hFEk
-        34VRJeCFUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4RSJN+FUSXghVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+EUiTfhVEl4IVSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hFIk34VRJeCFUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4RSJN+FUSXghVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+EUiTfhVEl4IVSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hFIk34VRJeCFUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4RSJN+FUSXghVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+EUiTfhVEl4IVSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hFIk34RSJqeEUSW/hFElv4RRJb+EUSW/hFElv4RRJb+EUSW/hFEl
-        v4RRJb+EUSW/hFElv4RRJb+EUSW/hFElv4RRJb+EUSW/hFElv4RRJb+EUSW/hFElv4RRJb+EUSW/hFEl
-        v4RRJb+EUSW/hFElv4RRJb+EUSW/hFElv4RRJb+EUSW/hFElv4RRJb+EUSW/hFElv4RRJb+EUSW/hFEl
-        v4RRJb+EUSW/hFElv4RRJb+EUSW/hFElv4RRJb+EUSW/hFElv4RRJb+EUSW/hFElv4RRJb+EUSW/hFEl
-        v4RRJb+EUSW/hFElv4RRJb+EUSW/hFElv4RRJb+EUSW/hFElv4RSJKcAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAAAAAAAAAAAAAAAAAAAAAAABAKR3SPykc
-        8D8pHPA/KRzwPykc8D8pHPA/KRzwPykc8D8pHPA/KRzwPykc8D8pHPA/KRzwPykc8D8pHPA/KRzwPykc
-        8EIsIPBJMyfwSTMo8E04LPC/t7Tw/Pz88Pr6+vD6+vrw+vr68Pr6+vD6+vrw+vr68Pr6+vD49/fwkoV/
-        8EEqHvA/KRzwPykc8D8pHPA/KRzwPykc8D8pHPA/KRzwPykc8D8pHPA/KRzwPykc8D8pHPA/KRzwPykc
-        8EApHdJAKRzfQCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QSoe/46Aef/NyMT/zsjF/9HLyP/y8fD//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //z8/P/V0M7/Uz4z/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHN9AKRzfQCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/RjEl/8fBvf/9/f3//Pz8//z8/P/8/Pz/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+/+WiYL/QSoe/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHN9AKRzfQCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/Tzov/9rW0//8/Pz/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7/+7s7P9mVEr/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHN9AKRzfQCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/WEQ5/+Xi4P/8/Pz/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8/9rV0/9POy//QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHN9AKRzfQCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/XUk/
-        /+ro5v/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8/8nDv/9HMSX/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHN9AKRzfQCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/X0tB/+zq6P/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8
-        /8O8uP9FLyP/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHN9AKRzfQCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QSkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/XUk//+ro5v/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v//Pz8/8rDwP9HMSX/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHN9BKhzfTjgs/3lpYP+AcGj/gHBo/4BwaP+AcGj/gHBo
-        /4BwaP+AcGj/gHBo/4BwaP+AcGj/gHBo/39vZv9YRDj/WEQ5/+Xi4P/8/Pz/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v//Pz8/9vX1P9SPDH/Tzou/3xsY/+AcGj/gHBo/4BwaP+AcGj/gHBo
-        /4BwaP+AcGj/gHBo/4BwaP+AcGj/gHBo/4BwZ/9uXFL/RS4h/0EqHN9CKh3fgnJp//f29f/6+fn/9fTz
-        //f29v/7+vr/9vX0//b19f/7+vr/9vX1//b09P/7+vr/9/b2//Ty8f+Mfnb/UTsv/9rV0v/8/Pz/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7/+/t7P9qV0z/WkU5/9zX1f/19PP/+vn5
-        //n4+P/19PP/+fj3//r5+f/19PP/+Pf2//r6+v/29PT/9/X1//v7+//i3tz/WkU6/0IqHN9DKx3fi3x0
-        //79/f/f29n/gG9m/6idl//r6Ob/iXlx/5eJgf/w7uz/mIqD/4h5cP/q5+b/qZ6X/39uZf+Dcmn/SzMm
-        /8fAvP/9/f3//Pz8//z8/P/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/+ajob/SDAi
-        /25bUP99bGL/19LP/8nCvf96aF//wrm1/9vW1P9/bmT/raKc/+nl5P+Hd27/moyF//j49//s6ej/YEs/
-        /0MrHd9FLB3fjH10//79/f/Vz8z/V0Ez/419df/k4N//Y05C/3ZjWP/r6Ob/d2Va/2JNQf/j397/jn92
-        /1dAM/+ThHz/SjEj/4t8cv/IwLz/yMG9/8vEwP/x7+7//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //z8/P/Z1NH/WUM2/0UsHv9POCr/y8TA/7euqP9QOCr/rqOd/9DJxv9WPjH/k4R8/+Hd2/9gSz7/eWdd
-        //b19P/s6ej/YUw//0UsHd9GLB3fjX10//79/f/08vH/083J/+Hc2v/49/b/1tDN/9vW0//6+fj/29bT
-        /9bQzf/49vb/4d3a/9LMyf/c19T/cV1R/0kwIf9MNCX/TTQl/1E4Kf+9tK7//f39//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//6+fn/oJKL/0oxIv9sWEv/5eHf/+zp6P/Rysb/6ebl//Lx8P/SzMj/4t7c
-        //f29f/Vz8z/3NfU//38/P/s6ej/Y0xA/0YsHd9ILR3fjn50//79/f//////8e7t/7uxq/+2q6T/tquk
-        /7arpP+2q6T/tquk/7arpP+2q6T/tquk/7arpP+1qqT/iXhu/0owIP9ILh7/SC4e/0kuHv+JeG3/+Pj3
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//8/Pz/7Orp/31rYP9PNib/jHtx/7WqpP+2q6T/tquk
-        /7arpP+2q6T/tquk/7arpP/IwLv//Pv7///////q6Ob/Y0w//0ktHd9KLh3fkH90//79/f//////3NbT
-        /1g/L/9LMB//SzAf/0swH/9LMB//SzAf/0swH/9LMB//SzAf/0swH/9LMB//SzAf/0ovHv9KLx7/Si8e
-        /0ovHv9fRjf/3tnW//z8/P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8/+Le3P97Z1v/TTIh
-        /0swH/9LMB//SzAf/0swH/9LMB//SzAf/0swH/95ZFj/8/Lx/+Hc2f+ai4H/Ujgn/1E4Jt9MMB7fkX90
-        //79/f//////3NfT/1k/Lv9MMB7/TDAe/0wwHv9MMB7/TDAe/0wwHv9MMB7/TDAe/0wwHv9MMB7/TDAe
-        /0wwHv9MMB7/TDAe/0wwHv9OMiD/o5WL//v7+v/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //z8/P/o5eP/k4J3/1Y8K/9MMB7/TDAe/0wwHv9MMB7/TDAe/0wwH/9kSzz/jHpv/2NKO/9QNCP/a1RF
-        /7muqd9NMR7fkoB1//79/f//////3NfT/1pALv9OMR7/TjEf/04xH/9OMR//TjEf/04xH/9OMR//TjEf
-        /04xH/9OMR//TjEf/04xH/9OMR//TjEf/04xH/9OMR//b1dI/+vo5v/8/Pz/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//8/Pz/9vX0/8i/uf+EcWT/XkQz/1E1Iv9OMh//TjEf/04xH/9PMyD/Vjoo
-        /21VRv+klYz/5ODe//v7+99QMh7fk4F1//79/f//////3dfT/1xBL/9QMh//UDIf/1AzH/9QMx//UDMf
-        /1AyH/9QMh//UDIf/1AzH/9QMx//UDIf/1AyH/9QMh//UDMf/1AyH/9bPy3/sqWd//n4+P/8/Pz/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/29fT/3dfU/72zq/+klYv/mYh9
-        /52Mgf+vopn/zMS//+vo5v/7+/v//Pz8//v7+99SMx7flIF1//79/f//////3dfT/15CL/9SNB//UjQf
-        /1I0H/9SNB//UjQf/1I0H/9SNB//UjQf/1I0H/9SNB//UjQf/1I0H/9SNB//UjQf/1s+Kv+xpJv/+Pf3
-        //z8/P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8
-        //39/f/9/f3//Pz8//z8/P/9/f3//Pz8//z8/P/7+/v/+/v7//v7+99UNB7floJ1//79/f//////3tjT
-        /2BDL/9UNR//VDUf/1Q1H/9UNR//VDUf/1Q1H/9UNR//VDUf/1Q1H/9UNR//VDUf/1Q1H/9UNR//VDUf
-        /3RaSf/t6uj//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+99WNSDfl4N1
-        //79/f//////3tjT/2JEL/9WNiD/VjYg/1Y2IP9WNh//VjYf/1Y2IP9WNyD/VjYg/1Y2IP9WNiD/VjYf
-        /1Y2IP9WNiD/VjYg/1w9J/+1ppz/+/r6//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+99ZOCDfmIR1//79/f//////3tjT/2RFMP9ZOCD/WDcg/1k4IP9ZNyD/WTcg/1k4IP9YOCD/WTgg
-        /1k4IP9ZOCD/WDgg/1k4IP9ZOCD/WDgg/1g3IP9pTDb/z8W+//z8/P/7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+99aOSDfmYV1//79/f//////39jT/2ZHMP9bOSD/Wzkg/1s5IP9bOSD/Wzkg
-        /1s5IP9bOSD/Wzkg/1s5IP9bOSD/Wzkg/1s5IP9bOSD/Wzkg/1s5IP9bOSD/dlpF/9vTzv/8/Pz/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+99cOiDfm4Z2//79/f//////39nU/2hIMP9dOiD/XTog
-        /106IP9dOiD/XTog/106IP9dOiD/XTog/106IP9dOiD/XTog/106IP9dOiD/XTog/106If9dOiD/Xjsh
-        /35iTf/d1tH//Pz8//v7+//7+/v/+/v7//z8/P/7+/r//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+99eOyHfnYd2//79/f//////4NnU
-        /2tJMP9fPCH/Xzwh/188If9fPCH/Xzwg/188If9fPCH/Xzsh/187If9fPCH/Xzwh/188IP9fPCH/YDwh
-        /188If9fOyH/Xzwh/2A8If9+YUv/187I//z7+//8/Pz//Pz8/+7q5/+plof/yLuy//Lw7v/8/Pz//Pz8
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v//Pz8//z8/N9hPCHfnod2
-        //79/f//////4NnU/21LMf9iPSH/Yj0h/2E9If9hPSH/Yj0h/2E9If9iPSH/Yj0h/2I9If9iPSH/Yj0h
-        /2I9If9iPSH/Yj0h/2I9If9iPSH/Yj0h/2I9If9iPSH/d1c//8e6sP/49/b/7uvo/5iAbf9kQCT/aEUq
-        /4htV/+8rKD/5N7Z//j39v/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/8/Pz/8O3q
-        /9jOxt9kPiHfoIh2//7+/f//////4dnU/29MMf9kPiH/ZD8h/2Q/If9kPyH/ZD8h/2Q+If9kPyH/ZD8h
-        /2Q/If9kPiH/ZD8h/2Q/If9kPyH/ZD8h/2Q/If9kPyH/ZD4h/2Q+If9kPiH/ZD8h/25LL/+ii3n/k3lk
-        /2dCJP9kPyH/ZD8h/2Q+If9nQiT/dVM5/7+wpP/9/f3/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //z8/P/v6+j/j3Ne/21KLd9mQCHfoYl2//7+/f//////4drU/3JOMf9nQCL/Z0Ai/2dAIv9nQCL/Z0Ai
-        /2dAIv9nQCL/Z0Ai/2dAIv9nQCL/Z0Ai/2dAIv9nQCL/Z0Ai/2dAIf9nQCH/Z0Ai/2dAIf9nQCH/Z0Ai
-        /2dAIv9oQSL/aEEi/2dAIv9nQCL/Z0Ah/2dAIv9nQCH/Z0Ai/6+bi//9/f3/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//z8/P/q5eH/elg9/2ZAId9qQiLfo4p3//7+/f//////4trU/3VPMv9qQiL/akIi
-        /2pCIv9qQiL/akIi/2pCIv9qQiL/akIi/2pCIv9qQiL/akIi/2pCIv9qQiL/akIi/2pCIv9qQiL/akIi
-        /2pCIv9qQiL/akIi/2pCIv9qQiL/akIi/2pCIv9qQiL/akIi/2pCIv9qQiL/akIi/7Gci//9/f3/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//z8/P/q5eH/fVk9/2pCIt9sQyLfpYt3//7+/f//////4trU
-        /3dRMv9tRCL/bUQi/21EIv9tRCL/bUQi/21EIv9tRCL/bUQi/21EIv9tRCL/bUQi/21EIv9tRCL/bUQi
-        /21DIv9tRCL/bUQi/21EIv9tRCL/bUQi/21EIv9tRCL/bUQi/21EIv9tRCL/bUQi/21EIv9tRCL/bUQi
-        /6SKdv/w6+j/+Pf1//v7+v/8/Pz//f39//38/P/8/Pv/+vn5//Xz8f/ZzsX/elU2/2xDIt9wRSLfpox3
-        //7+/f//////49vU/3pSMv9wRSL/cEUj/3BFI/9wRSP/cEYj/3BFI/9wRSP/cEUj/3BFIv9wRiP/cEUj
-        /3BFI/9wRSP/cEUj/3BFIv9wRSP/cEUj/3BFI/9wRSP/cEUj/3BFI/9wRSP/cEUj/3BFI/9wRSP/cEUj
-        /3BFI/9wRSP/cEUj/3ZNK/+JZkn/mHlg/6WLdf+vl4P/spuJ/7Gah/+rkn3/n4Nr/5FwVf9/WTr/cUYk
-        /3BFIt9yRiPfqI13//7+/f//////5t7X/4ZgQf99VDP/fVQz/31UM/99VDP/fVQz/31UM/99VDP/fVQz
-        /31UM/99VDP/fVQz/31UM/99VDP/fVQz/31UM/99VDP/fVQz/31UM/99VDP/fVQz/31UM/99VDP/fVQz
-        /31UM/99VDP/fVUz/31UM/98VDP/fVQz/31UM/99VDP/fVQz/31UM/99VDP/fVQz/31UM/99VDP/fVQz
-        /31UM/98UzH/dEkl/3JGI990SCPfqo93//7+/f//////+vj3/+bf2P/k3NX/5NzV/+Tc1f/k3NX/5NzV
-        /+Tc1f/k3NX/5NzV/+Tc1f/k3NX/5NzV/+Tc1f/k3NX/5NzV/+Tc1f/k3NX/5NzV/+Tc1f/k3NX/5NzV
-        /+Tc1f/k3NX/5NzV/+Tc1f/k3NX/5NzV/+Tc1f/k3NX/5NzV/+Tc1f/k3NX/5NzV/+Tc1f/k3NX/5NzV
-        /+Tc1f/k3NX/5NzV/+Tc1f/ZzcL/hl8+/3VII994SiPfq493//7+/f/7+fj/7unk//Tw7f/8+/v/8Orm
-        //Ht6f/9/Pz/8u3p//Dq5v/8+/r/9PDt/+7p5P/7+fj/9/Tx/+7o4//49vT/+fj2/+7o4//18u//+/r5
-        /+/p5f/z7+v//fz7//Dr5//x6+f//fz7//Lu6v/v6uX//Pv6//Xx7//u6OP/+vj3//j18//u6OP/9/Ty
-        //r59//u6OT/9PHt//z7+v/v6uX/8u3p//7+/v/x7Oj/jGVE/3hKI996SyPfrZB4//7+/f/k2tH/kWtK
-        /7SahP/t5+L/mXVX/6WFav/y7en/pods/5h0Vf/t5uH/tZuF/5FqSf/i2ND/yLSk/4xkQv/Tw7b/287D
-        /45mRf+/qJT/59/Y/5RuTv+uknn/8Ovm/557Xv+ffWH/8Ovm/6uOdf+VcFD/6uLc/7ylkf+PZ0b/3dHH
-        /9DAsv+MZEH/yren/+DVzP+QaUj/uJ+K/+zl3/+XclP/qIlv//r39f/x7en/jmZF/3pLI998TCTfrpF4
-        //7+/f/l29P/lW9O/7edh//u6OP/nXlb/6iJbv/y7ur/qotv/5x4Wf/t5+L/uJ6I/5VuTf/j2dH/yram
-        /5FpR//Uxbj/3M/F/5JrSf/Bqpf/6eDZ/5hzU/+xlX3/8Ovn/6F/Yv+jgWT/8ezn/66ReP+ZdFT/6uPd
-        /7+ok/+TbEr/3tLI/9LBtP+QaEb/zLmq/+HWzf+UbUz/u6KN/+zl3/+bdlj/q4xy//r39v/y7en/kGdF
-        /3xMJN9+TSTfq4tw//v5+P/6+Pf/8Orm//Tw7f/7+vn/8ezn//Lu6v/8+/r/8+7q//Hs5//7+vn/9PHt
-        //Dq5v/6+Pf/9/Tx/+/q5f/49vP/+ff1//Dq5f/28u//+/n4//Dr5v/07+z//Pv6//Ht6P/y7en//Pv6
-        //Pv6//w6+b/+/n4//Xy7//w6uX/+ff2//j18//v6uX/9/Ty//r49v/w6uX/9fHu//v6+f/x6+f/8+7q
-        //38/P/t5uD/j2VA/31NJN+ATiTfil01/6uKbf+vkHX/r5B1/6+Qdf+vkHX/r5B1/6+Qdf+vkHX/r5B1
-        /6+Qdf+vkHX/r5B1/6+Qdf+vkHX/r5B1/6+Qdf+vkHX/r5B1/6+Qdf+vkHX/r5B1/6+Qdf+vkHX/r5B1
-        /6+Qdf+vkHX/r5B1/6+Qdf+vkHX/r5B1/6+Qdf+vkHX/r5B1/6+Qdf+vkHX/r5B1/6+Qdf+vkHX/r5B1
-        /6+Qdf+vkHX/r5B1/6+Qdf+jfl//g1Mp/4BOJN+CUCTfglAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl
-        /4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl
-        /4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl
-        /4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJf+CUCX/glAl/4JQJN+DUSTfhFEl/4NRJf+DUSX/hFEl
-        /4NRJf+DUSX/g1El/4NRJf+DUSX/g1El/4NRJf+EUSX/g1El/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl
-        /4RRJf+EUSX/g1El/4NRJf+EUSX/g1El/4NRJf+DUSX/hFEl/4NRJf+DUSX/hFEl/4NRJf+EUSX/hFEl
-        /4NRJf+EUSX/hFEl/4NRJf+DUSX/g1El/4NRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4NRJN+EUiTfhVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4RSJN+EUiTfhVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4RSJN+EUiTfhVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4RSJN+EUiTfhVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4RSJN+EUiTfhVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4RSJN+EUiTfhVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4RSJN+EUiTfhVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4RSJN+EUSSvhFEkyIRRJMiEUSTIhFEkyIRRJMiEUSTIhFEkyIRRJMiEUSTIhFEk
-        yIRRJMiEUSTIhFEkyIRRJMiEUSTIhFEkyIRRJMiEUSTIhFEkyIRRJMiEUSTIhFEkyIRRJMiEUSTIhFEk
-        yIRRJMiEUSTIhFEkyIRRJMiEUSTIhFEkyIRRJMiEUSTIhFEkyIRRJMiEUSTIhFEkyIRRJMiEUSTIhFEk
-        yIRRJMiEUSTIhFEkyIRRJMiEUSTIhFEkyIRRJK8AAAAAAAD6BwAAAAAAAPoHAAAAAAAA+gcAAAAAAAD6
-        BwAAAAAAAPoHAAAAAAAA+gcAAAAAAAD6BwAAAAAAAPoHAAAAAAAA+gcAAAAAAAD6BwAAAAAAAPoHAAAA
-        AAAA+gcAAAAAAAD6BwAAAAAAAPoHAAAAAAAA+gcAAAAAAAD6BwAAAAAAAPoHAAAAAAAA+gcAAAAAAAD6
-        BwAAAAAAAPoHAAAAAAAA+gcAAAAAAAD6BwAAAAAAAPoHAAAAAAAA+gcAAAAAAAD6BwAAAAAAAPoHAAAA
-        AAAA+gcAAAAAAAD6BwAAAAAAAPoHAAAAAAAA+gcAAAAAAAD6BwAAAAAAAPoHAAAAAAAA+gcAAAAAAAD6
-        BwAAAAAAAPoHAAAAAAAA+gcAAAAAAAD6BwAAAAAAAPoHAAAAAAAA+gcAAAAAAAD6BwAAAAAAAPoHAAAA
-        AAAA+gcAAAAAAAD6BwAAAAAAAPoHAAAAAAAA+gcAAAAAAAD6BwAAAAAAAPoHAAAAAAAA+gcoAAAAIAAA
-        AEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAQCgczkApHetAKR3rQCkd60ApHetAKR3rQCkd
-        60ApHetAKR3rQCkd60ApHetRPDHrcGBW63lpYOvb1tTr+vr66/r6+uv6+vrr+vr66/v7++vOyMbrTzku
-        60ApHetAKR3rQCkd60ApHetAKR3rQCkd60ApHetAKR3rQCkd60ApHM0/KBzgQCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/5aJgv/z8vL/9fTz//v6+v/7+/v/+/v7//v7+//7+/v/+Pj4
-        /4p8df9AKh7/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkc3z8oHOBAKR3/QCkd
-        /0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9CKx//s6ql//z8/P/7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//o5eT/XUk//0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKRzfPygc
-        4EApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0QtIf+/uLT//Pz8//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7/9bRz/9NNyz/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHN8/KBzgQCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/RC4i/8K7t//8/Pz/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/0cvJ/0o0Kf9AKR3/QCkd/0ApHf9AKR3/QCkd/0ApHf9AKR3/QCkd
-        /0ApHf9AKR3/QCkc30MsH+BjUEb/cF5V/3BeVf9wXlX/cF5V/3BeVf9wXlX/cF5V/25dU/9RPDD/vbSw
-        //z8/P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//b19X/Uz4z/2NQRf9wXlX/cF5V/3BeVf9wXlX/cF5V
-        /3BeVf9wXlX/cF5V/1tGO/9BKh3fUz0w4NXQzf/j4N7/2NLQ/+bj4f/Vz8z/6OXk/9PNyv/p5uX/zsjE
-        /3RiWP+sopz//Pz8//v7+//7+/v/+/v7//v7+//7+/v/+/v7/+/t7f9tWlD/mYyE/9bQzf/o5eP/087L
-        /+nm5P/Tzcr/6ebl/9PNyv/s6uj/uK+q/0UuId9XQDTg4NzZ/7SqpP+Id27/v7ay/31rYf/Iwbz/dmNZ
-        /8vEwP9zYFX/c2FW/4JxZ//Tzcn/19HO//Tz8v/7+/v/+/v7//v7+//7+/v/+/v7/6aak/9NNSj/e2lf
-        /8W9uf93ZVv/ysO//3RiV//LxMD/dWJY/9fSz//Du7b/STEi31lCNODg3Nn/7erp/9fRzv/f29j/0MnF
-        /+Hd2v/Ox8P/4t7c/87Hw/+5r6r/Vz8x/1E5Kv9XPzH/xr66//v7+//7+/v/+/v7//v7+//7+/v/6OXj
-        /3BcUP+AbmP/3NfU/87IxP/i3tv/zsfD/+Le3P/W0M3/9vT0/8O7tv9LMiLfXEQ04OHc2f/6+vn/koJ4
-        /2hRQ/9nUUP/aFFD/2hRQ/9oUUP/aFFD/2VOQP9PNSX/Si8e/0ovHv+PfnP/+Pj3//v7+//7+/v/+/v7
-        //v7+//7+/v/08zI/2xXSv9lTT//aFFD/2hRQ/9oUUP/aFFD/66hmv/p5uP/mIh//1E2KN9eRTXg4dzZ
-        //n5+P9/a17/TTAe/00wH/9NMB7/TTEe/0wxHv9NMB7/TTEe/00wHv9NMR7/TTAe/19GNv/c19P/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/2tXR/4VxZf9WPCr/TTEf/00wHv9NMB//aFBB/25XSP9xW03/tquk
-        32FGNeDi3dr/+vn4/4FsXv9QMh//UDIf/1AyH/9PMh//TzIf/08yH/9PMh//TzIf/08yH/9QMh//a1NC
-        /93X1P/8/Pz/+/v7//v7+//7+/v/+/v7//v7+//7+/v/8/Lx/87Gwf+ik4n/iXZp/4ZyZf+Xhnv/vrSt
-        /+rn5f/7+/vfZEg14OLd2v/6+fj/g21e/1M0H/9TNB//UzQf/1M0H/9TNB//UzQf/1M0H/9TNB//UzQf
-        /2JGM//PxsH/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//5+Pj/+Pj3
-        //v6+v/8/Pz/+/v7//v7+99mSTbg493a//r5+P+Fbl7/VjYf/1Y2H/9WNiD/VjYf/1Y2IP9WNiD/VjYg
-        /1Y2H/9WNiD/ZEYx/9HJw//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v732lMNuDj3tr/+vn4/4hwX/9ZOCD/WTgg/1k4IP9ZOCD/WTgg
-        /1k4IP9ZOCD/WTgg/1k4IP9ZOCD/fWNQ/+Xg3P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/vfbU024OTe2v/6+fj/inFf/106IP9dOiD/XTog
-        /106IP9cOiD/XDog/106IP9cOiD/XDog/106IP9eOyL/i3Jg/+nk4f/7+/v/+/v7//v7+//5+Pj/+/v7
-        //v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+99vTzfg5N7a//r5+P+Nc1//YDwh
-        /2A8If9gPCH/YDwh/2A8If9gPCH/YDwh/2A8If9gPCH/YDwh/2A8If9hPiP/i3Fd/+Lb1v/7+/v/3tfR
-        /56Id//JvbT/7+zq//v7+v/7+/v/+/v7//v7+//7+/v/+/v7//v7+//8/Pv/9vX133JRN+Dl39r/+vn4
-        /490YP9kPiH/ZD4h/2Q+If9kPiH/ZD4h/2Q+If9kPiH/ZD4h/2Q+If9kPiH/ZD4h/2Q+If9kPyL/f2BI
-        /7inmf+DZU3/ZD8i/2pFKf+DZU3/wLGk//v7+//7+/v/+/v7//v7+//7+/v//Pz8/97W0P+UemXfd1Q3
-        4Obf2v/6+fj/knZg/2hBIv9oQSL/aEEi/2hBIv9oQSL/aEEi/2hBIv9oQSL/aEEi/2hBIv9oQSL/aEEi
-        /2hBIv9oQSL/akMk/2hBIv9oQSL/aEEi/2hBIv+bgW3/+vn5//v7+//7+/v/+/v7//v7+//8/Pz/yLuv
-        /2pDJN96Vjjg5uDa//r5+P+WeGD/bEMi/2xDIv9sQyL/bEMi/2xDIv9sQyL/bEMi/2xDIv9sQyL/bEMi
-        /2xDIv9sQyL/bEMi/2xDIv9sQyL/bEMi/2xDIv9sQyL/bEMi/5Z4Yf/u6ub/9/X0//n4+P/6+fj/+Pf2
-        //Px7v+9q5z/bUUk335YOODn4Nr/+/n4/5l6Yf9xRiT/cUYk/3FGJP9xRyT/cUck/3FGJP9xRiT/cUYk
-        /3FGJP9xRiP/cUYj/3FGJP9xRiP/cUYk/3FHJP9xRiT/cUYk/3FGJP9xRiT/dk0r/4pmSf+Xd17/n4Fp
-        /6CDa/+afGP/j21R/3xVNf9xRSLfgls44Ojg2v/9/Pz/1ci9/8Syo//FsqP/xbKj/8Wyo//FsqP/xbKj
-        /8Wyo//FsqP/xbKj/8Wyo//FsqP/xbKj/8Wyo//FsqP/xbKj/8Syo//EsqP/xbKj/8Syo//FsqP/xbKj
-        /8Syo//FsqP/xbKj/8Wyo//FsqP/q5B6/3ZKJd+GXDrg6OHa/+ri3P/d0cf/7ebh/9rNwv/v6uX/2Mq+
-        //Dr5//Xyb7/8Ovm/9jLv//v6eX/2s7D/+zl3//e0sj/6ODZ/+LYz//j2dH/59/Y/97Tyf/r5N//287E
-        /+7p5P/Yy7//8Ovm/9fJvv/w6+f/2Mq+//Tw7P/TxLj/e00o34heOuDp4dr/zLqq/66QeP/TxLb/poZr
-        /9rMwP+hgGP/3M/E/6B+Yv/bz8T/ooFl/9nLwP+oiW7/0cGz/6+Tev/ItKT/uqGM/7ykj//GsqD/sZV9
-        /9C/sf+pinD/18m9/6OBZf/bzsP/oX9i/9zPxf+hf2L/5NrS/9XFuP9+UCnfh1kz4NPCs//i183/3tHG
-        /+PYz//d0MT/5NnQ/9zPw//k2tH/3M/D/+TZ0P/cz8T/5NnQ/93Qxf/j2M7/3tHG/+HWzP/f08n/4NTJ
-        /+HWzP/e0sf/4tfO/93Qxf/j2dD/3M/E/+TZ0P/cz8P/5NrR/9zPw//l29L/wamV/4BQJt+BUCXgiVox
-        /4xfN/+MXzf/jF83/4xeN/+MXjf/jF43/4xeN/+MXjf/jF43/4xfN/+MXjf/jF43/4xeN/+MXjf/jF83
-        /4xfN/+MXzf/jF43/4xeN/+MXzf/jF43/4xeN/+MXjf/jF43/4xeN/+MXjf/jF43/4xeN/+HVy3/gVAk
-        34RQJOCEUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl
-        /4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl
-        /4RRJf+DUSTfhVEl4IVSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4RSJN+FUSXghVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hFIk34VRJeCFUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+EUiTfhVEl4IVSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4RSJN+FUiW3hFEk0YRRJNGEUSTRhFEk
-        0YRRJNGEUSTRhFEk0YRRJNGEUSTRhFEk0YRRJNGEUSTRhFEk0YRRJNGEUSTRhFEk0YRRJNGEUSTRhFEk
-        0YRRJNGEUSTRhFEk0YRRJNGEUSTRhFEk0YRRJNGEUSTRhFEk0YRRJNGEUSTRhFIktwAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAA
-        ABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAD8oHMg/KRzlPykc5T8pHOU/KRzlYU9F
-        5b21seXw7u7l+vr65fPy8uV6amPlPykc5T8pHOU/KRzlPykc5UApHMdAKRzfQCkd/0ApHf9AKR3/QCkd
-        /4Bxaf/4+Pj/+/v7//v7+//i393/V0I4/0ApHf9AKR3/QCkd/0ApHf9AKRzeUTsw32JPRf9iT0X/Yk9F
-        /2BNQv+KfHT/+fj4//v7+//7+/v/3trY/19MQv9iT0X/Yk9F/2JPRf9iTkT/TDcr3pqMhd+/t7P/u7Kt
-        /7uyrf+yqKP/jH11/9vX1P/29fX/+/v7/+/u7f+HeG//saeh/7uyrf+7sq3/wrq1/4h4cN6om5Pfz8jD
-        /5qLgv+ai4H/mImA/3BbTv9fRzn/zMXA//v7+//6+vr/xLy3/49/df+ai4L/nI2E/8jAu/+Id23eq52U
-        37uwqf9PMyD/TjEf/04xH/9OMR//UDMh/6iakP/6+vr/+/v7//j49//MxMD/indr/3VfUf+Xhnv/vbSt
-        3q2gld+9san/VTYh/1Q1H/9UNR//VDUf/2JFMf/Wz8r/+/v7//v7+//7+/v/+/v7//f29v/x8O7/9vX0
-        //v7+96xoZXfwLOp/1w6Iv9bOSD/Wzkg/1s5IP9dOyL/l4Jy/+/s6v/6+fn/9/b1//v7+//7+/v/+/v7
-        //v7+//7+/vetKOV38O0qv9jPyP/Yj0h/2I9If9iPSH/Yj0h/2VBJf+ZgW7/va2h/5d+a//Lv7X/+fj3
-        //v7+//6+vr/29PN3rillt/Gtqr/a0Mk/2pCIv9qQiL/akIi/2pCIv9qQiL/a0Mj/25GJ/9qQiL/iGdN
-        /+ji3v/z8O7/7uvn/56Eb968qJbf2M3D/51/Zv+cfmX/nH5l/5x+Zf+cfmX/nH5l/5x+Zf+cfmX/nH5l
-        /6CDa/+znIn/uqWU/7WfjP+KZ0nevaaT39nLwP/TxLf/1MS3/9PEt//UxLf/1MW4/9PEt//TxLf/08S3
-        /9TEt//Uxbj/1MS3/9TEt//ZzMD/rpF53px1VN+ylHr/sZN5/7GTef+xk3n/sZN5/7KTef+xk3j/sZN4
-        /7GTeP+xk3n/sZN5/7GTef+xk3n/spR5/5ZtSd6DUSTfhFEl/4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl
-        /4RRJf+EUSX/hFEl/4RRJf+EUSX/hFEl/4RRJf+EUSTehFIk34VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl
-        /4VSJf+FUiX/hVIl/4VSJf+FUiX/hVIl/4VSJf+FUiX/hVEk3oVSJL2EUiTZhFIk2YRSJNmEUiTZhFIk
-        2YRSJNmEUiTZhFIk2YRSJNmEUiTZhFIk2YRSJNmEUiTZhFIk2YVQJL0AACYAAAAmAAAAJgAAACYAAAAm
-        AAAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgAAACYA
-</value>
-  </data>
-</root>

+ 0 - 75
MediaBrowser.ServerApplication/Logging/WindowTraceListener.cs

@@ -1,75 +0,0 @@
-using System.Diagnostics;
-
-namespace MediaBrowser.ServerApplication.Logging
-{
-    /// <summary>
-    /// Class WindowTraceListener
-    /// </summary>
-    public class WindowTraceListener : DefaultTraceListener
-    {
-        /// <summary>
-        /// The _window
-        /// </summary>
-        private readonly LogForm _window;
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WindowTraceListener" /> class.
-        /// </summary>
-        /// <param name="window">The window.</param>
-        public WindowTraceListener(LogForm window)
-        {
-            _window = window;
-            _window.Show();
-            Name = "MBLogWindow";
-        }
-
-        /// <summary>
-        /// Writes the value of the object's <see cref="M:System.Object.ToString" /> method to the listener you create when you implement the <see cref="T:System.Diagnostics.TraceListener" /> class.
-        /// </summary>
-        /// <param name="o">An <see cref="T:System.Object" /> whose fully qualified class name you want to write.</param>
-        public override void Write(object o)
-        {
-            var str = o as string;
-            if (str != null)
-                Write(str);
-            else
-                base.Write(o);
-        }
-
-        /// <summary>
-        /// Writes the output to the OutputDebugString function and to the <see cref="M:System.Diagnostics.Debugger.Log(System.Int32,System.String,System.String)" /> method.
-        /// </summary>
-        /// <param name="message">The message to write to OutputDebugString and <see cref="M:System.Diagnostics.Debugger.Log(System.Int32,System.String,System.String)" />.</param>
-        /// <PermissionSet>
-        ///   <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
-        ///   <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="ControlEvidence" />
-        ///   </PermissionSet>
-        public override void Write(string message)
-        {
-            _window.LogMessage(message);
-        }
-
-        /// <summary>
-        /// Writes the output to the OutputDebugString function and to the <see cref="M:System.Diagnostics.Debugger.Log(System.Int32,System.String,System.String)" /> method, followed by a carriage return and line feed (\r\n).
-        /// </summary>
-        /// <param name="message">The message to write to OutputDebugString and <see cref="M:System.Diagnostics.Debugger.Log(System.Int32,System.String,System.String)" />.</param>
-        /// <PermissionSet>
-        ///   <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
-        ///   <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="ControlEvidence" />
-        ///   </PermissionSet>
-        public override void WriteLine(string message)
-        {
-            Write(message+"\n");
-        }
-
-        /// <summary>
-        /// Releases the unmanaged resources used by the <see cref="T:System.Diagnostics.TraceListener" /> and optionally releases the managed resources.
-        /// </summary>
-        /// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (_window != null)
-                _window.ShutDown();
-            base.Dispose(disposing);
-        }
-    }
-}

+ 18 - 13
MediaBrowser.ServerApplication/MainStartup.cs

@@ -2,7 +2,8 @@
 using MediaBrowser.Common.Implementations.Logging;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Server.Implementations;
-using MediaBrowser.ServerApplication.IO;
+using MediaBrowser.Server.Startup.Common;
+using MediaBrowser.Server.Startup.Common.Browser;
 using MediaBrowser.ServerApplication.Native;
 using MediaBrowser.ServerApplication.Splash;
 using MediaBrowser.ServerApplication.Updates;
@@ -211,21 +212,25 @@ namespace MediaBrowser.ServerApplication
         {
             var fileSystem = new NativeFileSystem(logManager.GetLogger("FileSystem"), false);
 
-            _appHost = new ApplicationHost(appPaths, 
-                logManager, 
-                true, 
-                runService, 
-                options, 
-                fileSystem, 
+            var nativeApp = new WindowsApp
+            {
+                IsRunningAsService = runService
+            };
+
+            _appHost = new ApplicationHost(appPaths,
+                logManager,
+                options,
+                fileSystem,
                 "MBServer",
-                true);
+                true,
+                nativeApp);
 
             var initProgress = new Progress<double>();
 
             if (!runService)
             {
                 if (!options.ContainsOption("-nosplash")) ShowSplashScreen(_appHost.ApplicationVersion, initProgress, logManager.GetLogger("Splash"));
-                
+
                 // Not crazy about this but it's the only way to suppress ffmpeg crash dialog boxes
                 SetErrorMode(ErrorModes.SEM_FAILCRITICALERRORS | ErrorModes.SEM_NOALIGNMENTFAULTEXCEPT |
                              ErrorModes.SEM_NOGPFAULTERRORBOX | ErrorModes.SEM_NOOPENFILEERRORBOX);
@@ -245,11 +250,11 @@ namespace MediaBrowser.ServerApplication
 
                 SystemEvents.SessionEnding += SystemEvents_SessionEnding;
                 SystemEvents.SessionSwitch += SystemEvents_SessionSwitch;
-   
+
                 HideSplashScreen();
 
                 ShowTrayIcon();
-                
+
                 task = ApplicationTaskCompletionSource.Task;
                 Task.WaitAll(task);
             }
@@ -260,7 +265,7 @@ namespace MediaBrowser.ServerApplication
         {
             //Application.EnableVisualStyles();
             //Application.SetCompatibleTextRenderingDefault(false);
-            _serverNotifyIcon = new ServerNotifyIcon(_appHost.LogManager, _appHost, _appHost.ServerConfigurationManager, _appHost.UserManager, _appHost.LibraryManager, _appHost.JsonSerializer, _appHost.LocalizationManager, _appHost.UserViewManager);
+            _serverNotifyIcon = new ServerNotifyIcon(_appHost.LogManager, _appHost, _appHost.ServerConfigurationManager, _appHost.LocalizationManager);
             Application.Run();
         }
 
@@ -274,7 +279,7 @@ namespace MediaBrowser.ServerApplication
 
                 _splash.ShowDialog();
             });
-           
+
             thread.SetApartmentState(ApartmentState.STA);
             thread.IsBackground = true;
             thread.Start();

+ 7 - 25
MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj

@@ -63,10 +63,6 @@
     <Reference Include="MediaBrowser.IsoMounter">
       <HintPath>..\packages\MediaBrowser.IsoMounting.3.0.69\lib\net45\MediaBrowser.IsoMounter.dll</HintPath>
     </Reference>
-    <Reference Include="Mono.Posix, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\packages\Mono.Posix.4.0.0.0\lib\net40\Mono.Posix.dll</HintPath>
-    </Reference>
     <Reference Include="NLog, Version=3.1.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\packages\NLog.3.1.0.0\lib\net45\NLog.dll</HintPath>
@@ -98,28 +94,14 @@
     <Compile Include="..\SharedVersion.cs">
       <Link>Properties\SharedVersion.cs</Link>
     </Compile>
-    <Compile Include="ApplicationHost.cs" />
     <Compile Include="BackgroundService.cs">
       <SubType>Component</SubType>
     </Compile>
     <Compile Include="BackgroundServiceInstaller.cs">
       <SubType>Component</SubType>
     </Compile>
-    <Compile Include="EntryPoints\KeepServerAwake.cs" />
     <Compile Include="EntryPoints\ResourceEntryPoint.cs" />
-    <Compile Include="EntryPoints\StartupWizard.cs" />
-    <Compile Include="FFMpeg\FFMpegDownloader.cs" />
-    <Compile Include="FFMpeg\FFMpegDownloadInfo.cs" />
-    <Compile Include="FFMpeg\FFMpegInfo.cs" />
-    <Compile Include="IO\NativeFileSystem.cs" />
-    <Compile Include="IO\StartupOptions.cs" />
-    <Compile Include="Logging\LogForm.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="Logging\LogForm.Designer.cs">
-      <DependentUpon>LogForm.cs</DependentUpon>
-    </Compile>
-    <Compile Include="Logging\WindowTraceListener.cs" />
+    <Compile Include="Native\NativeFileSystem.cs" />
     <Compile Include="MainForm.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -127,11 +109,10 @@
       <DependentUpon>MainForm.cs</DependentUpon>
     </Compile>
     <Compile Include="MainStartup.cs" />
-    <Compile Include="Native\Assemblies.cs" />
     <Compile Include="Native\Autorun.cs" />
-    <Compile Include="Native\BrowserLauncher.cs" />
-    <Compile Include="Native\NativeApp.cs" />
+    <Compile Include="Native\Standby.cs" />
     <Compile Include="Native\ServerAuthorization.cs" />
+    <Compile Include="Native\WindowsApp.cs" />
     <Compile Include="Networking\NativeMethods.cs" />
     <Compile Include="Networking\NetworkManager.cs" />
     <Compile Include="Networking\NetworkShares.cs" />
@@ -157,9 +138,6 @@
     <None Include="packages.config" />
   </ItemGroup>
   <ItemGroup>
-    <EmbeddedResource Include="Logging\LogForm.resx">
-      <DependentUpon>LogForm.cs</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="MainForm.resx">
       <DependentUpon>MainForm.cs</DependentUpon>
     </EmbeddedResource>
@@ -232,6 +210,10 @@
       <Project>{2e781478-814d-4a48-9d80-bff206441a65}</Project>
       <Name>MediaBrowser.Server.Implementations</Name>
     </ProjectReference>
+    <ProjectReference Include="..\MediaBrowser.Server.Startup.Common\MediaBrowser.Server.Startup.Common.csproj">
+      <Project>{b90ab8f2-1bff-4568-a3fd-2a338a435a75}</Project>
+      <Name>MediaBrowser.Server.Startup.Common</Name>
+    </ProjectReference>
     <ProjectReference Include="..\MediaBrowser.WebDashboard\MediaBrowser.WebDashboard.csproj">
       <Project>{5624b7b5-b5a7-41d8-9f10-cc5611109619}</Project>
       <Name>MediaBrowser.WebDashboard</Name>

+ 0 - 25
MediaBrowser.ServerApplication/Native/Assemblies.cs

@@ -1,25 +0,0 @@
-using MediaBrowser.IsoMounter;
-using System.Collections.Generic;
-using System.Reflection;
-
-namespace MediaBrowser.ServerApplication.Native
-{
-    /// <summary>
-    /// Class Assemblies
-    /// </summary>
-    public static class Assemblies
-    {
-        /// <summary>
-        /// Gets the assemblies with parts.
-        /// </summary>
-        /// <returns>List{Assembly}.</returns>
-        public static List<Assembly> GetAssembliesWithParts()
-        {
-            var list = new List<Assembly>();
-
-            list.Add(typeof(PismoIsoManager).Assembly);
-
-            return list;
-        }
-    }
-}

+ 0 - 88
MediaBrowser.ServerApplication/Native/NativeApp.cs

@@ -1,88 +0,0 @@
-using System.Runtime.InteropServices;
-
-namespace MediaBrowser.ServerApplication.Native
-{
-    /// <summary>
-    /// Class NativeApp
-    /// </summary>
-    public static class NativeApp
-    {
-        /// <summary>
-        /// Shutdowns this instance.
-        /// </summary>
-        public static void Shutdown()
-        {
-            MainStartup.Shutdown();
-        }
-
-        /// <summary>
-        /// Restarts this instance.
-        /// </summary>
-        public static void Restart()
-        {
-            MainStartup.Restart();
-        }
-
-        /// <summary>
-        /// Determines whether this instance [can self restart].
-        /// </summary>
-        /// <returns><c>true</c> if this instance [can self restart]; otherwise, <c>false</c>.</returns>
-        public static bool CanSelfRestart
-        {
-            get
-            {
-                return MainStartup.CanSelfRestart;
-            }
-        }
-
-        /// <summary>
-        /// Gets a value indicating whether [supports automatic run at startup].
-        /// </summary>
-        /// <value><c>true</c> if [supports automatic run at startup]; otherwise, <c>false</c>.</value>
-        public static bool SupportsAutoRunAtStartup
-        {
-            get
-            {
-                return true;
-            }
-        }
-
-        /// <summary>
-        /// Gets a value indicating whether this instance can self update.
-        /// </summary>
-        /// <value><c>true</c> if this instance can self update; otherwise, <c>false</c>.</value>
-        public static bool CanSelfUpdate
-        {
-            get
-            {
-                return MainStartup.CanSelfUpdate;
-            }
-        }
-
-        public static void PreventSystemStandby()
-        {
-            SystemHelper.ResetStandbyTimer();
-        }
-
-        internal enum EXECUTION_STATE : uint
-        {
-            ES_NONE = 0,
-            ES_SYSTEM_REQUIRED = 0x00000001,
-            ES_DISPLAY_REQUIRED = 0x00000002,
-            ES_USER_PRESENT = 0x00000004,
-            ES_AWAYMODE_REQUIRED = 0x00000040,
-            ES_CONTINUOUS = 0x80000000
-        }
-
-        public class SystemHelper
-        {
-            [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
-            static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags);
-
-            public static void ResetStandbyTimer()
-            {
-                EXECUTION_STATE es = SetThreadExecutionState(EXECUTION_STATE.ES_SYSTEM_REQUIRED);
-            }
-        }
-    }
-}

+ 1 - 1
MediaBrowser.ServerApplication/IO/NativeFileSystem.cs → MediaBrowser.ServerApplication/Native/NativeFileSystem.cs

@@ -6,7 +6,7 @@ using System.Runtime.InteropServices;
 using System.Security;
 using System.Text;
 
-namespace MediaBrowser.ServerApplication.IO
+namespace MediaBrowser.ServerApplication.Native
 {
     public class NativeFileSystem : CommonFileSystem
     {

+ 36 - 0
MediaBrowser.ServerApplication/Native/Standby.cs

@@ -0,0 +1,36 @@
+using System.Runtime.InteropServices;
+
+namespace MediaBrowser.ServerApplication.Native
+{
+    /// <summary>
+    /// Class NativeApp
+    /// </summary>
+    public static class Standby
+    {
+        public static void PreventSystemStandby()
+        {
+            SystemHelper.ResetStandbyTimer();
+        }
+
+        internal enum EXECUTION_STATE : uint
+        {
+            ES_NONE = 0,
+            ES_SYSTEM_REQUIRED = 0x00000001,
+            ES_DISPLAY_REQUIRED = 0x00000002,
+            ES_USER_PRESENT = 0x00000004,
+            ES_AWAYMODE_REQUIRED = 0x00000040,
+            ES_CONTINUOUS = 0x80000000
+        }
+
+        public class SystemHelper
+        {
+            [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
+            static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags);
+
+            public static void ResetStandbyTimer()
+            {
+                EXECUTION_STATE es = SetThreadExecutionState(EXECUTION_STATE.ES_SYSTEM_REQUIRED);
+            }
+        }
+    }
+}

+ 104 - 0
MediaBrowser.ServerApplication/Native/WindowsApp.cs

@@ -0,0 +1,104 @@
+using MediaBrowser.Common.Net;
+using MediaBrowser.IsoMounter;
+using MediaBrowser.Model.Logging;
+using MediaBrowser.Server.Startup.Common;
+using MediaBrowser.ServerApplication.Networking;
+using System.Collections.Generic;
+using System.Reflection;
+
+namespace MediaBrowser.ServerApplication.Native
+{
+    public class WindowsApp : INativeApp
+    {
+        public List<Assembly> GetAssembliesWithParts()
+        {
+            var list = new List<Assembly>();
+
+            list.Add(typeof(PismoIsoManager).Assembly);
+
+            list.Add(GetType().Assembly);
+            
+            return list;
+        }
+
+        public void AuthorizeServer(int httpServerPort, string httpServerUrlPrefix, int udpPort, string tempDirectory)
+        {
+            ServerAuthorization.AuthorizeServer(httpServerPort, httpServerUrlPrefix, udpPort, tempDirectory);
+        }
+
+        public NativeEnvironment Environment
+        {
+            get
+            {
+                return new NativeEnvironment
+                {
+                    OperatingSystem = OperatingSystem.Windows,
+                    SystemArchitecture = System.Environment.Is64BitOperatingSystem ? Architecture.X86_X64 : Architecture.X86
+                };
+            }
+        }
+
+        public bool SupportsRunningAsService
+        {
+            get
+            {
+                return true;
+            }
+        }
+
+        public bool IsRunningAsService
+        {
+            get;
+            set;
+        }
+
+        public bool CanSelfRestart
+        {
+            get
+            {
+                return MainStartup.CanSelfRestart;
+            }
+        }
+
+        public bool SupportsAutoRunAtStartup
+        {
+            get
+            {
+                return true;
+            }
+        }
+
+        public bool CanSelfUpdate
+        {
+            get
+            {
+                return MainStartup.CanSelfUpdate;
+            }
+        }
+
+        public void Shutdown()
+        {
+            MainStartup.Shutdown();
+        }
+
+        public void Restart()
+        {
+            MainStartup.Restart();
+        }
+
+        public void ConfigureAutoRun(bool autorun)
+        {
+            Autorun.Configure(autorun);
+        }
+
+        public INetworkManager CreateNetworkManager(ILogger logger)
+        {
+            return new NetworkManager(logger);
+        }
+
+        public void PreventSystemStandby()
+        {
+            Standby.PreventSystemStandby();
+        }
+    }
+}

+ 3 - 92
MediaBrowser.ServerApplication/ServerNotifyIcon.cs

@@ -5,7 +5,7 @@ using MediaBrowser.Controller.Localization;
 using MediaBrowser.Controller.Persistence;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.ServerApplication.Logging;
+using MediaBrowser.Server.Startup.Common.Browser;
 using MediaBrowser.ServerApplication.Native;
 using System;
 using System.Diagnostics;
@@ -25,7 +25,6 @@ namespace MediaBrowser.ServerApplication
         private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
         private System.Windows.Forms.ToolStripMenuItem cmdRestart;
         private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
-        private System.Windows.Forms.ToolStripMenuItem cmdLogWindow;
         private System.Windows.Forms.ToolStripMenuItem cmdCommunity;
         private System.Windows.Forms.ToolStripMenuItem cmdApiDocs;
         private System.Windows.Forms.ToolStripMenuItem cmdSwagger;
@@ -33,14 +32,8 @@ namespace MediaBrowser.ServerApplication
 
         private readonly ILogger _logger;
         private readonly IServerApplicationHost _appHost;
-        private readonly ILogManager _logManager;
         private readonly IServerConfigurationManager _configurationManager;
-        private readonly IUserManager _userManager;
-        private readonly ILibraryManager _libraryManager;
-        private readonly IJsonSerializer _jsonSerializer;
-        private readonly IUserViewManager _userViewManager;
         private readonly ILocalizationManager _localization;
-        private LogForm _logForm;
 
         public bool Visible
         {
@@ -57,20 +50,13 @@ namespace MediaBrowser.ServerApplication
 
         public ServerNotifyIcon(ILogManager logManager, 
             IServerApplicationHost appHost, 
-            IServerConfigurationManager configurationManager, 
-            IUserManager userManager, ILibraryManager libraryManager, 
-            IJsonSerializer jsonSerializer, 
-            ILocalizationManager localization, IUserViewManager userViewManager)
+            IServerConfigurationManager configurationManager,
+            ILocalizationManager localization)
         {
             _logger = logManager.GetLogger("MainWindow");
             _localization = localization;
-            _userViewManager = userViewManager;
             _appHost = appHost;
-            _logManager = logManager;
             _configurationManager = configurationManager;
-            _userManager = userManager;
-            _libraryManager = libraryManager;
-            _jsonSerializer = jsonSerializer;
             
             var components = new System.ComponentModel.Container();
             
@@ -80,7 +66,6 @@ namespace MediaBrowser.ServerApplication
             
             cmdExit = new System.Windows.Forms.ToolStripMenuItem();
             cmdCommunity = new System.Windows.Forms.ToolStripMenuItem();
-            cmdLogWindow = new System.Windows.Forms.ToolStripMenuItem();
             toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
             cmdRestart = new System.Windows.Forms.ToolStripMenuItem();
             toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
@@ -107,7 +92,6 @@ namespace MediaBrowser.ServerApplication
             cmdRestart,
             toolStripSeparator1,
             cmdApiDocs,
-            //cmdLogWindow,
             cmdCommunity,
             cmdExit});
             contextMenuStrip1.Name = "contextMenuStrip1";
@@ -125,12 +109,6 @@ namespace MediaBrowser.ServerApplication
             cmdCommunity.Name = "cmdCommunity";
             cmdCommunity.Size = new System.Drawing.Size(208, 22);
             // 
-            // cmdLogWindow
-            // 
-            cmdLogWindow.CheckOnClick = true;
-            cmdLogWindow.Name = "cmdLogWindow";
-            cmdLogWindow.Size = new System.Drawing.Size(208, 22);
-            // 
             // toolStripSeparator1
             // 
             toolStripSeparator1.Name = "toolStripSeparator1";
@@ -176,7 +154,6 @@ namespace MediaBrowser.ServerApplication
 
             cmdExit.Click += cmdExit_Click;
             cmdRestart.Click += cmdRestart_Click;
-            cmdLogWindow.Click += cmdLogWindow_Click;
             cmdConfigure.Click += cmdConfigure_Click;
             cmdCommunity.Click += cmdCommunity_Click;
             cmdBrowse.Click += cmdBrowse_Click;
@@ -184,8 +161,6 @@ namespace MediaBrowser.ServerApplication
             cmdSwagger.Click += cmdSwagger_Click;
             cmdGtihub.Click += cmdGtihub_Click;
 
-            LoadLogWindow(null, EventArgs.Empty);
-            _logManager.LoggerLoaded += LoadLogWindow;
             _configurationManager.ConfigurationUpdated += Instance_ConfigurationUpdated;
 
             LocalizeText();
@@ -210,7 +185,6 @@ namespace MediaBrowser.ServerApplication
             cmdBrowse.Text = _localization.GetLocalizedString("LabelBrowseLibrary");
             cmdConfigure.Text = _localization.GetLocalizedString("LabelConfigureMediaBrowser");
             cmdRestart.Text = _localization.GetLocalizedString("LabelRestartServer");
-            cmdLogWindow.Text = _localization.GetLocalizedString("LabelShowLogWindow");
         }
 
         private string _uiCulture;
@@ -226,62 +200,6 @@ namespace MediaBrowser.ServerApplication
             {
                 LocalizeText();
             }
-
-            Action action = () =>
-            {
-                var isLogWindowOpen = _logForm != null;
-
-                if ((!isLogWindowOpen && _configurationManager.Configuration.ShowLogWindow) ||
-                    (isLogWindowOpen && !_configurationManager.Configuration.ShowLogWindow))
-                {
-                    _logManager.ReloadLogger(_configurationManager.Configuration.EnableDebugLevelLogging
-                        ? LogSeverity.Debug
-                        : LogSeverity.Info);
-                }
-            };
-
-            contextMenuStrip1.Invoke(action);
-        }
-
-        /// <summary>
-        /// Loads the log window.
-        /// </summary>
-        /// <param name="sender">The sender.</param>
-        /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
-        void LoadLogWindow(object sender, EventArgs args)
-        {
-            CloseLogWindow();
-
-            Action action = () =>
-            {
-                // Add our log window if specified
-                if (_configurationManager.Configuration.ShowLogWindow)
-                {
-                    _logForm = new LogForm(_logManager);
-
-                    Trace.Listeners.Add(new WindowTraceListener(_logForm));
-                }
-                else
-                {
-                    Trace.Listeners.Remove("MBLogWindow");
-                }
-
-                // Set menu option indicator
-                cmdLogWindow.Checked = _configurationManager.Configuration.ShowLogWindow;
-            };
-
-            contextMenuStrip1.Invoke(action);
-        }
-
-        /// <summary>
-        /// Closes the log window.
-        /// </summary>
-        void CloseLogWindow()
-        {
-            if (_logForm != null)
-            {
-                _logForm.ShutDown();
-            }
         }
 
         void cmdBrowse_Click(object sender, EventArgs e)
@@ -299,13 +217,6 @@ namespace MediaBrowser.ServerApplication
             BrowserLauncher.OpenDashboard(_appHost, _logger);
         }
 
-        void cmdLogWindow_Click(object sender, EventArgs e)
-        {
-            _configurationManager.Configuration.ShowLogWindow = !_configurationManager.Configuration.ShowLogWindow;
-            _configurationManager.SaveConfiguration();
-            LoadLogWindow(sender, e);
-        }
-
         void cmdRestart_Click(object sender, EventArgs e)
         {
             _appHost.Restart();

+ 0 - 1
MediaBrowser.ServerApplication/packages.config

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="MediaBrowser.IsoMounting" version="3.0.69" targetFramework="net45" />
-  <package id="Mono.Posix" version="4.0.0.0" targetFramework="net45" />
   <package id="NLog" version="3.1.0.0" targetFramework="net45" />
   <package id="System.Data.SQLite.Core" version="1.0.94.0" targetFramework="net45" />
 </packages>

+ 37 - 0
MediaBrowser.sln

@@ -55,6 +55,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.MediaInfo", "M
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Server.Mono", "MediaBrowser.Server.Mono\MediaBrowser.Server.Mono.csproj", "{175A9388-F352-4586-A6B4-070DED62B644}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Server.Startup.Common", "MediaBrowser.Server.Startup.Common\MediaBrowser.Server.Startup.Common.csproj", "{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug_Ubuntu|Any CPU = Debug_Ubuntu|Any CPU
@@ -773,6 +775,41 @@ Global
 		{175A9388-F352-4586-A6B4-070DED62B644}.Release|x64.ActiveCfg = Release|Any CPU
 		{175A9388-F352-4586-A6B4-070DED62B644}.Release|x86.ActiveCfg = Release|x86
 		{175A9388-F352-4586-A6B4-070DED62B644}.Release|x86.Build.0 = Release|x86
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug_Ubuntu|Any CPU.ActiveCfg = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug_Ubuntu|Any CPU.Build.0 = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug_Ubuntu|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug_Ubuntu|Mixed Platforms.Build.0 = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug_Ubuntu|Win32.ActiveCfg = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug_Ubuntu|x64.ActiveCfg = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug_Ubuntu|x86.ActiveCfg = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug|Win32.ActiveCfg = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release Mono|Any CPU.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release Mono|Any CPU.Build.0 = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release Mono|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release Mono|Mixed Platforms.Build.0 = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release Mono|Win32.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release Mono|x64.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release Mono|x86.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release_Ubuntu|Any CPU.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release_Ubuntu|Any CPU.Build.0 = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release_Ubuntu|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release_Ubuntu|Mixed Platforms.Build.0 = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release_Ubuntu|Win32.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release_Ubuntu|x64.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release_Ubuntu|x86.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release|Win32.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release|x64.ActiveCfg = Release|Any CPU
+		{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release|x86.ActiveCfg = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE