diff --git a/PCK-Studio/Classes/FileTypes/Binka.cs b/PCK-Studio/Classes/FileTypes/Binka.cs index 26776e15..a5c25ae3 100644 --- a/PCK-Studio/Classes/FileTypes/Binka.cs +++ b/PCK-Studio/Classes/FileTypes/Binka.cs @@ -2,22 +2,18 @@ using System.Diagnostics; using System.IO; using System.Runtime.InteropServices; -using System.Web.Caching; -using PckStudio.Classes.Misc; using SharpMSS; namespace PckStudio.Classes { internal static class Binka { - private static FileCacher cacher = new FileCacher(Program.AppDataCache); - public static int FromWav(string inputFilepath, string outputFilepath, int compressionLevel) { - cacher.Cache(Properties.Resources.binka_encode, "binka_encode.exe"); + ApplicationScope.AppDataCacher.Cache(Properties.Resources.binka_encode, "binka_encode.exe"); var process = Process.Start(new ProcessStartInfo { - FileName = cacher.GetCachedFilepath("binka_encode.exe"), + FileName = ApplicationScope.AppDataCacher.GetCachedFilepath("binka_encode.exe"), Arguments = $"\"{inputFilepath}\" \"{outputFilepath}\" -s -b{compressionLevel}", UseShellExecute = true, CreateNoWindow = true, @@ -34,16 +30,16 @@ namespace PckStudio.Classes throw new Exception("Not a Bink Audio file."); } - cacher.Cache(Properties.Resources.mss32, "mss32.dll"); - cacher.Cache(Properties.Resources.binkawin, "binkawin.asi"); + ApplicationScope.AppDataCacher.Cache(Properties.Resources.mss32, "mss32.dll"); + ApplicationScope.AppDataCacher.Cache(Properties.Resources.binkawin, "binkawin.asi"); - LibHandle mss32LibHandle = new LibHandle(cacher.GetCachedFilepath("mss32.dll")); + LibHandle mss32LibHandle = new LibHandle(ApplicationScope.AppDataCacher.GetCachedFilepath("mss32.dll")); string destinationFilepath = Path.Combine( Path.GetDirectoryName(outputFilepath), Path.GetFileNameWithoutExtension(inputFilepath) + ".wav"); - AILAPI.SetRedistDirectory(cacher.CacheDirectory.Replace('\\', '/')); + AILAPI.SetRedistDirectory(ApplicationScope.AppDataCacher.CacheDirectory.Replace('\\', '/')); RIBAPI.LoadApplicationProviders("*.asi"); diff --git a/PCK-Studio/Classes/Misc/FTPClient.cs b/PCK-Studio/Classes/Misc/FTPClient.cs index 61af36ad..9752d65d 100644 --- a/PCK-Studio/Classes/Misc/FTPClient.cs +++ b/PCK-Studio/Classes/Misc/FTPClient.cs @@ -1,5 +1,7 @@ using System; +using System.Collections.Generic; using System.IO; +using System.Linq; using System.Net; using System.Text; using System.Xml.Linq; @@ -8,40 +10,36 @@ namespace PckStudio.Classes.Misc { public class FTPClient : IDisposable { - private const int bufferSize = 2048; + private Uri _host; + private ICredentials _credentials; - private Uri hostUri; - private NetworkCredential credentials; - - private FtpWebRequest request = null; - private FtpWebResponse response = null; - private Stream _stream = null; + private FtpWebRequest _request = null; + private FtpWebResponse _response = null; + private int _timeout = 1_000; // 1 sec public FTPClient(string host, string username) - : this(new Uri(host), username, string.Empty) - { - } + : this(new Uri(host), username, string.Empty) { } - public FTPClient(Uri uri, string username) - : this(uri, username, string.Empty) - { - } + public FTPClient(Uri host, string username) + : this(host, username, string.Empty) { } public FTPClient(string host, string username, string password) - : this(new Uri(host), username, password) - { - } + : this(new Uri(host), username, password) { } public FTPClient(Uri uri, string username, string password) - { - hostUri = uri; - credentials = new NetworkCredential(username, password); + : this(uri, new NetworkCredential(username, password)) { } - if (hostUri.Scheme != Uri.UriSchemeFtp) + public FTPClient(string host, ICredentials credentials) + : this(new Uri(host), credentials) { } + + public FTPClient(Uri host, ICredentials credentials) + { + if (host.Scheme != Uri.UriSchemeFtp) { throw new InvalidOperationException("Not a valid FTP Scheme"); } - + this._host = host; + _credentials = credentials; } /// @@ -51,7 +49,7 @@ namespace PckStudio.Classes.Misc /// /// See /// - public static FtpWebRequest CreateFTPWebRequest(Uri uri, ICredentials credentials, string method) + public static FtpWebRequest CreateRequest(Uri uri, ICredentials credentials, string method) { FtpWebRequest request = (FtpWebRequest)WebRequest.Create(uri); request.Credentials = credentials; @@ -59,44 +57,31 @@ namespace PckStudio.Classes.Misc return request; } - // TODO: let it accept a destination Stream ? public void DownloadFile(string remoteFilepath, string localFilepath) + { + using (var fs = File.OpenWrite(localFilepath)) + { + DownloadFile(remoteFilepath, fs); + } + } + + public void DownloadFile(string remoteFilepath, Stream destination) { try { - request = CreateFTPWebRequest(new Uri(hostUri, remoteFilepath), credentials, WebRequestMethods.Ftp.DownloadFile); - //request = (FtpWebRequest)WebRequest.Create(host + "/" + remoteFile); - //request.Credentials = credentials; - //request.Method = WebRequestMethods.Ftp.DownloadFile; - - request.UseBinary = true; - request.UsePassive = true; - request.KeepAlive = true; + _request = CreateRequest(new Uri(_host, remoteFilepath), _credentials, WebRequestMethods.Ftp.DownloadFile); + SetRequestTimeout(); - response = (FtpWebResponse)request.GetResponse(); - _stream = response.GetResponseStream(); - byte[] buffer = new byte[Convert.ToInt32(GetFileSize(remoteFilepath))]; - int num = _stream.Read(buffer, 0, Convert.ToInt32(GetFileSize(remoteFilepath))); + _response = (FtpWebResponse)_request.GetResponse(); + Stream responseStream = _response.GetResponseStream(); - using (FileStream fileStream = new FileStream(localFilepath, FileMode.OpenOrCreate)) - { - try - { - while (num > 0) - { - fileStream.Write(buffer, 0, num); - num = _stream.Read(buffer, 0, Convert.ToInt32(GetFileSize(remoteFilepath))); - } - } - catch (Exception ex) - { - Console.WriteLine(ex.ToString()); - } - } + long destinationOrigin = destination.Position; + responseStream.CopyTo(destination); + destination.Position = destinationOrigin; - _stream.Close(); - response.Close(); - request = null; + responseStream.Close(); + _response.Close(); + _request = null; } catch (Exception ex) { @@ -108,85 +93,59 @@ namespace PckStudio.Classes.Misc { try { - request = CreateFTPWebRequest(new Uri(hostUri, directory), credentials, WebRequestMethods.Ftp.ListDirectory); - //request = (FtpWebRequest)WebRequest.Create(host + "/" + directory); - //request.Credentials = credentials; - //request.Method = WebRequestMethods.Ftp.ListDirectory; + _request = CreateRequest(new Uri(_host, directory), _credentials, WebRequestMethods.Ftp.ListDirectory); - request.UseBinary = true; - request.UsePassive = true; - request.KeepAlive = true; + SetRequestTimeout(); - response = (FtpWebResponse)request.GetResponse(); - _stream = response.GetResponseStream(); - StreamReader streamReader = new StreamReader(_stream); - string text = string.Empty; - try + _response = (FtpWebResponse)_request.GetResponse(); + + Stream responseStream = _response.GetResponseStream(); + StreamReader streamReader = new StreamReader(responseStream); + + IList text = new List(); + + while (streamReader.Peek() != -1) { - while (streamReader.Peek() != -1) - { - text += streamReader.ReadLine() + "|"; - } + text.Add(streamReader.ReadLine()); } - catch (Exception ex) - { - Console.WriteLine(ex.ToString()); - } - streamReader.Close(); - _stream.Close(); - response.Close(); - request = null; + responseStream.Close(); - try - { - return text.Split("|".ToCharArray()); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } + _response.Close(); + _request = null; + return text.ToArray(); } catch (Exception ex) { - Console.WriteLine(ex.Message); + Console.WriteLine(ex.ToString()); } return Array.Empty(); } public void UploadFile(string localFile, string remoteFile) + { + using (var fs = File.OpenRead(localFile)) + { + UploadFile(fs, remoteFile); + } + } + + public void UploadFile(Stream source, string remoteFile) { try { - request = CreateFTPWebRequest(new Uri(hostUri, remoteFile), credentials, WebRequestMethods.Ftp.UploadFile); - //request = (FtpWebRequest)WebRequest.Create(host + "/" + remoteFile); - //request.Credentials = credentials; - //request.Method = WebRequestMethods.Ftp.UploadFile; + _request = CreateRequest(new Uri(_host, remoteFile), _credentials, WebRequestMethods.Ftp.UploadFile); - request.UseBinary = true; - request.UsePassive = true; - request.KeepAlive = true; - - _stream = request.GetRequestStream(); - FileStream fileStream = new FileStream(localFile, FileMode.Open); - byte[] buffer = new byte[fileStream.Length]; - int num = fileStream.Read(buffer, 0, (int)fileStream.Length); - try - { - while (num != 0) - { - _stream.Write(buffer, 0, num); - num = fileStream.Read(buffer, 0, (int)fileStream.Length); - } - } - catch (Exception ex) - { - Console.WriteLine(ex.ToString()); - } + SetRequestTimeout(); - fileStream.Close(); - _stream.Close(); - request = null; + Stream requestStream = _request.GetRequestStream(); + source.CopyTo(requestStream); + requestStream.Close(); + + _response = (FtpWebResponse)_request.GetResponse(); + _response.Close(); + + _request = null; } catch (Exception ex) { @@ -198,19 +157,14 @@ namespace PckStudio.Classes.Misc { try { - request = CreateFTPWebRequest(new Uri(hostUri, filename), credentials, WebRequestMethods.Ftp.DeleteFile); - //request = (FtpWebRequest)WebRequest.Create(host + "/" + filename); - //request.Credentials = credentials; - //request.Method = WebRequestMethods.Ftp.DeleteFile; + _request = CreateRequest(new Uri(_host, filename), _credentials, WebRequestMethods.Ftp.DeleteFile); - request.UseBinary = true; - request.UsePassive = true; - request.KeepAlive = true; + SetRequestTimeout(); - response = (FtpWebResponse)request.GetResponse(); - response.Close(); + _response = (FtpWebResponse)_request.GetResponse(); + _response.Close(); - request = null; + _request = null; } catch (Exception ex) { @@ -222,19 +176,14 @@ namespace PckStudio.Classes.Misc { try { - request = CreateFTPWebRequest(new Uri(hostUri, name), credentials, WebRequestMethods.Ftp.Rename); - //request = (FtpWebRequest)WebRequest.Create(host + "/" + name); - //request.Credentials = credentials; - //request.Method = WebRequestMethods.Ftp.Rename; + _request = CreateRequest(new Uri(_host, name), _credentials, WebRequestMethods.Ftp.Rename); - request.UseBinary = true; - request.UsePassive = true; - request.KeepAlive = true; - - request.RenameTo = newName; - response = (FtpWebResponse)request.GetResponse(); - response.Close(); - request = null; + SetRequestTimeout(); + + _request.RenameTo = newName; + _response = (FtpWebResponse)_request.GetResponse(); + _response.Close(); + _request = null; } catch (Exception ex) { @@ -246,27 +195,21 @@ namespace PckStudio.Classes.Misc { try { - request = CreateFTPWebRequest(new Uri(hostUri, serverFilepath), credentials, WebRequestMethods.Ftp.AppendFile); - //request = (FtpWebRequest)WebRequest.Create(host + "/" + name); - //request.Credentials = credentials; - //request.Method = WebRequestMethods.Ftp.MakeDirectory; + _request = CreateRequest(new Uri(_host, serverFilepath), _credentials, WebRequestMethods.Ftp.AppendFile); - request.UseBinary = true; - request.UsePassive = true; - request.KeepAlive = true; + SetRequestTimeout(); - request.ContentLength = data.Length; + _request.ContentLength = data.Length; - // This example assumes the FTP site uses anonymous logon. - Stream requestStream = request.GetRequestStream(); + Stream requestStream = _request.GetRequestStream(); requestStream.Write(data, 0, data.Length); requestStream.Close(); - FtpWebResponse response = (FtpWebResponse)request.GetResponse(); + FtpWebResponse response = (FtpWebResponse)_request.GetResponse(); Console.WriteLine("Append status: {0}", response.StatusDescription); response.Close(); - request = null; + _request = null; } catch (Exception ex) { @@ -278,19 +221,14 @@ namespace PckStudio.Classes.Misc { try { - request = CreateFTPWebRequest(new Uri(hostUri, name), credentials, WebRequestMethods.Ftp.MakeDirectory); - //request = (FtpWebRequest)WebRequest.Create(host + "/" + name); - //request.Credentials = credentials; - //request.Method = WebRequestMethods.Ftp.MakeDirectory; + _request = CreateRequest(new Uri(_host, name), _credentials, WebRequestMethods.Ftp.MakeDirectory); - request.UseBinary = true; - request.UsePassive = true; - request.KeepAlive = true; + SetRequestTimeout(); - response = (FtpWebResponse)request.GetResponse(); - response.Close(); + _response = (FtpWebResponse)_request.GetResponse(); + _response.Close(); - request = null; + _request = null; } catch (Exception ex) { @@ -300,26 +238,34 @@ namespace PckStudio.Classes.Misc public long GetFileSize(string filepath) { - FtpWebRequest ftpWebRequest = CreateFTPWebRequest(new Uri(hostUri, filepath), credentials, WebRequestMethods.Ftp.GetFileSize); - //FtpWebRequest ftpWebRequest = (FtpWebRequest)WebRequest.Create(host + "/" + fileName); - //ftpWebRequest.Credentials = credentials; - //ftpWebRequest.Method = WebRequestMethods.Ftp.GetFileSize; + _request = CreateRequest(new Uri(_host, filepath), _credentials, WebRequestMethods.Ftp.GetFileSize); - ftpWebRequest.UseBinary = true; + SetRequestTimeout(); + + _response = (FtpWebResponse)_request.GetResponse(); + long contentLength = _response.ContentLength; + _response.Close(); - FtpWebResponse response = (FtpWebResponse)ftpWebRequest.GetResponse(); - long contentLength = response.ContentLength; - response.Close(); + _request = null; return contentLength; } + public void SetTimeoutLimit(TimeSpan delay) + { + _timeout = (int)delay.TotalMilliseconds; + } + + private void SetRequestTimeout() + { + if (_request != null) + _request.Timeout = _timeout; + } + public void Dispose() { - _stream.Dispose(); - response.Dispose(); - request = null; - response = null; - _stream = null; + _response?.Dispose(); + _request = null; + _response = null; } } } \ No newline at end of file diff --git a/PCK-Studio/Classes/Misc/OpenFolderDialog.cs b/PCK-Studio/Classes/Misc/OpenFolderDialog.cs new file mode 100644 index 00000000..5af8c808 --- /dev/null +++ b/PCK-Studio/Classes/Misc/OpenFolderDialog.cs @@ -0,0 +1,211 @@ +/* + * Source by: Simon Mourier(https://stackoverflow.com/users/403671/simon-mourier) + */ + +namespace PckStudio.Classes.Misc +{ + using System; + using System.Diagnostics; + using System.Runtime.InteropServices; + using System.Runtime.InteropServices.ComTypes; + using System.Windows; // for WPF support + using System.Windows.Interop; // for WPF support + + public class OpenFolderDialog + { + public virtual string ResultPath { get; protected set; } + public virtual string ResultName { get; protected set; } + public virtual string InputPath { get; set; } + public virtual bool ForceFileSystem { get; set; } + public virtual string Title { get; set; } + public virtual string OkButtonLabel { get; set; } + public virtual string FileNameLabel { get; set; } + + protected virtual int SetOptions(int options) + { + if (ForceFileSystem) + { + options |= (int)FOS.FOS_FORCEFILESYSTEM; + } + return options; + } + + // for WPF support + public bool? ShowDialog(Window owner = null, bool throwOnError = false) + { + owner ??= Application.Current.MainWindow; + return ShowDialog(owner != null ? new WindowInteropHelper(owner).Handle : IntPtr.Zero, throwOnError); + } + + // for all .NET + public virtual bool? ShowDialog(IntPtr owner, bool throwOnError = false) + { + var dialog = (IFileOpenDialog)new FileOpenDialog(); + if (!string.IsNullOrEmpty(InputPath)) + { + if (CheckHr(SHCreateItemFromParsingName(InputPath, null, typeof(IShellItem).GUID, out var item), throwOnError) != 0) + return null; + + dialog.SetFolder(item); + } + + var options = FOS.FOS_PICKFOLDERS; + options = (FOS)SetOptions((int)options); + dialog.SetOptions(options); + + if (Title != null) + { + dialog.SetTitle(Title); + } + + if (OkButtonLabel != null) + { + dialog.SetOkButtonLabel(OkButtonLabel); + } + + if (FileNameLabel != null) + { + dialog.SetFileName(FileNameLabel); + } + + if (owner == IntPtr.Zero) + { + owner = Process.GetCurrentProcess().MainWindowHandle; + if (owner == IntPtr.Zero) + { + owner = GetDesktopWindow(); + } + } + + var hr = dialog.Show(owner); + if (hr == ERROR_CANCELLED) + return null; + + if (CheckHr(hr, throwOnError) != 0) + return null; + + if (CheckHr(dialog.GetResult(out var result), throwOnError) != 0) + return null; + + if (CheckHr(result.GetDisplayName(SIGDN.SIGDN_DESKTOPABSOLUTEPARSING, out var path), throwOnError) != 0) + return null; + + ResultPath = path; + + if (CheckHr(result.GetDisplayName(SIGDN.SIGDN_DESKTOPABSOLUTEEDITING, out path), false) == 0) + { + ResultName = path; + } + return true; + } + + private static int CheckHr(int hr, bool throwOnError) + { + if (hr != 0) + { + if (throwOnError) + Marshal.ThrowExceptionForHR(hr); + } + return hr; + } + + [DllImport("shell32")] + private static extern int SHCreateItemFromParsingName([MarshalAs(UnmanagedType.LPWStr)] string pszPath, IBindCtx pbc, [MarshalAs(UnmanagedType.LPStruct)] Guid riid, out IShellItem ppv); + + [DllImport("user32")] + private static extern IntPtr GetDesktopWindow(); + +#pragma warning disable IDE1006 // Naming Styles + private const int ERROR_CANCELLED = unchecked((int)0x800704C7); +#pragma warning restore IDE1006 // Naming Styles + + [ComImport, Guid("DC1C5A9C-E88A-4dde-A5A1-60F82A20AEF7")] // CLSID_FileOpenDialog + private class FileOpenDialog + { + } + + [ComImport, Guid("42f85136-db7e-439c-85f1-e4075d135fc8"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + private interface IFileOpenDialog + { + [PreserveSig] int Show(IntPtr parent); // IModalWindow + [PreserveSig] int SetFileTypes(); // not fully defined + [PreserveSig] int SetFileTypeIndex(int iFileType); + [PreserveSig] int GetFileTypeIndex(out int piFileType); + [PreserveSig] int Advise(); // not fully defined + [PreserveSig] int Unadvise(); + [PreserveSig] int SetOptions(FOS fos); + [PreserveSig] int GetOptions(out FOS pfos); + [PreserveSig] int SetDefaultFolder(IShellItem psi); + [PreserveSig] int SetFolder(IShellItem psi); + [PreserveSig] int GetFolder(out IShellItem ppsi); + [PreserveSig] int GetCurrentSelection(out IShellItem ppsi); + [PreserveSig] int SetFileName([MarshalAs(UnmanagedType.LPWStr)] string pszName); + [PreserveSig] int GetFileName([MarshalAs(UnmanagedType.LPWStr)] out string pszName); + [PreserveSig] int SetTitle([MarshalAs(UnmanagedType.LPWStr)] string pszTitle); + [PreserveSig] int SetOkButtonLabel([MarshalAs(UnmanagedType.LPWStr)] string pszText); + [PreserveSig] int SetFileNameLabel([MarshalAs(UnmanagedType.LPWStr)] string pszLabel); + [PreserveSig] int GetResult(out IShellItem ppsi); + [PreserveSig] int AddPlace(IShellItem psi, int alignment); + [PreserveSig] int SetDefaultExtension([MarshalAs(UnmanagedType.LPWStr)] string pszDefaultExtension); + [PreserveSig] int Close(int hr); + [PreserveSig] int SetClientGuid(); // not fully defined + [PreserveSig] int ClearClientData(); + [PreserveSig] int SetFilter([MarshalAs(UnmanagedType.IUnknown)] object pFilter); + [PreserveSig] int GetResults([MarshalAs(UnmanagedType.IUnknown)] out object ppenum); + [PreserveSig] int GetSelectedItems([MarshalAs(UnmanagedType.IUnknown)] out object ppsai); + } + + [ComImport, Guid("43826D1E-E718-42EE-BC55-A1E261C37BFE"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + private interface IShellItem + { + [PreserveSig] int BindToHandler(); // not fully defined + [PreserveSig] int GetParent(); // not fully defined + [PreserveSig] int GetDisplayName(SIGDN sigdnName, [MarshalAs(UnmanagedType.LPWStr)] out string ppszName); + [PreserveSig] int GetAttributes(); // not fully defined + [PreserveSig] int Compare(); // not fully defined + } + +#pragma warning disable CA1712 // Do not prefix enum values with type name + private enum SIGDN : uint + { + SIGDN_DESKTOPABSOLUTEEDITING = 0x8004c000, + SIGDN_DESKTOPABSOLUTEPARSING = 0x80028000, + SIGDN_FILESYSPATH = 0x80058000, + SIGDN_NORMALDISPLAY = 0, + SIGDN_PARENTRELATIVE = 0x80080001, + SIGDN_PARENTRELATIVEEDITING = 0x80031001, + SIGDN_PARENTRELATIVEFORADDRESSBAR = 0x8007c001, + SIGDN_PARENTRELATIVEPARSING = 0x80018001, + SIGDN_URL = 0x80068000 + } + + [Flags] + private enum FOS + { + FOS_OVERWRITEPROMPT = 0x2, + FOS_STRICTFILETYPES = 0x4, + FOS_NOCHANGEDIR = 0x8, + FOS_PICKFOLDERS = 0x20, + FOS_FORCEFILESYSTEM = 0x40, + FOS_ALLNONSTORAGEITEMS = 0x80, + FOS_NOVALIDATE = 0x100, + FOS_ALLOWMULTISELECT = 0x200, + FOS_PATHMUSTEXIST = 0x800, + FOS_FILEMUSTEXIST = 0x1000, + FOS_CREATEPROMPT = 0x2000, + FOS_SHAREAWARE = 0x4000, + FOS_NOREADONLYRETURN = 0x8000, + FOS_NOTESTFILECREATE = 0x10000, + FOS_HIDEMRUPLACES = 0x20000, + FOS_HIDEPINNEDPLACES = 0x40000, + FOS_NODEREFERENCELINKS = 0x100000, + FOS_OKBUTTONNEEDSINTERACTION = 0x200000, + FOS_DONTADDTORECENT = 0x2000000, + FOS_FORCESHOWHIDDEN = 0x10000000, + FOS_DEFAULTNOMINIMODE = 0x20000000, + FOS_FORCEPREVIEWPANEON = 0x40000000, + FOS_SUPPORTSTREAMABLEITEMS = unchecked((int)0x80000000) + } +#pragma warning restore CA1712 // Do not prefix enum values with type name + } +} diff --git a/PCK-Studio/Classes/ToolboxItems/InterpolationPictureBox.cs b/PCK-Studio/Classes/ToolboxItems/PictureBoxWithInterpolationMode.cs similarity index 86% rename from PCK-Studio/Classes/ToolboxItems/InterpolationPictureBox.cs rename to PCK-Studio/Classes/ToolboxItems/PictureBoxWithInterpolationMode.cs index 674c785b..cbb93eec 100644 --- a/PCK-Studio/Classes/ToolboxItems/InterpolationPictureBox.cs +++ b/PCK-Studio/Classes/ToolboxItems/PictureBoxWithInterpolationMode.cs @@ -13,6 +13,7 @@ namespace PckStudio.ToolboxItems protected override void OnPaint(PaintEventArgs paintEventArgs) { paintEventArgs.Graphics.InterpolationMode = InterpolationMode; + paintEventArgs.Graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; base.OnPaint(paintEventArgs); } } diff --git a/PCK-Studio/Extensions/ColorExtensions.cs b/PCK-Studio/Extensions/ColorExtensions.cs index e2bb0ed7..8f971123 100644 --- a/PCK-Studio/Extensions/ColorExtensions.cs +++ b/PCK-Studio/Extensions/ColorExtensions.cs @@ -10,23 +10,22 @@ namespace PckStudio.Extensions /// Normalizes the Color between 0.0 - 1.0 /// /// - public static Vector3 Normalize(this Color color) + internal static Vector4 Normalize(this Color color) { - return new Vector3(color.R / 255f, color.G / 255f, color.B / 255f); + return new Vector4(color.R / 255f, color.G / 255f, color.B / 255f, color.A / 255f); } - private static T Clamp(T value, T min, T max) where T : IComparable + internal static T Clamp(T value, T min, T max) where T : IComparable { if (value.CompareTo(min) < 0) return min; if (value.CompareTo(max) > 0) return max; return value; } - public static byte BlendValues(float source, float overlay, BlendMode blendType) + internal static byte BlendValues(float source, float overlay, BlendMode blendType) { source = Clamp(source, 0.0f, 1.0f); overlay = Clamp(overlay, 0.0f, 1.0f); - float resultValue = blendType switch { BlendMode.Add => source + overlay, @@ -41,5 +40,20 @@ namespace PckStudio.Extensions return (byte)Clamp(resultValue * 255, 0, 255); } + internal static byte Mix(double ratio, byte val1, byte val2) + { + ratio = Clamp(ratio, 0.0, 1.0); + return (byte)(ratio * val1 + (1.0 - ratio) * val2); + } + + internal static Color Mix(this Color c1, Color c2, double ratio) + { + ratio = Clamp(ratio, 0.0, 1.0); + return Color.FromArgb(c1.A, + Mix(ratio, c1.R, c2.R), + Mix(ratio, c1.G, c2.G), + Mix(ratio, c1.B, c2.B) + ); + } } } diff --git a/PCK-Studio/Extensions/EnumerableExtensions.cs b/PCK-Studio/Extensions/EnumerableExtensions.cs index ed95e29f..275d2093 100644 --- a/PCK-Studio/Extensions/EnumerableExtensions.cs +++ b/PCK-Studio/Extensions/EnumerableExtensions.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Linq; namespace PckStudio.Extensions { @@ -13,5 +14,15 @@ namespace PckStudio.Extensions } yield break; } + + public static bool ContainsAny(this IEnumerable array, params T[] items) + { + foreach (var item in array) + { + if (items.Contains(item)) + return true; + } + return false; + } } } diff --git a/PCK-Studio/Extensions/ImageExtensions.cs b/PCK-Studio/Extensions/ImageExtensions.cs index 6ff27f23..b660a527 100644 --- a/PCK-Studio/Extensions/ImageExtensions.cs +++ b/PCK-Studio/Extensions/ImageExtensions.cs @@ -11,48 +11,9 @@ using System.Net; namespace PckStudio.Extensions { - public enum ImageLayoutDirection - { - Horizontal, - Vertical - } - internal static class ImageExtensions { - private struct ImageSection - { - public readonly Size Size; - public readonly Point Point; - public readonly Rectangle Area; - - public ImageSection(Size sectionSize, int index, ImageLayoutDirection layoutDirection) - { - switch(layoutDirection) - { - case ImageLayoutDirection.Horizontal: - { - Size = new Size(sectionSize.Height, sectionSize.Height); - Point = new Point(index * sectionSize.Height, 0); - } - break; - - case ImageLayoutDirection.Vertical: - { - Size = new Size(sectionSize.Width, sectionSize.Width); - Point = new Point(0, index * sectionSize.Width); - } - break; - - default: - Size = Size.Empty; - Point = new Point(-1, -1); - break; - } - Area = new Rectangle(Point, Size); - } - } - - public static Image GetArea(this Image source, Rectangle area) + internal static Image GetArea(this Image source, Rectangle area) { Image tileImage = new Bitmap(area.Width, area.Height); using (Graphics gfx = Graphics.FromImage(tileImage)) @@ -65,26 +26,43 @@ namespace PckStudio.Extensions return tileImage; } - public static IEnumerable CreateImageList(this Image source, Size size) + /// + /// Creates an image array by reading in horizontal order + /// + /// + /// Size of individual image inside of + internal static IEnumerable CreateImageList(this Image source, Size size) + { + return source.CreateImageList(size, ImageLayoutDirection.Horizontal); + } + + internal static IEnumerable CreateImageList(this Image source, int scalar) + { + return source.CreateImageList(scalar, ImageLayoutDirection.Horizontal); + } + + internal static IEnumerable CreateImageList(this Image source, int scalar, ImageLayoutDirection layoutDirection) + { + return CreateImageList(source, new Size(scalar, scalar), layoutDirection); + } + + internal static IEnumerable CreateImageList(this Image source, Size size, ImageLayoutDirection imageLayout) { int rowCount = source.Width / size.Width; int columnCount = source.Height / size.Height; - Debug.WriteLine($"{source.Width} {source.Height} {size} {columnCount} {rowCount}"); + Debug.WriteLine($"{nameof(source.Size)}={source.Size}, {nameof(size)}={size}, {columnCount} {rowCount}"); for (int i = 0; i < columnCount * rowCount; i++) { int row = Math.DivRem(i, rowCount, out int column); - Rectangle tileArea = new Rectangle(new Point(column * size.Height, row * size.Width), size); + if (imageLayout == ImageLayoutDirection.Vertical) + column = Math.DivRem(i, columnCount, out row); + Rectangle tileArea = new Rectangle(new Point(column * size.Width, row * size.Height), size); yield return source.GetArea(tileArea); } yield break; } - public static IEnumerable CreateImageList(this Image source, int scalar) - { - return CreateImageList(source, new Size(scalar, scalar)); - } - - public static IEnumerable CreateImageList(this Image source, ImageLayoutDirection layoutDirection) + internal static IEnumerable CreateImageList(this Image source, ImageLayoutDirection layoutDirection) { for (int i = 0; i < source.Height / source.Width; i++) { @@ -94,7 +72,7 @@ namespace PckStudio.Extensions yield break; } - public static Image CombineImages(IList sources, ImageLayoutDirection layoutDirection) + internal static Image CombineImages(this IList sources, ImageLayoutDirection layoutDirection) { Size imageSize = CalculateImageSize(sources, layoutDirection); var image = new Bitmap(imageSize.Width, imageSize.Height); @@ -132,7 +110,7 @@ namespace PckStudio.Extensions return new Size(width, height); } - public static Image ResizeImage(this Image image, int width, int height, GraphicsConfig graphicsConfig) + internal static Image ResizeImage(this Image image, int width, int height, GraphicsConfig graphicsConfig) { var destRect = new Rectangle(0, 0, width, height); var destImage = new Bitmap(width, height); @@ -151,7 +129,7 @@ namespace PckStudio.Extensions return destImage; } - public static Image Fill(this Image image, Color color) + internal static Image Fill(this Image image, Color color) { using (var g = Graphics.FromImage(image)) { @@ -163,7 +141,7 @@ namespace PckStudio.Extensions return image; } - public static Image Blend(this Image image, Color overlayColor, BlendMode mode) + internal static Image Blend(this Image image, Color overlayColor, BlendMode mode) { if (image is not Bitmap baseImage) return image; @@ -195,7 +173,7 @@ namespace PckStudio.Extensions return bitmapResult; } - public static Image Blend(this Image image, Image overlay, BlendMode mode) + internal static Image Blend(this Image image, Image overlay, BlendMode mode) { if (image is not Bitmap baseImage || overlay is not Bitmap overlayImage || image.Width != overlay.Width || image.Height != overlay.Height) @@ -232,6 +210,44 @@ namespace PckStudio.Extensions return bitmapResult; } + internal static Image Interpolate(this Image image1, Image image2, double delta) + { + delta = ColorExtensions.Clamp(delta, 0.0, 1.0); + if (image1 is not Bitmap baseImage || image2 is not Bitmap overlayImage || + image1.Width != image2.Width || image1.Height != image2.Height) + return image1; + + BitmapData baseImageData = baseImage.LockBits(new Rectangle(Point.Empty, baseImage.Size), + ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); + byte[] baseImageBuffer = new byte[baseImageData.Stride * baseImageData.Height]; + + Marshal.Copy(baseImageData.Scan0, baseImageBuffer, 0, baseImageBuffer.Length); + + BitmapData overlayImageData = overlayImage.LockBits(new Rectangle(Point.Empty, overlayImage.Size), + ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); + byte[] overlayImageBuffer = new byte[overlayImageData.Stride * overlayImageData.Height]; + + Marshal.Copy(overlayImageData.Scan0, overlayImageBuffer, 0, overlayImageBuffer.Length); + + for (int k = 0; k < baseImageBuffer.Length && k < overlayImageBuffer.Length; k += 4) + { + baseImageBuffer[k + 0] = ColorExtensions.Mix(delta, baseImageBuffer[k + 0], overlayImageBuffer[k + 0]); + baseImageBuffer[k + 1] = ColorExtensions.Mix(delta, baseImageBuffer[k + 1], overlayImageBuffer[k + 1]); + baseImageBuffer[k + 2] = ColorExtensions.Mix(delta, baseImageBuffer[k + 2], overlayImageBuffer[k + 2]); + } + + Bitmap bitmapResult = new Bitmap(baseImage.Width, baseImage.Height, PixelFormat.Format32bppArgb); + BitmapData resultImageData = bitmapResult.LockBits(new Rectangle(Point.Empty, bitmapResult.Size), + ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb); + + Marshal.Copy(baseImageBuffer, 0, resultImageData.Scan0, baseImageBuffer.Length); + + bitmapResult.UnlockBits(resultImageData); + baseImage.UnlockBits(baseImageData); + overlayImage.UnlockBits(overlayImageData); + return bitmapResult; + } + public static Image ImageFromUrl(string imageUrl) { WebClient client = new WebClient(); diff --git a/PCK-Studio/Extensions/ImageLayoutDirection.cs b/PCK-Studio/Extensions/ImageLayoutDirection.cs new file mode 100644 index 00000000..7cfc23eb --- /dev/null +++ b/PCK-Studio/Extensions/ImageLayoutDirection.cs @@ -0,0 +1,8 @@ +namespace PckStudio.Extensions +{ + internal enum ImageLayoutDirection + { + Horizontal, + Vertical + } +} diff --git a/PCK-Studio/Extensions/ImageSection.cs b/PCK-Studio/Extensions/ImageSection.cs new file mode 100644 index 00000000..b6e8fa26 --- /dev/null +++ b/PCK-Studio/Extensions/ImageSection.cs @@ -0,0 +1,37 @@ +using System.Drawing; + +namespace PckStudio.Extensions +{ + struct ImageSection + { + public readonly Size Size; + public readonly Point Point; + public readonly Rectangle Area; + + internal ImageSection(Size sectionSize, int index, ImageLayoutDirection layoutDirection) + { + switch(layoutDirection) + { + case ImageLayoutDirection.Horizontal: + { + Size = new Size(sectionSize.Height, sectionSize.Height); + Point = new Point(index * sectionSize.Height, 0); + } + break; + + case ImageLayoutDirection.Vertical: + { + Size = new Size(sectionSize.Width, sectionSize.Width); + Point = new Point(0, index * sectionSize.Width); + } + break; + + default: + Size = Size.Empty; + Point = new Point(-1, -1); + break; + } + Area = new Rectangle(Point, Size); + } + } +} diff --git a/PCK-Studio/Features/CemuPanel.Designer.cs b/PCK-Studio/Features/CemuPanel.Designer.cs new file mode 100644 index 00000000..b197f251 --- /dev/null +++ b/PCK-Studio/Features/CemuPanel.Designer.cs @@ -0,0 +1,285 @@ +namespace PckStudio.Features +{ + partial class CemuPanel + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.TableLayoutPanel layoutPanel; + this.radioButtonEur = new System.Windows.Forms.RadioButton(); + this.radioButtonUs = new System.Windows.Forms.RadioButton(); + this.radioButtonJap = new System.Windows.Forms.RadioButton(); + this.GameDirectoryTextBox = new MetroFramework.Controls.MetroTextBox(); + this.BrowseDirectoryBtn = new System.Windows.Forms.Button(); + this.DLCTreeView = new System.Windows.Forms.TreeView(); + this.DLCContextMenu = new MetroFramework.Controls.MetroContextMenu(this.components); + this.openSkinPackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.openTexturePackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.addCustomPckToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.removePckToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + layoutPanel = new System.Windows.Forms.TableLayoutPanel(); + layoutPanel.SuspendLayout(); + this.DLCContextMenu.SuspendLayout(); + this.SuspendLayout(); + // + // layoutPanel + // + layoutPanel.BackColor = System.Drawing.Color.Black; + layoutPanel.ColumnCount = 3; + layoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33332F)); + layoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); + layoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); + layoutPanel.Controls.Add(this.radioButtonEur, 0, 1); + layoutPanel.Controls.Add(this.radioButtonUs, 1, 1); + layoutPanel.Controls.Add(this.radioButtonJap, 2, 1); + layoutPanel.Controls.Add(this.GameDirectoryTextBox, 0, 0); + layoutPanel.Controls.Add(this.BrowseDirectoryBtn, 2, 0); + layoutPanel.Controls.Add(this.DLCTreeView, 0, 2); + layoutPanel.Dock = System.Windows.Forms.DockStyle.Fill; + layoutPanel.Location = new System.Drawing.Point(0, 0); + layoutPanel.Margin = new System.Windows.Forms.Padding(0); + layoutPanel.Name = "layoutPanel"; + layoutPanel.RowCount = 3; + layoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle()); + layoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 36F)); + layoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + layoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + layoutPanel.Size = new System.Drawing.Size(430, 550); + layoutPanel.TabIndex = 4; + // + // radioButtonEur + // + this.radioButtonEur.Appearance = System.Windows.Forms.Appearance.Button; + this.radioButtonEur.AutoSize = true; + this.radioButtonEur.BackColor = System.Drawing.Color.Transparent; + this.radioButtonEur.CheckAlign = System.Drawing.ContentAlignment.BottomRight; + this.radioButtonEur.Checked = true; + this.radioButtonEur.Dock = System.Windows.Forms.DockStyle.Fill; + this.radioButtonEur.FlatAppearance.CheckedBackColor = System.Drawing.Color.DodgerBlue; + this.radioButtonEur.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; + this.radioButtonEur.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); + this.radioButtonEur.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.radioButtonEur.Font = new System.Drawing.Font("Segoe UI", 12F); + this.radioButtonEur.ForeColor = System.Drawing.Color.White; + this.radioButtonEur.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.radioButtonEur.Location = new System.Drawing.Point(3, 36); + this.radioButtonEur.Name = "radioButtonEur"; + this.radioButtonEur.Size = new System.Drawing.Size(137, 30); + this.radioButtonEur.TabIndex = 1; + this.radioButtonEur.TabStop = true; + this.radioButtonEur.Text = "EUR"; + this.radioButtonEur.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.radioButtonEur.UseVisualStyleBackColor = false; + this.radioButtonEur.Click += new System.EventHandler(this.radioButton_Click); + // + // radioButtonUs + // + this.radioButtonUs.Appearance = System.Windows.Forms.Appearance.Button; + this.radioButtonUs.AutoSize = true; + this.radioButtonUs.BackColor = System.Drawing.Color.Transparent; + this.radioButtonUs.CheckAlign = System.Drawing.ContentAlignment.BottomRight; + this.radioButtonUs.Dock = System.Windows.Forms.DockStyle.Fill; + this.radioButtonUs.FlatAppearance.CheckedBackColor = System.Drawing.Color.DodgerBlue; + this.radioButtonUs.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; + this.radioButtonUs.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); + this.radioButtonUs.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.radioButtonUs.Font = new System.Drawing.Font("Segoe UI", 12F); + this.radioButtonUs.ForeColor = System.Drawing.Color.White; + this.radioButtonUs.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.radioButtonUs.Location = new System.Drawing.Point(146, 36); + this.radioButtonUs.Name = "radioButtonUs"; + this.radioButtonUs.Size = new System.Drawing.Size(137, 30); + this.radioButtonUs.TabIndex = 0; + this.radioButtonUs.Text = "US"; + this.radioButtonUs.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.radioButtonUs.UseVisualStyleBackColor = false; + this.radioButtonUs.Click += new System.EventHandler(this.radioButton_Click); + // + // radioButtonJap + // + this.radioButtonJap.Appearance = System.Windows.Forms.Appearance.Button; + this.radioButtonJap.AutoSize = true; + this.radioButtonJap.BackColor = System.Drawing.Color.Transparent; + this.radioButtonJap.CheckAlign = System.Drawing.ContentAlignment.BottomRight; + this.radioButtonJap.Dock = System.Windows.Forms.DockStyle.Fill; + this.radioButtonJap.FlatAppearance.CheckedBackColor = System.Drawing.Color.DodgerBlue; + this.radioButtonJap.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; + this.radioButtonJap.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); + this.radioButtonJap.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.radioButtonJap.Font = new System.Drawing.Font("Segoe UI", 12F); + this.radioButtonJap.ForeColor = System.Drawing.Color.White; + this.radioButtonJap.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.radioButtonJap.Location = new System.Drawing.Point(289, 36); + this.radioButtonJap.Name = "radioButtonJap"; + this.radioButtonJap.Size = new System.Drawing.Size(138, 30); + this.radioButtonJap.TabIndex = 2; + this.radioButtonJap.Text = "JAP"; + this.radioButtonJap.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.radioButtonJap.UseVisualStyleBackColor = false; + this.radioButtonJap.Click += new System.EventHandler(this.radioButton_Click); + // + // GameDirectoryTextBox + // + this.GameDirectoryTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + layoutPanel.SetColumnSpan(this.GameDirectoryTextBox, 2); + // + // + // + this.GameDirectoryTextBox.CustomButton.Image = null; + this.GameDirectoryTextBox.CustomButton.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.GameDirectoryTextBox.CustomButton.Location = new System.Drawing.Point(254, 1); + this.GameDirectoryTextBox.CustomButton.Name = ""; + this.GameDirectoryTextBox.CustomButton.Size = new System.Drawing.Size(25, 25); + this.GameDirectoryTextBox.CustomButton.Style = MetroFramework.MetroColorStyle.Blue; + this.GameDirectoryTextBox.CustomButton.TabIndex = 1; + this.GameDirectoryTextBox.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light; + this.GameDirectoryTextBox.CustomButton.UseSelectable = true; + this.GameDirectoryTextBox.CustomButton.Visible = false; + this.GameDirectoryTextBox.Dock = System.Windows.Forms.DockStyle.Fill; + this.GameDirectoryTextBox.Enabled = false; + this.GameDirectoryTextBox.Lines = new string[0]; + this.GameDirectoryTextBox.Location = new System.Drawing.Point(3, 3); + this.GameDirectoryTextBox.MaxLength = 32767; + this.GameDirectoryTextBox.Name = "GameDirectoryTextBox"; + this.GameDirectoryTextBox.PasswordChar = '\0'; + this.GameDirectoryTextBox.PromptText = "Cemu Game Directory"; + this.GameDirectoryTextBox.ScrollBars = System.Windows.Forms.ScrollBars.None; + this.GameDirectoryTextBox.SelectedText = ""; + this.GameDirectoryTextBox.SelectionLength = 0; + this.GameDirectoryTextBox.SelectionStart = 0; + this.GameDirectoryTextBox.ShortcutsEnabled = true; + this.GameDirectoryTextBox.Size = new System.Drawing.Size(280, 27); + this.GameDirectoryTextBox.Style = MetroFramework.MetroColorStyle.Blue; + this.GameDirectoryTextBox.TabIndex = 11; + this.GameDirectoryTextBox.Theme = MetroFramework.MetroThemeStyle.Dark; + this.GameDirectoryTextBox.UseSelectable = true; + this.GameDirectoryTextBox.WaterMark = "Cemu Game Directory"; + this.GameDirectoryTextBox.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109))))); + this.GameDirectoryTextBox.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel); + this.GameDirectoryTextBox.TextChanged += new System.EventHandler(this.GameDirectoryTextBox_TextChanged); + // + // BrowseDirectoryBtn + // + this.BrowseDirectoryBtn.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.BrowseDirectoryBtn.BackColor = System.Drawing.Color.DarkCyan; + this.BrowseDirectoryBtn.Dock = System.Windows.Forms.DockStyle.Fill; + this.BrowseDirectoryBtn.FlatAppearance.BorderSize = 0; + this.BrowseDirectoryBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.BrowseDirectoryBtn.Font = new System.Drawing.Font("Segoe UI", 9.75F); + this.BrowseDirectoryBtn.ForeColor = System.Drawing.Color.White; + this.BrowseDirectoryBtn.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.BrowseDirectoryBtn.Location = new System.Drawing.Point(289, 3); + this.BrowseDirectoryBtn.Name = "BrowseDirectoryBtn"; + this.BrowseDirectoryBtn.Size = new System.Drawing.Size(138, 27); + this.BrowseDirectoryBtn.TabIndex = 12; + this.BrowseDirectoryBtn.Text = "Browse"; + this.BrowseDirectoryBtn.UseVisualStyleBackColor = false; + this.BrowseDirectoryBtn.Click += new System.EventHandler(this.BrowseDirectoryBtn_Click); + // + // DLCTreeView + // + this.DLCTreeView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + layoutPanel.SetColumnSpan(this.DLCTreeView, 3); + this.DLCTreeView.ContextMenuStrip = this.DLCContextMenu; + this.DLCTreeView.Location = new System.Drawing.Point(3, 72); + this.DLCTreeView.Name = "DLCTreeView"; + this.DLCTreeView.Size = new System.Drawing.Size(424, 475); + this.DLCTreeView.TabIndex = 13; + this.DLCTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.DLCTreeView_AfterSelect); + this.DLCTreeView.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.DLCTreeView_NodeMouseDoubleClick); + // + // DLCContextMenu + // + this.DLCContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.openSkinPackToolStripMenuItem, + this.openTexturePackToolStripMenuItem, + this.addCustomPckToolStripMenuItem, + this.removePckToolStripMenuItem}); + this.DLCContextMenu.Name = "DLCContextMenu"; + this.DLCContextMenu.Size = new System.Drawing.Size(173, 92); + // + // openSkinPackToolStripMenuItem + // + this.openSkinPackToolStripMenuItem.Name = "openSkinPackToolStripMenuItem"; + this.openSkinPackToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.openSkinPackToolStripMenuItem.Text = "Open Pack"; + this.openSkinPackToolStripMenuItem.Click += new System.EventHandler(this.openSkinPackToolStripMenuItem_Click); + // + // openTexturePackToolStripMenuItem + // + this.openTexturePackToolStripMenuItem.Name = "openTexturePackToolStripMenuItem"; + this.openTexturePackToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.openTexturePackToolStripMenuItem.Text = "Open Texture Pack"; + this.openTexturePackToolStripMenuItem.Click += new System.EventHandler(this.openTexturePackToolStripMenuItem_Click); + // + // addCustomPckToolStripMenuItem + // + this.addCustomPckToolStripMenuItem.Name = "addCustomPckToolStripMenuItem"; + this.addCustomPckToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.addCustomPckToolStripMenuItem.Text = "Add pck"; + this.addCustomPckToolStripMenuItem.Click += new System.EventHandler(this.addCustomPckToolStripMenuItem_Click); + // + // removePckToolStripMenuItem + // + this.removePckToolStripMenuItem.Name = "removePckToolStripMenuItem"; + this.removePckToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.removePckToolStripMenuItem.Text = "Remove pck"; + this.removePckToolStripMenuItem.Click += new System.EventHandler(this.removePckToolStripMenuItem_Click); + // + // CemuPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoSize = true; + this.BackColor = System.Drawing.SystemColors.ActiveCaptionText; + this.Controls.Add(layoutPanel); + this.Name = "CemuPanel"; + this.Size = new System.Drawing.Size(430, 550); + layoutPanel.ResumeLayout(false); + layoutPanel.PerformLayout(); + this.DLCContextMenu.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button BrowseDirectoryBtn; + private MetroFramework.Controls.MetroTextBox GameDirectoryTextBox; + private System.Windows.Forms.RadioButton radioButtonEur; + private System.Windows.Forms.RadioButton radioButtonUs; + private System.Windows.Forms.RadioButton radioButtonJap; + private System.Windows.Forms.TreeView DLCTreeView; + private MetroFramework.Controls.MetroContextMenu DLCContextMenu; + private System.Windows.Forms.ToolStripMenuItem openSkinPackToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem openTexturePackToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem addCustomPckToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem removePckToolStripMenuItem; + } +} diff --git a/PCK-Studio/Features/CemuPanel.cs b/PCK-Studio/Features/CemuPanel.cs new file mode 100644 index 00000000..8d6757bd --- /dev/null +++ b/PCK-Studio/Features/CemuPanel.cs @@ -0,0 +1,282 @@ +using System; +using System.Xml; +using System.IO; +using System.Linq; +using System.Windows.Forms; +using PckStudio.Extensions; +using PckStudio.Classes.Misc; + +namespace PckStudio.Features +{ + /// + /// Wishlist: + /// - add the ability to save the currently open pck file to the desired folder destination. + /// (even if the pck file has not yet be saved to disk) + /// + public partial class CemuPanel : UserControl + { + public CemuPanel() + { + InitializeComponent(); + if (!TryApplyPermanentCemuConfig() && + MessageBox.Show("Failed to get Cemu perma settings\nDo you want to open your local settings.xml file?", + "Cemu mlc path not found", + MessageBoxButtons.YesNo, + MessageBoxIcon.Warning) == DialogResult.Yes + ) + { + + OpenFileDialog fileDialog = new OpenFileDialog() + { + Filter = "Cemu Settings|settings.xml", + }; + + if (fileDialog.ShowDialog(this) == DialogResult.OK) + { + TryApplyCemuConfig(fileDialog.FileName); + } + } + } + + private bool TryApplyCemuConfig(string settingsPath) + { + string cemuPath = Path.Combine(Path.GetDirectoryName(settingsPath), "Cemu.exe"); + if (File.Exists(cemuPath)) + { + var xml = new XmlDocument(); + xml.Load(settingsPath); + GameDirectoryTextBox.Text = xml.SelectSingleNode("content").SelectSingleNode("mlc_path").InnerText; + BrowseDirectoryBtn.Enabled = false; + } + return false; + } + + private bool TryApplyPermanentCemuConfig() + { + string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Cemu"); + string filepath = Path.Combine(path, "perm_setting.xml"); + if (Directory.Exists(path) && File.Exists(filepath)) + { + try + { + var xml = new XmlDocument(); + xml.Load(filepath); + var configNode = xml.SelectSingleNode("config"); + var mlcpathNode = configNode.SelectSingleNode("MlcPath"); + GameDirectoryTextBox.Text = mlcpathNode.InnerText; + BrowseDirectoryBtn.Enabled = false; + return true; + } + catch + { + return false; + } + } + return false; + } + + private string GetSelectedRegionTitleId() + { + if (radioButtonEur.Checked) + { + return "101d7500"; + } + if (radioButtonUs.Checked) + { + return "101d9d00"; + } + if (radioButtonJap.Checked) + { + return "101dbe00"; + } + throw new Exception("how did you get here ?"); + } + + private string GetGameContentPath() + { + string region = GetSelectedRegionTitleId(); + return $"{GameDirectoryTextBox.Text}/usr/title/0005000e/{region}/content"; + } + + private string GetContentSubDirectory(params string[] subpaths) + { + return Path.Combine(GetGameContentPath(), Path.Combine(subpaths)); + } + + private void BrowseDirectoryBtn_Click(object sender, EventArgs e) + { + OpenFolderDialog openFolderDialog = new OpenFolderDialog + { + Title = "Select Cemu mlc01 Directory" + }; + if (openFolderDialog.ShowDialog(Handle) == true && Directory.Exists(openFolderDialog.ResultPath)) + { + GameDirectoryTextBox.Text = openFolderDialog.ResultPath; + } + } + + private class DLCDirectoryInfo + { + private readonly bool _hasTexturePack; + private readonly string _basePckPath; + private readonly string _texturePackPath; + + public bool HasTexturePack => _hasTexturePack; + public string PackPath => _basePckPath; + public string TexturePackPath => _texturePackPath; + + public DLCDirectoryInfo(DirectoryInfo directory) + { + _basePckPath = directory.GetFiles().FirstOrDefault(f => f.Name.EndsWith(".pck")).FullName; + _ = _basePckPath ?? throw new NullReferenceException($"Could not find any '.pck' inside {directory.Name}"); + if (TryGetDataDirectory(directory, out var dataDir)) + { + var tpFileInfo = dataDir.GetFiles().FirstOrDefault(f => !f.Name.Equals("audio.pck") && f.Name.EndsWith(".pck")); + _hasTexturePack = tpFileInfo is not null; + _texturePackPath = _hasTexturePack ? tpFileInfo.FullName : string.Empty; + } + } + + public DLCDirectoryInfo(string path) + : this(new DirectoryInfo(path)) + { + } + + private bool TryGetDataDirectory(DirectoryInfo directory, out DirectoryInfo dataDirectory) + { + var dirs = directory.GetDirectories("Data", SearchOption.TopDirectoryOnly); + dataDirectory = dirs.Length != 0 ? dirs[0] : null; + return dirs.Length != 0; + } + } + + private void ListDLCs() + { + DLCTreeView.Nodes.Clear(); + if (!IsValidInstallDirectory()) + { + MessageBox.Show("Please select a valid Game Directory!", "Invalid Directory Specified", + MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + if (!IsValidGameDirectory()) + { + MessageBox.Show($"Could not find '{GetGameContentPath()}'!", "Not Found", + MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + string dirPath = GetContentSubDirectory("WiiU", "DLC"); + DirectoryInfo dlcDirectory = new DirectoryInfo(dirPath); + + if (!dlcDirectory.Exists) + { + MessageBox.Show($"'{dirPath}' does not exist!", "Not Found", + MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + foreach (var directoryInfo in dlcDirectory.GetDirectories()) + { + if (directoryInfo.GetFileSystemInfos().Length != 0) + { + var node = DLCTreeView.Nodes.Add(directoryInfo.Name); + node.Tag = new DLCDirectoryInfo(directoryInfo); + } + } + } + + private bool IsValidInstallDirectory() + { + return !string.IsNullOrWhiteSpace(GameDirectoryTextBox.Text) && Directory.Exists(GameDirectoryTextBox.Text); + } + + private void radioButton_Click(object sender, EventArgs e) + { + ListDLCs(); + } + + private bool IsValidGameDirectory() + { + return IsValidInstallDirectory() && Directory.Exists(GetGameContentPath()); + } + + private void openSkinPackToolStripMenuItem_Click(object sender, EventArgs e) + { + if (DLCTreeView.SelectedNode.Tag is DLCDirectoryInfo dlcDir) + { + Program.MainInstance.LoadPckFromFile(dlcDir.PackPath); + } + } + + private void openTexturePackToolStripMenuItem_Click(object sender, EventArgs e) + { + if (DLCTreeView.SelectedNode.Tag is DLCDirectoryInfo dlcDir && dlcDir.HasTexturePack) + { + Program.MainInstance.LoadPckFromFile(dlcDir.TexturePackPath); + } + } + + private void DLCTreeView_AfterSelect(object sender, TreeViewEventArgs e) + { + openTexturePackToolStripMenuItem.Visible = e.Node.Tag is DLCDirectoryInfo dlcDir && dlcDir.HasTexturePack; + } + + private void addCustomPckToolStripMenuItem_Click(object sender, EventArgs e) + { + RenamePrompt prompt = new RenamePrompt(string.Empty); + prompt.OKButton.Text = "OK"; + prompt.TextLabel.Text = "Folder:"; + + if (prompt.ShowDialog(this) != DialogResult.OK) + return; + + if (prompt.NewText.ContainsAny(Path.GetInvalidPathChars())) + { + MessageBox.Show("Invalid Folder name entered!", "Invalid Folder Name", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + string directoryPath = GetContentSubDirectory("WiiU", "DLC", prompt.NewText); + + if (Directory.Exists(directoryPath)) + { + MessageBox.Show("A Folder with the same name already exists!", "Folder Name taken", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + Directory.CreateDirectory(directoryPath); + + using OpenFileDialog fileDialog = new OpenFileDialog + { + Filter = "PCK (Minecraft Console Package)|*.pck" + }; + if (fileDialog.ShowDialog(this) == DialogResult.OK) + { + File.Copy(fileDialog.FileName, Path.Combine(directoryPath, fileDialog.SafeFileName)); + } + } + + private void removePckToolStripMenuItem_Click(object sender, EventArgs e) + { + string pckName = DLCTreeView.SelectedNode.Text; + var result = MessageBox.Show($"Are you sure you want to permanently delete '{pckName}'?", "Hold up!", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); + if (result == DialogResult.Yes) + { + string directoryPath = GetContentSubDirectory("WiiU", "DLC", pckName); + Directory.Delete(directoryPath, recursive: true); + DLCTreeView.SelectedNode.Remove(); + } + } + + private void DLCTreeView_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) + { + openSkinPackToolStripMenuItem_Click(sender, e); + } + + private void GameDirectoryTextBox_TextChanged(object sender, EventArgs e) + { + ListDLCs(); + } + } +} diff --git a/PCK-Studio/Forms/Utilities/ConsoleInstaller.resx b/PCK-Studio/Features/CemuPanel.resx similarity index 95% rename from PCK-Studio/Forms/Utilities/ConsoleInstaller.resx rename to PCK-Studio/Features/CemuPanel.resx index b5e534e5..e04b8618 100644 --- a/PCK-Studio/Forms/Utilities/ConsoleInstaller.resx +++ b/PCK-Studio/Features/CemuPanel.resx @@ -117,10 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + False - - False + + 17, 17 \ No newline at end of file diff --git a/PCK-Studio/Forms/Utilities/installWiiU.ja.resx b/PCK-Studio/Features/InstallWiiU.ja.resx similarity index 100% rename from PCK-Studio/Forms/Utilities/installWiiU.ja.resx rename to PCK-Studio/Features/InstallWiiU.ja.resx diff --git a/PCK-Studio/Features/PckManager.Designer.cs b/PCK-Studio/Features/PckManager.Designer.cs new file mode 100644 index 00000000..9d06e8dc --- /dev/null +++ b/PCK-Studio/Features/PckManager.Designer.cs @@ -0,0 +1,127 @@ +namespace PckStudio.Features +{ + partial class PckManager + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + MetroFramework.Controls.MetroLabel metroLabel1; + MetroFramework.Controls.MetroLabel metroLabel2; + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PckManager)); + this.supportedPlatformComboBox = new MetroFramework.Controls.MetroComboBox(); + this.mainPanel = new System.Windows.Forms.TableLayoutPanel(); + metroLabel1 = new MetroFramework.Controls.MetroLabel(); + metroLabel2 = new MetroFramework.Controls.MetroLabel(); + this.mainPanel.SuspendLayout(); + this.SuspendLayout(); + // + // metroLabel1 + // + metroLabel1.AutoSize = true; + metroLabel1.Location = new System.Drawing.Point(264, 73); + metroLabel1.Name = "metroLabel1"; + metroLabel1.Size = new System.Drawing.Size(90, 19); + metroLabel1.Style = MetroFramework.MetroColorStyle.Black; + metroLabel1.TabIndex = 1; + metroLabel1.Text = "Console Type:"; + metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // metroLabel2 + // + metroLabel2.AutoSize = true; + metroLabel2.Dock = System.Windows.Forms.DockStyle.Fill; + metroLabel2.Location = new System.Drawing.Point(3, 0); + metroLabel2.Name = "metroLabel2"; + metroLabel2.Size = new System.Drawing.Size(183, 35); + metroLabel2.Style = MetroFramework.MetroColorStyle.Black; + metroLabel2.TabIndex = 13; + metroLabel2.Text = "Platform type:"; + metroLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // supportedPlatformComboBox + // + this.supportedPlatformComboBox.BackColor = System.Drawing.SystemColors.Window; + this.supportedPlatformComboBox.Dock = System.Windows.Forms.DockStyle.Fill; + this.supportedPlatformComboBox.FormattingEnabled = true; + this.supportedPlatformComboBox.ItemHeight = 23; + this.supportedPlatformComboBox.Location = new System.Drawing.Point(192, 3); + this.supportedPlatformComboBox.Name = "supportedPlatformComboBox"; + this.supportedPlatformComboBox.PromptText = "Select Platform"; + this.supportedPlatformComboBox.Size = new System.Drawing.Size(184, 29); + this.supportedPlatformComboBox.Style = MetroFramework.MetroColorStyle.Black; + this.supportedPlatformComboBox.TabIndex = 0; + this.supportedPlatformComboBox.Theme = MetroFramework.MetroThemeStyle.Dark; + this.supportedPlatformComboBox.UseSelectable = true; + this.supportedPlatformComboBox.SelectedIndexChanged += new System.EventHandler(this.supportedPlatformComboBox_SelectedIndexChanged); + // + // mainPanel + // + this.mainPanel.BackColor = System.Drawing.Color.Transparent; + this.mainPanel.ColumnCount = 2; + this.mainPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.mainPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.mainPanel.Controls.Add(this.supportedPlatformComboBox, 1, 0); + this.mainPanel.Controls.Add(metroLabel2, 0, 0); + this.mainPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.mainPanel.Location = new System.Drawing.Point(20, 60); + this.mainPanel.Margin = new System.Windows.Forms.Padding(0); + this.mainPanel.Name = "mainPanel"; + this.mainPanel.RowCount = 2; + this.mainPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F)); + this.mainPanel.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.mainPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.mainPanel.Size = new System.Drawing.Size(379, 560); + this.mainPanel.TabIndex = 3; + // + // PckManager + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(419, 640); + this.Controls.Add(this.mainPanel); + this.Controls.Add(metroLabel1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(419, 640); + this.Name = "PckManager"; + this.Style = MetroFramework.MetroColorStyle.Silver; + this.Text = "Pck Manager"; + this.Theme = MetroFramework.MetroThemeStyle.Dark; + this.mainPanel.ResumeLayout(false); + this.mainPanel.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private MetroFramework.Controls.MetroComboBox supportedPlatformComboBox; + private System.Windows.Forms.TableLayoutPanel mainPanel; + } +} \ No newline at end of file diff --git a/PCK-Studio/Features/PckManager.cs b/PCK-Studio/Features/PckManager.cs new file mode 100644 index 00000000..a533ba84 --- /dev/null +++ b/PCK-Studio/Features/PckManager.cs @@ -0,0 +1,81 @@ +/* Copyright (c) 2022-present miku-666 + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. +**/ +using System; +using System.Windows.Forms; + +namespace PckStudio.Features +{ + public partial class PckManager : MetroFramework.Forms.MetroForm + { + private Control currentlyShowingControl; + private const string CemU = "Cemu"; + + // TODO: Implement these Panels + private const string WiiU = "Wii U"; + private const string PS3 = "Play Station 3"; + private const string PSVita = "PS Vita"; + private const string RPCS3 = "RPCS3"; + + public PckManager() + { + InitializeComponent(); + supportedPlatformComboBox.Items.AddRange(new string[] + { + // WiiU, + // PS3, + // PSVita, + CemU, + // RPCS3, + }); + } + + protected override void OnGotFocus(EventArgs e) + { + currentlyShowingControl?.Focus(); + } + + private void supportedPlatformComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + mainPanel.Controls.Remove(currentlyShowingControl); + if (supportedPlatformComboBox.SelectedIndex > -1) + { + string text = supportedPlatformComboBox.Items[supportedPlatformComboBox.SelectedIndex].ToString(); + try + { + currentlyShowingControl = text switch + { + CemU => new CemuPanel(), + //WiiU => new WiiUPanel(), + //PS3 => throw new NotImplementedException($"{text}-Panel is currently not implemented."), + //PSVita => throw new NotImplementedException($"{text}-Panel is currently not implemented."), + //RPCS3 => throw new NotImplementedException($"{text}-Panel is currently not implemented."), + _ => throw new Exception($"No Panel found for: {text}"), + }; + currentlyShowingControl.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right; + mainPanel.SetColumnSpan(currentlyShowingControl, 2); + mainPanel.Controls.Add(currentlyShowingControl, 0, 1); + } + catch (NotImplementedException ex) + { + MessageBox.Show(ex.Message, "Not Implemented"); + } + + } + } + } +} \ No newline at end of file diff --git a/PCK-Studio/Features/PckManager.resx b/PCK-Studio/Features/PckManager.resx new file mode 100644 index 00000000..8f491558 --- /dev/null +++ b/PCK-Studio/Features/PckManager.resx @@ -0,0 +1,2633 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + False + + + False + + + + + AAABAA0AAAAAAAEAIAD7NAAA1gAAAICAAAABACAAKAgBANE1AACAgAAAAQAIAChMAAD5PQEAQEAAAAEA + IAAoQgAAIYoBAEBAAAABAAgAKBYAAEnMAQAwMAAAAQAgAKglAABx4gEAMDAAAAEACACoDgAAGQgCACAg + AAABACAAqBAAAMEWAgAgIAAAAQAIAKgIAABpJwIAGBgAAAEAIACICQAAETACABgYAAABAAgAyAYAAJk5 + AgAQEAAAAQAgAGgEAABhQAIAEBAAAAEACABoBQAAyUQCAIlQTkcNChoKAAAADUlIRFIAAAEAAAABAAgG + AAAAXHKoZgAAAAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7DAAAOwwHHb6hkAAA0 + kElEQVR4Xu2dCbQcVfWvDZMyCDIFMocwJBAQJ0AZwjyEBHhi+IuI+BeQZ8igKCgIPHy+p0sREQigTCKi + KCCCIAqKoIIMAZKQhBAghHkGmZGEwH37K+7ud7ru7uqq6uru6r57r/WtDLX7VNU5+/zqjFXvc3Nzc3Nz + c3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nza78NcFLj + 5tbxpsG8nLC8sEIvKzo1IX/IKyDfXBDcOso0YLXCryR8QFhFWE34oLC6sEaMD/VTwjwgX8gf8on8It/I + v1AM3NxKaQSnPukJ2pUFgnlNYV1hfWGIMFQYLowQRjoVyA/yhfwZLKwnrC0gDIiBCoGLgFupLHziE6QE + K082Kj0VfgNhtLCF8FHh48LWwieFTzkVyA/yhfzZUhgrbCQME8hLWge0CGhVuQi4lcK04tN3peLztOLJ + xZOMSv8RgeDeWRg/d+7cq+fMmfPH2bNnX3vXXXf9Ce68884/93c0L8iXe+655xrJpz8sv/zye0qe7SAg + mhsLiCmtqVUF8pvWlptb24wA5GnEU4mm/joCFX9T4RPCTsLE++677+/vvPPOuz1umYw8g1tuueUXko/b + C7Sg6CaQzy4Cbm0znvoEnj71eSrRZ+UpRfN1p+OPP/6bGsRRNLs1ZNI6uFbydVeB1gBdKroELgJubTEC + jr4+AcggFU8l+qvbCfsQsGHFf/vtt3sWL17cM2HChJ6tttrKScmee+7Z8/TTT0d5qPkp+Uu3AJEdJbgI + uLXctPIzTUUA8jTiqbTLoYce+vWw4i9ZsqTn+uuv79l+++3NAHfS8eSTT0b5Sd7OnDnzBsnrvYWthA0F + 7Q5QJi4Cbk21eOXnKcTTaM+lS5f+Ryv/u+++23PqqaeawVyLT3ziE04CoQjMmjXrn5LniADjLNoSoExU + BHyGwK1wI6hoavK0IeB4+vAU2juKzF4TIegZN26cGcROYzz11FNRHiMC999//0zyvrcMKIuBgouAW1NM + p/pY2LOWwKIVnvxR5dcn/4IFC/xp3mRefvllsjrK80WLFs2mDARaAoiAjwm4NcUIpvcLLO5hmo+5/T0k + GJ8NK78VsE52Pv7xj9eE448//ngoAnOkLBABFhC5CLgVbjz9metnnn+QsJmw8zHHHPNdrfzz5883g9Vp + Hi+99FJFBJYsWfIfKZMJgnYHdEzARcCtYSOAaPoz2syy1G2FSVr533zzzZ6tt97aDFKnuYQtgXnz5t0u + 5YII0BKgnFwE3Bo2HfhjDTobVJjumxBFXa/R57eCs9v42Mc+VkpeeeWVqBxUkKV8Jgq0BBABBgZpubkI + uOUyffrzNGFd/47CwRpsP/jBD8ygdFpLODtw2223sU4gbAno7ICLgFsmC/v+PP0/JkSr/LDXX3/dDEan + Pbz66qtRucRaAioCbM4KRcCnCN3qGoHCyD9LfQkidqUdHEWZ2AEHHGAGYl4++tGP9my55ZZt5cMf/nDL + 4bzcexE88cQTUdn0tgT+KuUVikC8JeAi4JZoPP2ZTmLk/8PC+JkzZ/6TAGOlnxWAWRgzZkzPyJEjI0aM + GBH9ucEGG/SMGjWqZ8MNN4zYaKONugbuh3vjHrnX4cOH9wwZMqRn0KBBPQMHDuzZYostzHzKymuvvVYR + Af6UcrNEgMVC/mIRt5pGYBAk7O1n0c82wgEaVBdddJEZfGkg0Al8KgCVgYqx8cYb94wePToShU033bRn + s802ixg7dmzXwP1wb9zjJptsEokC908+DB48OCLMp4985CO5CZcNz5kz519SdvsIiAC7NekO0K2jdeci + 4GYaQUGAsOqPoGFf/3+rAOy4445VwZoWgn/YsGHRE5CKT0WgUlBBEAZtEltBbaXXKeg9cH/cJ/fLfSN8 + tArIE1oC4f02StgSWLZs2btSfogAQh6OCeiyYTe3KiMo2OdPk3FzYS/hSAJKgskMuHoQ/AQ6AU/gUwE2 + 33zzSh+YqTamFFlToGyzzTZdAfeiS6QZ7yA/EAJaBYggLYGhQ4f2ybNGCccE3haTMtxXQAS0JeAi4GYa + /X+Cg5d8MPr/6YULF84jmF588UUz2OrBU5/KT1OfwEcQqAxUDCrJpz71qZ5tt922Z7vttou2D3cT3BP3 + xj1+8pOfjO6ZeycPyAsEkfyx8q1RwhWDgQjw7sFNBO0OuAi4VZku/mHdP8FyoDb/L730UjPQkqDSE+A8 + 7Wj+8tTnic+TkUpBJdlhhx2irgXstNNOXQf3NW7cuOheEQPuHRGgJUDXCHEkX5rBgw8+WBGB3u7Afr3l + igjwpmYXAbcqIxh4zRd7zZn+O4SRf8wKsHpQ+Rn04mnHv6n8PPV5MlIpqCA777xzz6677lpht9126xr0 + nrhHhACxQwRoCSCQ2gqI51uRhC0B/pQyRQR4Wau3BNyqLD4AyNt8D42iR8wKrnrQx6UVwNMuXvm14u++ + ++49e+yxRwVeh9Ut6D0hBrvsskskeLQE6A7QCmAshNaRlXdFIt243lJ8z6Rcw5aAi4BbZAgAb/ll8w/L + f3cTjuiNGTOw6sGIP085nnY0fXn6aeWnUmiF32uvvXrGjx/fdXBfKgQqAtw/3R8GBhkLQCD5MwTBRCgm + TpwYCUT8eB502TB28803/03KNqkl4FOE/dAodF3/z+u9eQnlZO0CWEGVhD7d+JOnHU89gpqnIE9+KoVW + /L333rtr4f4QAVo63DddAe0GkE+MA8Tzjnzbb7/9Ivbdd19TJPIwe/bsqCzVpHxrDQz6OoF+aCoATAGy + 93+8MCWvAPDk18DlaadPf56CVAYqhVZ+3hrcrXB/CB2Cl1YAGDdRAagnArQWsqBThGpSxtoS8MVC/dxo + +rEGgCDgVd+8bWZqXgEgYJnzpytA85++P8EfPv3Dyk9ztwjCytdutAUQFwDyAgEgb8ijeCXFPxQAFQFa + BnHfPNx4441RmapJOcdbAswEuQj0MwsFgEVAbC2dpgJgBVISuuhH+/80/+MC0O0tgLwCQOuICh9nn332 + KUwE5s6dG5WrmpT1/xB0TIApQheBfmaFC4AOADL6b/X/qSAuAOkFAGjlkLeMrTTKVVddFZVt7zqBZVLe + SbMDLgJdboULAIt/WO6LADAHjgDo6L8LwP8XgHjFxJenfS1IuygRCKcIly5dyopBWgK8/k1bAi4C/cQS + BcAKniSSBIAnnAtAfgEA0i9KBC6//PKojDFpCKgI0B1gOli7Ay4CXW709XgPAAXO12jZTz69UQHQKUAE + QOf/XQCSBYBZkvjgpgXpFyUCixYtispZTcoeEeCbj2ME3g3hYwJdbi4ABaD3BFr5uV8qNVOgCADTgLoQ + iGlA8ikkrQAA59S8bpRLLrkkKms1Kf/9BRUBNojxnggXgS61RAGwAiYJ5rL5s2gBCCtY2WlEAKx7rwXn + 0r0F8bSyctlll0XlrSYxgAhsL7A4zEWgi60pAqBjAPFZACoFFQTiFadbyCsAiKRV0euB2KYRAXySuPDC + C6Myx5ghkDiYJLA5DBEYIrgIdKG5ABRMWgGIV0DyKKzYVtq1QAQYV4inmRVe/6YWEwFWiYYiwDskXAS6 + wBIFwAqSJNgI5AKQXwCs9NLSRBH4L4FvRLBSVEWADWQuAl1gLgAFk1YAqKwheQVA8xMQASvtrNQQgXGC + igAfjnUR6AJLLQBWoMRxAcgvAPhp3jRCUSJgjAmELQE+HuMi0AWWKABWYCThAtB+AeDc5H88/Tycf/75 + URyoSWzEWwI+MNjh1m8FIKw0RaKVn/tlZJ9p0PCFICyZtgQAP35bBJxfxwQa5dxzz41iQU3i4wDBRaBL + rOkCwNOPpxtPQwJTg9SqPN2AVsB6AhCnSAEAroFyYIu2db4snHPOOVE8qEmMaEsgnB2gO+Ai0GGWKABW + MCSBADBe4ALQuACQRqNwDc0Qgd4xgXhLQMcEXAQ6yFwACkYrb1YBoKsUVt4ioRxYo2GdtxaIRhxDBGrN + DrgIdIi5ABRMWgGIV64kASCtRqEsKJ/4ebPyox/9KIoNrEZLwMcEOsgSBcAKgCT44IULQD4BIJ/ilbZo + ihKBCy64IIoPNYmZcIrQRaCDzAWgYLTyc7/MfvBkZ1MUm6P4TgICYOVdUQLAeZNgWzIiwGvGGuHss8+O + YkRN4qbWFKGvEyixdZwA6O/LSloBiFcoWglhRW0mlAtlFb+GrBx00EE9GiuYxI62BOKzAy4CJbVEAbAK + PQm+CoQA6EtBedoQ2DSDaQ5TMaggoRB0G2URAPI7iaJaAsY6gVoDgy4CJTQXgIJpRADilbTZqAjwcpFG + +NznPhfFi5rEkA4MxncR+phAyaxhAQgDwQUgvQCE+QbtEAAoSgTOOuusKGbUJI5qjQm4CJTIEgXAKugk + XAAaEwD82wFjAkOHDu1zTVk58sgjo7hRk1jylkDJzQWgYPIKAD7xitlKuM5hw4b1ua60sNAIzjzzzCh2 + 1CSerClCXyxUEnMBKJi0AqAVRuEpHK+UtWBWpRkwY4MIxK8tK3zWLDSJqVoDgy4CbbZEAbAKN4mRI0d2 + pADoNRWBVn7ul0qFAFC5EQB26PH2ZMZO4nlHXsUrZDsoSgRStARcBEpgLRMAnlxUDCpIKATdRqsFgLwt + GsoMEWBwsBHYdh2axJYPDJbMChcAtgXz8Qs+gsFLMGj+UglcAKoFIF5ZyCurMraLokSAFYMaT5jEV629 + A75OoA2WKABWgSYxYsQIF4CSCgDXkRXKjtmB+LVmJWFMwFcMttlcAAomrQCwFDeEzUJh5SsLlN+QIUP6 + XG9WZsyYUa8l4CsG22CJAmAVZBIuAJ0hAAz0ZYEyHDx4cJ9rzsr+++8fxZWaxFo4JuAvGm2DuQAUTFEC + YFXEdsI9DBo0qM91Z+V73/teFFtqEm/+PoE2Wr8QAD1nK9DKz/3S96byMMLP7shQAFgzEYJAxCtd2UAE + 1l9//T7XnpVDDjkkii81ibn4FKGLQIssUQCswkti+PDhFQHg5Rc81QgagoenIRWDChIKQbfRagFgtL6V + cC+0BOLXn5Wjjz46ijE1iTufImyDuQAUTCMCYFW4MkKZxq8/D0cddVQUZ2oSe1ZLwBcLNdFcAAqmnQJA + d6tVqAiw9qMRDjvssCjW1CT+4lOEvmKwieYCUDBpBSBeEThuVbQyU5QIfOc734niTU1i0HcRtsgSBcAq + rCRYOeYC0FcAyIN6ArDeeuuZlawZcD1FgbgVIQKTJk2yXi/mItBkcwEomDQCwG7AeN4xzx5WrE5CRYBZ + oEY4+eSTo7hTk1j0ZcNNNheAGHp9jcB9cr9Mf9I3t7oA8eAn7/CLV65mwzmLgCnfIkSgRkvAGhh0ESjA + EgXAKqAk0gpAKATdiApArTEAWgBW/lGJ4hWrk8gqAowZWRgtgfgUoa8YLMgKF4AxY8ZEn8BGABjZJjCo + BFQGmsVUjv4gAPEuAHmBAOgLQazARzDjlaqVUIEbhXtABKz7y8KnP/3ppJaALxsuyDILgFVYCjvHXABq + C4C+EYg8svKPVkK8UsaxKl3Z4F6LEIGTTjopikM1ic14S8AHBhu0RAGwCiUJF4D3qCUA5Al5QzeJUf94 + /pF3VoXqNGgFcL+0dIgJWoZ54Y1NoUl8+t6BAs0FoAmoAOhAIFNvVAr2RzA+wluTyK94sA8cONCsUHng + fO2G8ud+GxWBKVOmRPGoJjFqTRH6YqEcligAVmEk4QLwHpYAUCkRAF6XNnbs2OgNSlb+4WNVpk6FGKDb + 06gI8Fm40CROa71PwEUgg/VLAdBraBZa+bnnUAB4TyLfTdSpQDbVxPOQXZVWRWoEyqHdFCECfIswNInV + WrMDLgIprSkCQGEz4EXBE/jMhVMRqBRUjlAIuhG9RxWAcC0A+YJAkk8MqsbzkLfvaN51Gwgf90ec5AUB + D03iNVw2PFjQMYHlBLc6VrgAMPDT3wUAuEdtBcQHAukGMA5ANyAe4MAAIV2BsPK0CkSqmRQhAhMnTrRe + L7aDsKmACKwurCS4CNSxRAGwMj8JCtYF4D1CAYh3A8L1AFT2WnlpVaBugHvPIwL8RjFmBz4jbCeMFtYT + VhNYI+AikGAuAE1CBQDCbgB5QitAZwP4ohL7AMLgVvh/BMOqRK2AczcLbQk0AiIQawnsJ2wjjBLWFnQ8 + wK2GJQqAlen1cAF4D71PbQXQDdDpQCqAtgIYC2DRDAOCVn5qdyBegTod7ol7s+45C+HHR9555513JX73 + ErYUWC2oXQEfEKxhLgBNJBSAsBvA05X80VaAbg+28hNoCbBGoBOFgGu2oBVktXz4v6x8//vfj+IVW7x4 + 8UyJ4e2FjYS1BFoB3g2oYV0pAHqOdsP9hgKg3QBaAVQCpgS1FUBXgMVBVoCH8NQEBhL5fVrwLwvMfnAP + 1v3l5aGHHopiFpMYHt8bz8Q18e3dgBqWKABWRtdDBYAmLk86BIAnn64F0EphVZhuIy4A2g0IxwKoEPSH + WR6MCDCbQnfAylsnGTWJ4UnC1sIwgW7AioKbYS4ATSYuArQCmBLUroCKAHmmIkB3gCa/lb9ObdQkhr8g + MC3IYOCaAuMAboa5ALQAFQAgH1QEdECQ7hLNdPJNxwT41BozK7yH38rnoqC10S2oSQwfJuwibCIwG8DC + IB8INMwFoAXoPWsrQEVAxwMQAVoCiACrBNkroOMCLA2mW4AQ0CqwAt95D4zYlRj+n8IewhhhHYGBQBcA + wxIFwMrkergA2NQTAcYEGBgk35gd0NaACgEtAsSA7oG+lyFchVlm4utFFAaNeWgQNypw66yzTs/aa6/d + J67SgPUKwJEC04EsDx4orCy4ABjmAtBCaomAjgkgAmFrQIWAFgHjA+Qt3QMEgWXEoMLQSbDuAVTMEAnE + gPhBBBAA/kQUsoD1CsBUYW+BTUIIwCqCTwUa1rAAxAuh0wRAr6cVcP9KKADkTygC5ButAR0bQAjoGjBb + gBjQMgBEgRZCJ0F8xIUMUdCXytIiYIqwQQGYJkwQNhdYFuwCUMMSBcDK5HpYAkBwE+gEvVYAq4L0B2qJ + gAoBXYK4ENAiUDHQuXQVhRDyvVNQMdOWjY536FqIddddt7LmIS2YC0A2K1wAUHYKl2ClOUv/1gWgmrgI + WK0BFQIdH0AMdGUdgqCi0GnwYAAVM4RLhYDYoWtAS4AWgFXJk8BcALJZKgGwMtvCBSA9SSJQSwhCMVDI + 404j3qpBBIgZugh0CRgXcAFojSUKgJXJSbgAZCMUAQiFIGwRqBioICgIQ6cRChnxgRDQIqBLQ0tAWwEI + QFawXgGY3hvLxDSxTYwT624xcwEoAZYIhEIQtgxCUYijItFqQlFKC2KgIqAtAW0FMLNBPFmVPAnMBSCb + JQqAlclJUGguAOkJKz6ElV+pJQIWliiUFWJCRUBnPOgKMBZAN8AFoDXW9QIQVrBOIS4CSigGnYyKFXFB + fGhXgG4A05vMCLgAtMaaIgD05RAAlB2Fp8lHgVP4GsxW4Dt9CQWgG4iLAK0Ane5kVoDYQQCIJ6YCs4C5 + AGQzF4AuIaxkZScUAGJDuwHEjA4EEktWJU8CcwHIZokCYGVyEi4ATj1CEUgjAOwNSAvmApDNXACclpJW + AGhRWpU8CcwFIJslCoCVyUlQaC4A/RMt13oQA0AXQGcCGANgEDA+BmDFWBKYC0A2cwHoIMKK1KmkFQBa + lOwKzALmApDNXAByEAa0kw0XgHJZogBYmZxEUQIQBozTXbgAlMsKFQAKjcKjEClMCpXCpZApbApdA8AK + Dqf7SSsAtCjXWmutTGAuANnMBcBpKS4A5bJEAbAyOQkKzQXAScIFoFxWKgHYY489SgevDSvbdcavh2/m + W35piacHjMVYvvXgWoAvNGlZhxADoGsAdC8Am4F0LwCbgVwAWmOlEoA333yTDzyWiptuuqnqGhGEZcuW + mb6t4O23366qUPDAAw+Yvmk58cQT+6Q5ffp00zctTzzxRJ80IYsArLnmmpnAXACyWS4BsDIfGhWAN954 + IwrwMoEAhAHMDsOlS5eavq1gyZIlVdcD999/v+mblhNOOKFPmtOmTTN90/L444/3SRNcAMpliQJgZXIS + FBqFRyFSmBSqbgnWqUANACs4Xn/99SjAy8SNN95YdY0IwFtvvWX6toL//Oc/VdcD9913n+mblloCYPmm + 5dFHH+2TJmQRgA996EOZwFwAslmpBODVV1+NKleZ+Nvf/lZ1jQgAldDybQV0k8LrgQULFpi+aaklAJZv + WlwAOsMSBcDK5CQaFYBXXnklCvAy8Ze//KXqGhEAuiqWbyuglRReD9x7772mb1qOP/74PmkiAJZvWlwA + OsNKJQAvvfRSFOBlwhKA1157zfRtBZw7vB6YN2+e6ZsWSwCmTp1q+qblkUce6ZMmpBUA1pWsscYamcBc + ALJZqQTgxRdfjLoBZeL666+vukYEgJaK5dsKOHd4PTB37lzTNy21BMDyTcvixYv7pAlxAdCtwMRK+E5A + F4DWWKIAWJmcBIXWiAC88MILUYCXieuuu67qGhGAl19+2fRtBbSSwuuBe+65x/RNy3HHHVcpF2XKlCmm + b1qYmYinCcQA6CIgF4D2WqkE4LnnnosCvExYAvDvf//b9G0FtJLCCgWzZ882fdNSSwAs37QsXLiwT5qQ + VgCYbl599dUzgbkAZLNSCcCzzz4bBXiZ+OMf/1gVwKyQo6Vi+bYCzh1eD8yaNcv0Tcuxxx7bJ80jjzzS + 9E0LU5PxNMEFoFyWKABWJidBoVF4FCKFSaHqlmBdDKQBYAXH008/3fP888/nZubMmT0333xzFQSi5ZsW + SwBoqVi+aYlfYxZuueWWquuBu+66yzxPWmoJgOWbFmYm4mmCC0C5rFQC8OSTT0atgLxMmjSpT5ozZsww + fdNyzTXXVKWHADzzzDOmb1rC9IrgzjvvNM+TFksAJk+ebPqmZf78+X3ShCwC8MEPfjATmAtANiuVALB8 + lMqVF0sAzjjjDNM3LVdffXVVeggALRXLNy1hekVAy8c6T1q+9a1v9UkTAbB808LMRDxNcAEolyUKgJXJ + STQqACweeeqpp3JjCcDpp59u+qblD3/4Q1V6CAAtFcs3LWF6RXDHHXeY50lLLQGwfNPCzISWdQgxAIwJ + MTakW4H5QOgWW2xR+TYgK0utGEsCcwHIZqUSABaPsIssL5/5zGf6pHnaaaeZvmm58sorq9JDAGipWL5p + CdOrRVhp6nH77beb50nLMccc0yfNr3zlK6ZvWhoVANaVrLbaapnAXACyWakE4OGHH44qV15qCYDlm5bf + //73VQHMrsXHHnvM9E1LmF4R3HbbbeZ50lJLACzftLgAdIYlCoCVyUnQbMsjAPp/ixYtiroBeUEANC3l + Jz/5iembFksAaKlYvmkJ0yuCf/3rX+Z52smcOXPMa3UBKJcVKgAUGoVHIVKYFKq+E0DXAmgAWMHx4IMP + RpUrL5YAnHrqqaZvWq644oqq9BAAWiqWb1rC9IqAqUHrPO2EtQnWtWYRgFVXXTUTmAtANiuVAPBmG9aQ + 56WWAFi+afnd735XlR4C8NBDD5m+aQnTK4J//vOf5nnayd13321eqwtAuSxRAKxMTqJRAWD5KN2AvFgC + cMopp5i+abn00kur0kMAaKlYvmkJ0yuCf/zjH+Z52gkDk9a1ugCUy0olALzYglZAXvbff/8+aSIAlm9a + LAFgo4vlm5YwvSLgtWXWedoJA5PWtTZDAFZZZZUIzAUgm5VKAFg9RisgL/Q7aXqGMBpt+abFEgCWF1u+ + aQnTKwJeW2adpxl86Utfqsmhhx5a+fsXvvCFSlmHEAOgi4DYK0KM8CWpuABoxU4L5gKQzVILgJXhcRoV + AF5sQSugTPz2t7+tukYEwPLLQlghiuCGG24wz9MMrPNnwQWgXJYoAFYmJ9GoALB8lE0kZeKSSy6pCmB2 + LdJSsXzTEqZXBH/961/N8xQN922dPwtpBYDdpSuvvHImMBeAbNZUAaBQKVwKWdcCaABYwcHcMa2AMvGr + X/2q6hoRAITK8k1LmF4R8Noy6zxFw31b58+CC0C5LFEArExOgkJrRADow9NnLxOWAFh+WQjTKwJeWmKd + pxlY58+CC0C5rFQCwKAdrYAycfHFF1ddIwJg+WUhTK8I/vznP5vnaQbf/va3U/G1r33NvNa0AsDu0g98 + 4AOZwFwAslmpBIB97bQCyoQlAJZfFsL0iuDaa681z9NOmJmIX6dWfGBMiJjQrcB8SWrzzTfvGT16dM+o + UaNcAFpkiQJgZXISFFojAsC+9vg0Xrv55S9/WXWNCIDll4UwvSJAAKzztBPWJmhZh7gAlMtKJQCsHqMV + UCYuvPDCqmtk85Lll4WwQhQBby2yztNO+KKSda1pBYDdpe9///szgbkAZLNSCcCtt94avdyiTPz85z+v + CmAEwPLLQpheEfDWIus87YS1Cda1ugCUyxIFwMrkJCg0Co9CpDAp1HBLMIWuAWAFB7vaWEKaF1oQRWMJ + gHXuLITpFcFVV11lnqedMDBpXasLQLmsVALAW29pBeRl3333NdMtEgSA/ffW+dNipdsIvLXIOk87+dOf + /mRea1oBYHfpSiutlAnMBSCblUoA2NVGKyAvrRIA69xZsNJtBF5aYp2nnTAwaV2rC0C5LFEArExOgkJr + RAAYOWZve15aJQDWubNgpdsIvLPAOk874WWqWtYhxIBWfpaIExssGedDMmPHju3ZZJNNejbYYAMXgBZZ + qQSAuWNaAXlplQBY585CPM2wguTh8ssvN8/TTooQgBVXXDETmAtANiuVALCphVZAXooQgDBYLdi0hFBZ + 50+LlW4jsGXZOk87cQHoDEsUACuTk0gjAIoVHGxqYf44L/vss4+ZbpEgANa5s2Cl2whsWbbOkxaW7pJ3 + IdOnTzd90+IC0BlWuABQeBQihUmhUrgUMoUdioAVHHyLn1ZAXiZOnGimWyQIgHXuLFjpNgJblq3zpIUv + AcfT/OIXv2j6poWZiXiakEUAVlhhhUxgLgDZrFQCwNwxrYC8tEoArHNnwUq3EX7961+b50lLLQGwfNPi + AtAZligAViYn0agAMHXE1ta8tEoArHNnwUq3EdiybJ0nLbUEwPJNC69Tj6cJLgDlstIJAAtI8tIqAbDO + nQUr3Ua4+OKLzfOkhU+Bx9M85JBDTN+0MDMRTxO0/IkHlojrVmA+JLPZZptVBIDX0C2//PKZwFwAslnD + AhAWAIXWiACwqYXv8eelVQJgnTsLX/7yl3Nz+OGH97mmiy66yDxPWvgQqJaLwks9Ld+0XHbZZX3SBGJA + n/4uAO23RAGwMjmJRgWAkWM2tuSlVQJgnbtVkEdhhQIEwPJNiyUABx98sOmbFsYl4mmCC0C5rFQCwMAR + AZ6XCRMmVAVbM2CtgHXuVsHGn/g1sWXZ8k1LLQGwfNPCuEQ8TcgiAMstt1wmMBeAbNY0AaAwKdRwS7CK + QCgEIQwcIQJ52Xvvvc10i4Rty9a5WwXr/uPXdMEFF5i+aeFLwPE0EQDLNy28SCWeJrgAlMsSBcDK5CQa + FQDWtCMCeWmVAFjnbhXkUfyazj//fNM3LbUEwPJNC92SeJrgAlAuK5UAMHBEgOelVQJgnbtVMLoev6bz + zjvP9E1LLQGwfNPSqADwmvkBAwZkAnMByGalEgCWtCICeRk/fryZbpEwBmCdu1Ww7j9+Teecc47pmxZL + AD7/+c+bvmlBALSsQ4gBrfyMDelWYBWAjTfeuGfkyJEuAC2yRAGwMjkJCq0RAfjNb34TiUBeWiUA1rlb + BXmk16J5+dOf/tT0TcsRRxxRSUs56KCDTN+0MDAZTxNcAMplpRIA1rQT4HkpWgDCwFWYrbDO3Uri14QA + WH5pYX1BPE0EwPJNC69Si6cJWQRAYjETmAtANmu7AITBwdQR88d52WuvvarSawYIgHXuVhK/prPOOsv0 + S0stAbB808LAZDxNcAEolyUKgPw9ExQahUchqgCEW4JVBEIhCGHq6OKLL85NqwQgft5WE7+mGTNmmH5p + YXVhPE0EwPJNy7nnntsnTXABKJeVSgAYeGIJal7on1vpFgnXbp27VTA6H7+mSZMmmb5p2XnnnfukyQdQ + LN+0fPazn+2TJrgAlMtKJQBO9+MCUC5zAXBaiiUALBnnQzKbbrppz0YbbeQC0EIrlQC89NJLPcuWLSsE + TZOBRut4Hp555plKukuWLDF9FPUD63iI+p144onm8bS89dZbVedVLN8QLRNeBWYdz8P9999fSTeEGNDK + z+CwvgvABaA9VioBeOGFF6KKVQSaJgJgHc/Dk08+WUn3zTffNH2UMOit4yHqhwBYx9PyxhtvVJ1XsXxD + 1I/dlNbxPCxYsKDqGhQXgHJZqQTgueeeiypWEYTnsY7n4fHHH6+k+9prr5k+ivqBdTxE/U444QTzeFpe + ffXVqvMqlm+I+iEA1vE8zJ8/v+oaFBeAcllTBIBCpDApVN0STGGrCIRCEPLUU09FQVwEmiYCYB3Pw8MP + P1xJl+6K5aOoH1jHQ9Tv+OOPN4/ngfcrZj0/AmAdz8M999xTSTfEBaBcVioB4AlLxSoCTRMBsI7nYdGi + RZV06a5YPor6gXU8RP14Pbd1PA+8livr+REA63ge5syZU0k3xAWgXFYqAXjkkUeiilULKgjvr0tDmK51 + 3Eo/5Oijj+7zGxbMaJrPPvus+TslPL91PET9jjvuOPO48sADD1SuhQpm+Si8livr+XmhinVcefTRRyvn + 582/lo9y1113VdINcQEol5VKAB566KFopL0Wu+++u/m7PFjph7A4xvqdwoCg9Tsl9LWOh6jfscceax5X + Zs2aVfHl81uWj8JbedTXOh6ifgiAdVxZuHBhxZdVm5aPcscdd1R8Iaz4WvkZG9KtwHxIZsyYMVHsjBgx + wgWgRVYqAeAJR8WqxW677Wb+Lg9W+iH1BOCxxx4zf6eEvtbxEPVDAKzjyt13313x/fvf/276KLw6TPPa + Oh6ifgiAdVy59957K77s9rN8lNtuu63iG+ICUC4rlQAwdUQzsxZFCoCVfkhcAMIgBgYErd8poa91PET9 + vvnNb5rHlZkzZ1Z8+fyW5aPwVh71tY6HqB8CYB1XGNhTX15DZvkofCJcfUNcAMplpRKAefPm9SxevLgm + u+66a1UwNYKVfshOO+1k/k5hQND6nRL6WsdD1O+YY44xjyu33nprxZc+uOWj8FYe9bWOh6gfb1Syjiuz + Z8+u+LLbz/JR+ES4+oa4AJTLChcACo9CpDApVAqXQqawVQRCIQhhYItuQC2KFAAr/ZB6AkB/2PqdEvpa + x0PUj4FH67hy8803V3z5+o7lo/BWHvW1joeoHwJgHVfuvPPOii+7/SwfhS8Eq2+IC0C5rFQCQB/3vvvu + KwQr/RDrNyH1BID+sPU7JfS1joeo3ze+8Q3zuMLAn/oyzWf5KLyVR32t4yHqxwtVrOPK7bffXvHlNWSW + j3LDDTdUfENcAMplpRIA+risICsCK/0Q6zch9QRg7ty55u+U0Nc6HqJ+X//6183jyo033ljx5StKlo/C + 25XU1zoeon4IgHVcCbsgvIXI8lH40rP6hrgAlMtKJQCMHDPQVARW+iHWb0LqCQD9Yet3SuhrHQ9RPwTA + Oq6ET1Wm+Swfhbcrqa91PET9EADruBJ2Qc4++2zTR6GLor4hLgDlslIJACPHdAOKwEo/xPpNSD0BoD9s + /U4Jfa3jIep31FFHmceVsFLxgRDLR+GtPOprHQ9RPwTAOq4w9ajld+aZZ5o+Ci0U9Q0hBrTyMzjMXhEG + i/mS1OjRo3s23HDDKIZWXnllM8aSwFwAslmpBIA+Lt2AIrDSD7F+E8IbcazfKfSHrd8poa91PETz5Ktf + /ap5XGF9v/oyym/5KL/4xS8qvtbxEPXjlWrWcYWpR/U944wzTB+FFor6hrgAlMtKJQAHHHBAz4EHHpgK + mqP0SWuhaYbBF2L9JmTcuHHm7xRaK9bvlNDXOh6iftOnTzePK+FTle8DWD4Kb+VVX+t4iPrtueee5nGF + fr36nnbaaaaPQgtFfUNcAMplhQoAhUbhUYgUJoVK4VLIFLaKQCgEeWGaCRGohfWbEOs3IfUEgNaK9Tsl + 9LWOh6gfAmAdV1jdp768etvyUZinV1/reIj6IQDWcSVsgSAAlo9CC0V9Q1wAymUdKwA0R+mT1sL6TYj1 + m5B6AsCIvPU7JfS1joeo37Rp08zjCqv71JdBPstHYZ5efa3jIeqHAFjHFTYYqe+Pf/xj00ehhaK+IS4A + 5bKOFQCao4yK18L6TYj1m5B6AsBKPOt3SuhrHQ9Rv6lTp5rHFb4LqL5sxrF8lJ/97GcVX+t4iPohANZx + JWyBnHLKKaaPQgtFfUPSCMDw4cNdAFpkhQsAhdcKAWAhDCJQC+s3IdZvQuoJAM1h63dK6GsdD1G/KVOm + mMcVFveoL5txLB+FeXr1tY6HqB8CYB1Xwn79ySefbPootFDUNySs/IwNsVScsSLeIEXMjBo1ygWghbac + sIqwnrC5MEGY1gkCwIDYtddeWxPrNyHWb0J22GEH83cKzWHrd0roax0PUT/22VvHFRb3qC+DfJaPwjSd + 5rV1PET92G5tHVdogajvD3/4Q9NHYRZCfUOIgVoCwBelEIBhw4Y1KgDTBGKZmCa2iXFi3S1mTREACjGP + ABBgV199dSFY6YdYvwmpJwBMc1m/y4PmyeTJk83jeWCaTtO1joeoHwJgHc8DAqXphrgAlMsKFQBoRABo + 4l555ZWFEAadhfWbEATA+p1Cc9j6XR40TT7TbR3Pw+mnn15J1zoeon4IgHU8D8xCaLohoQAQF7oKkN2j + vEyWb0siAFZs1QNzAchmhQsAhUchUpgUqq4FCEUgFIIQPirJ9FERWOmHWL8JqScAtFas3+VB00QArONp + YQfgSSedFMEnvzVdyzdE/XjfgnU8D8xCaLohWv48/VUAeFCEAjB06FAztuqBuQBks1AAxgp7C1MbEQAK + j3cCqABQuCoAuiColgBcdNFFle/LN4qVfoj1m5Dtt9/e/J3CKLf1uzxomlRa63haGCMIr1GxfEPUDwGw + jueBvQLhNYCWfdj8p4VI81/3ARA7Q4YMMWOrHlivAEwViGVieqDgAlDDBggrC2TSZsJ4YUqUk2Ly98xQ + ePpSEAqVwtVuAIWe1ApgZDv+mem8xNOOY/0mpJ4ANPop8xBNEwGwjqeF9f/hNSqWb4j6IQDW8TzwyXJN + V8tbK782/7X/z4OCLqNOAa6//vpmbNVDTf5+pLCXQEwT28Q4se4WMxWAdYVNhT2Fyb352CeD00DhhWsB + tBtAYWs3IBSBEL7is+222xaClX6I9ZsQ6zchzbhWKot1PC1cU3iNiuUbksU3LbyOPUwXtOz16a/Nfx4U + Yf9/vfXWM2OrHmry968IewjENLH9AcEFwDAyhcxZRxgj7C4c0UgXgMILxwEoXO0GUOjaCgiJB4rT+cTL + GCh70L6/Pv0Z/eeBoc3/5Zdf3oyteqjJ378s7CqMFtYWXABqGJnyfoFM2ljYWThMBYAmufw7ExSejgPQ + DaBwtRWgIqDdAcUKFqfzCcsYtNmvlV8X/xAn+vTP2/znPYRq8u8vCTsJGwlrCcS4C0ANW0lYUxgl7CAc + Mn/+/PvISD5+If/ODIWo04EULoVMYYcioELgdD9a3pQ940Fa+cOmP93GvIN/QKxi99577wL59+eF7YQN + hA8JKwpuNYzMWUMYIXxKOPC66667mczkE0/y78zQCqAwKVREgEJWEaA7QAAQCASE0/1Q1lrxdcqPeCAu + iA/ihFbjgAEDzHiqxxprrBFVfkz+/S1hkrCVMEz4oLCC4FbDyBwyaYjwceHTwtHaDVh33XX7ZHga1lln + nahQVQS0JYDqEwAqBioITveh5QuUN+VO+dMt1GY/LcVGnvzAJ+PU5N9fFfYRthR8H0AKC9cCsHmC+dMp + KgDs+pJ/54IBQQqXQqawGejRcQEVgxACxOls4mUKlDVlzhOf8ueBwBhREZUf+BAJtmzZsnfl3wwA7iYw + A8DgNgOAvgYgwcgcMomBQEZNdxEOvemmm+4mU3sXVuSGFoSKAIVO4asQAEERQqA4nUu8PLWcKXPKXvv7 + DPgNGjTIjJksDBw4MKr8mPz7REH7/xsK9P99ALCOkTkMBDIOwKAJ4wCfFY7TVsDgwYP7ZHwWGBNYa621 + ogKn4AkAxAAICKd70XLWfj4xsMIKK5hxkofnn38+ilFM/k3zfz/hY8JQYTXBBwBTGOMA9JUGC/Sd2Es9 + tTdfe1588cU+Ge847YYZBowH1RVXXPEP+b9DBVqwrGlhARCL3Lz/n8K0G0CfaROB9QBf3G+//X4a5bAY + mS3/5zilYenSpVFs9nZTvyF8RthGYEZLp/+8+Z/CyCQya3VhuMAUCrMBR0U5LPb666/3KQDHaRdsNsJ6 + K///EQ4TGPxjA5CP/uewcDaATRQspaRJ9V0dC+AtOPJvx2krfEZdbdasWQ/K/9H354G1tTBSYGEb41r+ + 9M9gOhhI04kmlLYCvrZw4cLHevO75/DDDzcLxXFaAYOJ+kDC5P++LRwssPSXvj8PMH/65zQyjVYAWyiZ + RyVTydzje/M7slVXXbVPwThOs+FrTaHJ/31XYN6frb8fEVj5x2yWP/1zmo4FkIlk5kcFFgYdIfzfUHnX + XHPNPgXkOM2C15Wp9fb7vy+w759pPwb+2MvCWhZG/n3hTwNG5pGJZCaLKT4p0BWYttVWW53TWwaR8S05 + +X/HaSpz5szpjbj3TP7vhwKv/mbUf1uBBWza9GdK25/+DZi2AlhEwWgqXQF2Cf6XcNT6668/I2wJ8Cpr + +X/HKRwWj+lUH9b75KfyM+h3gDBOYMCa9SvMYLHqz5/+BRiZSGbSFWCTEFMrjAccKHxd+FFvmUS2aNGi + qLDk/x2nEPj6cvigweT/vyfwvj+t/MQl8Umcso7FB/4KMloBZCaZyqwAyyrZKMQCIUTga8IPesulYnw6 + irXZcsxxMsPmMV63HlZ8/j5hwoRL5fj/EnjV1/4CLVKe/PHK703/Ao3MpD/FeADzqgwKIgI7Cuy3niL8 + 78mTJ18TLzDeI8AbYeS44yTCB0C22267nldeeaVPxcfE52ThmwJv+WGbL3tV6JbS7NfK7/3+JllcBGgJ + oLzsttpXYKEQL2A4+dZbb10cFqCbWyMmMfUTgd19PGhodfK+yk8IvOZrkOBP/haZioB2B1Be9guwUIg3 + r7JzcLLAgoyTL7jggtsQAhcDtzQWxsl55513u8TQKQLNfT7uwRoUNqZtL9D6ZJUfm3x4gQ1jVF75W2Rk + so4JMNrKQiG2Dn9YoHD4CstBAkJAc40FGj8eMGDAWddcc809V1111bwrr7xyvvTv7pU/Fzj9l94YmE9M + EBsSJzOEH/XGDK1J5vap+LQwGXhmay8PHPr7tEKZ6mOhj1f+FpuKAJlPIfC2VVoDvE2YBUMIAR8WYYT2 + vwXE4CgBQThOOEFA2U9y+jXEALFATBwjMKDM4B4xQ+yw8IwRfl5Px9Jexp546vPg0f4+s1Re+dtgZDqZ + r10CmmJsIWZsgL4ZLQJWZaHcLM9klRajtqwhoB9HKwF4a4vT/9DyJxaICWKDgT0+SEPMEDvEEA8VKj4t + Tfr6LE9nbYpX/JKYCgGFwgAh6szKQQZn6KfRZOPDjLQMGLihYBm9ZdUWA4hO/4UYIBaICWKDNfzM5xMz + xA6tSh4qxBQV35v7JTYKhcJBCGgRsHoQxUYMWJpJYdI64B0DFC4wduD0X4gBdpsSE8QGDw2e9MQMsUMM + EUvElFf8DjBtDagQMDpLq4BxAroIKDkFywxCCAM6Tv8hXv7EBLFBhedJT8wQO1rxvbnfgRaKAeMEQIEC + TTnHUTQuiBGt8F7pu8woTMdJws3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N + zc3Nzc3Nzc3Nza2M9r73/T9XFdyT+zuuLAAAAABJRU5ErkJggigAAACAAAAAAAEAAAEAIAAAAAAAAAAC + 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 + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAGAAAA + CAAAAAoAAAAKAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAA + CwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAA + CwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAA + CwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAA + CwAAAAsAAAALAAAACwAAAAsAAAALAAAACgAAAAoAAAAIAAAABQAAAAMAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAQAAAAQAAAALAAAAFAAAAB4AAAAlAAAAKwAAACwAAAAtAAAALQAAAC0AAAAtAAAA + LQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAA + LQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAA + LQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAA + LQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAsAAAA + KgAAACUAAAAdAAAAFAAAAAsAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAJAAAAFwAAACoAAABBAAAA + VAAAAGEAAABpAAAAbAAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAA + bQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAA + bQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAA + bQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAA + bQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAGwAAABpAAAAYQAAAFIAAABBAAAALAAAABkAAAAMAAAA + AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAEAAAADwAAACMAAABBAAAAYgAAAIGmpqbN/v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+ + //7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+ + //7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+ + //7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//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/p6enzAAAAIEAAABlAAAARgAAACoAAAATAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABEAAAArAAAAUgAAAHz///////// + //7+/v+YmJj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5mZmf////////////////8AAACEAAAA + XAAAADcAAAAaAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAIAAAAPAAAALAAAAFgAAACL//////v7+/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/5OTk///////Y2NjlAAAAawAAAD0AAAAbAAAACAAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAACUAAABTJSUllf////9LS0v/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgIC + ////////////AAAAbgAAADwAAAAYAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAQAAAAaAAAARQAAAID/////ExMT/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA///////+/v7/AAAAaAAAADQAAAAQAAAA + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADQAAAC8AAABo/v7+/2tra/8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA////////////AAAAVgAAACQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAQAAAAZAAAASc3Nzdj+/v7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAB7AAAA + PQAAABMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAACgAAABi/////wMDA/8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDA/8ZGRn/Gxsb/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc + /xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc + /xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc + /xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc + /xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/Gxsb/woKCv8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/sbGx//////8AAABYAAAAIgAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAPAAAANwAAAHj/////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xcXF/8fHx//IyMj + /yUlJf8nJyf/Jycn/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo + /ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo + /ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo + /ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo + /ycnJ/8nJyf/JiYm/yMjI/8gICD/Ghoa/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///// + /wAAAHEAAAAyAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABUAAABE/////4iIiP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8TExP/Hx8f/yUlJf8pKSn/Kysr/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t + /y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t + /y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t + /y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t + /y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8sLCz/Kioq/ycnJ/8iIiL/Gxsb + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP/r6+v/ycnJ0gAAAEAAAAATAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAADAAAAGgAAAE/+/v7/Dw8P/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0dHf8kJCT/Kioq + /y4uLv8wMDD/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx + /zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx + /zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx + /zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx + /zExMf8xMTH/MTEx/zAwMP8vLy//LCws/ygoKP8hISH/Ghoa/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /xEREf/+/v7/AAAATQAAABkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAeAAAAVv////8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/ICAg/ycnJ/8tLS3/MTEx/zIyMv8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MjIy/zIyMv8wMDD/LCws + /yUlJf8eHh7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAABVAAAAHQAAAAQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAABQAAACAAAABa/////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wgICP8iIiL/KSkp + /y8vL/8yMjL/MzMz/zQ0NP80NDT/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/paWl + /zQ0NP80NDT/NDQ0/0tLS/+np6f/p6en/6enp/+np6f/NDQ0/zQ0NP80NDT/Q0ND/6enp/+np6f/p6en + /6enp/+np6f/p6en/6enp/+np6f/p6en/zQ0NP+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en + /0pKSv80NDT/NDQ0/6enp/+np6f/p6en/6enp/80NDT/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en + /6enp/+np6f/p6en/zQ0NP80NDT/MzMz/zExMf8uLi7/KCgo/yEhIf8HBwf/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD//////wAAAFkAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAIQAAAFv/////AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/GRkZ/yQkJP8rKyv/MTEx/zMzM/80NDT/NDQ0/zQ0NP+urq7/rq6u + /66urv+urq7/rq6u/66urv+urq7/rq6u/66urv+rq6v/NDQ0/zQ0NP80NDT/TExM/66urv+urq7/rq6u + /66urv80NDT/NDQ0/zQ0NP9ERET/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/NDQ0 + /66urv+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u/66urv80NDT/rq6u/66urv+urq7/rq6u + /zQ0NP+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/NDQ0/zQ0NP80NDT/MjIy + /y8vL/8qKir/IyMj/xkZGf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAAWwAAACEAAAAFAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAUAAAAhAAAAW/////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8cHBz/JSUl + /ywsLP8xMTH/MzMz/zU1Nf81NTX/NTU1/6Ghof+hoaH/oaGh/6Ghof+hoaH/oqKi/7Ozs/+zs7P/s7Oz + /7CwsP81NTX/NTU1/zU1Nf9OTk7/s7Oz/7Ozs/+zs7P/s7Oz/zU1Nf81NTX/NTU1/0RERP+zs7P/s7Oz + /7Ozs/+zs7P/oaGh/7Ozs/+zs7P/s7Oz/7Ozs/80NDT/s7Oz/7Ozs/+zs7P/s7Oz/6CgoP+goKD/s7Oz + /7Ozs/+zs7P/s7Oz/zQ0NP+zs7P/s7Oz/7Ozs/+zs7P/NDQ0/7Ozs/+zs7P/s7Oz/7Ozs/+goKD/oKCg + /7Ozs/+zs7P/s7Oz/7Ozs/80NDT/NDQ0/zQ0NP8yMjL/MDAw/ysrK/8kJCT/Gxsb/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA//////8AAABbAAAAIQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc//// + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xwcHP8lJSX/LCws/zExMf8zMzP/NTU1/zU1Nf81NTX/NTU1 + /zU1Nf81NTX/NTU1/zU1Nf81NTX/urq6/7q6uv+6urr/t7e3/zU1Nf81NTX/NTU1/05OTv+6urr/urq6 + /7q6uv+6urr/NTU1/zU1Nf81NTX/RUVF/7q6uv+6urr/urq6/7S0tP81NTX/urq6/7q6uv+6urr/urq6 + /zU1Nf+6urr/urq6/7q6uv+6urr/NTU1/zU1Nf+6urr/urq6/7q6uv+6urr/NTU1/7q6uv+6urr/urq6 + /7q6uv81NTX/urq6/7q6uv+6urr/urq6/zU1Nf81NTX/urq6/7q6uv+6urr/urq6/zU1Nf81NTX/NTU1 + /zMzM/8xMTH/LCws/yUlJf8cHBz/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAFwAAAAiAAAA + BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/HBwc + /yUlJf8sLCz/MTEx/zMzM/81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf/BwcH/wcHB + /8HBwf++vr7/NTU1/zU1Nf81NTX/T09P/8HBwf/BwcH/wcHB/8HBwf81NTX/NTU1/zU1Nf9ERET/wcHB + /8HBwf/BwcH/u7u7/zU1Nf/BwcH/wcHB/8HBwf/BwcH/NTU1/8HBwf/BwcH/wcHB/8HBwf81NTX/NTU1 + /8HBwf/BwcH/wcHB/8HBwf81NTX/wcHB/8HBwf/BwcH/wcHB/zU1Nf/BwcH/wcHB/8HBwf/BwcH/NTU1 + /zU1Nf/BwcH/wcHB/8HBwf/BwcH/NTU1/zU1Nf81NTX/MzMz/zExMf8sLCz/JSUl/xwcHP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAA + XP////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8dHR3/JiYm/y0tLf8yMjL/NDQ0/zY2Nv82Njb/NjY2 + /8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8TExP82Njb/NjY2/zY2Nv9RUVH/yMjI + /8jIyP/IyMj/yMjI/zY2Nv82Njb/NTU1/0ZGRv/IyMj/yMjI/8jIyP/BwcH/NTU1/8jIyP/IyMj/yMjI + /8jIyP81NTX/yMjI/8jIyP/IyMj/yMjI/zU1Nf81NTX/yMjI/8jIyP/IyMj/yMjI/zU1Nf/IyMj/yMjI + /8jIyP/IyMj/NTU1/8jIyP/IyMj/yMjI/8jIyP81NTX/NTU1/8jIyP/IyMj/yMjI/8jIyP81NTX/NTU1 + /zU1Nf8zMzP/MTEx/ywsLP8lJSX/HBwc/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAABcAAAA + IgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /x0dHf8mJib/LS0t/zIyMv80NDT/NjY2/zY2Nv82Njb/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P + /8/Pz//Pz8//y8vL/zY2Nv82Njb/NjY2/1FRUf/Pz8//z8/P/8/Pz//Pz8//NjY2/zY2Nv82Njb/R0dH + /8/Pz//Pz8//z8/P/8jIyP82Njb/z8/P/8/Pz//Pz8//z8/P/zY2Nv/Pz8//z8/P/8/Pz//Pz8//NjY2 + /zY2Nv/Pz8//z8/P/8/Pz//Pz8//NjY2/8/Pz//Pz8//z8/P/8/Pz/82Njb/z8/P/8/Pz//Pz8//z8/P + /zY2Nv82Njb/z8/P/8/Pz//Pz8//z8/P/zY2Nv82Njb/NTU1/zMzM/8xMTH/LCws/yUlJf8cHBz/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA + IgAAAFz/////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/HR0d/yYmJv8tLS3/MjIy/zQ0NP82Njb/NjY2 + /zY2Nv/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/R0dH/NjY2/zY2Nv82Njb/UlJS + /9XV1f/V1dX/1dXV/9XV1f82Njb/NjY2/zY2Nv9HR0f/1dXV/9XV1f/V1dX/zc3N/zY2Nv/V1dX/1dXV + /9XV1f/V1dX/NjY2/9XV1f/V1dX/1dXV/9XV1f82Njb/NjY2/9XV1f/V1dX/1dXV/9XV1f82Njb/1dXV + /9XV1f/V1dX/1dXV/zY2Nv/V1dX/1dXV/9XV1f/V1dX/NjY2/zY2Nv/V1dX/1dXV/9XV1f/V1dX/NjY2 + /zY2Nv82Njb/NDQ0/zIyMv8tLS3/JiYm/x0dHf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA + XAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8dHR3/JiYm/y0tLf8yMjL/NDQ0/zY2Nv82Njb/NjY2/9zc3P/c3Nz/3Nzc/9zc3P82Njb/NjY2 + /zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv9TU1P/3Nzc/9zc3P/c3Nz/3Nzc/zY2Nv82Njb/NjY2 + /0hISP/c3Nz/3Nzc/9zc3P/U1NT/NjY2/9zc3P/c3Nz/3Nzc/9zc3P82Njb/3Nzc/9zc3P/c3Nz/3Nzc + /zY2Nv82Njb/3Nzc/9zc3P/c3Nz/3Nzc/zY2Nv/c3Nz/3Nzc/9zc3P/c3Nz/NjY2/9zc3P/c3Nz/3Nzc + /9zc3P82Njb/NjY2/9zc3P/c3Nz/3Nzc/9zc3P82Njb/NjY2/zY2Nv80NDT/MjIy/y0tLf8mJib/HR0d + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + BgAAACIAAABc/////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0dHf8nJyf/Li4u/zMzM/81NTX/Nzc3 + /zc3N/83Nzf/4+Pj/+Pj4//j4+P/4+Pj/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3 + /1VVVf/j4+P/4+Pj/+Pj4//j4+P/Nzc3/zc3N/83Nzf/SUlJ/+Pj4//j4+P/4+Pj/9ra2v83Nzf/4+Pj + /+Pj4//j4+P/4+Pj/zY2Nv/j4+P/4+Pj/+Pj4//j4+P/NjY2/zY2Nv/j4+P/4+Pj/+Pj4//j4+P/NjY2 + /+Pj4//j4+P/4+Pj/+Pj4/82Njb/4+Pj/+Pj4//j4+P/4+Pj/zY2Nv82Njb/4+Pj/+Pj4//j4+P/4+Pj + /zY2Nv82Njb/NjY2/zQ0NP8yMjL/LS0t/yYmJv8dHR3/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///// + /wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/HR0d/ycnJ/8uLi7/MzMz/zU1Nf83Nzf/Nzc3/zc3N//q6ur/6urq/+rq6v/q6ur/Nzc3 + /zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/VVVV/+rq6v/q6ur/6urq/+rq6v83Nzf/Nzc3 + /zc3N/9KSkr/6urq/+rq6v/q6ur/4eHh/zc3N//q6ur/6urq/+rq6v/q6ur/Nzc3/+rq6v/q6ur/6urq + /+rq6v83Nzf/Nzc3/+rq6v/q6ur/6urq/+rq6v83Nzf/6urq/+rq6v/q6ur/6urq/zc3N//q6ur/6urq + /+rq6v/q6ur/Nzc3/zc3N//q6ur/6urq/+rq6v/q6ur/Nzc3/zc3N/83Nzf/NTU1/zMzM/8uLi7/Jycn + /x0dHf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAYAAAAiAAAAXP////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8dHR3/Jycn/y4uLv8zMzP/NTU1 + /zc3N/83Nzf/Nzc3//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx/+zs7P83Nzf/8fHx + //Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/Nzc3/0pKSv/x8fH/8fHx//Hx8f/n5+f/Nzc3 + //Hx8f/x8fH/8fHx//Hx8f83Nzf/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx + /zc3N//x8fH/8fHx//Hx8f/x8fH/Nzc3//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx + //Hx8f83Nzf/Nzc3/zc3N/81NTX/MzMz/y4uLv8nJyf/HR0d/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + //////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/x4eHv8oKCj/Ly8v/zQ0NP82Njb/ODg4/zg4OP84ODj/+Pj4//j4+P/4+Pj/+Pj4 + //j4+P/4+Pj/+Pj4//j4+P/4+Pj/8vLy/zg4OP/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4 + //j4+P83Nzf/SkpK//j4+P/4+Pj/+Pj4/+7u7v83Nzf/+Pj4//j4+P/4+Pj/+Pj4/zc3N//4+Pj/+Pj4 + //j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4/1VVVf83Nzf/Nzc3//j4+P/4+Pj/+Pj4//j4+P83Nzf/+Pj4 + //j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4/zc3N/83Nzf/Nzc3/zU1Nf8zMzP/Li4u + /ycnJ/8dHR3/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAGAAAAIgAAAFz/////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Hh4e/ygoKP8vLy//NDQ0 + /zY2Nv84ODj/ODg4/zg4OP9xcXH/cXFx/3Fxcf9xcXH/cXFx/3Fxcf9xcXH/cXFx/3Fxcf9vb2//ODg4 + /3Fxcf9xcXH/cXFx/3Fxcf9xcXH/cXFx/3Fxcf9xcXH/cXFx/zg4OP87Ozv/cXFx/3Fxcf9xcXH/bW1t + /zg4OP9xcXH/cXFx/3Fxcf9xcXH/ODg4/3Fxcf9xcXH/cXFx/3Fxcf9xcXH/cXFx/3Fxcf9xcXH/Pj4+ + /zg4OP84ODj/cXFx/3Fxcf9xcXH/cXFx/zg4OP9xcXH/cXFx/3Fxcf9xcXH/cXFx/3Fxcf9xcXH/cXFx + /3Fxcf9xcXH/Nzc3/zc3N/83Nzf/NTU1/zMzM/8uLi7/Jycn/x0dHf8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8eHh7/KCgo/y8vL/80NDT/NjY2/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 + /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 + /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 + /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 + /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP82Njb/NDQ0 + /y8vL/8oKCj/Hh4e/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAABcAAAAIgAAAAYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAABgAAACIAAABc/////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x4eHv8oKCj/Ly8v + /zQ0NP82Njb/ODg4/zg4OP84ODj/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6SkpP84ODj/ODg4 + /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/pKSk/6SkpP+kpKT/pKSk + /6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/zg4OP84ODj/pKSk + /6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6SkpP84ODj/ODg4/zg4OP+kpKT/pKSk/6SkpP+kpKT/pKSk + /6SkpP+kpKT/pKSk/zg4OP84ODj/ODg4/zY2Nv80NDT/Ly8v/ygoKP8eHh7/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////AQEB + /wEBAf8BAQH/AQEB/wEBAf8BAQH/Hh4e/ygoKP8vLy//NTU1/zc3N/85OTn/OTk5/zk5Of+np6f/p6en + /6enp/+np6f/p6en/6enp/+np6f/p6en/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5 + /zk5Of85OTn/OTk5/zk5Of+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en + /6enp/+np6f/p6en/6enp/+np6f/ODg4/zg4OP+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en + /zg4OP84ODj/ODg4/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/ODg4/zg4OP84ODj/NjY2 + /zQ0NP8vLy//KCgo/x4eHv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAAXAAAACIAAAAGAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8eHh7/KCgo + /y8vL/81NTX/Nzc3/zk5Of85OTn/OTk5/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/OTk5 + /zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/6urq/+rq6v/q6ur + /6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/85OTn/OTk5 + /6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/OTk5/zk5Of85OTn/q6ur/6urq/+rq6v/q6ur + /6urq/+rq6v/q6ur/6urq/85OTn/OTk5/zk5Of83Nzf/NTU1/y8vL/8oKCj/Hh4e/wEBAf8BAQH/AQEB + /wEBAf8BAQH/AQEB//////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc//// + /wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/x4eHv8oKCj/Ly8v/zU1Nf83Nzf/OTk5/zk5Of85OTn/rq6u + /66urv+urq7/rq6u/66urv+urq7/rq6u/66urv85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5 + /zk5Of85OTn/OTk5/zk5Of85OTn/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u + /66urv+urq7/rq6u/66urv+urq7/rq6u/zk5Of85OTn/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u + /66urv85OTn/OTk5/zk5Of+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u/zk5Of85OTn/OTk5 + /zc3N/81NTX/Ly8v/ygoKP8eHh7/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL//////wAAAFwAAAAiAAAA + BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/Hx8f + /ykpKf8wMDD/NjY2/zg4OP86Ojr/Ojo6/zo6Ov+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy + /zo6Ov86Ojr/Ojo6/zo6Ov85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of+ysrL/srKy + /7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/OTk5 + /zk5Of+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/zk5Of85OTn/OTk5/7Kysv+ysrL/srKy + /7Kysv+ysrL/srKy/7Kysv+ysrL/OTk5/zk5Of85OTn/Nzc3/zU1Nf8vLy//KCgo/x4eHv8DAwP/AwMD + /wMDA/8DAwP/AwMD/wMDA///////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAA + XP////8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8fHx//KSkp/zAwMP82Njb/ODg4/zo6Ov86Ojr/Ojo6 + /7W1tf+1tbX/tbW1/7W1tf+1tbX/tbW1/7W1tf+1tbX/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 + /zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/7W1tf+1tbX/tbW1/7W1tf+1tbX/tbW1/7W1tf+1tbX/Ojo6 + /zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/7W1tf+1tbX/tbW1/7W1tf+1tbX/tbW1 + /7W1tf+1tbX/Ojo6/zo6Ov86Ojr/tbW1/7W1tf+1tbX/tbW1/7W1tf+1tbX/tbW1/7W1tf85OTn/OTk5 + /zk5Of83Nzf/NTU1/y8vL/8oKCj/Hh4e/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD//////8AAABcAAAA + IgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE + /x8fH/8pKSn/MDAw/zY2Nv84ODj/Ojo6/zo6Ov86Ojr/ubm5/7m5uf+5ubn/ubm5/7m5uf+5ubn/ubm5 + /7m5uf86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/ubm5 + /7m5uf+5ubn/ubm5/7m5uf+5ubn/ubm5/7m5uf86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 + /zo6Ov86Ojr/ubm5/7m5uf+5ubn/ubm5/7m5uf+5ubn/ubm5/7m5uf86Ojr/Ojo6/zo6Ov+5ubn/ubm5 + /7m5uf+5ubn/ubm5/7m5uf+5ubn/ubm5/zo6Ov86Ojr/Ojo6/zg4OP82Njb/MDAw/ykpKf8fHx//BAQE + /wQEBP8EBAT/BAQE/wQEBP8EBAT//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA + IgAAAFz/////BQUF/wUFBf8FBQX/BQUF/wUFBf8FBQX/Hx8f/ykpKf8wMDD/NjY2/zg4OP86Ojr/Ojo6 + /zo6Ov+8vLz/vLy8/7y8vP+8vLz/vLy8/7y8vP+8vLz/vLy8/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 + /zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov+8vLz/vLy8/7y8vP+8vLz/vLy8/7y8vP+8vLz/vLy8 + /zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov+8vLz/vLy8/7y8vP+8vLz/vLy8 + /7y8vP+8vLz/vLy8/zo6Ov86Ojr/Ojo6/7y8vP+8vLz/vLy8/7y8vP+8vLz/vLy8/7y8vP+8vLz/Ojo6 + /zo6Ov86Ojr/ODg4/zY2Nv8wMDD/KSkp/x8fH/8FBQX/BAQE/wQEBP8EBAT/BAQE/wQEBP//////AAAA + XAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8GBgb/BgYG/wYGBv8GBgb/BgYG + /wYGBv8gICD/Kioq/zExMf83Nzf/OTk5/zs7O/87Ozv/Ozs7/7+/v/+/v7//v7+//7+/v/+/v7//v7+/ + /7+/v/+/v7//Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7 + /7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 + /zo6Ov86Ojr/Ojo6/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/ + /7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/86Ojr/Ojo6/zo6Ov84ODj/NjY2/zAwMP8pKSn/Hx8f + /wUFBf8FBQX/BQUF/wUFBf8FBQX/BQUF//////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + BgAAACIAAABc/////wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/yAgIP8qKir/MTEx/zc3N/85OTn/Ozs7 + /zs7O/87Ozv/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/87Ozv/Ozs7/zs7O/87Ozv/Ozs7 + /zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD + /8PDw/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/w8PD/8PDw//Dw8P/w8PD + /8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD + /zs7O/87Ozv/Ozs7/zg4OP82Njb/MDAw/ykpKf8fHx//BgYG/wYGBv8GBgb/BgYG/wYGBv8GBgb///// + /wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////BwcH/wcHB/8HBwf/BwcH + /wcHB/8HBwf/ICAg/yoqKv8xMTH/Nzc3/zk5Of87Ozv/Ozs7/zs7O//Gxsb/xsbG/8bGxv/Gxsb/xsbG + /8bGxv/Gxsb/xsbG/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/Ozs7 + /zs7O//Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7 + /zs7O/87Ozv/Ozs7/zs7O//Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG + /8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/Ozs7/zs7O/87Ozv/OTk5/zc3N/8xMTH/Kioq + /yAgIP8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB///////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAYAAAAiAAAAXP////8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8gICD/Kioq/zIyMv84ODj/Ojo6 + /zw8PP88PDz/PDw8/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK + /8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv87Ozv/Ozs7/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK + /8rKyv/Kysr/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/8rKyv/Kysr/ysrK + /8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK + /8rKyv87Ozv/Ozs7/zs7O/85OTn/Nzc3/zExMf8qKir/ICAg/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH + //////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////wkJCf8JCQn/CQkJ + /wkJCf8JCQn/CAgI/yAgIP8qKir/MjIy/zg4OP86Ojr/PDw8/zw8PP88PDz/zs7O/87Ozv/Ozs7/zs7O + /87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O + /zw8PP88PDz/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv88PDz/PDw8/zw8PP88PDz/PDw8 + /zw8PP88PDz/PDw8/zw8PP88PDz/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O + /87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/zs7O/87Ozv/Ozs7/zk5Of83Nzf/MTEx + /yoqKv8gICD/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAGAAAAIgAAAFz/////CQkJ/wkJCf8JCQn/CQkJ/wkJCf8JCQn/ICAg/yoqKv8yMjL/ODg4 + /zo6Ov88PDz/PDw8/zw8PP/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR + /9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/PDw8/zw8PP/R0dH/0dHR/9HR0f/R0dH/0dHR + /9HR0f/R0dH/0dHR/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP/R0dH/0dHR + /9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/qamp/zw8PP88PDz/PDw8 + /zw8PP88PDz/PDw8/zw8PP88PDz/Ojo6/zg4OP8yMjL/Kioq/yAgIP8JCQn/CQkJ/wkJCf8JCQn/CQkJ + /wkJCf//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8KCgr/CgoK + /woKCv8KCgr/CgoK/woKCv8hISH/Kysr/zMzM/84ODj/Ojo6/zw8PP88PDz/PDw8/9TU1P/U1NT/1NTU + /9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU + /9TU1P88PDz/PDw8/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/PDw8/zw8PP88PDz/PDw8 + /zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU + /9TU1P/U1NT/1NTU/9TU1P+rq6v/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP86Ojr/ODg4 + /zIyMv8qKir/ICAg/wkJCf8JCQn/CQkJ/wkJCf8JCQn/CQkJ//////8AAABcAAAAIgAAAAYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAABgAAACIAAABc/////wsLC/8LCwv/CwsL/wsLC/8LCwv/CwsL/yEhIf8rKyv/MzMz + /zg4OP87Ozv/PT09/z09Pf89PT3/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX + /9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/z09Pf89PT3/19fX/9fX1//X19f/19fX + /9fX1//X19f/19fX/9fX1/89PT3/PT09/z09Pf89PT3/PT09/zw8PP88PDz/PDw8/zw8PP88PDz/19fX + /9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/6ysrP88PDz/PDw8 + /zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zo6Ov84ODj/MjIy/yoqKv8gICD/CgoK/woKCv8KCgr/CgoK + /woKCv8KCgr//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////CwsL + /wsLC/8LCwv/CwsL/wsLC/8LCwv/ISEh/ysrK/8zMzP/ODg4/zs7O/89PT3/PT09/z09Pf/b29v/29vb + /9vb2//b29v/29vb/9vb2//b29v/29vb/z09Pf89PT3/PT09/9vb2//b29v/29vb/9vb2//b29v/29vb + /9vb2//b29v/PT09/z09Pf/b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/z09Pf89PT3/PT09 + /z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf/b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb + /9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/PT09/z09Pf89PT3/Ozs7 + /zg4OP8zMzP/Kysr/yEhIf8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC///////AAAAXAAAACIAAAAGAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8MDAz/DAwM/wwMDP8MDAz/DAwM/wwMDP8hISH/Kysr + /zMzM/84ODj/Ozs7/z09Pf89PT3/PT09/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/PT09 + /z09Pf89PT3/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v89PT3/PT09/97e3v/e3t7/3t7e + /97e3v/e3t7/3t7e/97e3v/e3t7/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09 + /97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e + /97e3v/e3t7/3t7e/97e3v89PT3/PT09/z09Pf87Ozv/ODg4/zMzM/8rKyv/ISEh/wsLC/8LCwv/CwsL + /wsLC/8LCwv/CwsL//////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc//// + /w0NDf8NDQ3/DQ0N/w0NDf8NDQ3/DQ0N/yEhIf8sLCz/NDQ0/zk5Of88PDz/Pj4+/z4+Pv8+Pj7/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v8+Pj7/PT09/z09Pf/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/z09Pf89PT3/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v89PT3/PT09 + /z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/FxcX/xcXF/8XFxf/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/z09Pf89PT3/PT09 + /zs7O/84ODj/MzMz/ysrK/8hISH/DAwM/wwMDP8MDAz/DAwM/wwMDP8MDAz//////wAAAFwAAAAiAAAA + BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////DQ0N/w0NDf8NDQ3/DQ0N/w0NDf8NDQ3/ISEh + /ywsLP80NDT/OTk5/zw8PP8+Pj7/Pj4+/z4+Pv/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl + /z4+Pv8+Pj7/Pj4+/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/Pj4+/z4+Pv/l5eX/5eXl + /+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+ + /z4+Pv/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/z09Pf89PT3/PT09/+Xl5f/l5eX/5eXl + /+Xl5f/l5eX/5eXl/+Xl5f/l5eX/PT09/z09Pf89PT3/Ozs7/zg4OP8zMzP/Kysr/yEhIf8NDQ3/DQ0N + /w0NDf8NDQ3/DQ0N/w0NDf//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAA + XP////8ODg7/Dg4O/w4ODv8ODg7/Dg4O/w4ODv8hISH/LCws/zQ0NP85OTn/PDw8/z4+Pv8+Pj7/Pj4+ + /+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/Pj4+/z4+Pv8+Pj7/6enp/+np6f/p6en/6enp + /+np6f/p6en/6enp/+np6f8+Pj7/Pj4+/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/Pj4+ + /z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/+np6f/p6en/6enp/+np6f/p6en/6enp + /+np6f/p6en/Pj4+/z4+Pv8+Pj7/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f8+Pj7/Pj4+ + /z4+Pv88PDz/OTk5/zQ0NP8sLCz/ISEh/w0NDf8NDQ3/DQ0N/w0NDf8NDQ3/DQ0N//////8AAABcAAAA + IgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////w4ODv8ODg7/Dg4O/w4ODv8ODg7/Dg4O + /yIiIv8sLCz/NDQ0/zk5Of88PDz/Pj4+/z4+Pv8+Pj7/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs + /+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/z4+Pv8+Pj7/7Ozs + /+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs + /z4+Pv8+Pj7/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P8+Pj7/Pj4+/z4+Pv/s7Oz/7Ozs + /+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/z4+Pv8+Pj7/Pj4+/zw8PP85OTn/NDQ0/ywsLP8hISH/Dg4O + /w4ODv8ODg7/Dg4O/w4ODv8ODg7//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA + IgAAAFz/////Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//IiIi/y0tLf80NDT/Ojo6/z09Pf8/Pz//Pz8/ + /z8/P//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw + //Dw8P/w8PD/8PDw//Dw8P/w8PD/Pz8//z8/P//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw + //Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/Pj4+/z4+Pv/w8PD/8PDw//Dw8P/w8PD/8PDw + //Dw8P/w8PD/8PDw/z4+Pv8+Pj7/Pj4+//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/Pj4+ + /z4+Pv8+Pj7/PDw8/zk5Of80NDT/LCws/yEhIf8ODg7/Dg4O/w4ODv8ODg7/Dg4O/w4ODv//////AAAA + XAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8QEBD/EBAQ/xAQEP8QEBD/EBAQ + /xAQEP8iIiL/LS0t/zQ0NP86Ojr/PT09/z8/P/8/Pz//Pz8///Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz + //Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/8/Pz//Pz8/ + //Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz + //Pz8/8/Pz//Pz8///Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/Pz8//z8/P/8/Pz//8/Pz + //Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/8/Pz//Pz8//z8/P/89PT3/Ojo6/zQ0NP8tLS3/IiIi + /w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P//////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + BgAAACIAAABc/////xEREf8RERH/ERER/xEREf8RERH/ERER/yIiIv8tLS3/NDQ0/zo6Ov89PT3/Pz8/ + /z8/P/8/Pz//9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2 + //b29v/29vb/9vb2//b29v/29vb/9vb2/z8/P/8/Pz//9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2 + //b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/z8/P/8/Pz//9vb2//b29v/29vb/9vb2 + //b29v/29vb/9vb2//b29v8/Pz//Pz8//z8/P//29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2 + /z8/P/8/Pz//Pz8//z09Pf86Ojr/NDQ0/y0tLf8iIiL/EBAQ/xAQEP8QEBD/EBAQ/xAQEP8QEBD///// + /wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////ERER/xEREf8RERH/ERER + /xEREf8RERH/IiIi/y0tLf81NTX/Ozs7/z4+Pv9AQED/QEBA/0BAQP/6+vr/+vr6//r6+v/6+vr/+vr6 + //r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/5+fn/Pz8/ + /z8/P//6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6 + //r6+v/6+vr/Pz8//z8/P//6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6/z8/P/8/Pz//Pz8/ + //r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/Pz8//z8/P/8/Pz//PT09/zo6Ov80NDT/LS0t + /yIiIv8RERH/ERER/xEREf8RERH/ERER/xEREf//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAYAAAAiAAAAXP////8SEhL/EhIS/xISEv8SEhL/EhIS/xISEv8iIiL/LS0t/zU1Nf87Ozv/Pj4+ + /0BAQP9AQED/QEBA/8DAwP/AwMD/v7+//7+/v//AwMD/wMDA/8DAwP/AwMD/v7+//7+/v/+/v7//v7+/ + /8DAwP/AwMD/v7+//7+/v/+/v7//v7+//7+/v/9AQED/QEBA/7+/v/+/v7//v7+//8DAwP/AwMD/wMDA + /8DAwP+/v7//v7+//7+/v//AwMD/wMDA/8DAwP+/v7//v7+//7+/v/9AQED/QEBA/8DAwP/AwMD/v7+/ + /7+/v/+/v7//v7+//7+/v/+/v7//Pz8//z8/P/8/Pz//vr6+/76+vv+/v7//v7+//7+/v/++vr7/vr6+ + /76+vv8/Pz//Pz8//z8/P/89PT3/Ojo6/zQ0NP8tLS3/IiIi/xEREf8RERH/ERER/xEREf8RERH/ERER + //////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////xISEv8SEhL/EhIS + /xISEv8SEhL/EhIS/yIiIv8tLS3/NTU1/zs7O/8+Pj7/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/z4+Pv87Ozv/NTU1 + /y0tLf8iIiL/EhIS/xISEv8SEhL/EhIS/xISEv8SEhL//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAGAAAAIgAAAFz/////ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/IiIi/y0tLf81NTX/Ozs7 + /z4+Pv9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/Pj4+/zs7O/81NTX/LS0t/yIiIv8TExP/ExMT/xMTE/8TExP/EhIS + /xISEv//////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8UFBT/FBQU + /xQUFP8UFBT/FBQU/xQUFP8jIyP/Li4u/zY2Nv88PDz/Pz8//0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8+Pj7/Ozs7 + /zU1Nf8tLS3/IiIi/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT//////8AAABcAAAAIgAAAAYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAABgAAACIAAABc/////xUVFf8VFRX/FRUV/xUVFf8VFRX/FRUV/yMjI/8uLi7/NjY2 + /zw8PP8/Pz//QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/z8/P/88PDz/NjY2/y4uLv8iIiL/FBQU/xQUFP8UFBT/FBQU + /xQUFP8UFBT//////wAAAFwAAAAiAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////FRUV + /xUVFf8VFRX/FRUV/xUVFf8VFRX/IyMj/y4uLv82Njb/PDw8/z8/P/9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/Pz8/ + /zw8PP82Njb/Li4u/yMjI/8VFRX/FRUV/xUVFf8VFRX/FRUV/xUVFf//////AAAAXAAAACIAAAAGAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8WFhb/FhYW/xYWFv8WFhb/FhYW/xYWFv8jIyP/Ly8v + /zc3N/89PT3/QEBA/0JCQv9CQkL/QkJC/0JCQv9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9AQED/QEBA/0BAQP9AQED/Pz8/ + /z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/ + /z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8+Pj7/Ozs7/zU1Nf8tLS3/IiIi/xUVFf8VFRX/FRUV + /xUVFf8VFRX/FRUV//////8AAABcAAAAIgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc//// + /xcXF/8XFxf/FxcX/xcXF/8XFxf/FxcX/yMjI/8vLy//Nzc3/z09Pf9AQED/QkJC/0JCQv9CQkL/QkJC + /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC + /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC + /0FBQf9BQUH/QEBA/0BAQP8/Pz//Pz8//z4+Pv8+Pj7/Pj4+/z09Pf89PT3/PT09/z09Pf89PT3/PT09 + /z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09 + /zs7O/84ODj/MzMz/ysrK/8hISH/FhYW/xYWFv8WFhb/FhYW/xYWFv8WFhb//////wAAAFwAAAAiAAAA + BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf/IyMj + /y8vL/83Nzf/PT09/0BAQP9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC + /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC + /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QEBA/z8/P/8+Pj7/PT09/zs7O/86Ojr/OTk5 + /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 + /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/Nzc3/zQ0NP8uLi7/Jycn/x4eHv8XFxf/FxcX + /xcXF/8XFxf/FxcX/xcXF///////AAAAXAAAACIAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAA + XP////8YGBj/GBgY/xgYGP8YGBj/GBgY/xgYGP8jIyP/Ly8v/zc3N/89PT3/QEBA/0JCQv9CQkL/QkJC + /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC + /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QUFB + /0BAQP8/Pz//PT09/zs7O/84ODj/NTU1/zMzM/8yMjL/MTEx/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw + /zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw + /zAwMP8vLy//LS0t/ygoKP8iIiL/Ghoa/xcXF/8XFxf/FxcX/xcXF/8XFxf/FxcX//////8AAABbAAAA + IQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ + /yQkJP8vLy//ODg4/z4+Pv9BQUH/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND + /0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND + /0NDQ/9DQ0P/QkJC/0JCQv9CQkL/QkJC/0FBQf9AQED/Pj4+/zs7O/84ODj/NDQ0/y8vL/8sLCz/KSkp + /ycnJ/8mJib/JSUl/yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl + /yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl/yQkJP8iIiL/Hh4e/xoaGv8VFRX/GBgY + /xgYGP8YGBj/GBgY/xgYGP8YGBj//////wAAAFoAAAAhAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA + IgAAAFz/////GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/JCQk/y8vL/84ODj/Pj4+/0FBQf9DQ0P/Q0ND + /0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND + /0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9CQkL/QUFB + /z8/P/87Ozv/Nzc3/zIyMv8sLCz/JiYm/yEhIf8ZGRn/FhYW/xYWFv8WFhb/FhYW/xYWFv8WFhb/FhYW + /xYWFv8WFhb/FhYW/xYWFv8WFhb/FhYW/xYWFv8WFhb/FhYW/xYWFv8WFhb/FhYW/xYWFv8WFhb/FhYW + /xYWFv8WFhb/FhYW/xYWFv8WFhb/FhYW/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf//////AAAA + VwAAAB8AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8aGhr/Ghoa/xoaGv8aGhr/Ghoa + /xoaGv8kJCT/Ly8v/zg4OP8+Pj7/QUFB/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND + /0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND + /0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0JCQv9AQED/PDw8/zc3N/8wMDD/KSkp/yEhIf8aGhr/Ghoa + /xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa + /xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa + /xoaGv8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ//////8AAABPAAAAGgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + BgAAACIAAABc/////xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/yQkJP8wMDD/OTk5/z8/P/9CQkL/RERE + /0RERP9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND + /0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9CQkL/QUFB + /z09Pf84ODj/MTEx/ygoKP8eHh7/Ghoa/xoaGv8aGhr/Ghoa/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ + /xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ + /xkZGf8ZGRn/GRkZ/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr///// + /wAAAD8AAAATAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////Gxsb/xsbG/8bGxv/Gxsb + /xsbG/8bGxv/JCQk/zAwMP85OTn/Pz8//0JCQv9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE + /0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE + /0RERP9ERET/RERE/0RERP9ERET/RERE/0NDQ/9AQED/PDw8/zU1Nf8sLCz/ISEh/xsbG/8bGxv/Gxsb + /ysrK/82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2 + /zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/xsbG/8bGxv/Gxsb + /xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb////////////AAAAKwAAAAwAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAYAAAAiAAAAXP////8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8kJCT/MDAw/zk5Of8/Pz//QkJC + /0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE + /0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9DQ0P/QkJC + /z8/P/85OTn/MDAw/yYmJv8cHBz/HBwc/xwcHP82Njb/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3 + /zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3 + /zY2Nv82Njb/NjY2/zY2Nv8sLCz/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG//+/v7///// + /wAAADkAAAAVAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////x0dHf8dHR3/HR0d + /x0dHf8dHR3/HR0d/yQkJP8wMDD/OTk5/z8/P/9CQkL/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE + /0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE + /0RERP9ERET/RERE/0RERP9ERET/RERE/0NDQ/9BQUH/PT09/zU1Nf8sLCz/GBgY/xwcHP8cHBz/NTU1 + /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 + /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP83Nzf/Nzc3/zc3N/83Nzf/LS0t/xwcHP8cHBz/HBwc + /xwcHP8cHBz/HBwc/xwcHP8cHBz//v7+//////8AAAA+AAAAGgAAAAcAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAGAAAAIgAAAFz/////HR0d/x0dHf8dHR3/HR0d/x0dHf8dHR3/JSUl/zExMf85OTn/QEBA + /0NDQ/9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF + /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0RERP9ERET/Q0ND + /0FBQf88PDz/MzMz/ygoKP8dHR3/HR0d/xYWFv85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5 + /zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of84ODj/ODg4/zg4OP84ODj/ODg4 + /zg4OP84ODj/ODg4/y0tLf8dHR3/HR0d/x0dHf8dHR3/HR0d/x0dHf8dHR3/HR0d////////////AAAA + PgAAABsAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8eHh7/Hh4e + /x4eHv8eHh7/Hh4e/x4eHv8lJSX/MTEx/zk5Of9AQED/Q0ND/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF + /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF + /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9DQ0P/QUFB/zs7O/8xMTH/JiYm/x4eHv8eHh7/Nzc3 + /zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 + /zo6Ov85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of8vLy//HR0d/x0dHf8dHR3/HR0d + /x0dHf8dHR3/HR0d/x0dHf///////////wAAAD4AAAAbAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAABgAAACIAAABc/////x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/yUlJf8xMTH/OTk5 + /0BAQP9DQ0P/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF + /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF + /0NDQ/9AQED/Ojo6/zAwMP8eHh7/Hh4e/x4eHv87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7 + /zs7O/87Ozv/Ozs7/zs7O/86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 + /zo6Ov86Ojr/ICAg/x4eHv8eHh7/Hh4e/x4eHv8eHh7/Hh4e/x4eHv8eHh7///////////8AAAA+AAAA + GwAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////Hx8f + /x8fH/8fHx//Hx8f/x8fH/8fHx//JiYm/zIyMv86Ojr/QUFB/0RERP9GRkb/RkZG/0ZGRv9GRkb/RkZG + /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF + /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/Q0ND/0BAQP85OTn/Ly8v/x4eHv8fHx//Hx8f + /zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7 + /zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/yEhIf8fHx//Hx8f/x8fH/8fHx//Hx8f + /x8fH/8fHx//Hx8f////////////AAAAPgAAABsAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8gICD/ICAg/yAgIP8gICD/ICAg/yAgIP8mJib/MjIy + /zo6Ov9BQUH/RERE/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG + /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG + /0ZGRv9ERET/QUFB/zo6Ov8vLy//Hx8f/yAgIP8gICD/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PDw8 + /zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP88PDz/PDw8 + /zw8PP8hISH/Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH////////////wAAAD8AAAAbAAAA + BwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc//// + /yEhIf8hISH/ISEh/yEhIf8hISH/ISEh/yYmJv8yMjL/Ojo6/0FBQf9ERET/RkZG/0ZGRv9GRkb/RkZG + /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG + /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0RERP9AQED/OTk5/y8vL/8eHh7/ICAg + /x8fH/89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/PT09 + /z09Pf89PT3/PT09/z09Pf89PT3/PT09/z09Pf89PT3/ISEh/yAgIP8gICD/ICAg/yAgIP8gICD/ICAg + /yAgIP8gICD///////////8AAAA/AAAAGwAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////ISEh/yEhIf8hISH/ISEh/yEhIf8hISH/JiYm + /zIyMv86Ojr/QUFB/0RERP9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG + /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG + /0ZGRv9GRkb/RERE/0BAQP85OTn/Ly8v/x8fH/8hISH/ICAg/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+ + /z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+ + /xoaGv8hISH/ISEh/yEhIf8hISH/ISEh/yEhIf8hISH/ISEh////////////AAAAPgAAABsAAAAIAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAA + XP////8iIiL/IiIi/yIiIv8iIiL/IiIi/yIiIv8mJib/MjIy/zs7O/9CQkL/RUVF/0dHR/9HR0f/R0dH + /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH + /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0ZGRv9GRkb/RkZG/0VFRf9ERET/QEBA/zk5Of8vLy//Hx8f + /yIiIv8hISH/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/ + /z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8YGBj/ISEh/yEhIf8hISH/ISEh/yEhIf8hISH/ISEh + /yEhIf///////////wAAAD4AAAAbAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj + /yYmJv8yMjL/Ozs7/0JCQv9FRUX/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH + /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH + /0dHR/9HR0f/RkZG/0VFRf9BQUH/Ojo6/y8vL/8gICD/IiIi/yEhIf9AQED/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/Ghoa + /yIiIv8iIiL/IiIi/yIiIv8iIiL/IiIi/yIiIv8iIiL//v7+//////8AAAA+AAAAGwAAAAgAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA + IgAAAFz/////IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/JiYm/zIyMv87Ozv/QkJC/0VFRf9HR0f/R0dH + /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH + /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9GRkb/RUVF/0FBQf86Ojr/Ly8v + /yAgIP8jIyP/IiIi/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/xwcHP8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj + //7+/v//////AAAAPgAAABsAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8kJCT/JCQk/yQkJP8kJCT/JCQk + /yQkJP8nJyf/MzMz/zw8PP9DQ0P/RkZG/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/R0dH + /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH + /0dHR/9HR0f/R0dH/0ZGRv9FRUX/QUFB/zo6Ov8vLy//ICAg/yQkJP8jIyP/QkJC/0JCQv9CQkL/QkJC + /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QUFB/0FBQf8eHh7/JCQk + /yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP/+/v7//////wAAAD4AAAAbAAAABwAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + BgAAACIAAABc/////yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl/ycnJ/8zMzP/PDw8/0NDQ/9GRkb/SEhI + /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI + /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/R0dH/0ZGRv9CQkL/Ozs7 + /zAwMP8hISH/JSUl/yQkJP9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND + /0NDQ/9DQ0P/QkJC/0JCQv9CQkL/HBwc/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT///// + //////8AAAA+AAAAGwAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////JSUl/yUlJf8lJSX/JSUl + /yUlJf8lJSX/Jycn/zMzM/88PDz/Q0ND/0ZGRv9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI + /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI + /0hISP9ISEj/SEhI/0hISP9HR0f/RkZG/0JCQv87Ozv/MDAw/yEhIf8lJSX/JCQk/0RERP9ERET/RERE + /0RERP9ERET/RERE/0RERP9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/x8fH/8lJSX/JSUl + /yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl////////////AAAAPwAAABsAAAAHAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAYAAAAiAAAAXP////8mJib/JiYm/yYmJv8mJib/JiYm/yYmJv8nJyf/MzMz/zw8PP9DQ0P/RkZG + /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI + /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0dHR/9GRkb/QkJC + /zs7O/8wMDD/ISEh/yYmJv8lJSX/RUVF/0VFRf9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE + /0RERP9ERET/RERE/0RERP8jIyP/JSUl/yUlJf8lJSX/JSUl/yUlJf8lJSX/JSUl/yUlJf/+/v7///// + /wAAAD8AAAAcAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc/////ycnJ/8nJyf/Jycn + /ycnJ/8nJyf/Jycn/ycnJ/80NDT/PT09/0RERP9HR0f/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ + /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9ISEj/SEhI/0hISP9ISEj/SEhI + /0hISP9ISEj/SEhI/0hISP9ISEj/R0dH/0ZGRv9CQkL/Ozs7/zAwMP8hISH/JiYm/yUlJf9GRkb/RUVF + /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/IiIi/yYmJv8mJib/JiYm + /yYmJv8mJib/JiYm/yYmJv8mJib//v7+//////8AAAA+AAAAGwAAAAgAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAGAAAAIgAAAFz/////KCgo/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn/zQ0NP89PT3/RERE + /0dHR/9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ + /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9ISEj/R0dH + /0NDQ/88PDz/MTEx/yEhIf8nJyf/JiYm/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG + /0ZGRv9GRkb/RkZG/yMjI/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn////////////AAAA + PgAAABsAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8oKCj/KCgo + /ygoKP8oKCj/KCgo/ygoKP8nJyf/NDQ0/z09Pf9ERET/R0dH/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ + /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ + /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0hISP9HR0f/Q0ND/zw8PP8xMTH/IiIi/ygoKP8nJyf/R0dH + /0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/8lJSX/KCgo/ygoKP8oKCj/KCgo + /ygoKP8oKCj/KCgo/ygoKP///////f39/gAAAD4AAAAbAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAABgAAACIAAABc/////ykpKf8pKSn/KSkp/ykpKf8pKSn/KSkp/ygoKP80NDT/Pj4+ + /0VFRf9ISEj/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ + /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SEhI + /0dHR/9DQ0P/PDw8/zExMf8iIiL/KSkp/ygoKP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI + /0hISP9HR0f/Jycn/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj///////////8AAAA+AAAA + GwAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////KSkp + /ykpKf8pKSn/KSkp/ykpKf8pKSn/KCgo/zQ0NP8+Pj7/RUVF/0hISP9KSkr/SkpK/0pKSv9KSkr/SkpK + /0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK + /0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9JSUn/R0dH/0RERP88PDz/MTEx/yMjI/8pKSn/KCgo + /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SEhI/ykpKf8pKSn/KSkp/ykpKf8pKSn/KSkp + /ykpKf8pKSn/KSkp////////////AAAAPgAAABsAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAAXP////8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8oKCj/NDQ0 + /z4+Pv9FRUX/SEhI/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK + /0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK + /0lJSf9HR0f/RERE/zw8PP8xMTH/IyMj/yoqKv8pKSn/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK + /0pKSv8pKSn/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv///////f39/gAAAD4AAAAbAAAA + CAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACIAAABc//// + /ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ygoKP80NDT/Pj4+/0VFRf9ISEj/SkpK/0pKSv9KSkr/SkpK + /0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK + /0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SUlJ/0dHR/9ERET/PDw8/zExMf8jIyP/Kioq + /ykpKf9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/KSkp/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq + /yoqKv8qKir///////39/f4AAAA+AAAAGwAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAIgAAAFz/////LCws/ywsLP8sLCz/LCws/ywsLP8sLCz/KCgo + /zU1Nf8+Pj7/RkZG/0lJSf9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL + /0tLS/9LS0v/S0tL/0tLS/9LS0v/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK + /0pKSv9JSUn/R0dH/0RERP88PDz/MTEx/yQkJP8rKyv/Kioq/0xMTP9MTEz/TExM/0xMTP9MTEz/S0tL + /yoqKv8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr////////////AAAAPAAAABoAAAAIAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAiAAAA + XP////8sLCz/LCws/ywsLP8sLCz/LCws/ywsLP8oKCj/NTU1/z4+Pv9GRkb/SUlJ/0tLS/9LS0v/S0tL + /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL + /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0pKSv9ISEj/RUVF/z09Pf8yMjL/JSUl + /ywsLP8rKyv/TU1N/01NTf9NTU3/TExM/0tLS/8sLCz/LCws/ywsLP8sLCz/LCws/ywsLP8sLCz/LCws + /ywsLP///////Pz8/QAAADkAAAAZAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAACEAAABb/////y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t + /ycnJ/80NDT/Pj4+/0VFRf9JSUn/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL + /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL + /0tLS/9LS0v/SkpK/0hISP9FRUX/PT09/zIyMv8lJSX/LCws/ysrK/9OTk7/TU1N/01NTf9LS0v/LCws + /ywsLP8sLCz/LCws/ywsLP8sLCz/LCws/ywsLP8sLCz///////v7+/sAAAA5AAAAFwAAAAYAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAA + IQAAAFr/////LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/JiYm/zMzM/89PT3/RUVF/0lJSf9LS0v/S0tL + /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL + /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9KSkr/SEhI/0VFRf89PT3/MjIy + /yUlJf8tLS3/LCws/05OTv9OTk7/TU1N/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t + ////////////AAAAOAAAABcAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAfAAAAWP////8uLi7/Li4u/y4uLv8uLi7/Li4u + /y4uLv8kJCT/MDAw/zo6Ov9DQ0P/SEhI/0pKSv9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL + /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL + /0tLS/9LS0v/S0tL/0pKSv9JSUn/RUVF/z4+Pv8yMjL/JiYm/y4uLv8uLi7/T09P/05OTv8uLi7/Li4u + /y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv///////////wAAADgAAAAXAAAABgAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AwAAABwAAABT/////y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/yQkJP8rKyv/NjY2/z4+Pv9ERET/RkZG + /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI + /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0ZGRv9CQkL/Ozs7 + /zAwMP8lJSX/Li4u/y4uLv81NTX/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7///// + //////8AAAA5AAAAFwAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAFwAAAEn/////MDAw/zAwMP8wMDD/MDAw + /zAwMP8wMDD/LS0t/yUlJf8uLi7/Nzc3/z09Pf9AQED/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC + /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC + /0JCQv9CQkL/QkJC/0JCQv9CQkL/QEBA/z09Pf82Njb/LCws/yQkJP8vLy//Ly8v/y8vL/8vLy//Ly8v + /y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v////////////AAAAOQAAABcAAAAGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAEAAAARAAAAPf////9DQ0P/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/HR0d/yYmJv8tLS3/MzMz + /zc3N/85OTn/OTk5/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 + /zo6Ov86Ojr/Ojo6/zo6Ov85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of83Nzf/NDQ0 + /y4uLv8lJSX/IiIi/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP//////+/v7 + +gAAADkAAAAXAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAv0dHRyvv7+/8xMTH/MTEx + /zExMf8xMTH/MTEx/zExMf8xMTH/HBwc/yMjI/8oKCj/Kysr/y0tLf8uLi7/Li4u/y4uLv8uLi7/Li4u + /y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u + /y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y0tLf8qKir/JSUl/x4eHv8lJSX/MDAw/zAwMP8wMDD/MDAw + /zAwMP8wMDD/MDAw/zAwMP8wMDD///////////8AAAA4AAAAGAAAAAcAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAABgAAAB8AAABT/////zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MDAw + /ykpKf8iIiL/IyMj/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk + /yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/IyMj + /yIiIv8eHh7/JSUl/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx////////////AAAA + NwAAABYAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAEQAAADj9/f3+6enp + /zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy + /zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy + /zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy + /zIyMv8yMjL/MjIy/zIyMv///////////wAAADYAAAAWAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAIAAAAFD/////NTU1/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP///////////8AAAA1AAAA + FQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAOAAAA + LmxsbIH/////NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0 + /zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz///////7+/v7AAAANQAAABUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAATAAAANP//////////NTU1/zQ0NP80NDT/NDQ0 + /zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0 + /zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0 + /zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP//////29vbzgAAADQAAAAVAAAA + BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAUAAAAVAAAAMvf39/D/////4ODg/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1 + /zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1 + /zU1Nf81NTX/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0 + /zQ0NP80NDT//////83Nzb4AAAA0AAAAFQAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAATAAAAKAAAAEb9/f3+//// + //X19f+rq6v/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1 + /zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1 + /zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/ra2t///////IyMi2AAAAMgAAABUAAAAFAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAQAAAALAAAAGgAAAC4AAABD0NDQuv/////9/f3+/f39/v39/f79/f3+/f39 + /v39/f79/f3+/f39/v39/f79/f3+/f39/v39/f79/f3+/f39/v39/f79/f3+/f39/v39/f79/f3+/f39 + /v39/f79/f3+/f39/v39/f79/f3+/f39/v39/f79/f3+/f39/v39/f79/f3+/f39/v39/f79/f3+/f39 + /v39/f79/f3+AAAARAAAACoAAAATAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAA + DAAAABUAAAAfAAAAJgAAACoAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAA + LAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAA + LAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAArAAAAKAAAACEAAAAXAAAADAAAAAMAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAUAAAAHAAAACQAAAAkAAAAKAAAA + CgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAA + CgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAA + CgAAAAkAAAAIAAAABgAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////+AAAAAAAAAAAA/////////AAAAAAAAAAAAD////////AAAAAAAAAAAAAf// + /////gAAAAAAAAAAAAD///////wAAAAAAAAAAAAAf//////8AAAAAAAAAAAAAD//////+AAAAAAAAAAA + AAA///////gAAAAAAAAAAAAAH//////4AAAAAAAAAAAAAB//////8AAAAAAAAAAAAAAP//////AAAAAA + AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w + AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// + ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA + AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA + AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w + AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// + ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA + AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA + AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w + AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// + ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA + AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA + AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w + AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// + ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA + AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAB//////8AAAAAAAAAAAAAA///////AAAAAA + AAAAAAAAf//////wAAAAAAAAAAAAAP//////8AAAAAAAAAAAAAH///////AAAAAAAAAAAAAD///////w + AAAAAAAAAAAAB///////8AAAAAAAAAAAAA////////AAAAAAAAAAAAAf///////wAAAAAAAAAAAAP/// + ////8AAAAAAAAAAAAH////////AAAAAAAAAAAAD////////wAAAAAAAAAAAB////////8AAAAAAAAAAA + A/////////AAAAAAAAAAAAf////////wAAAAAAAAAAAP////////8AAAAAAAAAAAH/////////AAAAAA + AAAAAD/////////wAAAAAAAAAAB/////////8AAAAAAAAAAA//////////AAAAAAAAAAAf/////////w + AAAAAAAAAAP/////////8AAAAAAAAAAH//////////AAAAAAAAAAD//////////wAAAAAAAAAB////// + ////8AAAAAAAAAA///////////AAAAAAAAAAf//////////wAAAAAAAAAP//////////8AAAAAAAAAH/ + //////////AAAAAAAAAD///////////wAAAAAAAAB///////////8AAAAAAAAA////////////gAAAAA + AAAf///////////4AAAAAAAAP////////////AAAAAAAAH////////////wAAAAAAAD////////////+ + AAAAAAAB/////////////wAAAAAAA//////////////AAAAAAAf/////////////8AAAAAAf//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////8oAAAAgAAAAAABAAABAAgAAAAA + AACAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEBAf8CAgL/AwMD/wQEBP8FBQX/BgYG/wcHB/8ICAj/CQkJ + /woKCv8LCwv/DAwM/w0NDf8ODg7/Dw8P/xAQEP8RERH/EhIS/xMTE/8UFBT/FRUV/xYWFv8XFxf/GBgY + /xkZGf8aGhr/Gxsb/xwcHP8dHR3/Hh4e/x8fH/8gICD/ISEh/yIiIv8jIyP/JCQk/yUlJf8mJib/Jycn + /ygoKP8pKSn/Kioq/ysrK/8sLCz/LS0t/y4uLv8vLy//MDAw/zExMf8yMjL/MzMz/zQ0NP81NTX/NjY2 + /zc3N/84ODj/OTk5/zo6Ov87Ozv/PDw8/z09Pf8+Pj7/Pz8//0BAQP9BQUH/QkJC/0NDQ/9ERET/RUVF + /0ZGRv9HR0f/SEhI/0lJSf9KSkr/S0tL/0xMTP9NTU3/Tk5O/09PT/9QUFD/UVFR/1JSUv9TU1P/VFRU + /1VVVf9WVlb/V1dX/1hYWP9ZWVn/Wlpa/1tbW/9cXFz/XV1d/15eXv9fX1//YGBg/2FhYf9iYmL/Y2Nj + /2RkZP9lZWX/ZmZm/2dnZ/9oaGj/aWlp/2pqav9ra2v/bGxs/21tbf9ubm7/b29v/3BwcP9ycnL/c3Nz + /3R0dP91dXX/dnZ2/3d3d/94eHj/eXl5/3p6ev97e3v/fHx8/319ff9+fn7/f39//4CAgP+BgYH/goKC + /4SEhP+FhYX/hoaG/4eHh/+IiIj/iYmJ/4qKiv+Li4v/jIyM/42Njf+Ojo7/j4+P/5CQkP+RkZH/kpKS + /5OTk/+UlJT/lZWV/5aWlv+Xl5f/mJiY/5mZmf+ampr/m5ub/5ycnP+dnZ3/np6e/5+fn/+goKD/oaGh + /6Kiov+jo6P/pKSk/6Wlpf+mpqb/p6en/6ioqP+pqan/qqqq/6urq/+srKz/ra2t/66urv+vr6//sLCw + /7Gxsf+ysrL/s7Oz/7S0tP+1tbX/tra2/7e3t/+4uLj/ubm5/7q6uv+7u7v/vLy8/729vf++vr7/v7+/ + /8DAwP/BwcH/wsLC/8PDw//ExMT/xcXF/8bGxv/Hx8f/yMjI/8nJyf/Kysr/y8vL/8zMzP/Nzc3/zs7O + /8/Pz//Q0ND/0dHR/9LS0v/T09P/1NTU/9XV1f/W1tb/19fX/9jY2P/Z2dn/2tra/9vb2//c3Nz/3d3d + /97e3v/f39//4eHh/+Li4v/j4+P/5OTk/+Xl5f/m5ub/5+fn/+jo6P/p6en/6urq/+vr6//s7Oz/7e3t + /+7u7v/v7+//8PDw//Hx8f/y8vL/8/Pz//T09P/39/f/+Pj4//r6+v/7+/v//Pz8//////8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAARqfP1dTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU + 1NTU1NTU1NTU1NTU1NTU1NTU1NTV2cihPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAOsj2xoBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRk + ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRniMf2zlgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAH/xuDcBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATen9bAKAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACX9HYGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABG5NYZAQEAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAefRVAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa + zd0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLwfgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAQ1sQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAuMoEAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAYp8nYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABr0RAAAAAAAAAAGCxEXEhcSFxIXEhcSFxIXEhcSFxIXEhcSFxIXEhcSFxIXEhcSFxIXEhcSFxIXEhcS + FxEUFBcSFxIXEhcSFxIXDwsEAAAAAAAAAACG5QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAjtoEAAAAAAAAER8kKCcpKCooKigqKConKCkqKCooKigqKCooKigqKCooKigqKCooKigq + KCooKigqKCopKSkoKigqKCooKigpJicmJCAQBgAAAAAAABDsbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAADNhQAAAAAAAAwhJiovKi8qMCowKjAqMCovMC8qMCowKjAqMCowKjAqMCow + KjAqMCowKjAqMCowKjAqMCowKiovKjAqMCowKjApLywqJyUYAAAAAAAAAKW4BgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOdSAAAAAAAEGigpKjAxMS8vMTExMTEyNCovMTExMTIyLy8w + LzExMTExMTExMTExMDExMTExMTEwLzExMTExNzAxMTExMTEyMjAvMTEsKCEXAAAAAAABWeMAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO9B8AAAAAAAogJyk2MTA3OkdAQUFBQUFBOjcw + MjlBQUE6NzQ3OEFBQUFBQUFBQTc6REFBQUFBQTk3MkFBQUEyOkRBQUFBQUFBOjcxMSosKCAGAAAAAAAf + 8w0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABb3HwAAAAAADyQpKi83NzaWpaek + paWmpqZ5NzcyZqekp3k0NDRmpaanpKWlpqenOoaopqSlpaWmaDQ3pqakpjqCpqekpaWmp6aINzcwNyop + IQ0AAAAAASH2FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFvcfAAAAAAAQJCkx + NzExNJeorqiura2qp4U0MjdmqqeugDIxMWmqqqqnra2tqqg/iK6oqK6qra2ceTqqqKitOoavraiuqq2t + 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 + 9hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf3KAsLCwwNHCo0Ojw6PEDH1tbW + 1tbW18XDyNbW1tbW1ta6OknV1tbW1tbW0kc6QDpAOjo/PD+41tbW1tbW1tbW1tbYl1hYWFlWPD86ODg0 + LBoKCgoKCij2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/YpDAsLCwsaKjY4 + OkA6Qc7a2dnZ2dnZVTpk2NnZ2dnZ2bo8S9jZ2dnZ2dnVQDo/Oj86Pzw6QMLZ2dnZ2dnZ2dnZ2dnZ2dnZ + 2cM6Pzo6PDQqGg4LCwsLKPcXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9ikM + DAwMDxoqNjo6QDo6zdvb29vb29tRPGfb3dvb29vbvTpK2t3b29vb3NxBPz8/Pz9AOj88w9vb29vb29vd + 3d3b29vb29zcxkBAOjo4MikcCwsLCwwp9hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAABf2LA4NDQ0NGik3Nzo6OkbV4eHh4eHh4VU8Z+Te4eHh4eHCPEzc3uHh4eHh3Do6Ojo6Ojo6QTrH + 4eHh4eHh4aaWo+Hh4eHh4eHHPzo6Pzo3KhwMDAwMDCn2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAF/YqDQ0NDg8aLDQ6OkY6QNbj4+Pj4+PjWDpn4+Pj4+Pj48Q6SuTj4+Pj4+PcRjpG + OkY6RjpBP8fj4+Pj4+PkYjxc4+Th4+Pj480/Pzo6OjIqHA0NDQ0OLPYXAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAX9iwODg4ODBovNzo6QDpE2ubl5+bn5uZVOmrl5+bn5ufmxz9K5Ofl + 5+bn5uRHOkA6QDpAOkA6x+bn5ufm5+ZnOl/m5+fn5+bnzjw6QDo8NykgDg0NDQ0q9hcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf3Kg8PDg4XGiw2OjpAOkDc7Ofs5+zn59XN1ufs5+zn + 7efIQUvl7Ofs5+zn6c3Nzc3Nzc3GQTzU5+zn7Ofs52Y6X+fn7Ofs5+nVRj9AOjg3KRwODg4ODiz2FwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/YpEQ8PDw8aKjk6P0A/Qd7t7e3t7e3t + 7e3t7e3t7e3t7cc/S+fv7e3t7e3t7e3t7e3t7eNHOtXu7e3t7e3tZzpg7e3t7e3t7dU/Ojo8OjQsGhAO + Dg4OKvcXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9ywOEBAREh8pNjo8Pz9B + 4fDw8PDw8PDw8PDw8PDw8PDv1T9M7PDw8PDw8PDw8PDw8PDx50c61PDw8PDw8PBmP1/w8PDw8PDw2EA/ + Rjo5NywcDQ8PDxEp9hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf3LBcRERER + Gi83OTpBQEDj8vLy8vLy8vLy8vLy8vLy8vLOOkzy8/Ly8vLy8vLy8vLy8vLsRjrZ8vLy8vLy8mc/X/Ly + 8vLy8vLbQD8/Ojo3LB8XEBAQDiz3FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + FPcqEREREhQgLDc6Pzo/Ruf09PT09PT09PT09PT09PT09NVATPL09PT09PT09PT09PT09OxGP9r09PT0 + 9PT0Zz9g9PT09PT09N1BQUA8PDkqGhERERIXKfYXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAX9i8SEhISEBoqOjw/R0BBnqenp6enp6enp6enp6enp6enlD9Ipaenp6enp6enp6enp6en + okc/laenp6enp6dWP1Knp6anp6aml0A/Ojo/NikgEREREQ8p9xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAABf3LxISEhIXICk4OjpAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA + QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFHOjw4LB8SERARFy/2FwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/YxEhIREhEaMDY8P0BAQEBAQEBAQEBAQEBAQEBAQEBAQEBA + QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEA6OjkpIhYUFxISL/YXAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/c5IRohGhokMTpAQEdGR0ZBRkFGQUZBRkFGR0ZHRkdGR0ZH + RkdGR0FBRjg3KRoaJDo6Ojk5ODg6ODo6OTg3OTk6Ojc6NzY4ODk6KRogGiAaGho01+EkAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9jofGiAaICQxOEBHREZBR0ZGRkZGRkZGRkZE + R0FGQUZBRkFGQUZBRkZAOjclGiIwOTo8Ojo6Ojo6PDw6Ojo6Ojw6Ojo6Ojo5OSkfGiEaIRohN9bhJQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf2Oh8fHx8fJDI6Oj9GR0dHR0dH + R0dHR0dHR0RGRkZGRkZGRkZGRkZGQUA6MSQaHzo6Ojw8Ojw/Ojo6PDk6PDo6Ojo6Ojo8OjkqGiAaIBog + GjjX4SYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/Y5ICAfHx8lMDhG + RkdHRkZGRkZGRkZGRkZGRkdHR0dHR0dHR0dHR0dHPzkwIh8fOTo/Ojo6Pzw6Oj86Ojw8PDo6Ojo6Ojo6 + KSAfHx8fHx841+ElAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9zog + ICAgICQ3Oj9GRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkRAOjAgISY6QEA6QDpAOkA6OjxBOjxB + OkA6PD86PCofICAgICAgONjhJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAABf3OiIiISEhJTA6QUZERkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGREA5LyUgJzpBOjpBOkE6 + QTpBOkE6OkA6Ojo6QTosICAgICAgIDjZ4SQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAFPc6ISEhISElNzk/RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEPzkvISIp + OjxAOkA6QDpAOkA6P0E6P0E6Rzo8KCEhISEhISE52eElAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAX9zoiICIiIiYwOkFGRkdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRkZG + REY6PDAlIig/Rj8/Pz8/Pz8/Pz8/PzpAPzo/OikiISEhHyEhONfhJgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABT3PCUlISEhJjc5RkdHR0dHR0dHR0dHR0dHR0dHR0dH + R0dHR0dHR0dHR0E6MCQhKTpAQEBAQEBAQEBAQEBARj9ARjopICAgICElITzY4SUAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/c6KCUlJSUmMDpBREdHR0dHR0dHR0dH + R0dHR0dHR0dHR0dHR0dHR0ZHQTowJCUqRj9AQUFBQUFBQT9AQUE/OkY6KSQlJSUlJSI62+EkAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU9zokJCQkJCY3PEdGR0hI + SEhISEhISEhISEdHR0dHR0dHR0dHR0dHR0Q/OjAkJSk/RkE/P0BBQEE/RkFAQUZHPyokJCQkJCImOtjh + JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf2QCUlJSUl + JzE6REdISEhISEhISEhISEhISEhISEhISEhISEhISEhHREY4MSYlLEZAQEZGRkBGQEZAQEY/QUEpJSQk + JCQkJT/a4SUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + F/c/JSUlJSUmNzpBRkhISEhISEhISEhISEhISEhISEhISEhISEhISEdHQTowJigpR0dGQUFBR0FGQEZG + QEdAKiUlJSUlJSc63eElAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAX9kEnJiYmJic3OkdHSEhISEhISEhISEhISEhISEhISEhISEhISEhIR0ZGOjAmJilJRkdH + R0ZBRkFGQURGPyomJiYmJiYlP9zhJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAARf2PycnJycnKTc6REdJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSEhISEhIRkE5 + MSYoKkZGRkZHR0dHR0dHREYqJiYmJiYmJkHc4SUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/ZHKCgoKCgoNDpHSElJSUlJSUlJSUlJSUlJSUlJSUlJSUlJ + SUlJSUhHRzoyJicvRkZGRkZGRkZGRkRBLCgnJycnJyVB4eEkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU9kAoKCgoKCk3OkRHSUlJSUlJSUlJSUlJSUlJ + SUlJSUlJSUlJSUlJSEhEOjEnKDBHR0dHR0dHR0ZERikoKCgoKCgoR+HhJAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf2RigqKikpKTQ6RklJSkpKSkpK + SUlJSUlJSUlJSUlJSUlJSUlJSUlIR0E6MicpMUhISEhISEhISEYoKSkoKCgoJkTh4SUAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/ZHKSooKSkqNzpH + SEpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSklHRzowKCgvSUlJSUlJSUlELCkpKCkpKSlH5OEmAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX9kYq + KSksLCo0OkZJSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSUhGOjcnKTdKSUpMS0pKRikpLykpKios + SOHhJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAARf2RyopLyksKTc6R0hKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpJRkY8MSopNEtLS0tKTEcp + KSksLCwpKUjh5CUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAF/ZHLCovKSopNzpKSktLS0tLS0tLS0tLS0tLS0tKSkpKSkpKSkpKSkpIRjo3KCk4 + S0xMTExGKSosLCopKipR59omAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAEY9kopLC8pLCo3OkRJS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL + SklHOjQpKTRPTEtLRCkvLykpLyksVufVDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABb2SCoqMSkwLDc/R0dLS0tLS0tLS0tLS0tLS0tLS0tL + S0tLS0tLS0tKSUc6NiosN0xMTEcpLywqKi8vKVjs1g4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGPZIMSkxKikqNDpHSUtLTExMS0tLS0tL + S0tLS0tLS0tLS0tLS0tLS0pJRzo0Ki80TExGMSkxKTEqKi9Z59UOAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW9kkvKjAqMCkxOkdHSEtJ + SUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlLSklHPDQpLypVRzAvKjAqMCkyWufXDAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARr2SC8vLzAw + KCw5OkdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0ZJR0Q6MSkxKjoqLy8vMDIyKlXs1A0AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + BPFYMDAwMDApJzA3P0ZBR0ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkFBOjkpKTAvLy8vLy8vLypZ8dcN + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAEB24IwMDAwMDAkJyo2OTk8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8OTg2MSYnMDAwMDAw + MDAxWe7UBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAC4wjIxMTExMS8lJSgpKjAqMCowKjAqMCowKjAqMCowKjAqMCowKjAqLyol + GigwMDAwMDAwL1zx1QoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlr0RzAyMjIxMTEsKigoKSkpKSkpKSkpKSkpKSkpKSkpKSkp + KSkpKSgoJyUlMDExMTEyMjJZ8ccBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeSnNzQxMTAxMDEwMTAxMDEwMTAxMDEwMTIy + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjAxWfHPAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf/ZqMjcwNzI3MjcyNzI3Mjcy + NzI3MjcyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyN1/xxwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuO1YNjc0NDQ0 + NDQ0NDQ0NDQ0NDQ0NDQ3MjcyNzI3MjcyNzI3MjcyNzI3MjcyNzJh8MoBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH + 2+dvNDQyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjQ0NDQ0YvDCBgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAGx/awVzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3NDQ0NGLuxAEAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAiOf0xJeCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKe + 8M4OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITV4+Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl + 5eXl5eXl5uSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////4AAAAAAAAAAAD////////8AAAAAAAAAAAAP///////8AAAAAAAAAAAAB///////+ + AAAAAAAAAAAAAP///////AAAAAAAAAAAAAB///////wAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAD// + ////+AAAAAAAAAAAAAAf//////gAAAAAAAAAAAAAH//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA + AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA + AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w + AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// + ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA + AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA + AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w + AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// + ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA + AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA + AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w + AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// + ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAA + AAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAA + AAAAAAAAD//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////w + AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAA// + ////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAH//////wAAAAAAAAAAAAAD//////8AAAAAAAAAAA + AAB///////AAAAAAAAAAAAAA///////wAAAAAAAAAAAAAf//////8AAAAAAAAAAAAAP///////AAAAAA + AAAAAAAH///////wAAAAAAAAAAAAD///////8AAAAAAAAAAAAB////////AAAAAAAAAAAAA////////w + AAAAAAAAAAAAf///////8AAAAAAAAAAAAP////////AAAAAAAAAAAAH////////wAAAAAAAAAAAD//// + ////8AAAAAAAAAAAB/////////AAAAAAAAAAAA/////////wAAAAAAAAAAAf////////8AAAAAAAAAAA + P/////////AAAAAAAAAAAH/////////wAAAAAAAAAAD/////////8AAAAAAAAAAB//////////AAAAAA + AAAAA//////////wAAAAAAAAAAf/////////8AAAAAAAAAAP//////////AAAAAAAAAAH//////////w + AAAAAAAAAD//////////8AAAAAAAAAB///////////AAAAAAAAAA///////////wAAAAAAAAAf////// + ////8AAAAAAAAAP///////////AAAAAAAAAH///////////wAAAAAAAAD///////////+AAAAAAAAB// + //////////gAAAAAAAA////////////8AAAAAAAAf////////////AAAAAAAAP////////////4AAAAA + AAH/////////////AAAAAAAD/////////////8AAAAAAB//////////////wAAAAAB////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////ygAAABAAAAAgAAAAAEAIAAAAAAAAIAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAIAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAA + AwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAA + AwAAAAMAAAADAAAAAwAAAAMAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAABgAAAB8AAAA8AAAASQAAAEoAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAA + SwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAA + SwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEoAAABKAAAAQwAAAC4AAAASAAAAAgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEtJSUmm//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////AAAA + dQAAADEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAFj/////AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/zIyMv//////AAAAPgAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAADv/////AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAAsAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAA8AAAB3AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8RERH/AAAA + awAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAj/////wAAAP8AAAD/AAAA/xcXF/8kJCT/KSkp/yoqKv8qKir/Kioq + /yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq + /yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/ygoKP8hISH/AAAA + /wAAAP8AAAD/AAAA//7+/v8AAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANP////8AAAD/AAAA/wAAAP8jIyP/Li4u + /zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy + /zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy + /zIyMv8xMTH/LCws/yEhIf8AAAD/AAAA/wAAAP//////AAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr/////AAAA + /wAAAP8AAAD/Jycn/zExMf80NDT/NDQ0/6qqqv+qqqr/qqqq/6qqqv80NDT/NDQ0/6qqqv+qqqr/NDQ0 + /zQ0NP+qqqr/qqqq/6qqqv+qqqr/qqqq/zQ0NP+qqqr/qqqq/6qqqv+qqqr/NDQ0/6qqqv+qqqr/NDQ0 + /6qqqv+qqqr/qqqq/6qqqv80NDT/NDQ0/zExMf8nJyf/AAAA/wAAAP8AAAD//////wAAADkAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAEAAAA7/////wAAAP8AAAD/AAAA/ykpKf8yMjL/NTU1/zU1Nf81NTX/NTU1/7e3t/+3t7f/NTU1 + /zU1Nf+3t7f/t7e3/zU1Nf81NTX/t7e3/7e3t/81NTX/t7e3/7e3t/81NTX/t7e3/7e3t/+3t7f/t7e3 + /zU1Nf+3t7f/t7e3/zU1Nf+3t7f/t7e3/7e3t/+3t7f/NDQ0/zQ0NP8xMTH/KCgo/wAAAP8AAAD/AAAA + //////8AAAA7AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8AAAD/AAAA/wAAAP8qKir/MzMz/zY2Nv82Njb/NTU1 + /zU1Nf/FxcX/xcXF/zU1Nf81NTX/xcXF/8XFxf81NTX/NTU1/8XFxf/FxcX/NTU1/8XFxf/FxcX/NTU1 + /8XFxf/FxcX/xcXF/8XFxf81NTX/xcXF/8XFxf81NTX/xcXF/8XFxf/FxcX/xcXF/zU1Nf81NTX/MjIy + /ykpKf8AAAD/AAAA/wAAAP//////AAAAOwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////AAAA/wAAAP8AAAD/Kioq + /zMzM/82Njb/NjY2/9PT0//T09P/09PT/9PT0/82Njb/NjY2/9PT0//T09P/NjY2/zY2Nv/T09P/09PT + /zY2Nv/T09P/09PT/zY2Nv/T09P/09PT/9PT0//T09P/NjY2/9PT0//T09P/NjY2/9PT0//T09P/09PT + /9PT0/82Njb/NjY2/zMzM/8qKir/AAAA/wAAAP8AAAD//////wAAADsAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7//// + /wAAAP8AAAD/AAAA/ysrK/80NDT/Nzc3/zc3N//g4OD/4ODg/zc3N/83Nzf/NjY2/zY2Nv/g4OD/4ODg + /zY2Nv82Njb/4ODg/+Dg4P82Njb/4ODg/+Dg4P82Njb/4ODg/+Dg4P/g4OD/4ODg/zY2Nv/g4OD/4ODg + /zY2Nv/g4OD/4ODg/+Dg4P/g4OD/NjY2/zY2Nv8zMzP/Kioq/wAAAP8AAAD/AAAA//////8AAAA7AAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAABAAAAO/////8AAAD/AAAA/wAAAP8rKyv/NDQ0/zc3N/83Nzf/7e3t/+3t7f/t7e3/7e3t + /zc3N//t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/Nzc3/+3t7f/t7e3/Nzc3/+3t7f/t7e3/7e3t + /+3t7f83Nzf/7e3t/+3t7f83Nzf/7e3t/+3t7f/t7e3/7e3t/zc3N/83Nzf/NDQ0/ysrK/8AAAD/AAAA + /wAAAP//////AAAAOwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////AAAA/wAAAP8AAAD/LCws/zU1Nf84ODj/ODg4 + //r6+v/6+vr/+vr6//r6+v84ODj/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6/zg4OP/6+vr/+vr6 + /zg4OP/6+vr/+vr6//r6+v/6+vr/Nzc3//r6+v/6+vr/Nzc3//r6+v/6+vr/+vr6//r6+v83Nzf/Nzc3 + /zQ0NP8rKyv/AAAA/wAAAP8AAAD//////wAAADsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7/////wAAAP8AAAD/AAAA + /ywsLP81NTX/ODg4/01NTf+jo6P/o6Oj/6Ojo/+ZmZn/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/o6Oj + /6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/84ODj/o6Oj/6Ojo/+jo6P/o6Oj/zg4OP+fn5//o6Oj + /6Ojo/+jo6P/RUVF/zg4OP81NTX/LCws/wAAAP8AAAD/AAAA//////8AAAA7AAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA + O/////8CAgL/AQEB/wEBAf8sLCz/NjY2/zk5Of9RUVH/qamp/6mpqf+pqan/oKCg/zk5Of85OTn/OTk5 + /zk5Of85OTn/OTk5/6mpqf+pqan/qamp/6mpqf+pqan/qamp/6mpqf+pqan/OTk5/6mpqf+pqan/qamp + /6mpqf84ODj/pqam/6mpqf+pqan/qamp/0ZGRv84ODj/NTU1/ywsLP8BAQH/AQEB/wEBAf//////AAAA + OwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAQAAADv/////AwMD/wMDA/8DAwP/LCws/zY2Nv85OTn/UlJS/7CwsP+wsLD/sLCw + /6Wlpf85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of+wsLD/sLCw/7CwsP+wsLD/sLCw/7CwsP+wsLD/sLCw + /zk5Of+wsLD/sLCw/7CwsP+wsLD/OTk5/6ysrP+wsLD/sLCw/7CwsP9ISEj/OTk5/zY2Nv8sLCz/AgIC + /wICAv8CAgL//////wAAADsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7/////wQEBP8EBAT/BAQE/y0tLf83Nzf/Ojo6 + /1NTU/+3t7f/t7e3/7e3t/+rq6v/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/t7e3/7e3t/+3t7f/t7e3 + /zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/t7e3/7e3t/+3t7f/t7e3/zo6Ov+ysrL/t7e3/7e3t/+3t7f/SUlJ + /zo6Ov83Nzf/LS0t/wMDA/8DAwP/AwMD//////8AAAA7AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8GBgb/BgYG + /wYGBv8uLi7/ODg4/zs7O/9VVVX/vr6+/76+vv++vr7/sbGx/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6 + /76+vv++vr7/vr6+/76+vv86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/76+vv++vr7/vr6+/76+vv+/v7//vr6+ + /76+vv++vr7/vr6+/0lJSf86Ojr/Nzc3/y0tLf8FBQX/BQUF/wUFBf//////AAAAOwAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AQAAADv/////BwcH/wcHB/8HBwf/Li4u/zg4OP87Ozv/VlZW/8XFxf/FxcX/xcXF/7e3t/87Ozv/Ozs7 + /zs7O/87Ozv/Ozs7/zs7O//FxcX/xcXF/8XFxf/FxcX/Ozs7/zs7O/87Ozv/Ozs7/zs7O//FxcX/xcXF + /8XFxf/FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf9KSkr/Ozs7/zg4OP8uLi7/BgYG/wYGBv8GBgb///// + /wAAADsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAEAAAA7/////wgICP8ICAj/CAgI/y8vL/85OTn/PDw8/1hYWP/MzMz/zMzM + /8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP88PDz/zMzM/8zMzP/MzMz/zMzM/zw8PP87Ozv/Ozs7 + /zs7O/87Ozv/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/SkpK/zs7O/84ODj/Li4u + /wcHB/8HBwf/BwcH//////8AAAA7AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8KCgr/CgoK/woKCv8vLy//OTk5 + /zw8PP9YWFj/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/PDw8/9LS0v/S0tL/0tLS + /9LS0v88PDz/PDw8/zw8PP88PDz/PDw8/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v88PDz/PDw8 + /zw8PP88PDz/OTk5/y8vL/8JCQn/CQkJ/wkJCf//////AAAAOwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////CwsL + /wsLC/8LCwv/MDAw/zo6Ov89PT3/WVlZ/9nZ2f/Z2dn/2dnZ/8vLy/9PT0//2dnZ/9nZ2f/Z2dn/2dnZ + /z09Pf/Z2dn/2dnZ/9nZ2f/Z2dn/PT09/z09Pf89PT3/PT09/z09Pf/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ + /9nZ2f/Z2dn/09PT/9PT0/9KSkr/PDw8/zk5Of8vLy//CgoK/woKCv8KCgr//////wAAADsAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAEAAAA7/////wwMDP8MDAz/DAwM/zAwMP86Ojr/PT09/1paWv/g4OD/4ODg/+Dg4P/Nzc3/PT09 + /+Dg4P/g4OD/4ODg/+Dg4P89PT3/4ODg/+Dg4P/g4OD/4ODg/z09Pf89PT3/PT09/z09Pf89PT3/4ODg + /+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/TU1N/z09Pf86Ojr/MDAw/wwMDP8MDAz/CwsL + //////8AAAA7AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8ODg7/Dg4O/w4ODv8wMDD/Ozs7/z4+Pv9cXFz/5+fn + /+fn5//n5+f/1NTU/z4+Pv/n5+f/5+fn/+fn5//n5+f/Pj4+/+fn5//n5+f/5+fn/+fn5/8+Pj7/Pj4+ + /z4+Pv8+Pj7/Pj4+/+fn5//n5+f/5+fn/+fn5/8+Pj7/39/f/+fn5//n5+f/5+fn/05OTv8+Pj7/Ozs7 + /zAwMP8NDQ3/DQ0N/w0NDf//////AAAAOwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////Dw8P/w8PD/8PDw//MTEx + /zw8PP8/Pz//XV1d/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/z4+Pv/u7u7/7u7u + /+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/z4+Pv/u7u7/7u7u/+7u7v/u7u7/Pj4+/+bm5v/u7u7/7u7u + /+7u7v9OTk7/Pj4+/zs7O/8wMDD/Dg4O/w4ODv8ODg7//////wAAADsAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7//// + /xAQEP8QEBD/EBAQ/zExMf88PDz/Pz8//11dXf/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1 + //X19f8/Pz//9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f8/Pz//9fX1//X19f/19fX/9fX1 + /z8/P//s7Oz/9fX1//X19f/19fX/UFBQ/z8/P/88PDz/MTEx/xAQEP8QEBD/EBAQ//////8AAAA7AAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAABAAAAO/////8SEhL/EhIS/xISEv8yMjL/PT09/0BAQP9eXl7//Pz8//z8/P/8/Pz//Pz8 + //z8/P/8/Pz//Pz8//z8/P/8/Pz/QEBA//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/Pz8/ + //z8/P/8/Pz//Pz8//z8/P8/Pz//8/Pz//z8/P/8/Pz//Pz8/1BQUP8/Pz//PDw8/zExMf8RERH/ERER + /xEREf//////AAAAOwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////ExMT/xMTE/8TExP/MjIy/z09Pf9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA + /z09Pf8yMjL/EhIS/xISEv8SEhL//////wAAADsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7/////xQUFP8UFBT/FBQU + /zMzM/8+Pj7/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP89PT3/MjIy/xQUFP8UFBT/FBQU//////8AAAA7AAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA + O/////8WFhb/FhYW/xYWFv8zMzP/Pj4+/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/Pj4+/zMzM/8VFRX/FRUV/xUVFf//////AAAA + OwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAQAAADv/////FxcX/xcXF/8XFxf/NDQ0/z8/P/9CQkL/QkJC/0JCQv9CQkL/QkJC + /0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FBQf8/Pz//PT09 + /zw8PP87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zg4OP8uLi7/FhYW + /xYWFv8WFhb//////wAAADsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7/////xgYGP8YGBj/GBgY/zQ0NP9AQED/Q0ND + /0NDQ/9DQ0P/Q0ND/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC + /0BAQP88PDz/NjY2/y8vL/8sLCz/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr + /ysrK/8pKSn/ISEh/xgYGP8YGBj/GBgY//////8AAAA6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8aGhr/Ghoa + /xoaGv80NDT/QEBA/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND + /0NDQ/9DQ0P/Q0ND/0FBQf88PDz/MTEx/yQkJP8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ + /xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf//////AAAANAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AQAAADv/////Gxsb/xsbG/8bGxv/NTU1/0FBQf9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE + /0RERP9ERET/RERE/0NDQ/9DQ0P/Q0ND/0JCQv8+Pj7/MjIy/x8fH/8bGxv/GBgY/zY2Nv82Njb/NjY2 + /zY2Nv82Njb/NjY2/zY2Nv81NTX/NTU1/zU1Nf81NTX/NTU1/xwcHP8aGhr/Ghoa/xoaGv8aGhr///// + /wAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAEAAAA7/////xwcHP8cHBz/HBwc/zU1Nf9BQUH/RERE/0RERP9ERET/RERE + /0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9CQkL/Ozs7/ykpKf8cHBz/Nzc3 + /zg4OP84ODj/ODg4/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/8cHBz/HBwc + /xwcHP8cHBz//v7+/wAAADwAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8eHh7/Hh4e/x4eHv82Njb/QkJC + /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/QkJC + /zc3N/8ZGRn/HR0d/zo6Ov85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/zk5Of85OTn/OTk5 + /zk5Of8dHR3/HR0d/x0dHf8dHR3//////wAAAD8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////Hx8f + /x8fH/8fHx//NjY2/0JCQv9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF + /0VFRf9FRUX/RUVF/0JCQv81NTX/Hx8f/ykpKf87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7 + /zs7O/87Ozv/Ozs7/zo6Ov8eHh7/Hh4e/x4eHv8eHh7//v7+/wAAAD4AAAAIAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAEAAAA7/////yAgIP8gICD/ICAg/zc3N/9DQ0P/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG + /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9CQkL/NTU1/yAgIP86Ojr/PT09/z09Pf89PT3/PT09 + /z09Pf89PT3/PT09/z09Pf89PT3/PT09/zw8PP8gICD/ICAg/yAgIP8gICD//v7+/wAAAD4AAAAHAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAO/////8iIiL/IiIi/yIiIv84ODj/RERE/0dHR/9HR0f/RkZG + /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/QkJC/zU1Nf8hISH/Pz8/ + /z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8+Pj7/Pj4+/z4+Pv8hISH/ISEh/yEhIf8hISH///// + /wAAAD4AAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////IyMj/yMjI/8jIyP/ODg4 + /0RERP9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH + /0NDQ/81NTX/IyMj/0FBQf9BQUH/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8iIiL/IiIi + /yIiIv8iIiL//////wAAAD8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7//// + /yUlJf8lJSX/JSUl/zg4OP9FRUX/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI + /0hISP9ISEj/SEhI/0hISP9DQ0P/NTU1/yQkJP9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC + /0JCQv8kJCT/JCQk/yQkJP8kJCT//////wAAAD4AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAABAAAAO/////8mJib/JiYm/yYmJv84ODj/RUVF/0hISP9ISEj/SEhI/0hISP9ISEj/SEhI + /0hISP9ISEj/SEhI/0hISP9ISEj/SEhI/0hISP9ISEj/RERE/zY2Nv8lJSX/RERE/0RERP9ERET/RERE + /0RERP9ERET/RERE/0RERP8lJSX/JSUl/yUlJf8lJSX//////wAAAD4AAAAHAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADv/////Jycn/ycnJ/8nJyf/OTk5/0ZGRv9JSUn/SUlJ + /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0VFRf83Nzf/Jycn + /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv8nJyf/Jycn/ycnJ/8nJyf//////wAAAD4AAAAHAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA7/////ykpKf8pKSn/KSkp + /zk5Of9GRkb/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ + /0lJSf9FRUX/Nzc3/ygoKP9ISEj/SEhI/0hISP9ISEj/SEhI/0dHR/8oKCj/KCgo/ygoKP8oKCj///// + /wAAAD8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA + O/////8qKir/Kioq/yoqKv86Ojr/R0dH/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK + /0pKSv9KSkr/SkpK/0pKSv9KSkr/RkZG/zc3N/8pKSn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf8pKSn/KSkp + /ykpKf8pKSn//////wAAAD4AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAQAAADv/////Kysr/ysrK/8rKyv/Ojo6/0dHR/9KSkr/SkpK/0pKSv9KSkr/SkpK + /0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0ZGRv83Nzf/Kysr/0tLS/9LS0v/S0tL + /0tLS/8rKyv/Kysr/ysrK/8rKyv//////wAAAD0AAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA6/////ywsLP8sLCz/LCws/zo6Ov9ISEj/S0tL + /0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9HR0f/ODg4 + /ywsLP9NTU3/TU1N/0tLS/8sLCz/LCws/ywsLP8sLCz//////wAAADoAAAAGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOf////8uLi7/Li4u + /y4uLv84ODj/R0dH/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL + /0pKSv9KSkr/RkZG/zg4OP8tLS3/SUlJ/05OTv8tLS3/LS0t/y0tLf8tLS3//////wAAADkAAAAHAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAADD/////Ly8v/y8vL/8vLy//Li4u/z4+Pv9FRUX/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG + /0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0JCQv80NDT/Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy////// + /wAAADgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAd/////zAwMP8wMDD/MDAw/x0dHf8rKyv/MjIy/zQ0NP80NDT/NDQ0 + /zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP8xMTH/JiYm/zAwMP8wMDD/MDAw + /zAwMP8wMDD//////wAAADcAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsXFxbkyMjL/MjIy/zIyMv8yMjL/MjIy + /zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8xMTH/MTEx + /zExMf8xMTH/MTEx/zExMf8xMTH//////wAAADYAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn//// + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP//////wAAADUAAAAFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAABQAAADT/////NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0 + /zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT//////wAAADUAAAAGAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIrS0tJ3///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /wAAAC8AAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA + EgAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAA + FwAAABcAAAAXAAAAFgAAAA4AAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////// + ///4AAAAAD////AAAAAAD///4AAAAAAH///gAAAAAAf//8AAAAAAA///wAAAAAAD///AAAAAAAP//8AA + AAAAA///wAAAAAAD///AAAAAAAP//8AAAAAAA///wAAAAAAD///AAAAAAAP//8AAAAAAA///wAAAAAAD + ///AAAAAAAP//8AAAAAAA///wAAAAAAD///AAAAAAAP//8AAAAAAA///wAAAAAAD///AAAAAAAP//8AA + AAAAA///wAAAAAAD///AAAAAAAP//8AAAAAAA///wAAAAAAD///AAAAAAAP//8AAAAAAA///wAAAAAAD + ///AAAAAAAP//8AAAAAAA///wAAAAAAD///AAAAAAAP//8AAAAAAB///wAAAAAAP///AAAAAAB///8AA + AAAAP///wAAAAAB////AAAAAAP///8AAAAAB////wAAAAAP////AAAAAB////8AAAAAP////wAAAAB// + ///AAAAAP////8AAAAB/////wAAAAP/////AAAAB/////8AAAAP/////wAAAB//////gAAAP//////AA + AB//////+AAAP/////////////////////////////////////////////////////////8oAAAAQAAA + AIAAAAABAAgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEBAf8CAgL/AwMD/wQEBP8FBQX/BgYG + /wcHB/8ICAj/CQkJ/woKCv8LCwv/DAwM/w0NDf8ODg7/Dw8P/xAQEP8RERH/EhIS/xMTE/8UFBT/FRUV + /xYWFv8XFxf/GBgY/xkZGf8aGhr/Gxsb/xwcHP8dHR3/Hh4e/x8fH/8gICD/ISEh/yIiIv8jIyP/JCQk + /yUlJf8mJib/Jycn/ygoKP8pKSn/Kioq/ysrK/8sLCz/LS0t/y4uLv8vLy//MDAw/zExMf8yMjL/MzMz + /zQ0NP81NTX/NjY2/zc3N/84ODj/OTk5/zo6Ov87Ozv/PDw8/z09Pf8+Pj7/Pz8//0BAQP9BQUH/QkJC + /0NDQ/9ERET/RUVF/0ZGRv9HR0f/SEhI/0lJSf9KSkr/S0tL/01NTf9PT0//UFBQ/1FRUf9TU1P/VVVV + /1ZWVv9XV1f/WFhY/1lZWf9bW1v/XV1d/15eXv9fX1//YGBg/2NjY/9kZGT/ZWVl/2ZmZv9nZ2f/aGho + /2lpaf9qamr/a2tr/2xsbP9tbW3/bm5u/29vb/9wcHD/cXFx/3Nzc/90dHT/dXV1/3Z2dv93d3f/eHh4 + /3l5ef96enr/e3t7/3x8fP99fX3/fn5+/39/f/+AgID/gYGB/4KCgv+Dg4P/hISE/4WFhf+Ghob/h4eH + /4iIiP+JiYn/ioqK/4yMjP+Ojo7/j4+P/5CQkP+RkZH/kpKS/5OTk/+UlJT/lZWV/5aWlv+Xl5f/mJiY + /5mZmf+ampr/m5ub/5ycnP+dnZ3/np6e/5+fn/+goKD/oaGh/6Kiov+jo6P/pKSk/6Wlpf+mpqb/p6en + /6ioqP+pqan/qqqq/62trf+urq7/r6+v/7CwsP+zs7P/tLS0/7a2tv+3t7f/uLi4/7m5uf+6urr/vb29 + /76+vv+/v7//wMDA/8LCwv/Dw8P/xMTE/8XFxf/Gxsb/x8fH/8rKyv/Ly8v/zMzM/83Nzf/Ozs7/z8/P + /9DQ0P/R0dH/0tLS/9PT0//U1NT/1tbW/9fX1//Y2Nj/2dnZ/9ra2v/c3Nz/3d3d/97e3v/f39//4ODg + /+Hh4f/j4+P/5eXl/+bm5v/n5+f/6Ojo/+np6f/r6+v/7e3t/+7u7v/x8fH/9PT0//X19f8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + 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 + AAAAA///wAAAAAAH///AAAAAAA///8AAAAAAH///wAAAAAA////AAAAAAH///8AAAAAA////wAAAAAH/ + ///AAAAAA////8AAAAAH////wAAAAA/////AAAAAH////8AAAAA/////wAAAAH/////AAAAA/////8AA + AAH/////wAAAA//////AAAAH/////+AAAA//////8AAAH//////4AAA///////////////////////// + /////////////////////////////////ygAAAAwAAAAYAAAAAEAIAAAAAAAAEgAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAA + AQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAF4AAABhAAAAYQAAAGEAAABhAAAAYQAAAGEAAABhAAAA + YQAAAGEAAABhAAAAYQAAAGEAAABhAAAAYQAAAGEAAABhAAAAYQAAAGEAAABhAAAAYQAAAGEAAABhAAAA + YQAAAGEAAABXAAAALgAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJeXl6tOzs7/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAHQAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAB5AAAACQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9ubm7/AAAA + NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + bQAAAP8AAAD/AAAA/ykpKf8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v + /y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y4uLv8mJib/AAAA + /wAAAP8AAAD/AAAAaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAD3Nzc3AAAAP8AAAD/Hh4e/zAwMP80NDT/p6en/6enp/+np6f/p6en/zQ0NP+np6f/p6en + /zQ0NP+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/NDQ0/6enp/+np6f/p6en/6enp/+np6f/p6en + /zQ0NP8vLy//HR0d/wAAAP8AAAD/3d3d3QAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AAAAP8AAAD/ISEh/zIyMv81NTX/NTU1/zU1Nf+6urr/urq6 + /zU1Nf+6urr/urq6/zU1Nf+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6 + /7q6uv+6urr/urq6/zU1Nf8yMjL/ISEh/wAAAP8AAAD/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AAAAP8AAAD/ISEh/zMzM/82Njb/zMzM + /8zMzP/MzMz/zMzM/zY2Nv/MzMz/zMzM/zY2Nv/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM + /8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/zU1Nf8yMjL/ISEh/wAAAP8AAAD/3Nzc3gAAAAQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AAAAP8AAAD/IiIi + /zQ0NP83Nzf/3t7e/97e3v82Njb/NjY2/zY2Nv/e3t7/3t7e/zY2Nv/e3t7/3t7e/97e3v/e3t7/3t7e + /97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/zY2Nv8zMzP/ISEh/wAAAP8AAAD/3Nzc + 3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc + 3AAAAP8AAAD/IiIi/zQ0NP83Nzf/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v + /+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/zc3N/80NDT/IiIi + /wAAAP8AAAD/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAE3Nzc3AAAAP8AAAD/IyMj/zU1Nf84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 + /zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4 + /zg4OP81NTX/IyMj/wAAAP8AAAD/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AEBAf8BAQH/IyMj/zY2Nv85OTn/qKio/6ioqP+oqKj/OTk5 + /zk5Of85OTn/OTk5/zk5Of+oqKj/qKio/6ioqP+oqKj/qKio/6ioqP84ODj/qKio/6ioqP+oqKj/ODg4 + /6ioqP+oqKj/qKio/zg4OP81NTX/IyMj/wEBAf8AAAD/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AMDA/8DAwP/JCQk/zc3N/86Ojr/sbGx + /7Gxsf+xsbH/OTk5/zk5Of85OTn/OTk5/zk5Of+xsbH/sbGx/7Gxsf+xsbH/sbGx/7Gxsf85OTn/sbGx + /7Gxsf+xsbH/OTk5/7Gxsf+xsbH/sbGx/zk5Of82Njb/IyMj/wICAv8CAgL/3Nzc3gAAAAQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AUFBf8FBQX/JCQk + /zc3N/86Ojr/urq6/7q6uv+6urr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov+6urr/urq6/7q6uv86Ojr/Ojo6 + /zo6Ov86Ojr/urq6/7q6uv+6urr/Ojo6/7q6uv+6urr/urq6/zo6Ov83Nzf/JCQk/wQEBP8EBAT/3Nzc + 3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc + 3AcHB/8HBwf/JSUl/zg4OP87Ozv/xMTE/8TExP/ExMT/Ozs7/zs7O/87Ozv/Ozs7/zs7O//ExMT/xMTE + /8TExP87Ozv/Ozs7/zs7O/87Ozv/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/zs7O/84ODj/JSUl + /wYGBv8GBgb/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAE3Nzc3AgICP8ICAj/JSUl/zg4OP88PDz/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N + /zw8PP/Nzc3/zc3N/83Nzf88PDz/PDw8/zw8PP88PDz/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N + /zs7O/84ODj/JSUl/wgICP8ICAj/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AoKCv8KCgr/JiYm/zk5Of89PT3/1tbW/9bW1v/W1tb/1tbW + /9bW1v/W1tb/1tbW/zw8PP/W1tb/1tbW/9bW1v88PDz/PDw8/zw8PP88PDz/1tbW/9bW1v/W1tb/1tbW + /9bW1v88PDz/PDw8/zw8PP84ODj/JSUl/woKCv8KCgr/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3AwMDP8MDAz/JiYm/zk5Of89PT3/39/f + /9/f3//f39//PT09/9/f3//f39//39/f/z09Pf/f39//39/f/9/f3/89PT3/PT09/z09Pf89PT3/39/f + /9/f3//f39//39/f/9/f3//f39//39/f/z09Pf85OTn/JiYm/wsLC/8LCwv/3Nzc3gAAAAQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3A4ODv8ODg7/JiYm + /zo6Ov8+Pj7/6Ojo/+jo6P/o6Oj/Pj4+/+jo6P/o6Oj/6Ojo/z4+Pv/o6Oj/6Ojo/+jo6P8+Pj7/Pj4+ + /z4+Pv8+Pj7/6Ojo/+jo6P/o6Oj/Pj4+/+jo6P/o6Oj/6Ojo/z4+Pv86Ojr/JiYm/w0NDf8NDQ3/3Nzc + 3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc + 3BAQEP8QEBD/Jycn/zs7O/8/Pz//8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy/z8/P//y8vL/8vLy + //Ly8v/y8vL/8vLy//Ly8v8/Pz//8vLy//Ly8v/y8vL/Pz8///Ly8v/y8vL/8vLy/z4+Pv86Ojr/JiYm + /w8PD/8PDw//3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAE3Nzc3BISEv8RERH/KCgo/zw8PP9AQED/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7 + /z8/P//7+/v/+/v7//v7+//7+/v/+/v7//v7+/8/Pz//+/v7//v7+//7+/v/Pz8///v7+//7+/v/+/v7 + /z8/P/87Ozv/Jycn/xEREf8RERH/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3BMTE/8TExP/KCgo/zw8PP9AQED/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA + /0BAQP9AQED/QEBA/0BAQP88PDz/KCgo/xISEv8SEhL/3Nzc3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3BUVFf8VFRX/KCgo/z09Pf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/0FBQf9BQUH/QUFB/0FBQf89PT3/KCgo/xQUFP8UFBT/3Nzc3gAAAAQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3BcXF/8XFxf/KSkp + /z4+Pv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QUFB + /z8/P/89PT3/PT09/z09Pf89PT3/PT09/zw8PP88PDz/PDw8/zw8PP85OTn/JSUl/xYWFv8WFhb/3Nzc + 3gAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc + 3BkZGf8ZGRn/Kioq/z8/P/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0JCQv9CQkL/QkJC + /0JCQv8/Pz//Nzc3/y0tLf8oKCj/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8kJCT/GBgY + /xgYGP8YGBj/3d3d3QAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAE3Nzc3BoaGv8aGhr/Kioq/z8/P/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND + /0NDQ/9DQ0P/Q0ND/0FBQf81NTX/ICAg/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/Ghoa + /xoaGv8aGhr/Ghoa/xoaGv8aGhr/wcHBuwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3BwcHP8cHBz/Kioq/0BAQP9ERET/RERE/0RERP9ERET/RERE + /0RERP9ERET/RERE/0RERP9ERET/RERE/z09Pf8nJyf/HBwc/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3 + /zc3N/83Nzf/Nzc3/zc3N/8cHBz/HBwc/xwcHP//////AAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3B4eHv8eHh7/Kysr/0FBQf9FRUX/RUVF + /0VFRf9FRUX/RUVF/0VFRf9FRUX/RUVF/0VFRf9FRUX/RERE/zk5Of8dHR3/Ojo6/zo6Ov86Ojr/Ojo6 + /zk5Of85OTn/OTk5/zk5Of85OTn/OTk5/x0dHf8dHR3/HR0d//7+/v8AAAAlAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3CAgIP8gICD/LCws + /0JCQv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RUVF/zc3N/8fHx//PDw8 + /zw8PP88PDz/PDw8/zw8PP88PDz/PDw8/zw8PP87Ozv/Hx8f/x8fH/8fHx///v7+/wAAACUAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc + 3CEhIf8hISH/LCws/0JCQv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RUVF + /zc3N/8hISH/Pz8//z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8hISH/ISEh/yEhIf/+/v7/AAAA + JQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAE3Nzc3CMjI/8jIyP/LCws/0NDQ/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH + /0dHR/9HR0f/RkZG/zg4OP8jIyP/QUFB/0FBQf9BQUH/QUFB/0FBQf9BQUH/QEBA/yMjI/8jIyP/IyMj + //////8AAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3CUlJf8lJSX/LS0t/0RERP9ISEj/SEhI/0hISP9ISEj/SEhI + /0hISP9ISEj/SEhI/0hISP9ISEj/R0dH/zk5Of8lJSX/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/JSUl + /yUlJf8lJSX//////wAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3CcnJ/8nJyf/LS0t/0VFRf9JSUn/SUlJ + /0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/R0dH/zk5Of8nJyf/RkZG/0ZGRv9GRkb/RUVF + /0VFRf8mJib/JiYm/yYmJv//////AAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc3CkpKf8pKSn/Li4u + /0VFRf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SUlJ/0lJSf9JSUn/SEhI/zo6Ov8oKCj/SEhI + /0hISP9ISEj/SEhI/ygoKP8oKCj/KCgo//////8AAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE3Nzc + 3CoqKv8qKir/Li4u/0ZGRv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SkpK/0pKSv9KSkr/SUlJ + /zo6Ov8qKir/SkpK/0pKSv9KSkr/Kioq/yoqKv8qKir//////wAAACQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAE3Nzc3CwsLP8sLCz/Li4u/0dHR/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL + /0tLS/9LS0v/SkpK/zs7O/8sLCz/TU1N/01NTf8sLCz/LCws/ywsLP//////AAAAIgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAC3Nzc3C4uLv8uLi7/Kioq/0VFRf9LS0v/S0tL/0tLS/9LS0v/S0tL + /0tLS/9LS0v/S0tL/0tLS/9LS0v/SkpK/zs7O/8uLi7/T09P/y4uLv8uLi7/Li4u//////8AAAAhAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZTAwMP8wMDD/IiIi/zQ0NP89PT3/Pj4+ + /z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/PT09/zExMf8wMDD/MDAw/zAwMP8wMDD///// + /wAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyMv8yMjL/MjIy + /zIyMv8pKSn/KSkp/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ygoKP8xMTH/MTEx + /zExMf//////AAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + CP39/f4zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz//////8AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAA7/////TExM/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1 + /zU1Nf81NTX/NTU1/zU1Nf81NTX//////wAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAFQAAACMAAAAkAAAAJAAAACQAAAAkAAAA + JAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAiAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA//// + ////AAD///////8AAP+AAAAD/wAA/wAAAAH/AAD/AAAAAP8AAP8AAAAA/wAA/gAAAAB/AAD+AAAAAH8A + AP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAA + AAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8A + AP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAD/AAD+AAAAAf8AAP4AAAAD/wAA/gAA + AAf/AAD+AAAAD/8AAP4AAAAf/wAA/gAAAD//AAD+AAAAf/8AAP4AAAD//wAA/gAAAf//AAD+AAAD//8A + AP8AAAf//wAA/wAAD///AAD/AAAf//8AAP+AAD///wAA////////AAD///////8AAP///////wAA//// + ////AAAoAAAAMAAAAGAAAAABAAgAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEBAf8CAgL/AwMD + /wQEBP8FBQX/BgYG/wcHB/8ICAj/CQkJ/woKCv8LCwv/DAwM/w0NDf8ODg7/Dw8P/xAQEP8RERH/EhIS + /xMTE/8UFBT/FRUV/xYWFv8XFxf/GBgY/xkZGf8aGhr/Gxsb/xwcHP8dHR3/Hh4e/x8fH/8gICD/ISEh + /yIiIv8jIyP/JCQk/yUlJf8mJib/Jycn/ygoKP8pKSn/Kioq/ysrK/8sLCz/LS0t/y4uLv8vLy//MDAw + /zExMf8yMjL/MzMz/zQ0NP81NTX/NjY2/zc3N/84ODj/OTk5/zo6Ov87Ozv/PDw8/z09Pf8+Pj7/Pz8/ + /0BAQP9BQUH/QkJC/0NDQ/9ERET/RUVF/0ZGRv9HR0f/SEhI/0lJSf9KSkr/S0tL/0xMTP9NTU3/Tk5O + /09PT/9RUVH/U1NT/1RUVP9VVVX/VlZW/1dXV/9aWlr/XFxc/11dXf9eXl7/X19f/2FhYf9iYmL/Y2Nj + /2VlZf9nZ2f/aGho/2lpaf9sbGz/bW1t/25ubv9zc3P/dnZ2/3d3d/95eXn/enp6/3t7e/98fHz/fX19 + /35+fv9/f3//gYGB/4iIiP+JiYn/kpKS/5WVlf+Wlpb/l5eX/5iYmP+ZmZn/mpqa/5ubm/+cnJz/nZ2d + /56env+fn5//oKCg/6Ghof+ioqL/pKSk/6Wlpf+mpqb/p6en/6ioqP+pqan/qqqq/6urq/+srKz/ra2t + /6+vr/+xsbH/srKy/7S0tP+1tbX/t7e3/7i4uP+5ubn/urq6/7u7u/+8vLz/v7+//8DAwP/BwcH/wsLC + /8PDw//ExMT/xcXF/8bGxv/Hx8f/yMjI/8nJyf/Kysr/zMzM/83Nzf/Ozs7/z8/P/9LS0v/U1NT/1dXV + /9bW1v/Y2Nj/2tra/9vb2//e3t7/39/f/+Dg4P/h4eH/4uLi/+Pj4//k5OT/5+fn/+jo6P/v7+//8fHx + //Ly8v8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAP8AAAD/Ly8v/zU1Nf81NTX/vr6+/zU1Nf++vr7/NTU1 + /76+vv9tbW3/sLCw/76+vv++vr7/i4uL/6urq/++vr7/vr6+/zU1Nf8vLy//AAAA/wAAAP8AAAARAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAA/wAAAP8wMDD/NjY2/9nZ2f+NjY3/NjY2 + /9nZ2f82Njb/2dnZ/3R0dP/IyMj/2dnZ/9nZ2f+Xl5f/wMDA/9nZ2f/Z2dn/NjY2/zAwMP8AAAD/AAAA + /wAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAD/AAAA/zExMf83Nzf/9PT0 + //T09P/v7+//9PT0//T09P/09PT/enp6/+Hh4f/09PT/9PT0/6Ojo//W1tb/9PT0//T09P83Nzf/MDAw + /wAAAP8AAAD/AAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQEBAf8BAQH/MjIy + /zk5Of+mpqb/pqam/zg4OP84ODj/ODg4/6ampv+mpqb/pqam/6ampv85OTn/pqam/6Wlpf+mpqb/pqam + /zg4OP8xMTH/AAAA/wAAAP8AAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAwMD + /wMDA/8zMzP/Ojo6/7Ozs/+zs7P/Ojo6/zo6Ov86Ojr/s7Oz/7Ozs/+ysrL/srKy/zo6Ov+zs7P/s7Oz + /7Ozs/+zs7P/OTk5/zIyMv8DAwP/AwMD/wAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAABEGBgb/BgYG/zQ0NP87Ozv/wcHB/8HBwf87Ozv/Ozs7/zs7O//BwcH/wcHB/zs7O/87Ozv/PDw8 + /8HBwf/BwcH/wcHB/8HBwf86Ojr/MzMz/wYGBv8FBQX/AAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAEQkJCf8JCQn/NTU1/zw8PP/Pz8//z8/P/8/Pz//Pz8//Pz8//8/Pz//Pz8//PDw8 + /zw8PP89PT3/z8/P/8/Pz//Pz8//z8/P/zw8PP81NTX/CAgI/wgICP8AAAARAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAARCwsL/wsLC/82Njb/PT09/93d3f/d3d3/3Nzc/93d3f9AQED/3d3d + /93d3f89PT3/PT09/z4+Pv/d3d3/3d3d/93d3f/d3d3/PT09/zY2Nv8LCwv/CwsL/wAAABEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEODg7/Dg4O/zc3N/8+Pj7/6urq/+rq6v/p6en/6urq + /0FBQf/q6ur/6urq/0NDQ/9DQ0P/Pz8//+rq6v/o6Oj/6urq/+rq6v8+Pj7/Nzc3/w4ODv8ODg7/AAAA + EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEREREf8RERH/ODg4/z8/P//4+Pj/+Pj4 + //j4+P/4+Pj/QkJC//j4+P/4+Pj/+Pj4//j4+P9AQED/+Pj4//b29v/4+Pj/+Pj4/z8/P/84ODj/EBAQ + /xAQEP8AAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARFBQU/xQUFP85OTn/QUFB + /0FBQf9BQUH/QUFB/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA + /zk5Of8TExP/ExMT/wAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEWFhb/FhYW + /zo6Ov9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QUFB/0FBQf8/Pz//Pj4+/z4+Pv8+Pj7/Pj4+ + /z4+Pv8+Pj7/Nzc3/xYWFv8WFhb/AAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ERkZGf8ZGRn/Ozs7/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/PDw8/ykpKf8gICD/Hx8f + /x8fH/8fHx//Hx8f/x8fH/8bGxv/GBgY/xgYGP8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAARHBwc/xwcHP88PDz/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0FBQf8kJCT/NDQ0 + /zc3N/82Njb/NjY2/zY2Nv82Njb/NjY2/xsbG/8bGxv//v7+/wAAAAIAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + /yAgIP8iIiL/IyMj/yQkJP8lJSX/JiYm/ycnJ/8oKCj/KSkp/yoqKv8rKyv/LCws/y0tLf8uLi7/Ly8v + /zAwMP8xMTH/MjIy/zMzM/80NDT/NTU1/zY2Nv83Nzf/ODg4/zk5Of86Ojr/Ozs7/zw8PP89PT3/Pj4+ + /z8/P/9AQED/QUFB/0JCQv9DQ0P/RERE/0VFRf9GRkb/R0dH/0hISP9JSUn/SkpK/0tLS/9MTEz/TU1N + /05OTv9PT0//UFBQ/1FRUf9SUlL/U1NT/1RUVP9VVVX/VlZW/1dXV/9YWFj/WVlZ/1paWv9bW1v/XV1d + /15eXv9fX1//YGBg/2FhYf9iYmL/Y2Nj/2VlZf9mZmb/Z2dn/2lpaf9qamr/bGxs/3Jycv95eXn/e3t7 + /3x8fP9+fn7/f39//4CAgP+BgYH/hYWF/4aGhv+IiIj/jIyM/42Njf+Ojo7/j4+P/5CQkP+RkZH/k5OT + /5WVlf+ampr/m5ub/5ycnP+enp7/oaGh/6ampv+np6f/qKio/6mpqf+qqqr/q6ur/7CwsP+zs7P/tLS0 + /7a2tv+7u7v/vLy8/729vf++vr7/v7+//8HBwf/CwsL/w8PD/8fHx//IyMj/ysrK/87Ozv/Pz8//09PT + /9TU1P/V1dX/19fX/9zc3P/d3d3/4eHh/+Pj4//q6ur/6+vr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + 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 + APAD/wDwB/8A////AP///wAoAAAAGAAAADAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAAAAAAAAAAAAAAA + /wICAv8FBQX/BgYG/wkJCf8MDAz/DQ0N/w8PD/8QEBD/ERER/xMTE/8UFBT/FxcX/xgYGP8bGxv/HBwc + /x8fH/8gICD/IiIi/yMjI/8kJCT/JSUl/yYmJv8nJyf/KCgo/ykpKf8qKir/Kysr/ywsLP8tLS3/Li4u + /y8vL/8wMDD/MTEx/zMzM/80NDT/NTU1/zY2Nv83Nzf/ODg4/zk5Of86Ojr/Ozs7/z09Pf8+Pj7/Pz8/ + /0BAQP9BQUH/QkJC/0NDQ/9ERET/RUVF/0dHR/9ISEj/SkpK/0tLS/9NTU3/Tk5O/09PT/9QUFD/UlJS + /1VVVf9aWlr/W1tb/19fX/9hYWH/aWlp/2pqav9sbGz/bm5u/3BwcP9xcXH/c3Nz/3R0dP91dXX/eXl5 + /3x8fP+AgID/goKC/4SEhP+FhYX/hoaG/4uLi/+MjIz/kZGR/5SUlP+Wlpb/mJiY/5qamv+cnJz/oaGh + /6Kiov+jo6P/pqam/6urq/+srKz/ra2t/6+vr/+xsbH/s7Oz/7W1tf+/v7//y8vL/9HR0f/j4+P/5OTk + /+bm5v8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAMz4+Pj4+Pj4+PT4+PiUAAAAAAAAAAQFBHxMTExQU + EhQVERMTEyVDAAAAAAAAAFEPCBERERARDxIQERIREAUQTwAAAAABAFkAFThQQFJBVlJWUFJXQRYAWQAA + AAAAAFkBF0ZaPmFJXmJhYmFeShcAWQEAAAABAFgAGEVeTV5WWVthVVhkRBkAWQAAAAAAAFkCGkJgMyhJ + X1pLYUlgQxkBWQABAAABAFkCHEllPDVNZSg0ZV1lSRkEWQAAAAAAAFkFHE1nZmdWZyw1Z2ddPxkGWQAA + AAABAFkHGk9pWGlaaDo9aWNpURoGWQEAAAAAAFkLIVFqampcampbalVqTxkIWQEAAAAAAFkLIS0vLy8v + Ly8sLi4sLSUMWQAAAAAAAFoMIzMwMDAwMCwlISElIRcMWQAAAAAAAFoNIzIyMjIzMBkZHxkcHA4nWgAA + AAAAAFoRJzMzMzMzLBkrKCgoGihUAAAAAAAAAFkSJjQ0NDQ0LCAvLygaLlQAAAAAAAAAAFoXKDU1NTU1 + LiUyMxozVAAAAAAAAAABAFoaKTY2NjY2Lyc1ITVWAAAAAAAAAAAAAFwfKTc3Nzc2LiglOFUAAAAAAAAA + AAAAAFowISMjJSUlJRo5VgAAAAAAAAAAAAAAAABRPjs7Ozo5OUBWAAAAAAAAAAAAAAAAAAAATVZWVlZW + Vk8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A8AAPAPAADwDwAA8A8AAP + APAADwDwAA8A8AAPAPAADwDwAA8A8AAPAPAADwDwAA8A8AAPAPAAHwDwAD8A8AB/APAA/wDwAf8A8AP/ + APAH/wD///8A////ACgAAAAQAAAAIAAAAAEAIAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAOzs7/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAbQAAAP8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/wAAAP8AAABpAAAA + AAAAAAAAAAAAAAAAANzc3N0hISH/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP8hISH/3Nzc + 3QAAAAAAAAAAAAAAAAAAAADc3NzdIyMj/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/IyMj + /9zc3N0AAAAAAAAAAAAAAAAAAAAA3Nzc3SQkJP+6urr/Ojo6/zo6Ov+6urr/Ojo6/7q6uv86Ojr/urq6 + /yQkJP/c3NzdAAAAAAAAAAAAAAAAAAAAANzc3N0mJib/1tbW/9bW1v/W1tb/1tbW/zw8PP/W1tb/1tbW + /zw8PP8lJSX/3Nzc3QAAAAAAAAAAAAAAAAAAAADc3NzdJycn//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy + /z8/P//y8vL/JiYm/9zc3N0AAAAAAAAAAAAAAAAAAAAA3Nzc3SgoKP9BQUH/QUFB/0FBQf9BQUH/QUFB + /0FBQf9BQUH/QUFB/ygoKP/c3NzdAAAAAAAAAAAAAAAAAAAAANzc3N0qKir/Q0ND/0NDQ/9DQ0P/Q0ND + /yAgIP8aGhr/Ghoa/xoaGv8aGhr/wMDAvAAAAAAAAAAAAAAAAAAAAADc3NzdLCws/0ZGRv9GRkb/RkZG + /0VFRf88PDz/PDw8/zw8PP8fHx///v7+/wAAAAAAAAAAAAAAAAAAAAAAAAAA3Nzc3S0tLf9ISEj/SEhI + /0hISP9HR0f/Q0ND/0NDQ/8lJSX//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANzc3N0uLi7/SkpK + /0pKSv9KSkr/SUlJ/0pKSv8qKir//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlIiIi + /z4+Pv8+Pj7/Pj4+/z09Pf8wMDD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AExMTP81NTX/NTU1/zU1Nf81NTX//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8A + AOAHAADgBwAAwAMAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMAHAADADwAAwB8AAOA/AADgfwAA//8A + ACgAAAAQAAAAIAAAAAEACAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAANDQ3/Dw8P/xoaGv8bGxv/HBwc + /x4eHv8hISH/JCQk/yUlJf8nJyf/KCgo/yoqKv8rKyv/LS0t/y8vL/8xMTH/MjIy/zU1Nf82Njb/ODg4 + /zk5Of87Ozv/PDw8/z09Pf8+Pj7/Pz8//0BAQP9BQUH/QkJC/0NDQ/9ERET/RkZG/0hISP9KSkr/W1tb + /3BwcP9xcXH/cnJy/3x8fP9/f3//goKC/4ODg/+IiIj/iYmJ/5aWlv+YmJj/mZmZ/5ubm/+ioqL/o6Oj + /6Wlpf+mpqb/qKio/6mpqf+qqqr/ra2t/7CwsP+4uLj/urq6/8HBwf/Q0ND/1dXV/9jY2P/n5+f/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAA + AAAAIxIODQwNCw0MDhkjAAAAACEAFBURHx8WGxMAHwAAAAASAiMkKDM2MzUpAhsAAAAAGwMpJyYzNSws + KAISAAAAABQDKyUbOSItMyoEHgAAAAAgBy87Nz0WNzwmBRYAAAAAGAczPjo/Ojo4MwcgAAAAACEJGRsY + GRkYGRsKHwAAAAAfCR8aHx8NCwwLAiIAAAAAIg4gHx8aDxUYCyIiAAAAACEPICAfHxIfDiIlAAAAAAAi + ESEhIR4VFCIiAAAAAAAAIg4WGBUUESMiAAAAAAAAACwiISIhISMhAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AP//AADgBwAA4AcAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADABwAAwA8AAMAfAADgPwAA4H8A + AP//AAA= + + + \ No newline at end of file diff --git a/PCK-Studio/Features/WiiUPanel.Designer.cs b/PCK-Studio/Features/WiiUPanel.Designer.cs new file mode 100644 index 00000000..26c792f3 --- /dev/null +++ b/PCK-Studio/Features/WiiUPanel.Designer.cs @@ -0,0 +1,428 @@ +namespace PckStudio.Features +{ + partial class WiiUPanel + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.myTablePanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonServerToggle = new System.Windows.Forms.Button(); + this.IPv4TextBox = new MetroFramework.Controls.MetroTextBox(); + this.listViewPCKS = new System.Windows.Forms.ListView(); + this.contextMenuStripCaffiine = new System.Windows.Forms.ContextMenuStrip(this.components); + this.replaceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.replacePCKToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.radioButtonUSB = new System.Windows.Forms.RadioButton(); + this.TextBoxPackImage = new MetroFramework.Controls.MetroTextBox(); + this.radioButtonSystem = new System.Windows.Forms.RadioButton(); + this.buttonSelect = new System.Windows.Forms.Button(); + this.PackImageSelection = new System.Windows.Forms.Button(); + this.regionLayoutPanel = new System.Windows.Forms.TableLayoutPanel(); + this.radioButtonEur = new System.Windows.Forms.RadioButton(); + this.radioButtonUs = new System.Windows.Forms.RadioButton(); + this.radioButtonJap = new System.Windows.Forms.RadioButton(); + this.myTablePanel1.SuspendLayout(); + this.contextMenuStripCaffiine.SuspendLayout(); + this.regionLayoutPanel.SuspendLayout(); + this.SuspendLayout(); + // + // myTablePanel1 + // + this.myTablePanel1.BackColor = System.Drawing.Color.Black; + this.myTablePanel1.ColumnCount = 3; + this.myTablePanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); + this.myTablePanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); + this.myTablePanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); + this.myTablePanel1.Controls.Add(this.buttonServerToggle, 2, 0); + this.myTablePanel1.Controls.Add(this.IPv4TextBox, 0, 0); + this.myTablePanel1.Controls.Add(this.listViewPCKS, 0, 4); + this.myTablePanel1.Controls.Add(this.radioButtonUSB); + this.myTablePanel1.Controls.Add(this.TextBoxPackImage, 0, 1); + this.myTablePanel1.Controls.Add(this.radioButtonSystem, 1, 2); + this.myTablePanel1.Controls.Add(this.buttonSelect, 0, 2); + this.myTablePanel1.Controls.Add(this.PackImageSelection, 2, 1); + this.myTablePanel1.Controls.Add(this.regionLayoutPanel, 0, 3); + this.myTablePanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.myTablePanel1.Location = new System.Drawing.Point(0, 0); + this.myTablePanel1.Margin = new System.Windows.Forms.Padding(0); + this.myTablePanel1.Name = "myTablePanel1"; + this.myTablePanel1.RowCount = 8; + this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 36F)); + this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 46F)); + this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.myTablePanel1.Size = new System.Drawing.Size(430, 550); + this.myTablePanel1.TabIndex = 3; + // + // buttonServerToggle + // + this.buttonServerToggle.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.buttonServerToggle.BackColor = System.Drawing.Color.SpringGreen; + this.buttonServerToggle.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonServerToggle.Enabled = false; + this.buttonServerToggle.FlatAppearance.BorderSize = 0; + this.buttonServerToggle.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonServerToggle.Font = new System.Drawing.Font("Segoe UI", 9.75F); + this.buttonServerToggle.ForeColor = System.Drawing.Color.White; + this.buttonServerToggle.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.buttonServerToggle.Location = new System.Drawing.Point(289, 3); + this.buttonServerToggle.Name = "buttonServerToggle"; + this.buttonServerToggle.Size = new System.Drawing.Size(138, 27); + this.buttonServerToggle.TabIndex = 9; + this.buttonServerToggle.Text = "Start"; + this.buttonServerToggle.UseVisualStyleBackColor = false; + this.buttonServerToggle.Click += new System.EventHandler(this.buttonServerToggle_Click); + // + // IPv4TextBox + // + this.IPv4TextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.myTablePanel1.SetColumnSpan(this.IPv4TextBox, 2); + // + // + // + this.IPv4TextBox.CustomButton.Image = null; + this.IPv4TextBox.CustomButton.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.IPv4TextBox.CustomButton.Location = new System.Drawing.Point(312, 1); + this.IPv4TextBox.CustomButton.Name = ""; + this.IPv4TextBox.CustomButton.Size = new System.Drawing.Size(25, 25); + this.IPv4TextBox.CustomButton.Style = MetroFramework.MetroColorStyle.Blue; + this.IPv4TextBox.CustomButton.TabIndex = 1; + this.IPv4TextBox.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light; + this.IPv4TextBox.CustomButton.UseSelectable = true; + this.IPv4TextBox.CustomButton.Visible = false; + this.IPv4TextBox.Dock = System.Windows.Forms.DockStyle.Fill; + this.IPv4TextBox.IconRight = true; + this.IPv4TextBox.Lines = new string[0]; + this.IPv4TextBox.Location = new System.Drawing.Point(3, 3); + this.IPv4TextBox.MaxLength = 32767; + this.IPv4TextBox.Name = "IPv4TextBox"; + this.IPv4TextBox.PasswordChar = '\0'; + this.IPv4TextBox.PromptText = "Wii U IP"; + this.IPv4TextBox.ScrollBars = System.Windows.Forms.ScrollBars.None; + this.IPv4TextBox.SelectedText = ""; + this.IPv4TextBox.SelectionLength = 0; + this.IPv4TextBox.SelectionStart = 0; + this.IPv4TextBox.ShortcutsEnabled = true; + this.IPv4TextBox.Size = new System.Drawing.Size(280, 27); + this.IPv4TextBox.Style = MetroFramework.MetroColorStyle.Blue; + this.IPv4TextBox.TabIndex = 10; + this.IPv4TextBox.Theme = MetroFramework.MetroThemeStyle.Dark; + this.IPv4TextBox.UseSelectable = true; + this.IPv4TextBox.WaterMark = "Wii U IP"; + this.IPv4TextBox.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109))))); + this.IPv4TextBox.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel); + // + // listViewPCKS + // + this.listViewPCKS.Activation = System.Windows.Forms.ItemActivation.TwoClick; + this.myTablePanel1.SetColumnSpan(this.listViewPCKS, 3); + this.listViewPCKS.ContextMenuStrip = this.contextMenuStripCaffiine; + this.listViewPCKS.Dock = System.Windows.Forms.DockStyle.Fill; + this.listViewPCKS.Enabled = false; + this.listViewPCKS.HideSelection = false; + this.listViewPCKS.Location = new System.Drawing.Point(3, 151); + this.listViewPCKS.Name = "listViewPCKS"; + this.listViewPCKS.Size = new System.Drawing.Size(424, 396); + this.listViewPCKS.TabIndex = 3; + this.listViewPCKS.UseCompatibleStateImageBehavior = false; + this.listViewPCKS.View = System.Windows.Forms.View.Details; + this.listViewPCKS.MouseDown += new System.Windows.Forms.MouseEventHandler(this.listViewPCKS_MouseDown); + // + // contextMenuStripCaffiine + // + this.contextMenuStripCaffiine.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.replaceToolStripMenuItem, + this.replacePCKToolStripMenuItem}); + this.contextMenuStripCaffiine.Name = "contextMenuStripCaffiine"; + this.contextMenuStripCaffiine.Size = new System.Drawing.Size(212, 48); + // + // replaceToolStripMenuItem + // + this.replaceToolStripMenuItem.Image = global::PckStudio.Properties.Resources.Replace; + this.replaceToolStripMenuItem.Name = "replaceToolStripMenuItem"; + this.replaceToolStripMenuItem.Size = new System.Drawing.Size(211, 22); + this.replaceToolStripMenuItem.Text = "Replace"; + this.replaceToolStripMenuItem.TextImageRelation = System.Windows.Forms.TextImageRelation.TextAboveImage; + this.replaceToolStripMenuItem.Click += new System.EventHandler(this.replaceToolStripMenuItem_Click); + // + // replacePCKToolStripMenuItem + // + this.replacePCKToolStripMenuItem.Image = global::PckStudio.Properties.Resources.Replace; + this.replacePCKToolStripMenuItem.Name = "replacePCKToolStripMenuItem"; + this.replacePCKToolStripMenuItem.Size = new System.Drawing.Size(211, 22); + this.replacePCKToolStripMenuItem.Text = "Replace with external PCK"; + this.replacePCKToolStripMenuItem.Click += new System.EventHandler(this.replacePCKToolStripMenuItem_Click); + // + // radioButtonUSB + // + this.radioButtonUSB.Appearance = System.Windows.Forms.Appearance.Button; + this.radioButtonUSB.BackColor = System.Drawing.Color.Transparent; + this.radioButtonUSB.CheckAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.radioButtonUSB.Dock = System.Windows.Forms.DockStyle.Fill; + this.radioButtonUSB.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; + this.radioButtonUSB.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; + this.radioButtonUSB.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); + this.radioButtonUSB.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.radioButtonUSB.Font = new System.Drawing.Font("Segoe UI", 12F); + this.radioButtonUSB.ForeColor = System.Drawing.Color.White; + this.radioButtonUSB.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.radioButtonUSB.Location = new System.Drawing.Point(289, 69); + this.radioButtonUSB.Name = "radioButtonUSB"; + this.radioButtonUSB.Size = new System.Drawing.Size(138, 30); + this.radioButtonUSB.TabIndex = 6; + this.radioButtonUSB.Text = "USB"; + this.radioButtonUSB.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.radioButtonUSB.UseVisualStyleBackColor = false; + this.radioButtonUSB.Click += new System.EventHandler(this.radioButton_Click); + // + // TextBoxPackImage + // + this.TextBoxPackImage.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.myTablePanel1.SetColumnSpan(this.TextBoxPackImage, 2); + // + // + // + this.TextBoxPackImage.CustomButton.Image = null; + this.TextBoxPackImage.CustomButton.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.TextBoxPackImage.CustomButton.Location = new System.Drawing.Point(312, 1); + this.TextBoxPackImage.CustomButton.Name = ""; + this.TextBoxPackImage.CustomButton.Size = new System.Drawing.Size(25, 25); + this.TextBoxPackImage.CustomButton.Style = MetroFramework.MetroColorStyle.Blue; + this.TextBoxPackImage.CustomButton.TabIndex = 1; + this.TextBoxPackImage.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light; + this.TextBoxPackImage.CustomButton.UseSelectable = true; + this.TextBoxPackImage.CustomButton.Visible = false; + this.TextBoxPackImage.Dock = System.Windows.Forms.DockStyle.Fill; + this.TextBoxPackImage.IconRight = true; + this.TextBoxPackImage.Lines = new string[0]; + this.TextBoxPackImage.Location = new System.Drawing.Point(3, 36); + this.TextBoxPackImage.MaxLength = 32767; + this.TextBoxPackImage.Name = "TextBoxPackImage"; + this.TextBoxPackImage.PasswordChar = '\0'; + this.TextBoxPackImage.PromptText = "Pack Image"; + this.TextBoxPackImage.ReadOnly = true; + this.TextBoxPackImage.ScrollBars = System.Windows.Forms.ScrollBars.None; + this.TextBoxPackImage.SelectedText = ""; + this.TextBoxPackImage.SelectionLength = 0; + this.TextBoxPackImage.SelectionStart = 0; + this.TextBoxPackImage.ShortcutsEnabled = true; + this.TextBoxPackImage.Size = new System.Drawing.Size(280, 27); + this.TextBoxPackImage.Style = MetroFramework.MetroColorStyle.Blue; + this.TextBoxPackImage.TabIndex = 11; + this.TextBoxPackImage.Theme = MetroFramework.MetroThemeStyle.Dark; + this.TextBoxPackImage.UseSelectable = true; + this.TextBoxPackImage.WaterMark = "Pack Image"; + this.TextBoxPackImage.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109))))); + this.TextBoxPackImage.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel); + // + // radioButtonSystem + // + this.radioButtonSystem.Appearance = System.Windows.Forms.Appearance.Button; + this.radioButtonSystem.BackColor = System.Drawing.Color.Transparent; + this.radioButtonSystem.CheckAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.radioButtonSystem.Checked = true; + this.radioButtonSystem.Dock = System.Windows.Forms.DockStyle.Fill; + this.radioButtonSystem.FlatAppearance.CheckedBackColor = System.Drawing.Color.DodgerBlue; + this.radioButtonSystem.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; + this.radioButtonSystem.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); + this.radioButtonSystem.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.radioButtonSystem.Font = new System.Drawing.Font("Segoe UI", 12F); + this.radioButtonSystem.ForeColor = System.Drawing.Color.White; + this.radioButtonSystem.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.radioButtonSystem.Location = new System.Drawing.Point(146, 69); + this.radioButtonSystem.Name = "radioButtonSystem"; + this.radioButtonSystem.Size = new System.Drawing.Size(137, 30); + this.radioButtonSystem.TabIndex = 5; + this.radioButtonSystem.TabStop = true; + this.radioButtonSystem.Text = "System"; + this.radioButtonSystem.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.radioButtonSystem.UseVisualStyleBackColor = false; + this.radioButtonSystem.Click += new System.EventHandler(this.radioButton_Click); + // + // buttonSelect + // + this.buttonSelect.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.buttonSelect.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonSelect.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonSelect.Font = new System.Drawing.Font("Segoe UI", 12F); + this.buttonSelect.ForeColor = System.Drawing.Color.White; + this.buttonSelect.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.buttonSelect.Location = new System.Drawing.Point(3, 69); + this.buttonSelect.Name = "buttonSelect"; + this.buttonSelect.Size = new System.Drawing.Size(137, 30); + this.buttonSelect.TabIndex = 1; + this.buttonSelect.UseVisualStyleBackColor = true; + this.buttonSelect.Click += new System.EventHandler(this.buttonSelect_Click); + // + // PackImageSelection + // + this.PackImageSelection.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.PackImageSelection.BackColor = System.Drawing.Color.DarkCyan; + this.PackImageSelection.Dock = System.Windows.Forms.DockStyle.Fill; + this.PackImageSelection.Enabled = false; + this.PackImageSelection.FlatAppearance.BorderSize = 0; + this.PackImageSelection.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.PackImageSelection.Font = new System.Drawing.Font("Segoe UI", 9.75F); + this.PackImageSelection.ForeColor = System.Drawing.Color.White; + this.PackImageSelection.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.PackImageSelection.Location = new System.Drawing.Point(289, 36); + this.PackImageSelection.Name = "PackImageSelection"; + this.PackImageSelection.Size = new System.Drawing.Size(138, 27); + this.PackImageSelection.TabIndex = 12; + this.PackImageSelection.Text = "Browse"; + this.PackImageSelection.UseVisualStyleBackColor = false; + this.PackImageSelection.Click += new System.EventHandler(this.PackImageSelection_Click); + // + // regionLayoutPanel + // + this.regionLayoutPanel.ColumnCount = 3; + this.myTablePanel1.SetColumnSpan(this.regionLayoutPanel, 3); + this.regionLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); + this.regionLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); + this.regionLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); + this.regionLayoutPanel.Controls.Add(this.radioButtonEur, 0, 0); + this.regionLayoutPanel.Controls.Add(this.radioButtonUs, 1, 0); + this.regionLayoutPanel.Controls.Add(this.radioButtonJap, 2, 0); + this.regionLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.regionLayoutPanel.Location = new System.Drawing.Point(3, 105); + this.regionLayoutPanel.Name = "regionLayoutPanel"; + this.regionLayoutPanel.RowCount = 1; + this.regionLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.regionLayoutPanel.Size = new System.Drawing.Size(424, 40); + this.regionLayoutPanel.TabIndex = 13; + // + // radioButtonEur + // + this.radioButtonEur.Appearance = System.Windows.Forms.Appearance.Button; + this.radioButtonEur.AutoSize = true; + this.radioButtonEur.BackColor = System.Drawing.Color.Transparent; + this.radioButtonEur.CheckAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.radioButtonEur.Checked = true; + this.radioButtonEur.Dock = System.Windows.Forms.DockStyle.Fill; + this.radioButtonEur.FlatAppearance.CheckedBackColor = System.Drawing.Color.DodgerBlue; + this.radioButtonEur.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; + this.radioButtonEur.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); + this.radioButtonEur.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.radioButtonEur.Font = new System.Drawing.Font("Segoe UI", 12F); + this.radioButtonEur.ForeColor = System.Drawing.Color.White; + this.radioButtonEur.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.radioButtonEur.Location = new System.Drawing.Point(3, 3); + this.radioButtonEur.Name = "radioButtonEur"; + this.radioButtonEur.Size = new System.Drawing.Size(135, 34); + this.radioButtonEur.TabIndex = 1; + this.radioButtonEur.TabStop = true; + this.radioButtonEur.Text = "EUR"; + this.radioButtonEur.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.radioButtonEur.UseVisualStyleBackColor = false; + this.radioButtonEur.Click += new System.EventHandler(this.radioButton_Click); + // + // radioButtonUs + // + this.radioButtonUs.Appearance = System.Windows.Forms.Appearance.Button; + this.radioButtonUs.AutoSize = true; + this.radioButtonUs.BackColor = System.Drawing.Color.Transparent; + this.radioButtonUs.CheckAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.radioButtonUs.Dock = System.Windows.Forms.DockStyle.Fill; + this.radioButtonUs.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; + this.radioButtonUs.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; + this.radioButtonUs.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); + this.radioButtonUs.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.radioButtonUs.Font = new System.Drawing.Font("Segoe UI", 12F); + this.radioButtonUs.ForeColor = System.Drawing.Color.White; + this.radioButtonUs.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.radioButtonUs.Location = new System.Drawing.Point(144, 3); + this.radioButtonUs.Name = "radioButtonUs"; + this.radioButtonUs.Size = new System.Drawing.Size(135, 34); + this.radioButtonUs.TabIndex = 0; + this.radioButtonUs.Text = "US"; + this.radioButtonUs.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.radioButtonUs.UseVisualStyleBackColor = false; + this.radioButtonUs.Click += new System.EventHandler(this.radioButton_Click); + // + // radioButtonJap + // + this.radioButtonJap.Appearance = System.Windows.Forms.Appearance.Button; + this.radioButtonJap.AutoSize = true; + this.radioButtonJap.BackColor = System.Drawing.Color.Transparent; + this.radioButtonJap.CheckAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.radioButtonJap.Dock = System.Windows.Forms.DockStyle.Fill; + this.radioButtonJap.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; + this.radioButtonJap.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; + this.radioButtonJap.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); + this.radioButtonJap.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.radioButtonJap.Font = new System.Drawing.Font("Segoe UI", 12F); + this.radioButtonJap.ForeColor = System.Drawing.Color.White; + this.radioButtonJap.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.radioButtonJap.Location = new System.Drawing.Point(285, 3); + this.radioButtonJap.Name = "radioButtonJap"; + this.radioButtonJap.Size = new System.Drawing.Size(136, 34); + this.radioButtonJap.TabIndex = 2; + this.radioButtonJap.Text = "JAP"; + this.radioButtonJap.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.radioButtonJap.UseVisualStyleBackColor = false; + this.radioButtonJap.Click += new System.EventHandler(this.radioButton_Click); + // + // WiiUPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.ActiveCaptionText; + this.Controls.Add(this.myTablePanel1); + this.Name = "WiiUPanel"; + this.Size = new System.Drawing.Size(430, 550); + this.myTablePanel1.ResumeLayout(false); + this.contextMenuStripCaffiine.ResumeLayout(false); + this.regionLayoutPanel.ResumeLayout(false); + this.regionLayoutPanel.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TableLayoutPanel myTablePanel1; + private System.Windows.Forms.Button buttonServerToggle; + private System.Windows.Forms.Button buttonSelect; + private System.Windows.Forms.RadioButton radioButtonSystem; + private System.Windows.Forms.RadioButton radioButtonUSB; + private System.Windows.Forms.RadioButton radioButtonEur; + private System.Windows.Forms.RadioButton radioButtonUs; + private System.Windows.Forms.RadioButton radioButtonJap; + private MetroFramework.Controls.MetroTextBox IPv4TextBox; + private System.Windows.Forms.ListView listViewPCKS; + private MetroFramework.Controls.MetroTextBox TextBoxPackImage; + private System.Windows.Forms.Button PackImageSelection; + private System.Windows.Forms.ContextMenuStrip contextMenuStripCaffiine; + private System.Windows.Forms.ToolStripMenuItem replaceToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem replacePCKToolStripMenuItem; + private System.Windows.Forms.TableLayoutPanel regionLayoutPanel; + } +} diff --git a/PCK-Studio/Features/WiiUPanel.cs b/PCK-Studio/Features/WiiUPanel.cs new file mode 100644 index 00000000..e1f3aab4 --- /dev/null +++ b/PCK-Studio/Features/WiiUPanel.cs @@ -0,0 +1,290 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Net; +using System.Text.RegularExpressions; +using System.Windows.Forms; +using OMI.Formats.Archive; +using OMI.Formats.Pck; +using OMI.Workers.Archive; +using OMI.Workers.Pck; +using PckStudio.Classes.Misc; + +namespace PckStudio.Features +{ + public partial class WiiUPanel : UserControl + { + string DLCPath = string.Empty; + string mod = string.Empty; + bool serverOn = false; + ConsoleArchive archive = new ConsoleArchive(); + PckFile currentPCK = null; + + private const string FtpUsername = "PCK_Studio_Client"; + // TODO: randomize per 'session'(instance) + private const string FtpSessionPassword = "a3262443"; + private ICredentials sessionCredentials = new NetworkCredential(FtpUsername, FtpSessionPassword); + + public WiiUPanel() + { + InitializeComponent(); + UpdateDLCPath(); + buttonServerToggle.Enabled = true; + if (listViewPCKS.Columns.Count == 0) + { + listViewPCKS.Columns.Add(DLCPath, listViewPCKS.Width); + } + } + + [Obsolete("Prompt user to use Aroma instead!")] + private void buttonSelect_Click(object sender, EventArgs e) + { + MessageBox.Show("Please use Aroma's ftp Plugin!"); + return; + } + + private enum ButtonState + { + Start, + Stop, + Wait + } + + private void SetButtonState(ButtonState state) + { + switch(state) + { + case ButtonState.Start: + buttonServerToggle.BackColor = Color.FromArgb(68, 178, 13); + serverOn = false; + buttonServerToggle.Text = "Start"; + listViewPCKS.Enabled = false; + break; + case ButtonState.Stop: + serverOn = true; + buttonServerToggle.BackColor = Color.Red; + buttonServerToggle.Text = "Stop"; + listViewPCKS.Enabled = true; + break; + case ButtonState.Wait: + buttonServerToggle.BackColor = Color.MediumAquamarine; + buttonServerToggle.Text = "Wait.."; + break; + default: + break; + } + } + + private string GetConsoleDevice() + { + if (radioButtonSystem.Checked) + { + return "storage_mlc"; + } + if (radioButtonUSB.Checked) + { + return "storage_usb"; + } + throw new Exception("how did you get here ?"); + } + + private string GetConsoleRegion() + { + if (radioButtonEur.Checked) + { + return "101d7500"; + } + if (radioButtonUs.Checked) + { + return "101d9d00"; + } + if (radioButtonJap.Checked) + { + return "101dbe00"; + } + throw new Exception("how did you get here ?"); + } + + private string GetGameContentPath() + { + string device = GetConsoleDevice(); + string region = GetConsoleRegion(); + return $"{device}/usr/title/0005000e/{region}/content"; + } + + private void UpdateDLCPath() + { + DLCPath = $"{GetGameContentPath()}/WiiU/DLC/"; + } + + private void buttonServerToggle_Click(object sender, EventArgs e) + { + //Turn off server + if (serverOn) + { + listViewPCKS.Items.Clear(); + try + { + SetButtonState(ButtonState.Start); + } + catch (Exception ex) + { + MessageBox.Show(ex.ToString()); + } + return; + } + + if (!Regex.IsMatch(IPv4TextBox.Text, @"^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$")) + { + MessageBox.Show("Please enter a valid Wii U IP!"); + return; + } + + // Turn on server + try + { + SetButtonState(ButtonState.Wait); + + ServicePointManager.Expect100Continue = true; + + using (var client = new FTPClient($"ftp://{IPv4TextBox.Text}", sessionCredentials)) + { + client.SetTimeoutLimit(TimeSpan.FromSeconds(10)); + string[] dirList = client.ListDirectory(DLCPath); + listViewPCKS.Items.AddRange(dirList.Select(s => new ListViewItem(s)).ToArray()); + foreach (ListViewItem pck in listViewPCKS.Items) + { + string[] res = client.ListDirectory($"{DLCPath}/{pck.Text}"); + if (res.Length != 1) + { + pck.Remove(); + } + } + } + + SetButtonState(ButtonState.Stop); + } + catch (Exception ex) + { + SetButtonState(ButtonState.Start); + MessageBox.Show(ex.ToString()); + } + } + + private void radioButton_Click(object sender, EventArgs e) + { + UpdateDLCPath(); + listViewPCKS.Columns[0].Text = DLCPath; + } + + private void listViewPCKS_MouseDown(object sender, MouseEventArgs e) + { + ListViewHitTestInfo hitTestInfo = listViewPCKS.HitTest(e.Location); + if (e.Button == MouseButtons.Right && hitTestInfo.Location != ListViewHitTestLocations.None) + { + contextMenuStripCaffiine.Show(Cursor.Position); + } + } + + private void replaceToolStripMenuItem_Click(object sender, EventArgs e) + { + if (listViewPCKS.SelectedItems.Count != 0) + { + SetButtonState(ButtonState.Wait); + ReplacePck(mod); + MessageBox.Show("PCK Replaced!"); + } + SetButtonState(ButtonState.Stop); + UpdateDLCPath(); + } + + private void replacePCKToolStripMenuItem_Click(object sender, EventArgs e) + { + if (listViewPCKS.SelectedItems.Count != 0) + { + SetButtonState(ButtonState.Wait); + OpenFileDialog openPCK = new OpenFileDialog(); + openPCK.Filter = "PCK File|*.pck"; + + if (openPCK.ShowDialog() == DialogResult.OK) + { + ReplacePck(openPCK.FileName); + MessageBox.Show("PCK Replaced!"); + } + } + SetButtonState(ButtonState.Stop); + UpdateDLCPath(); + } + + private void ReplacePck(string filename) + { + using (FTPClient client = new FTPClient($"ftp://{IPv4TextBox.Text}", sessionCredentials)) + client.UploadFile(filename, DLCPath + "/" + listViewPCKS.SelectedItems[0].Text + "/" + listViewPCKS.SelectedItems[0].Tag.ToString()); + if (!string.IsNullOrWhiteSpace(TextBoxPackImage.Text)) + { + string PackID = GetPackId(filename); + GetARCFromConsole(); + AddOrReplacePackImage(PackID); + SendARCToConsole(); + } + } + + private string GetPackId(string filepath) + { + var reader = new PckFileReader(); + currentPCK = reader.FromFile(filepath); + if (currentPCK is null) return string.Empty; + return currentPCK.TryGetFile("0", PckFile.FileData.FileType.InfoFile, out var file) + ? file.Properties.GetProperty("PACKID").Item2 + : string.Empty; + } + + private void GetARCFromConsole() + { + using var ms = new MemoryStream(); + using (FTPClient client = new FTPClient($"ftp://{IPv4TextBox.Text}", sessionCredentials)) + { + client.DownloadFile(GetGameContentPath() + "/Common/Media/MediaWiiU.arc", ms); + ms.Position = 0; + var reader = new ARCFileReader(); + archive = reader.FromStream(ms); + } + } + + private void AddOrReplacePackImage(string packId) + { + string arcPath = $"Graphics\\PackGraphics\\{packId}.png"; + byte[] data = File.ReadAllBytes(TextBoxPackImage.Text); + if (archive.ContainsKey(arcPath)) archive[arcPath] = data; + else archive.Add(arcPath, data); + } + + private void SendARCToConsole() + { + using (FTPClient client = new FTPClient($"ftp://{IPv4TextBox.Text}", sessionCredentials)) + { + using (var ms = new MemoryStream()) + { + var writer = new ARCFileWriter(archive); + writer.WriteToStream(ms); + ms.Position = 0; + client.UploadFile(ms, GetGameContentPath() + "/Common/Media/MediaWiiU.arc"); + } + archive.Clear(); + currentPCK?.Files.Clear(); + currentPCK = null; + } + GC.Collect(); + } + + private void PackImageSelection_Click(object sender, EventArgs e) + { + OpenFileDialog ofd = new OpenFileDialog(); + ofd.Filter = "Pack Image|*.png"; + if (ofd.ShowDialog() == DialogResult.OK) + TextBoxPackImage.Text = ofd.FileName; + } + } +} diff --git a/PCK-Studio/Forms/Utilities/installPS3.resx b/PCK-Studio/Features/WiiUPanel.resx similarity index 100% rename from PCK-Studio/Forms/Utilities/installPS3.resx rename to PCK-Studio/Features/WiiUPanel.resx diff --git a/PCK-Studio/Forms/Utilities/installWiiU.resx b/PCK-Studio/Features/installWiiU.resx similarity index 100% rename from PCK-Studio/Forms/Utilities/installWiiU.resx rename to PCK-Studio/Features/installWiiU.resx diff --git a/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.cs b/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.cs index 1d2ec6f8..85b9a19c 100644 --- a/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.cs +++ b/PCK-Studio/Forms/Additional-Popups/EntityForms/AddEntry.cs @@ -10,15 +10,14 @@ namespace PckStudio.Forms.Additional_Popups.EntityForms { string selectedEntity = ""; - JObject EntityJSONData; + private static JObject EntityJSONData = JObject.Parse(Properties.Resources.entityData); public string SelectedEntity => selectedEntity; List treeViewEntityCache = new List(); - public AddEntry(JObject entityData, System.Drawing.Image[] entityImages) + public AddEntry(string dataType, System.Drawing.Image[] entityImages) { InitializeComponent(); - EntityJSONData = entityData; ImageList entities = new ImageList(); entities.ColorDepth = ColorDepth.Depth32Bit; entities.ImageSize = new System.Drawing.Size(32, 32); @@ -29,9 +28,9 @@ namespace PckStudio.Forms.Additional_Popups.EntityForms { int i = 0; - if (EntityJSONData["entities"] != null) + if (EntityJSONData[dataType] != null) { - foreach (JObject content in EntityJSONData["entities"].Children()) + foreach (JObject content in EntityJSONData[dataType].Children()) { foreach (JProperty prop in content.Properties()) { diff --git a/PCK-Studio/Forms/Editor/Animation.cs b/PCK-Studio/Forms/Editor/Animation.cs index 66f25134..c6733dc5 100644 --- a/PCK-Studio/Forms/Editor/Animation.cs +++ b/PCK-Studio/Forms/Editor/Animation.cs @@ -14,29 +14,28 @@ namespace PckStudio.Forms.Editor public int FrameCount => frames.Count; - public int TextureCount => frameTextures.Count; + public int TextureCount => textures.Count; - public Frame this[int frameIndex] => frames[frameIndex]; - - // TODO: implement this public bool Interpolate { get; set; } = false; - private readonly List frameTextures; + private readonly List textures; private readonly List frames = new List(); - public Animation(IEnumerable image) + public Animation(IEnumerable textures) { - frameTextures = new List(image); + this.textures = new List(textures); + AddSingleFrames(); + } + + public Animation(IEnumerable frameTextures, string ANIM) + { + this.textures = new List(frameTextures); + ParseAnim(ANIM); } - public Animation(IEnumerable frameTextures, string ANIM) : this(frameTextures) - { - ParseAnim(ANIM); - } - - public struct Frame + public class Frame { public readonly Image Texture; public int Ticks; @@ -51,23 +50,22 @@ namespace PckStudio.Forms.Editor } } - private void ParseAnim(string ANIM) + private void ParseAnim(string anim) { - _ = ANIM ?? throw new ArgumentNullException(nameof(ANIM)); - ANIM = (Interpolate = ANIM.StartsWith("#")) ? ANIM.Substring(1) : ANIM; - string[] animData = ANIM.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + _ = anim ?? throw new ArgumentNullException(nameof(anim)); + anim = anim.Trim(); + anim = (Interpolate = anim.StartsWith("#")) ? anim.Substring(1) : anim; + string[] animData = anim.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); int lastFrameTime = MinimumFrameTime; if (animData.Length <= 0) - for (int i = 0; i < TextureCount; i++) - { - AddFrame(i); - } + { + AddSingleFrames(); + return; + } foreach (string frameInfo in animData) { string[] frameData = frameInfo.Split('*'); - //if (frameData.Length < 2) - // continue; // shouldn't happen int currentFrameIndex = 0; int.TryParse(frameData[0], out currentFrameIndex); @@ -76,22 +74,35 @@ namespace PckStudio.Forms.Editor // This will detect that and place the last frame time in its place. // This is accurate to console edition behavior. // - MattNL - int currentFrameTime = string.IsNullOrEmpty(frameData[1]) ? lastFrameTime : int.Parse(frameData[1]); + int currentFrameTime = frameData.Length < 2 || string.IsNullOrEmpty(frameData[1]) ? lastFrameTime : int.Parse(frameData[1]); AddFrame(currentFrameIndex, currentFrameTime); lastFrameTime = currentFrameTime; } } - public Frame AddFrame(int frameTextureIndex) => AddFrame(frameTextureIndex, MinimumFrameTime); - public Frame AddFrame(int frameTextureIndex, int frameTime) + private void CheckTextureIndex(int index) { - if (frameTextureIndex < 0 || frameTextureIndex >= frameTextures.Count) - throw new ArgumentOutOfRangeException(nameof(frameTextureIndex)); - Frame f = new Frame(frameTextures[frameTextureIndex], frameTime); - frames.Add(f); - return f; + if ((index < 0 || index >= textures.Count)) + throw new ArgumentOutOfRangeException(nameof(index)); + } + + public Frame AddFrame(int textureIndex) => AddFrame(textureIndex, MinimumFrameTime); + public Frame AddFrame(int textureIndex, int frameTime) + { + CheckTextureIndex(textureIndex); + Frame frame = new Frame(textures[textureIndex], frameTime); + frames.Add(frame); + return frame; } + private void AddSingleFrames() + { + for (int i = 0; i < TextureCount; i++) + { + AddFrame(i); + } + } + public bool RemoveFrame(int frameIndex) { frames.RemoveAt(frameIndex); @@ -105,22 +116,26 @@ namespace PckStudio.Forms.Editor return frames; } - public List GetFrameTextures() + public List GetTextures() { - return frameTextures; + return textures; } public int GetTextureIndex(Image frameTexture) { _ = frameTexture ?? throw new ArgumentNullException(nameof(frameTexture)); - return frameTextures.IndexOf(frameTexture); + return textures.IndexOf(frameTexture); } - public void SetFrame(Frame frame, int frameTextureIndex, int frameTime = MinimumFrameTime) - => SetFrame(frames.IndexOf(frame), frameTextureIndex, frameTime); - public void SetFrame(int frameIndex, int frameTextureIndex, int frameTime = MinimumFrameTime) + public void SetFrame(int frameIndex, Frame frame) { - frames[frameIndex] = new Frame(frameTextures[frameTextureIndex], frameTime); + frames[frameIndex] = frame; + } + + public void SetFrame(int frameIndex, int textureIndex, int frameTime = MinimumFrameTime) + { + CheckTextureIndex(textureIndex); + SetFrame(frameIndex, new Frame(textures[textureIndex], frameTime)); } public string BuildAnim() @@ -131,16 +146,12 @@ namespace PckStudio.Forms.Editor return stringBuilder.ToString(0, stringBuilder.Length - 1); } - public Image BuildTexture(bool isClockOrCompass, List linearImages = default!) - { - int width = frameTextures[0].Width; - int height = frameTextures[0].Height; - if (width != height) + public Image BuildTexture() + { + if (textures[0].Width != textures[0].Height) throw new Exception("Invalid size"); - var textures = isClockOrCompass ? linearImages : frameTextures; - - return ImageExtensions.CombineImages(textures, ImageLayoutDirection.Vertical); + return textures.CombineImages(ImageLayoutDirection.Vertical); } } } diff --git a/PCK-Studio/Forms/Editor/AnimationEditor.Designer.cs b/PCK-Studio/Forms/Editor/AnimationEditor.Designer.cs index d43d2f57..16162ca0 100644 --- a/PCK-Studio/Forms/Editor/AnimationEditor.Designer.cs +++ b/PCK-Studio/Forms/Editor/AnimationEditor.Designer.cs @@ -49,15 +49,15 @@ this.setBulkSpedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.javaAnimationSupportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.InterpolationCheckbox = new MetroFramework.Controls.MetroCheckBox(); - this.AnimationPlayBtn = new MetroFramework.Controls.MetroButton(); - this.AnimationStopBtn = new MetroFramework.Controls.MetroButton(); + this.AnimationStartStopBtn = new MetroFramework.Controls.MetroButton(); this.tileLabel = new MetroFramework.Controls.MetroLabel(); + this.animationPictureBox = new PckStudio.Forms.Editor.AnimationPictureBox(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); - this.pictureBoxWithInterpolationMode1 = new PckStudio.ToolboxItems.PictureBoxWithInterpolationMode(); + this.importGifToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.contextMenuStrip1.SuspendLayout(); this.menuStrip.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.animationPictureBox)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxWithInterpolationMode1)).BeginInit(); this.SuspendLayout(); // // frameTreeView @@ -151,7 +151,8 @@ this.bulkAnimationSpeedToolStripMenuItem, this.importJavaAnimationToolStripMenuItem, this.exportJavaAnimationToolStripMenuItem, - this.changeTileToolStripMenuItem}); + this.changeTileToolStripMenuItem, + this.importGifToolStripMenuItem}); this.editToolStripMenuItem.ForeColor = System.Drawing.Color.White; this.editToolStripMenuItem.Image = global::PckStudio.Properties.Resources.Tools_48px; this.editToolStripMenuItem.Name = "editToolStripMenuItem"; @@ -231,37 +232,24 @@ this.InterpolationCheckbox.AutoSize = true; this.InterpolationCheckbox.Location = new System.Drawing.Point(161, 63); this.InterpolationCheckbox.Name = "InterpolationCheckbox"; - this.InterpolationCheckbox.Size = new System.Drawing.Size(231, 15); + this.InterpolationCheckbox.Size = new System.Drawing.Size(129, 15); this.InterpolationCheckbox.TabIndex = 17; - this.InterpolationCheckbox.Text = "Enable Interpolation (not shown below)"; + this.InterpolationCheckbox.Text = "Enable Interpolation"; this.InterpolationCheckbox.Theme = MetroFramework.MetroThemeStyle.Dark; this.InterpolationCheckbox.UseSelectable = true; this.InterpolationCheckbox.CheckedChanged += new System.EventHandler(this.InterpolationCheckbox_CheckedChanged); // - // AnimationPlayBtn + // AnimationStartStopBtn // - this.AnimationPlayBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.AnimationPlayBtn.Location = new System.Drawing.Point(157, 317); - this.AnimationPlayBtn.Name = "AnimationPlayBtn"; - this.AnimationPlayBtn.Size = new System.Drawing.Size(116, 24); - this.AnimationPlayBtn.TabIndex = 18; - this.AnimationPlayBtn.Text = "Play Animation"; - this.AnimationPlayBtn.Theme = MetroFramework.MetroThemeStyle.Dark; - this.AnimationPlayBtn.UseSelectable = true; - this.AnimationPlayBtn.Click += new System.EventHandler(this.StartAnimationBtn_Click); - // - // AnimationStopBtn - // - this.AnimationStopBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.AnimationStopBtn.Enabled = false; - this.AnimationStopBtn.Location = new System.Drawing.Point(276, 317); - this.AnimationStopBtn.Name = "AnimationStopBtn"; - this.AnimationStopBtn.Size = new System.Drawing.Size(116, 24); - this.AnimationStopBtn.TabIndex = 19; - this.AnimationStopBtn.Text = "Stop Animation"; - this.AnimationStopBtn.Theme = MetroFramework.MetroThemeStyle.Dark; - this.AnimationStopBtn.UseSelectable = true; - this.AnimationStopBtn.Click += new System.EventHandler(this.StopAnimationBtn_Click); + this.AnimationStartStopBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.AnimationStartStopBtn.Location = new System.Drawing.Point(157, 317); + this.AnimationStartStopBtn.Name = "AnimationStartStopBtn"; + this.AnimationStartStopBtn.Size = new System.Drawing.Size(232, 24); + this.AnimationStartStopBtn.TabIndex = 18; + this.AnimationStartStopBtn.Text = "Play Animation"; + this.AnimationStartStopBtn.Theme = MetroFramework.MetroThemeStyle.Dark; + this.AnimationStartStopBtn.UseSelectable = true; + this.AnimationStartStopBtn.Click += new System.EventHandler(this.AnimationStartStopBtn_Click); // // tileLabel // @@ -275,26 +263,34 @@ this.tileLabel.Text = "tileLabel"; this.tileLabel.Theme = MetroFramework.MetroThemeStyle.Dark; // + // animationPictureBox + // + this.animationPictureBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.animationPictureBox.Location = new System.Drawing.Point(157, 88); + this.animationPictureBox.Name = "animationPictureBox"; + this.animationPictureBox.Size = new System.Drawing.Size(235, 223); + this.animationPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.animationPictureBox.TabIndex = 16; + this.animationPictureBox.TabStop = false; + // // pictureBox1 // + this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.pictureBox1.Location = new System.Drawing.Point(154, 60); this.pictureBox1.Name = "pictureBox1"; - this.pictureBox1.Size = new System.Drawing.Size(244, 24); + this.pictureBox1.Size = new System.Drawing.Size(255, 24); this.pictureBox1.TabIndex = 21; this.pictureBox1.TabStop = false; // - // pictureBoxWithInterpolationMode1 + // importGifToolStripMenuItem // - this.pictureBoxWithInterpolationMode1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.pictureBoxWithInterpolationMode1.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; - this.pictureBoxWithInterpolationMode1.Location = new System.Drawing.Point(157, 88); - this.pictureBoxWithInterpolationMode1.Name = "pictureBoxWithInterpolationMode1"; - this.pictureBoxWithInterpolationMode1.Size = new System.Drawing.Size(235, 223); - this.pictureBoxWithInterpolationMode1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; - this.pictureBoxWithInterpolationMode1.TabIndex = 16; - this.pictureBoxWithInterpolationMode1.TabStop = false; + this.importGifToolStripMenuItem.Name = "importGifToolStripMenuItem"; + this.importGifToolStripMenuItem.Size = new System.Drawing.Size(210, 22); + this.importGifToolStripMenuItem.Text = "Import Gif"; + this.importGifToolStripMenuItem.Click += new System.EventHandler(this.importGifToolStripMenuItem_Click); // // AnimationEditor // @@ -304,10 +300,9 @@ this.ClientSize = new System.Drawing.Size(412, 362); this.Controls.Add(this.InterpolationCheckbox); this.Controls.Add(this.pictureBox1); - this.Controls.Add(this.AnimationStopBtn); - this.Controls.Add(this.AnimationPlayBtn); + this.Controls.Add(this.AnimationStartStopBtn); this.Controls.Add(this.tileLabel); - this.Controls.Add(this.pictureBoxWithInterpolationMode1); + this.Controls.Add(this.animationPictureBox); this.Controls.Add(this.frameTreeView); this.Controls.Add(this.menuStrip); this.Font = new System.Drawing.Font("Segoe UI", 8.25F); @@ -321,8 +316,8 @@ this.contextMenuStrip1.ResumeLayout(false); this.menuStrip.ResumeLayout(false); this.menuStrip.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.animationPictureBox)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxWithInterpolationMode1)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -334,13 +329,12 @@ private System.Windows.Forms.MenuStrip menuStrip; private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem1; - private PckStudio.ToolboxItems.PictureBoxWithInterpolationMode pictureBoxWithInterpolationMode1; + private PckStudio.Forms.Editor.AnimationPictureBox animationPictureBox; private MetroFramework.Controls.MetroCheckBox InterpolationCheckbox; - private MetroFramework.Controls.MetroButton AnimationPlayBtn; + private MetroFramework.Controls.MetroButton AnimationStartStopBtn; private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; private System.Windows.Forms.ToolStripMenuItem addFrameToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem removeFrameToolStripMenuItem; - private MetroFramework.Controls.MetroButton AnimationStopBtn; private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem bulkAnimationSpeedToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem importJavaAnimationToolStripMenuItem; @@ -353,6 +347,7 @@ private System.Windows.Forms.ToolStripMenuItem setBulkSpedToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem javaAnimationSupportToolStripMenuItem; private System.Windows.Forms.ImageList TextureIcons; - private System.Windows.Forms.PictureBox pictureBox1; - } + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.ToolStripMenuItem importGifToolStripMenuItem; + } } \ No newline at end of file diff --git a/PCK-Studio/Forms/Editor/AnimationEditor.cs b/PCK-Studio/Forms/Editor/AnimationEditor.cs index 6ced4063..0e13ed43 100644 --- a/PCK-Studio/Forms/Editor/AnimationEditor.cs +++ b/PCK-Studio/Forms/Editor/AnimationEditor.cs @@ -11,6 +11,7 @@ using PckStudio.Forms.Additional_Popups.Animation; using PckStudio.Forms.Utilities; using PckStudio.Extensions; using OMI.Formats.Pck; +using System.Collections.Generic; namespace PckStudio.Forms.Editor { @@ -18,7 +19,6 @@ namespace PckStudio.Forms.Editor { PckFile.FileData animationFile; Animation currentAnimation; - AnimationPlayer player; bool isItem = false; string animationSection => AnimationResources.GetAnimationSection(isItem); @@ -40,10 +40,9 @@ namespace PckStudio.Forms.Editor TileName = Path.GetFileNameWithoutExtension(file.Filename); InterpolationCheckbox.Visible = !IsEditingSpecial; - InterpolationCheckbox.Checked = InterpolationCheckbox.Visible; - bulkAnimationSpeedToolStripMenuItem.Enabled = InterpolationCheckbox.Visible; - importJavaAnimationToolStripMenuItem.Enabled = InterpolationCheckbox.Visible; - exportJavaAnimationToolStripMenuItem.Enabled = InterpolationCheckbox.Visible; + bulkAnimationSpeedToolStripMenuItem.Enabled = !IsEditingSpecial; + importJavaAnimationToolStripMenuItem.Enabled = !IsEditingSpecial; + exportJavaAnimationToolStripMenuItem.Enabled = !IsEditingSpecial; animationFile = file; @@ -54,7 +53,6 @@ namespace PckStudio.Forms.Editor currentAnimation = animationFile.Properties.HasProperty("ANIM") ? new Animation(frameTextures, animationFile.Properties.GetPropertyValue("ANIM")) : new Animation(frameTextures); - player = new AnimationPlayer(pictureBoxWithInterpolationMode1); foreach (JObject content in AnimationResources.tileData[animationSection].Children()) { @@ -74,7 +72,7 @@ namespace PckStudio.Forms.Editor frameTreeView.Nodes.Clear(); // $"Frame: {i}, Frame Time: {Animation.MinimumFrameTime}" TextureIcons.Images.Clear(); - TextureIcons.Images.AddRange(currentAnimation.GetFrameTextures().ToArray()); + TextureIcons.Images.AddRange(currentAnimation.GetTextures().ToArray()); foreach (var frame in currentAnimation.GetFrames()) { var imageIndex = currentAnimation.GetTextureIndex(frame.Texture); @@ -84,37 +82,29 @@ namespace PckStudio.Forms.Editor SelectedImageIndex = imageIndex, }); } - player.SelectFrame(currentAnimation, 0); + animationPictureBox.SelectFrame(currentAnimation, 0); } private void frameTreeView_AfterSelect(object sender, TreeViewEventArgs e) { - if (player.IsPlaying && !AnimationPlayBtn.Enabled) - AnimationPlayBtn.Enabled = !(AnimationStopBtn.Enabled = !AnimationStopBtn.Enabled); - player.SelectFrame(currentAnimation, frameTreeView.SelectedNode.Index); + if (animationPictureBox.IsPlaying) + AnimationStartStopBtn.Text = "Play Animation"; + animationPictureBox.SelectFrame(currentAnimation, frameTreeView.SelectedNode.Index); } - private int mix(double ratio, int val1, int val2) // Ported from Java Edition code + private void AnimationStartStopBtn_Click(object sender, EventArgs e) { - return (int)(ratio * val1 + (1.0D - ratio) * val2); - } - - private void StartAnimationBtn_Click(object sender, EventArgs e) - { - // prevent player from crashing - player.Stop(); - AnimationPlayBtn.Enabled = !(AnimationStopBtn.Enabled = !AnimationStopBtn.Enabled); - if (currentAnimation.FrameCount > 1) + if (animationPictureBox.IsPlaying) { - player.SetContext(pictureBoxWithInterpolationMode1); - player.Start(currentAnimation); + AnimationStartStopBtn.Text = "Play Animation"; + animationPictureBox.Stop(); + return; + } + if (currentAnimation.FrameCount > 1) + { + animationPictureBox.Start(currentAnimation); + AnimationStartStopBtn.Text = "Stop Animation"; } - } - - private void StopAnimationBtn_Click(object sender, EventArgs e) - { - AnimationPlayBtn.Enabled = !(AnimationStopBtn.Enabled = !AnimationStopBtn.Enabled); - player.Stop(); } private void frameTreeView_KeyDown(object sender, KeyEventArgs e) @@ -135,17 +125,19 @@ namespace PckStudio.Forms.Editor private void saveToolStripMenuItem1_Click(object sender, EventArgs e) { - string anim = currentAnimation.BuildAnim(); - - animationFile.Properties.SetProperty("ANIM", IsEditingSpecial ? "" : anim); - using (var stream = new MemoryStream()) + if (!IsEditingSpecial) { - var texture = currentAnimation.BuildTexture(IsEditingSpecial); - texture.Save(stream, ImageFormat.Png); - animationFile.SetData(stream.ToArray()); + string anim = currentAnimation.BuildAnim(); + animationFile.Properties.SetProperty("ANIM", anim); + using (var stream = new MemoryStream()) + { + var texture = currentAnimation.BuildTexture(); + texture.Save(stream, ImageFormat.Png); + animationFile.SetData(stream.ToArray()); + } + //Reusing this for the tile path + TileName = "res/textures/" + (isItem ? "items/" : "blocks/") + TileName + ".png" ; } - //Reusing this for the tile path - TileName = "res/textures/" + (isItem ? "items/" : "blocks/") + TileName + ".png" ; DialogResult = DialogResult.OK; } @@ -232,8 +224,11 @@ namespace PckStudio.Forms.Editor using FrameEditor diag = new FrameEditor(frame.Ticks, currentAnimation.GetTextureIndex(frame.Texture), TextureIcons); if (diag.ShowDialog(this) == DialogResult.OK) { - /* Found a bug here. When passing the frame variable, it would replace the first instance of that frame and time - * rather than the actual frame that was clicked. I've just switched to passing the index to fix this for now. -Matt + /* Found a bug here. When passing the frame variable, + * it would replace the first instance of that frame and time + * rather than the actual frame that was clicked. + * I've just switched to passing the index to fix this for now. + * - Matt */ currentAnimation.SetFrame(frameTreeView.SelectedNode.Index, diag.FrameTextureIndex, diag.FrameTime); @@ -294,8 +289,7 @@ namespace PckStudio.Forms.Editor MessageBox.Show(textureFile + " was not found", "Texture not found"); return; } - using MemoryStream textureMem = new MemoryStream(File.ReadAllBytes(textureFile)); - var textures = Image.FromStream(textureMem).CreateImageList(ImageLayoutDirection.Horizontal); + var textures = Image.FromFile(textureFile).CreateImageList(ImageLayoutDirection.Horizontal); var new_animation = new Animation(textures); try { @@ -382,7 +376,7 @@ namespace PckStudio.Forms.Editor string jsondata = JsonConvert.SerializeObject(mcmeta, Formatting.Indented); string filename = fileDialog.FileName; File.WriteAllText(filename, jsondata); - var finalTexture = currentAnimation.BuildTexture(isClockOrCompass: false); + var finalTexture = currentAnimation.BuildTexture(); finalTexture.Save(Path.GetFileNameWithoutExtension(filename)); // removes ".mcmeta" from filename! MessageBox.Show("Animation was successfully exported to " + filename, "Export successful!"); } @@ -437,10 +431,41 @@ namespace PckStudio.Forms.Editor private void AnimationEditor_FormClosing(object sender, FormClosingEventArgs e) { - if (player.IsPlaying) + if (animationPictureBox.IsPlaying) { - player.Stop(); + animationPictureBox.Stop(); } } + + private void importGifToolStripMenuItem_Click(object sender, EventArgs e) + { + OpenFileDialog fileDialog = new OpenFileDialog() + { + Filter = "GIF|*.gif" + }; + if (fileDialog.ShowDialog(this) != DialogResult.OK) + return; + + var gif = Image.FromFile(fileDialog.FileName); + if (!gif.RawFormat.Equals(ImageFormat.Gif)) + { + MessageBox.Show("Selected file is not a gif", "Invalid file", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + + FrameDimension dimension = new FrameDimension(gif.FrameDimensionsList[0]); + int frameCount = gif.GetFrameCount(dimension); + + var textures = new List(frameCount); + + for (int i = 0; i < frameCount; i++) + { + gif.SelectActiveFrame(dimension, i); + textures.Add(new Bitmap(gif)); + } + currentAnimation = new Animation(textures); + LoadAnimationTreeView(); + } } } diff --git a/PCK-Studio/Forms/Editor/AnimationPictureBox.cs b/PCK-Studio/Forms/Editor/AnimationPictureBox.cs new file mode 100644 index 00000000..4985525f --- /dev/null +++ b/PCK-Studio/Forms/Editor/AnimationPictureBox.cs @@ -0,0 +1,114 @@ +using System; +using System.Threading; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading.Tasks; +using System.Drawing.Drawing2D; +using System.Runtime.CompilerServices; + +using PckStudio.Extensions; + +namespace PckStudio.Forms.Editor +{ + internal class AnimationPictureBox : PictureBox + { + public bool IsPlaying => _isPlaying; + + public void Start(Animation animation) + { + _animation = animation; + cts = new CancellationTokenSource(); + Task.Run(DoAnimate, cts.Token); + } + + public void Stop([CallerMemberName] string callerName = default!) + { + Debug.WriteLine($"{nameof(AnimationPictureBox.Stop)} called from {callerName}!"); + cts.Cancel(); + } + + public void SelectFrame(Animation animation, int index) + { + if (IsPlaying) + Stop(); + _animation = animation; + currentAnimationFrameIndex = index; + currentFrame = SetAnimationFrame(index); + } + + private const int TickInMillisecond = 50; // 1 InGame tick + + private bool _isPlaying = false; + private int currentAnimationFrameIndex = 0; + private Animation.Frame currentFrame; + private Animation _animation; + private CancellationTokenSource cts = new CancellationTokenSource(); + + protected override void OnPaint(PaintEventArgs pe) + { + pe.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor; + pe.Graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; + base.OnPaint(pe); + } + + private async void DoAnimate() + { + _ = _animation ?? throw new ArgumentNullException(nameof(_animation)); + _isPlaying = true; + Animation.Frame nextFrame; + while (!cts.IsCancellationRequested) + { + if (currentAnimationFrameIndex >= _animation.FrameCount) + { + currentAnimationFrameIndex = 0; + } + + if (currentAnimationFrameIndex + 1 >= _animation.FrameCount) + { + nextFrame = _animation.GetFrame(0); + } + else + { + nextFrame = _animation.GetFrame(currentAnimationFrameIndex + 1); + } + + currentFrame = _animation.GetFrame(currentAnimationFrameIndex++); + if (_animation.Interpolate) + { + await InterpolateFrame(currentFrame, nextFrame); + continue; + } + SetAnimationFrame(currentFrame); + await Task.Delay(TickInMillisecond * currentFrame.Ticks); + } + _isPlaying = false; + } + + private async Task InterpolateFrame(Animation.Frame currentFrame, Animation.Frame nextFrame) + { + for (int tick = 0; tick < currentFrame.Ticks && !cts.IsCancellationRequested; tick++) + { + double delta = 1.0f - tick / (double)currentFrame.Ticks; + if (!IsDisposed) + Invoke(() => + { + if (!IsDisposed) + Image = currentFrame.Texture.Interpolate(nextFrame.Texture, delta); + }); + await Task.Delay(TickInMillisecond); + } + } + + private Animation.Frame SetAnimationFrame(int frameIndex) + { + var frame = _animation.GetFrame(frameIndex); + SetAnimationFrame(frame); + return frame; + } + + private void SetAnimationFrame(Animation.Frame frame) + { + Invoke(() => Image = frame.Texture); + } + } +} diff --git a/PCK-Studio/Forms/Editor/AnimationPlayer.cs b/PCK-Studio/Forms/Editor/AnimationPlayer.cs deleted file mode 100644 index bca7ca62..00000000 --- a/PCK-Studio/Forms/Editor/AnimationPlayer.cs +++ /dev/null @@ -1,76 +0,0 @@ -using System; -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Forms; -using System.Runtime.CompilerServices; -using System.Diagnostics; - -namespace PckStudio.Forms.Editor -{ - // TODO: write as a UI control ?? - sealed class AnimationPlayer - { - public const int BaseTickSpeed = 48; - public bool IsPlaying { get; private set; } = false; - - private int currentAnimationFrameIndex = 0; - private PictureBox display; - private Animation _animation; - private CancellationTokenSource cts = new CancellationTokenSource(); - - public AnimationPlayer(PictureBox display) - { - SetContext(display); - } - - private async void DoAnimate() - { - _ = display ?? throw new ArgumentNullException(nameof(display)); - _ = _animation ?? throw new ArgumentNullException(nameof(_animation)); - IsPlaying = true; - while (!cts.IsCancellationRequested) - { - if (currentAnimationFrameIndex >= _animation.FrameCount) - currentAnimationFrameIndex = 0; - Animation.Frame frame = SetDisplayFrame(currentAnimationFrameIndex++); - await Task.Delay(BaseTickSpeed * frame.Ticks); - } - IsPlaying = false; - } - - public void Start(Animation animation) - { - _animation = animation; - cts = new CancellationTokenSource(); - Task.Run(DoAnimate, cts.Token); - } - - public void Stop([CallerMemberName] string callerName = default!) - { - Debug.WriteLine($"{nameof(AnimationPlayer.Stop)} called from {callerName}!"); - cts.Cancel(); - } - - public Animation.Frame GetCurrentFrame() => _animation[currentAnimationFrameIndex]; - - public void SetContext(PictureBox display) => this.display = display; - - public void SelectFrame(Animation animation, int index) - { - _animation = animation; - if (IsPlaying) - Stop(); - SetDisplayFrame(index); - currentAnimationFrameIndex = index; - } - - private Animation.Frame SetDisplayFrame(int frameIndex) - { - Monitor.Enter(_animation); - Animation.Frame frame = _animation[frameIndex]; - display.Image = frame.Texture; - Monitor.Exit(_animation); - return frame; - } - } -} diff --git a/PCK-Studio/Forms/Editor/AudioEditor.Designer.cs b/PCK-Studio/Forms/Editor/AudioEditor.Designer.cs index a6c41e9c..c14407d5 100644 --- a/PCK-Studio/Forms/Editor/AudioEditor.Designer.cs +++ b/PCK-Studio/Forms/Editor/AudioEditor.Designer.cs @@ -29,243 +29,262 @@ namespace PckStudio.Forms.Editor /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AudioEditor)); - this.treeView1 = new System.Windows.Forms.TreeView(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.addCategoryStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.removeCategoryStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.catImages = new System.Windows.Forms.ImageList(this.components); - this.menuStrip = new System.Windows.Forms.MenuStrip(); - this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.creditsEditorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.deleteUnusedBINKAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.openDataFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.bulkReplaceExistingTracksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.howToAddSongsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.whatIsEachCategoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.howToEditCreditsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.optimizeDataFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.bINKACompressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.treeView2 = new System.Windows.Forms.TreeView(); - this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.addEntryMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.removeEntryMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.verifyFileLocationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.playOverworldInCreative = new MetroFramework.Controls.MetroCheckBox(); - this.compressionUpDown = new System.Windows.Forms.NumericUpDown(); - this.metroLabel1 = new MetroFramework.Controls.MetroLabel(); - this.contextMenuStrip1.SuspendLayout(); - this.menuStrip.SuspendLayout(); - this.contextMenuStrip2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.compressionUpDown)).BeginInit(); - this.SuspendLayout(); - // - // treeView1 - // - resources.ApplyResources(this.treeView1, "treeView1"); - this.treeView1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.treeView1.ContextMenuStrip = this.contextMenuStrip1; - this.treeView1.ForeColor = System.Drawing.Color.White; - this.treeView1.ImageList = this.catImages; - this.treeView1.LabelEdit = true; - this.treeView1.Name = "treeView1"; - this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect); - this.treeView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView1_KeyDown); - // - // contextMenuStrip1 - // + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AudioEditor)); + this.treeView1 = new System.Windows.Forms.TreeView(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.addCategoryStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.removeCategoryStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.changeCategoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.catImages = new System.Windows.Forms.ImageList(this.components); + this.menuStrip = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.deleteUnusedBINKAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.openDataFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bulkReplaceExistingTracksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.organizeTracksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.howToAddSongsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.whatIsEachCategoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.howToEditCreditsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.optimizeDataFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bINKACompressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.treeView2 = new System.Windows.Forms.TreeView(); + this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.addEntryMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.removeEntryMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.verifyFileLocationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.convertToWAVToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.playOverworldInCreative = new MetroFramework.Controls.MetroCheckBox(); + this.compressionUpDown = new System.Windows.Forms.NumericUpDown(); + this.metroLabel1 = new MetroFramework.Controls.MetroLabel(); + this.contextMenuStrip1.SuspendLayout(); + this.menuStrip.SuspendLayout(); + this.contextMenuStrip2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.compressionUpDown)).BeginInit(); + this.SuspendLayout(); + // + // treeView1 + // + resources.ApplyResources(this.treeView1, "treeView1"); + this.treeView1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.treeView1.ContextMenuStrip = this.contextMenuStrip1; + this.treeView1.ForeColor = System.Drawing.Color.White; + this.treeView1.ImageList = this.catImages; + this.treeView1.LabelEdit = true; + this.treeView1.Name = "treeView1"; + this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect); + this.treeView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView1_KeyDown); + // + // contextMenuStrip1 + // this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.addCategoryStripMenuItem, - this.removeCategoryStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - resources.ApplyResources(this.contextMenuStrip1, "contextMenuStrip1"); - // - // addCategoryStripMenuItem - // - resources.ApplyResources(this.addCategoryStripMenuItem, "addCategoryStripMenuItem"); - this.addCategoryStripMenuItem.Name = "addCategoryStripMenuItem"; - this.addCategoryStripMenuItem.Click += new System.EventHandler(this.addCategoryStripMenuItem_Click); - // - // removeCategoryStripMenuItem - // - this.removeCategoryStripMenuItem.Name = "removeCategoryStripMenuItem"; - resources.ApplyResources(this.removeCategoryStripMenuItem, "removeCategoryStripMenuItem"); - this.removeCategoryStripMenuItem.Click += new System.EventHandler(this.removeCategoryStripMenuItem_Click); - // - // catImages - // - this.catImages.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("catImages.ImageStream"))); - this.catImages.TransparentColor = System.Drawing.Color.Transparent; - this.catImages.Images.SetKeyName(0, "0_overworld.png"); - this.catImages.Images.SetKeyName(1, "1_nether.png"); - this.catImages.Images.SetKeyName(2, "2_end.png"); - this.catImages.Images.SetKeyName(3, "4_creative.png"); - this.catImages.Images.SetKeyName(4, "3_menu.png"); - this.catImages.Images.SetKeyName(5, "5_mg01.png"); - this.catImages.Images.SetKeyName(6, "6_mg02.png"); - this.catImages.Images.SetKeyName(7, "7_mg03.png"); - this.catImages.Images.SetKeyName(8, "8_unused.png"); - // - // menuStrip - // - resources.ApplyResources(this.menuStrip, "menuStrip"); - this.menuStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.removeCategoryStripMenuItem, + this.changeCategoryToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + resources.ApplyResources(this.contextMenuStrip1, "contextMenuStrip1"); + // + // addCategoryStripMenuItem + // + resources.ApplyResources(this.addCategoryStripMenuItem, "addCategoryStripMenuItem"); + this.addCategoryStripMenuItem.Name = "addCategoryStripMenuItem"; + this.addCategoryStripMenuItem.Click += new System.EventHandler(this.addCategoryStripMenuItem_Click); + // + // removeCategoryStripMenuItem + // + this.removeCategoryStripMenuItem.Name = "removeCategoryStripMenuItem"; + resources.ApplyResources(this.removeCategoryStripMenuItem, "removeCategoryStripMenuItem"); + this.removeCategoryStripMenuItem.Click += new System.EventHandler(this.removeCategoryStripMenuItem_Click); + // + // changeCategoryToolStripMenuItem + // + this.changeCategoryToolStripMenuItem.Name = "changeCategoryToolStripMenuItem"; + resources.ApplyResources(this.changeCategoryToolStripMenuItem, "changeCategoryToolStripMenuItem"); + this.changeCategoryToolStripMenuItem.Click += new System.EventHandler(this.setCategoryToolStripMenuItem_Click); + // + // catImages + // + this.catImages.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("catImages.ImageStream"))); + this.catImages.TransparentColor = System.Drawing.Color.Transparent; + this.catImages.Images.SetKeyName(0, "0_overworld.png"); + this.catImages.Images.SetKeyName(1, "1_nether.png"); + this.catImages.Images.SetKeyName(2, "2_end.png"); + this.catImages.Images.SetKeyName(3, "4_creative.png"); + this.catImages.Images.SetKeyName(4, "3_menu.png"); + this.catImages.Images.SetKeyName(5, "5_mg01.png"); + this.catImages.Images.SetKeyName(6, "6_mg02.png"); + this.catImages.Images.SetKeyName(7, "7_mg03.png"); + this.catImages.Images.SetKeyName(8, "8_unused.png"); + // + // menuStrip + // + resources.ApplyResources(this.menuStrip, "menuStrip"); + this.menuStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, this.toolsToolStripMenuItem, this.helpToolStripMenuItem}); - this.menuStrip.Name = "menuStrip"; - // - // fileToolStripMenuItem - // - this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuStrip.Name = "menuStrip"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.saveToolStripMenuItem1}); - this.fileToolStripMenuItem.ForeColor = System.Drawing.Color.White; - this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; - resources.ApplyResources(this.fileToolStripMenuItem, "fileToolStripMenuItem"); - // - // saveToolStripMenuItem1 - // - resources.ApplyResources(this.saveToolStripMenuItem1, "saveToolStripMenuItem1"); - this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1"; - this.saveToolStripMenuItem1.Click += new System.EventHandler(this.saveToolStripMenuItem1_Click); - // - // toolsToolStripMenuItem - // - this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.creditsEditorToolStripMenuItem, + this.fileToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + resources.ApplyResources(this.fileToolStripMenuItem, "fileToolStripMenuItem"); + // + // saveToolStripMenuItem1 + // + resources.ApplyResources(this.saveToolStripMenuItem1, "saveToolStripMenuItem1"); + this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1"; + this.saveToolStripMenuItem1.Click += new System.EventHandler(this.saveToolStripMenuItem1_Click); + // + // toolsToolStripMenuItem + // + this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.deleteUnusedBINKAsToolStripMenuItem, - this.openDataFolderToolStripMenuItem, - this.bulkReplaceExistingTracksToolStripMenuItem}); - this.toolsToolStripMenuItem.ForeColor = System.Drawing.Color.White; - this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem"; - resources.ApplyResources(this.toolsToolStripMenuItem, "toolsToolStripMenuItem"); - // - // creditsEditorToolStripMenuItem - // - this.creditsEditorToolStripMenuItem.Name = "creditsEditorToolStripMenuItem"; - resources.ApplyResources(this.creditsEditorToolStripMenuItem, "creditsEditorToolStripMenuItem"); - this.creditsEditorToolStripMenuItem.Click += new System.EventHandler(this.creditsEditorToolStripMenuItem_Click); - // - // deleteUnusedBINKAsToolStripMenuItem - // - this.deleteUnusedBINKAsToolStripMenuItem.Name = "deleteUnusedBINKAsToolStripMenuItem"; - resources.ApplyResources(this.deleteUnusedBINKAsToolStripMenuItem, "deleteUnusedBINKAsToolStripMenuItem"); - this.deleteUnusedBINKAsToolStripMenuItem.Click += new System.EventHandler(this.deleteUnusedBINKAsToolStripMenuItem_Click); - // - // openDataFolderToolStripMenuItem - // - this.openDataFolderToolStripMenuItem.Name = "openDataFolderToolStripMenuItem"; - resources.ApplyResources(this.openDataFolderToolStripMenuItem, "openDataFolderToolStripMenuItem"); - this.openDataFolderToolStripMenuItem.Click += new System.EventHandler(this.openDataFolderToolStripMenuItem_Click); - // - // bulkReplaceExistingTracksToolStripMenuItem - // - this.bulkReplaceExistingTracksToolStripMenuItem.Name = "bulkReplaceExistingTracksToolStripMenuItem"; - resources.ApplyResources(this.bulkReplaceExistingTracksToolStripMenuItem, "bulkReplaceExistingTracksToolStripMenuItem"); - this.bulkReplaceExistingTracksToolStripMenuItem.Click += new System.EventHandler(this.bulkReplaceExistingFilesToolStripMenuItem_Click); - // - // helpToolStripMenuItem - // - this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.bulkReplaceExistingTracksToolStripMenuItem, + this.organizeTracksToolStripMenuItem}); + this.toolsToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem"; + resources.ApplyResources(this.toolsToolStripMenuItem, "toolsToolStripMenuItem"); + // + // deleteUnusedBINKAsToolStripMenuItem + // + this.deleteUnusedBINKAsToolStripMenuItem.Name = "deleteUnusedBINKAsToolStripMenuItem"; + resources.ApplyResources(this.deleteUnusedBINKAsToolStripMenuItem, "deleteUnusedBINKAsToolStripMenuItem"); + this.deleteUnusedBINKAsToolStripMenuItem.Click += new System.EventHandler(this.deleteUnusedBINKAsToolStripMenuItem_Click); + // + // openDataFolderToolStripMenuItem + // + this.openDataFolderToolStripMenuItem.Name = "openDataFolderToolStripMenuItem"; + resources.ApplyResources(this.openDataFolderToolStripMenuItem, "openDataFolderToolStripMenuItem"); + this.openDataFolderToolStripMenuItem.Click += new System.EventHandler(this.openDataFolderToolStripMenuItem_Click); + // + // bulkReplaceExistingTracksToolStripMenuItem + // + this.bulkReplaceExistingTracksToolStripMenuItem.Name = "bulkReplaceExistingTracksToolStripMenuItem"; + resources.ApplyResources(this.bulkReplaceExistingTracksToolStripMenuItem, "bulkReplaceExistingTracksToolStripMenuItem"); + this.bulkReplaceExistingTracksToolStripMenuItem.Click += new System.EventHandler(this.bulkReplaceExistingFilesToolStripMenuItem_Click); + // + // organizeTracksToolStripMenuItem + // + this.organizeTracksToolStripMenuItem.Name = "organizeTracksToolStripMenuItem"; + resources.ApplyResources(this.organizeTracksToolStripMenuItem, "organizeTracksToolStripMenuItem"); + this.organizeTracksToolStripMenuItem.Click += new System.EventHandler(this.organizeTracksToolStripMenuItem_Click); + // + // helpToolStripMenuItem + // + this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.howToAddSongsToolStripMenuItem, this.whatIsEachCategoryToolStripMenuItem, this.howToEditCreditsToolStripMenuItem, this.optimizeDataFolderToolStripMenuItem, this.bINKACompressionToolStripMenuItem}); - this.helpToolStripMenuItem.ForeColor = System.Drawing.Color.White; - this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; - resources.ApplyResources(this.helpToolStripMenuItem, "helpToolStripMenuItem"); + this.organizeTracksToolStripMenuItem.Name = "organizeTracksToolStripMenuItem"; + resources.ApplyResources(this.organizeTracksToolStripMenuItem, "organizeTracksToolStripMenuItem"); + this.organizeTracksToolStripMenuItem.Click += new System.EventHandler(this.organizeTracksToolStripMenuItem_Click); // - // howToAddSongsToolStripMenuItem - // - this.howToAddSongsToolStripMenuItem.Name = "howToAddSongsToolStripMenuItem"; - resources.ApplyResources(this.howToAddSongsToolStripMenuItem, "howToAddSongsToolStripMenuItem"); - this.howToAddSongsToolStripMenuItem.Click += new System.EventHandler(this.howToAddSongsToolStripMenuItem_Click); - // - // whatIsEachCategoryToolStripMenuItem - // - this.whatIsEachCategoryToolStripMenuItem.Name = "whatIsEachCategoryToolStripMenuItem"; - resources.ApplyResources(this.whatIsEachCategoryToolStripMenuItem, "whatIsEachCategoryToolStripMenuItem"); - this.whatIsEachCategoryToolStripMenuItem.Click += new System.EventHandler(this.whatIsEachCategoryToolStripMenuItem_Click); - // - // howToEditCreditsToolStripMenuItem - // - this.howToEditCreditsToolStripMenuItem.Name = "howToEditCreditsToolStripMenuItem"; - resources.ApplyResources(this.howToEditCreditsToolStripMenuItem, "howToEditCreditsToolStripMenuItem"); - this.howToEditCreditsToolStripMenuItem.Click += new System.EventHandler(this.howToEditCreditsToolStripMenuItem_Click); - // - // optimizeDataFolderToolStripMenuItem - // - this.optimizeDataFolderToolStripMenuItem.Name = "optimizeDataFolderToolStripMenuItem"; - resources.ApplyResources(this.optimizeDataFolderToolStripMenuItem, "optimizeDataFolderToolStripMenuItem"); - this.optimizeDataFolderToolStripMenuItem.Click += new System.EventHandler(this.optimizeDataFolderToolStripMenuItem_Click); - // - // bINKACompressionToolStripMenuItem - // - this.bINKACompressionToolStripMenuItem.Name = "bINKACompressionToolStripMenuItem"; - resources.ApplyResources(this.bINKACompressionToolStripMenuItem, "bINKACompressionToolStripMenuItem"); - this.bINKACompressionToolStripMenuItem.Click += new System.EventHandler(this.BINKACompressionToolStripMenuItem_Click); - // - // treeView2 - // - this.treeView2.AllowDrop = true; - resources.ApplyResources(this.treeView2, "treeView2"); - this.treeView2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.treeView2.ContextMenuStrip = this.contextMenuStrip2; - this.treeView2.ForeColor = System.Drawing.Color.White; - this.treeView2.Name = "treeView2"; + // helpToolStripMenuItem + this.helpToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; + resources.ApplyResources(this.helpToolStripMenuItem, "helpToolStripMenuItem"); + // + // howToAddSongsToolStripMenuItem + // + this.howToAddSongsToolStripMenuItem.Name = "howToAddSongsToolStripMenuItem"; + resources.ApplyResources(this.howToAddSongsToolStripMenuItem, "howToAddSongsToolStripMenuItem"); + this.howToAddSongsToolStripMenuItem.Click += new System.EventHandler(this.howToAddSongsToolStripMenuItem_Click); + // + // whatAreTheCategoriesToolStripMenuItem + // + this.whatIsEachCategoryToolStripMenuItem.Name = "whatIsEachCategoryToolStripMenuItem"; + resources.ApplyResources(this.whatIsEachCategoryToolStripMenuItem, "whatIsEachCategoryToolStripMenuItem"); + this.whatIsEachCategoryToolStripMenuItem.Click += new System.EventHandler(this.whatIsEachCategoryToolStripMenuItem_Click); + // + // howToEditCreditsToolStripMenuItem + // + this.howToEditCreditsToolStripMenuItem.Name = "howToEditCreditsToolStripMenuItem"; + resources.ApplyResources(this.howToEditCreditsToolStripMenuItem, "howToEditCreditsToolStripMenuItem"); + this.howToEditCreditsToolStripMenuItem.Click += new System.EventHandler(this.howToEditCreditsToolStripMenuItem_Click); + // + // optimizeDataFolderToolStripMenuItem + // + this.optimizeDataFolderToolStripMenuItem.Name = "optimizeDataFolderToolStripMenuItem"; + resources.ApplyResources(this.optimizeDataFolderToolStripMenuItem, "optimizeDataFolderToolStripMenuItem"); + this.optimizeDataFolderToolStripMenuItem.Click += new System.EventHandler(this.optimizeDataFolderToolStripMenuItem_Click); + // + // bINKACompressionToolStripMenuItem + // + this.bINKACompressionToolStripMenuItem.Name = "bINKACompressionToolStripMenuItem"; + resources.ApplyResources(this.bINKACompressionToolStripMenuItem, "bINKACompressionToolStripMenuItem"); + this.bINKACompressionToolStripMenuItem.Click += new System.EventHandler(this.BINKACompressionToolStripMenuItem_Click); + // + // treeView2 + // + this.treeView2.AllowDrop = true; + resources.ApplyResources(this.treeView2, "treeView2"); + this.treeView2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.treeView2.ContextMenuStrip = this.contextMenuStrip2; + this.treeView2.ForeColor = System.Drawing.Color.White; + this.treeView2.Name = "treeView2"; + this.treeView2.DragDrop += new System.Windows.Forms.DragEventHandler(this.Binka_DragDrop); + this.treeView2.DragEnter += new System.Windows.Forms.DragEventHandler(this.treeView2_DragEnter); + this.treeView2.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView2_KeyDown); + // + // contextMenuStrip2 + // + this.contextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.verifyFileLocationToolStripMenuItem, + this.convertToWAVToolStripMenuItem}); this.treeView2.DragDrop += new System.Windows.Forms.DragEventHandler(this.Binka_DragDrop); this.treeView2.DragEnter += new System.Windows.Forms.DragEventHandler(this.treeView2_DragEnter); - this.treeView2.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView2_KeyDown); - // - // contextMenuStrip2 - // - this.contextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.addEntryMenuItem, - this.removeEntryMenuItem, - this.verifyFileLocationToolStripMenuItem}); - this.contextMenuStrip2.Name = "contextMenuStrip1"; - resources.ApplyResources(this.contextMenuStrip2, "contextMenuStrip2"); - // - // addEntryMenuItem - // - resources.ApplyResources(this.addEntryMenuItem, "addEntryMenuItem"); - this.addEntryMenuItem.Name = "addEntryMenuItem"; - this.addEntryMenuItem.Click += new System.EventHandler(this.addEntryMenuItem_Click); - // - // removeEntryMenuItem - // - this.removeEntryMenuItem.Name = "removeEntryMenuItem"; - resources.ApplyResources(this.removeEntryMenuItem, "removeEntryMenuItem"); - this.removeEntryMenuItem.Click += new System.EventHandler(this.removeEntryMenuItem_Click); - // - // verifyFileLocationToolStripMenuItem - // - this.verifyFileLocationToolStripMenuItem.Name = "verifyFileLocationToolStripMenuItem"; - resources.ApplyResources(this.verifyFileLocationToolStripMenuItem, "verifyFileLocationToolStripMenuItem"); - this.verifyFileLocationToolStripMenuItem.Click += new System.EventHandler(this.verifyFileLocationToolStripMenuItem_Click); - // - // playOverworldInCreative - // - resources.ApplyResources(this.playOverworldInCreative, "playOverworldInCreative"); - this.playOverworldInCreative.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.playOverworldInCreative.ForeColor = System.Drawing.SystemColors.Window; - this.playOverworldInCreative.Name = "playOverworldInCreative"; - this.playOverworldInCreative.Theme = MetroFramework.MetroThemeStyle.Dark; - this.playOverworldInCreative.UseCustomBackColor = true; - this.playOverworldInCreative.UseCustomForeColor = true; - this.playOverworldInCreative.UseSelectable = true; + this.contextMenuStrip2.Name = "contextMenuStrip1"; + resources.ApplyResources(this.contextMenuStrip2, "contextMenuStrip2"); + // + // addEntryMenuItem + // + resources.ApplyResources(this.addEntryMenuItem, "addEntryMenuItem"); + this.addEntryMenuItem.Name = "addEntryMenuItem"; + this.addEntryMenuItem.Click += new System.EventHandler(this.addEntryMenuItem_Click); + // + // removeEntryMenuItem + // + this.removeEntryMenuItem.Name = "removeEntryMenuItem"; + resources.ApplyResources(this.removeEntryMenuItem, "removeEntryMenuItem"); + this.removeEntryMenuItem.Click += new System.EventHandler(this.removeEntryMenuItem_Click); + // + // verifyFileLocationToolStripMenuItem + // + this.verifyFileLocationToolStripMenuItem.Name = "verifyFileLocationToolStripMenuItem"; + resources.ApplyResources(this.verifyFileLocationToolStripMenuItem, "verifyFileLocationToolStripMenuItem"); + this.verifyFileLocationToolStripMenuItem.Click += new System.EventHandler(this.verifyFileLocationToolStripMenuItem_Click); + // + // convertToWAVToolStripMenuItem + // + this.convertToWAVToolStripMenuItem.Name = "convertToWAVToolStripMenuItem"; + resources.ApplyResources(this.convertToWAVToolStripMenuItem, "convertToWAVToolStripMenuItem"); + this.convertToWAVToolStripMenuItem.Click += new System.EventHandler(this.convertToWAVToolStripMenuItem_Click); + // + // playOverworldInCreative + // + resources.ApplyResources(this.playOverworldInCreative, "playOverworldInCreative"); + this.playOverworldInCreative.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.playOverworldInCreative.ForeColor = System.Drawing.SystemColors.Window; + this.playOverworldInCreative.Name = "playOverworldInCreative"; + this.playOverworldInCreative.Theme = MetroFramework.MetroThemeStyle.Dark; + this.playOverworldInCreative.UseCustomBackColor = true; + this.playOverworldInCreative.UseCustomForeColor = true; + this.playOverworldInCreative.UseSelectable = true; // // compressionUpDown // - resources.ApplyResources(this.compressionUpDown, "compressionUpDown"); - this.compressionUpDown.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.compressionUpDown.BackColor = System.Drawing.Color.FromArgb(64, 64, 64); this.compressionUpDown.ForeColor = System.Drawing.SystemColors.Window; + resources.ApplyResources(this.compressionUpDown, "compressionUpDown"); this.compressionUpDown.Maximum = new decimal(new int[] { 9, 0, @@ -276,31 +295,34 @@ namespace PckStudio.Forms.Editor 0, 0, 0}); - this.compressionUpDown.Name = "compressionUpDown"; - this.compressionUpDown.Value = new decimal(new int[] { - 4, - 0, - 0, - 0}); // // metroLabel1 // resources.ApplyResources(this.metroLabel1, "metroLabel1"); - this.metroLabel1.Name = "metroLabel1"; - this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // AudioEditor - // - resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); - this.Controls.Add(this.metroLabel1); - this.Controls.Add(this.compressionUpDown); - this.Controls.Add(this.playOverworldInCreative); - this.Controls.Add(this.treeView1); - this.Controls.Add(this.treeView2); + this.metroLabel1.Name = "metroLabel1"; + this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // AudioEditor + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.metroLabel1); + this.Controls.Add(this.compressionUpDown); + this.Controls.Add(this.playOverworldInCreative); + this.Controls.Add(this.treeView1); + this.Controls.Add(this.treeView2); + this.Controls.Add(this.menuStrip); + this.Name = "AudioEditor"; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.AudioEditor_FormClosed); + this.Shown += new System.EventHandler(this.AudioEditor_Shown); + this.contextMenuStrip1.ResumeLayout(false); + this.menuStrip.ResumeLayout(false); + this.menuStrip.PerformLayout(); + this.contextMenuStrip2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.compressionUpDown)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); this.Controls.Add(this.menuStrip); - this.ForeColor = System.Drawing.Color.White; this.Name = "AudioEditor"; this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.AudioEditor_FormClosed); this.Shown += new System.EventHandler(this.AudioEditor_Shown); @@ -330,7 +352,6 @@ namespace PckStudio.Forms.Editor private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem; private System.Windows.Forms.ImageList catImages; private System.Windows.Forms.ToolStripMenuItem toolsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem creditsEditorToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem verifyFileLocationToolStripMenuItem; private MetroFramework.Controls.MetroCheckBox playOverworldInCreative; private System.Windows.Forms.ToolStripMenuItem deleteUnusedBINKAsToolStripMenuItem; diff --git a/PCK-Studio/Forms/Editor/AudioEditor.cs b/PCK-Studio/Forms/Editor/AudioEditor.cs index ce22a2c9..a4482b4b 100644 --- a/PCK-Studio/Forms/Editor/AudioEditor.cs +++ b/PCK-Studio/Forms/Editor/AudioEditor.cs @@ -16,10 +16,8 @@ using PckStudio.Classes.IO.PCK; using OMI.Formats.Languages; using OMI.Formats.Pck; using PckStudio.Forms.Additional_Popups; -using PckStudio.Forms.Additional_Popups.Audio; -// Audio Editor by MattNL -// additional work and optimization by Miku-666 +// Audio Editor by MattNL and Miku-666 namespace PckStudio.Forms.Editor { @@ -28,7 +26,6 @@ namespace PckStudio.Forms.Editor public string defaultType = "yes"; PckAudioFile audioFile = null; PckFile.FileData audioPCK; - LOCFile loc; bool _isLittleEndian = false; MainForm parent = null; @@ -56,10 +53,9 @@ namespace PckStudio.Forms.Editor return (PckAudioFile.AudioCategory.EAudioType)Categories.IndexOf(category); } - public AudioEditor(PckFile.FileData file, LOCFile locFile, bool isLittleEndian) + public AudioEditor(PckFile.FileData file, bool isLittleEndian) { InitializeComponent(); - loc = locFile; _isLittleEndian = isLittleEndian; audioPCK = file; @@ -76,9 +72,15 @@ namespace PckStudio.Forms.Editor { treeView1.BeginUpdate(); treeView1.Nodes.Clear(); + foreach (var category in audioFile.Categories) { - if(category.audioType == PckAudioFile.AudioCategory.EAudioType.Creative) + // fix songs with directories using backslash instead of forward slash + // Songs with a backslash instead of a forward slash would not play in RPCS3 + foreach (string songname in category.SongNames.FindAll(s => s.Contains('\\'))) + category.SongNames[category.SongNames.IndexOf(songname)] = songname.Replace('\\', '/'); + + if (category.audioType == PckAudioFile.AudioCategory.EAudioType.Creative) { if (category.Name == "include_overworld" && audioFile.TryGetCategory(PckAudioFile.AudioCategory.EAudioType.Overworld, out PckAudioFile.AudioCategory overworldCategory)) @@ -419,14 +421,6 @@ namespace PckStudio.Forms.Editor "You can edit the credits for the PCK in the Credits editor! No more managing credit IDs!\n\n", "Help"); } - private void creditsEditorToolStripMenuItem_Click(object sender, EventArgs e) - { - var credits = audioFile.GetCreditsString(); - using (CreditsEditor prompt = new CreditsEditor(credits)) - if (prompt.ShowDialog() == DialogResult.OK) - audioFile.SetCredits(prompt.Credits.Split('\n')); - } - private void deleteUnusedBINKAsToolStripMenuItem_Click(object sender, EventArgs e) { DialogResult dr = MessageBox.Show("This will delete all unused BINKA songs in the Data directory. This cannot be undone. Are you sure you want to continue?", "Warning", MessageBoxButtons.YesNo); @@ -610,12 +604,14 @@ namespace PckStudio.Forms.Editor { string song = category.SongNames[i]; string songpath = Path.Combine(parent.GetDataPath(), song + ".binka"); - if (File.Exists(songpath)) + string new_path = Path.Combine(musicdir, Path.GetFileName(song) + ".binka"); + if (File.Exists(songpath) && !File.Exists(new_path)) { - File.Move(songpath, Path.Combine(musicdir, song + ".binka")); - } + File.Move(songpath, new_path); - category.SongNames[i] = Path.Combine("Music", song.Replace(song, Path.GetFileNameWithoutExtension(songpath))); + // Songs with a backslash instead of a forward slash were not playing in RPCS3 + category.SongNames[i] = "Music/" + song.Replace(song, Path.GetFileNameWithoutExtension(songpath)); + } } } treeView2.Nodes.Clear(); diff --git a/PCK-Studio/Forms/Editor/AudioEditor.resx b/PCK-Studio/Forms/Editor/AudioEditor.resx index 9e5ea696..d86c2d07 100644 --- a/PCK-Studio/Forms/Editor/AudioEditor.resx +++ b/PCK-Studio/Forms/Editor/AudioEditor.resx @@ -145,6 +145,12 @@ Remove Category + + 168, 22 + + + Set Category + 169, 48 @@ -166,7 +172,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADk - MAAAAk1TRnQBSQFMAgEBCQEAAZgBAAGYAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + MAAAAk1TRnQBSQFMAgEBCQEAAbABAAGwAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA AwABMAMAAQEBAAEgBgABMBIAAzgB/wM1Af8DNQH/AzMB/wMwAf8DLwH/Ay0B/wMtAf8DJAH/AzsB/wM4 Af8DNQH/Ay0B/wMnAf8DNgH/AzIB/8AAAzgB/wN/Af8DeQH/A3kB/wN5Af8DcQH/A3EB/wN5Af8DeQH/ A3EB/wNxAf8DcQH/A3kB/wN5Af8DfwH/AzIB/8AAAzIB/wN2Af8DsAH/A7AB/wOvAf8DrwH/A68B/wOo @@ -404,68 +410,12 @@ 5 - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x - DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5 - jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC - - - - 168, 22 - - - Add Category - - - 168, 22 - - - Remove Category - - - 168, 22 - - - Set Category - 19, 8 False - - 20, 60 - - - 410, 24 - - - 11 - - - menuStrip1 - - - menuStrip - - - System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 7 - - - 37, 20 - - - File - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -482,17 +432,11 @@ Save - - 46, 20 + + 37, 20 - - Tools - - - 220, 22 - - - Credits Editor + + File 220, 22 @@ -515,8 +459,14 @@ 46, 20 - - Help + + Organize Tracks + + + 46, 20 + + + Tools 243, 22 @@ -552,10 +502,10 @@ Help - 0, 0 + 20, 60 - 450, 24 + 410, 24 11 @@ -590,31 +540,31 @@ - 180, 22 + 173, 22 Add Entry - 180, 22 + 173, 22 Remove Entry - 180, 22 + 173, 22 Verify File Location - 180, 22 + 173, 22 Convert To WAV - 181, 114 + 174, 92 contextMenuStrip2 @@ -3293,12 +3243,6 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - creditsEditorToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - deleteUnusedBINKAsToolStripMenuItem diff --git a/PCK-Studio/Forms/Editor/BehaviourEditor.Designer.cs b/PCK-Studio/Forms/Editor/BehaviourEditor.Designer.cs index 887f148a..074f2974 100644 --- a/PCK-Studio/Forms/Editor/BehaviourEditor.Designer.cs +++ b/PCK-Studio/Forms/Editor/BehaviourEditor.Designer.cs @@ -28,269 +28,284 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BehaviourEditor)); - this.treeView1 = new System.Windows.Forms.TreeView(); - this.metroContextMenu1 = new MetroFramework.Controls.MetroContextMenu(this.components); - this.addToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.addNewEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.addNewPositionOverrideToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.renameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuStrip = new System.Windows.Forms.MenuStrip(); - this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.MobIsTamedCheckbox = new MetroFramework.Controls.MetroCheckBox(); - this.MobHasSaddleCheckbox = new MetroFramework.Controls.MetroCheckBox(); - this.zUpDown = new System.Windows.Forms.NumericUpDown(); - this.yUpDown = new System.Windows.Forms.NumericUpDown(); - this.zLabel = new MetroFramework.Controls.MetroLabel(); - this.yLabel = new MetroFramework.Controls.MetroLabel(); - this.xUpDown = new System.Windows.Forms.NumericUpDown(); - this.xLabel = new MetroFramework.Controls.MetroLabel(); - this.metroContextMenu1.SuspendLayout(); - this.menuStrip.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.zUpDown)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.yUpDown)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.xUpDown)).BeginInit(); - this.SuspendLayout(); - // - // treeView1 - // - this.treeView1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BehaviourEditor)); + this.treeView1 = new System.Windows.Forms.TreeView(); + this.metroContextMenu1 = new MetroFramework.Controls.MetroContextMenu(this.components); + this.addToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.addNewEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.addNewPositionOverrideToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.renameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuStrip = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.MobIsTamedCheckbox = new MetroFramework.Controls.MetroCheckBox(); + this.MobHasSaddleCheckbox = new MetroFramework.Controls.MetroCheckBox(); + this.zUpDown = new System.Windows.Forms.NumericUpDown(); + this.yUpDown = new System.Windows.Forms.NumericUpDown(); + this.zLabel = new MetroFramework.Controls.MetroLabel(); + this.yLabel = new MetroFramework.Controls.MetroLabel(); + this.xUpDown = new System.Windows.Forms.NumericUpDown(); + this.xLabel = new MetroFramework.Controls.MetroLabel(); + this.metroContextMenu1.SuspendLayout(); + this.menuStrip.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.zUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.yUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xUpDown)).BeginInit(); + this.SuspendLayout(); + // + // treeView1 + // + this.treeView1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left))); - this.treeView1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.treeView1.ContextMenuStrip = this.metroContextMenu1; - this.treeView1.ForeColor = System.Drawing.Color.White; - this.treeView1.Location = new System.Drawing.Point(20, 84); - this.treeView1.Margin = new System.Windows.Forms.Padding(0); - this.treeView1.Name = "treeView1"; - this.treeView1.Size = new System.Drawing.Size(186, 176); - this.treeView1.TabIndex = 13; - this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect); - this.treeView1.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseClick); - this.treeView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView1_KeyDown); - this.treeView1.MouseHover += new System.EventHandler(this.treeView1_MouseHover); - // - // metroContextMenu1 - // - this.metroContextMenu1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.treeView1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.treeView1.ContextMenuStrip = this.metroContextMenu1; + this.treeView1.ForeColor = System.Drawing.Color.White; + this.treeView1.Location = new System.Drawing.Point(20, 84); + this.treeView1.Margin = new System.Windows.Forms.Padding(0); + this.treeView1.Name = "treeView1"; + this.treeView1.Size = new System.Drawing.Size(186, 176); + this.treeView1.TabIndex = 13; + this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect); + this.treeView1.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseClick); + this.treeView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView1_KeyDown); + this.treeView1.MouseHover += new System.EventHandler(this.treeView1_MouseHover); + // + // metroContextMenu1 + // + this.metroContextMenu1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addToolStripMenuItem, this.renameToolStripMenuItem, this.removeToolStripMenuItem}); - this.metroContextMenu1.Name = "metroContextMenu1"; - this.metroContextMenu1.Size = new System.Drawing.Size(118, 70); - // - // addToolStripMenuItem - // - this.addToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.metroContextMenu1.Name = "metroContextMenu1"; + this.metroContextMenu1.Size = new System.Drawing.Size(118, 70); + // + // addToolStripMenuItem + // + this.addToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addNewEntryToolStripMenuItem, this.addNewPositionOverrideToolStripMenuItem}); - this.addToolStripMenuItem.Name = "addToolStripMenuItem"; - this.addToolStripMenuItem.Size = new System.Drawing.Size(117, 22); - this.addToolStripMenuItem.Text = "Add"; - // - // addNewEntryToolStripMenuItem - // - this.addNewEntryToolStripMenuItem.Name = "addNewEntryToolStripMenuItem"; - this.addNewEntryToolStripMenuItem.Size = new System.Drawing.Size(217, 22); - this.addNewEntryToolStripMenuItem.Text = "Add New Entry"; - this.addNewEntryToolStripMenuItem.Click += new System.EventHandler(this.addNewEntryToolStripMenuItem_Click); - // - // addNewPositionOverrideToolStripMenuItem - // - this.addNewPositionOverrideToolStripMenuItem.Name = "addNewPositionOverrideToolStripMenuItem"; - this.addNewPositionOverrideToolStripMenuItem.Size = new System.Drawing.Size(217, 22); - this.addNewPositionOverrideToolStripMenuItem.Text = "Add New Position Override"; - this.addNewPositionOverrideToolStripMenuItem.Click += new System.EventHandler(this.addNewPositionOverrideToolStripMenuItem_Click); - // - // renameToolStripMenuItem - // - this.renameToolStripMenuItem.Name = "renameToolStripMenuItem"; - this.renameToolStripMenuItem.Size = new System.Drawing.Size(117, 22); - this.renameToolStripMenuItem.Text = "Change"; - this.renameToolStripMenuItem.Click += new System.EventHandler(this.changeToolStripMenuItem_Click); - // - // removeToolStripMenuItem - // - this.removeToolStripMenuItem.Name = "removeToolStripMenuItem"; - this.removeToolStripMenuItem.Size = new System.Drawing.Size(117, 22); - this.removeToolStripMenuItem.Text = "Remove"; - this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click); - // - // menuStrip - // - this.menuStrip.AutoSize = false; - this.menuStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.addToolStripMenuItem.Name = "addToolStripMenuItem"; + this.addToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.addToolStripMenuItem.Text = "Add"; + // + // addNewEntryToolStripMenuItem + // + this.addNewEntryToolStripMenuItem.Name = "addNewEntryToolStripMenuItem"; + this.addNewEntryToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.addNewEntryToolStripMenuItem.Text = "Add New Entry"; + this.addNewEntryToolStripMenuItem.Click += new System.EventHandler(this.addNewEntryToolStripMenuItem_Click); + // + // addNewPositionOverrideToolStripMenuItem + // + this.addNewPositionOverrideToolStripMenuItem.Name = "addNewPositionOverrideToolStripMenuItem"; + this.addNewPositionOverrideToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.addNewPositionOverrideToolStripMenuItem.Text = "Add New Position Override"; + this.addNewPositionOverrideToolStripMenuItem.Click += new System.EventHandler(this.addNewPositionOverrideToolStripMenuItem_Click); + // + // renameToolStripMenuItem + // + this.renameToolStripMenuItem.Name = "renameToolStripMenuItem"; + this.renameToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.renameToolStripMenuItem.Text = "Change"; + this.renameToolStripMenuItem.Click += new System.EventHandler(this.changeToolStripMenuItem_Click); + // + // removeToolStripMenuItem + // + this.removeToolStripMenuItem.Name = "removeToolStripMenuItem"; + this.removeToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.removeToolStripMenuItem.Text = "Remove"; + this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click); + // + // menuStrip + // + this.menuStrip.AutoSize = false; + this.menuStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, this.helpToolStripMenuItem}); - this.menuStrip.Location = new System.Drawing.Point(20, 60); - this.menuStrip.Name = "menuStrip"; - this.menuStrip.Size = new System.Drawing.Size(309, 24); - this.menuStrip.TabIndex = 14; - this.menuStrip.Text = "menuStrip1"; - // - // fileToolStripMenuItem - // - this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuStrip.Location = new System.Drawing.Point(20, 60); + this.menuStrip.Name = "menuStrip"; + this.menuStrip.Size = new System.Drawing.Size(309, 24); + this.menuStrip.TabIndex = 14; + this.menuStrip.Text = "menuStrip1"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.saveToolStripMenuItem1}); - this.fileToolStripMenuItem.ForeColor = System.Drawing.Color.White; - this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; - this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); - this.fileToolStripMenuItem.Text = "File"; - // - // saveToolStripMenuItem1 - // - this.saveToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripMenuItem1.Image"))); - this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1"; - this.saveToolStripMenuItem1.Size = new System.Drawing.Size(98, 22); - this.saveToolStripMenuItem1.Text = "Save"; - this.saveToolStripMenuItem1.Click += new System.EventHandler(this.saveToolStripMenuItem1_Click); - // - // helpToolStripMenuItem - // - this.helpToolStripMenuItem.ForeColor = System.Drawing.Color.White; - this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; - this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); - this.helpToolStripMenuItem.Text = "Help"; - // - // MobIsTamedCheckbox - // - this.MobIsTamedCheckbox.AutoSize = true; - this.MobIsTamedCheckbox.Enabled = false; - this.MobIsTamedCheckbox.Location = new System.Drawing.Point(221, 104); - this.MobIsTamedCheckbox.Name = "MobIsTamedCheckbox"; - this.MobIsTamedCheckbox.Size = new System.Drawing.Size(96, 15); - this.MobIsTamedCheckbox.TabIndex = 22; - this.MobIsTamedCheckbox.Text = "Mob is tamed"; - this.MobIsTamedCheckbox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.MobIsTamedCheckbox.UseSelectable = true; - this.MobIsTamedCheckbox.CheckedChanged += new System.EventHandler(this.MobIsTamedCheckbox_CheckedChanged); - // - // MobHasSaddleCheckbox - // - this.MobHasSaddleCheckbox.AutoSize = true; - this.MobHasSaddleCheckbox.Enabled = false; - this.MobHasSaddleCheckbox.Location = new System.Drawing.Point(221, 136); - this.MobHasSaddleCheckbox.Name = "MobHasSaddleCheckbox"; - this.MobHasSaddleCheckbox.Size = new System.Drawing.Size(106, 15); - this.MobHasSaddleCheckbox.TabIndex = 23; - this.MobHasSaddleCheckbox.Text = "Mob has saddle"; - this.MobHasSaddleCheckbox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.MobHasSaddleCheckbox.UseSelectable = true; - this.MobHasSaddleCheckbox.CheckedChanged += new System.EventHandler(this.MobHasSaddleCheckbox_CheckedChanged); - // - // zUpDown - // - this.zUpDown.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(17)))), ((int)(((byte)(17)))), ((int)(((byte)(17))))); - this.zUpDown.DecimalPlaces = 3; - this.zUpDown.Enabled = false; - this.zUpDown.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204))))); - this.zUpDown.Location = new System.Drawing.Point(254, 220); - this.zUpDown.Maximum = new decimal(new int[] { + this.fileToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); + this.fileToolStripMenuItem.Text = "File"; + // + // saveToolStripMenuItem1 + // + this.saveToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripMenuItem1.Image"))); + this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1"; + this.saveToolStripMenuItem1.Size = new System.Drawing.Size(98, 22); + this.saveToolStripMenuItem1.Text = "Save"; + this.saveToolStripMenuItem1.Click += new System.EventHandler(this.saveToolStripMenuItem1_Click); + // + // helpToolStripMenuItem + // + this.helpToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; + this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); + this.helpToolStripMenuItem.Text = "Help"; + // + // MobIsTamedCheckbox + // + this.MobIsTamedCheckbox.AutoSize = true; + this.MobIsTamedCheckbox.Enabled = false; + this.MobIsTamedCheckbox.Location = new System.Drawing.Point(221, 104); + this.MobIsTamedCheckbox.Name = "MobIsTamedCheckbox"; + this.MobIsTamedCheckbox.Size = new System.Drawing.Size(96, 15); + this.MobIsTamedCheckbox.TabIndex = 22; + this.MobIsTamedCheckbox.Text = "Mob is tamed"; + this.MobIsTamedCheckbox.Theme = MetroFramework.MetroThemeStyle.Dark; + this.MobIsTamedCheckbox.UseSelectable = true; + this.MobIsTamedCheckbox.CheckedChanged += new System.EventHandler(this.MobIsTamedCheckbox_CheckedChanged); + // + // MobHasSaddleCheckbox + // + this.MobHasSaddleCheckbox.AutoSize = true; + this.MobHasSaddleCheckbox.Enabled = false; + this.MobHasSaddleCheckbox.Location = new System.Drawing.Point(221, 136); + this.MobHasSaddleCheckbox.Name = "MobHasSaddleCheckbox"; + this.MobHasSaddleCheckbox.Size = new System.Drawing.Size(106, 15); + this.MobHasSaddleCheckbox.TabIndex = 23; + this.MobHasSaddleCheckbox.Text = "Mob has saddle"; + this.MobHasSaddleCheckbox.Theme = MetroFramework.MetroThemeStyle.Dark; + this.MobHasSaddleCheckbox.UseSelectable = true; + this.MobHasSaddleCheckbox.CheckedChanged += new System.EventHandler(this.MobHasSaddleCheckbox_CheckedChanged); + // + // zUpDown + // + this.zUpDown.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(17)))), ((int)(((byte)(17)))), ((int)(((byte)(17))))); + this.zUpDown.DecimalPlaces = 3; + this.zUpDown.Enabled = false; + this.zUpDown.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204))))); + this.zUpDown.Location = new System.Drawing.Point(254, 220); + this.zUpDown.Maximum = new decimal(new int[] { 255, 0, 0, 0}); - this.zUpDown.Name = "zUpDown"; - this.zUpDown.Size = new System.Drawing.Size(75, 20); - this.zUpDown.TabIndex = 29; - this.zUpDown.ValueChanged += new System.EventHandler(this.zUpDown_ValueChanged); - // - // yUpDown - // - this.yUpDown.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(17)))), ((int)(((byte)(17)))), ((int)(((byte)(17))))); - this.yUpDown.DecimalPlaces = 3; - this.yUpDown.Enabled = false; - this.yUpDown.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204))))); - this.yUpDown.Location = new System.Drawing.Point(254, 194); - this.yUpDown.Maximum = new decimal(new int[] { + this.zUpDown.Minimum = new decimal(new int[] { + 255, + 0, + 0, + -2147483648}); + this.zUpDown.Name = "zUpDown"; + this.zUpDown.Size = new System.Drawing.Size(75, 20); + this.zUpDown.TabIndex = 29; + this.zUpDown.ValueChanged += new System.EventHandler(this.zUpDown_ValueChanged); + // + // yUpDown + // + this.yUpDown.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(17)))), ((int)(((byte)(17)))), ((int)(((byte)(17))))); + this.yUpDown.DecimalPlaces = 3; + this.yUpDown.Enabled = false; + this.yUpDown.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204))))); + this.yUpDown.Location = new System.Drawing.Point(254, 194); + this.yUpDown.Maximum = new decimal(new int[] { 255, 0, 0, 0}); - this.yUpDown.Name = "yUpDown"; - this.yUpDown.Size = new System.Drawing.Size(75, 20); - this.yUpDown.TabIndex = 28; - this.yUpDown.ValueChanged += new System.EventHandler(this.yUpDown_ValueChanged); - // - // zLabel - // - this.zLabel.AutoSize = true; - this.zLabel.Location = new System.Drawing.Point(221, 220); - this.zLabel.Name = "zLabel"; - this.zLabel.Size = new System.Drawing.Size(20, 19); - this.zLabel.TabIndex = 25; - this.zLabel.Text = "Z:"; - this.zLabel.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // yLabel - // - this.yLabel.AutoSize = true; - this.yLabel.Location = new System.Drawing.Point(222, 194); - this.yLabel.Name = "yLabel"; - this.yLabel.Size = new System.Drawing.Size(20, 19); - this.yLabel.TabIndex = 24; - this.yLabel.Text = "Y:"; - this.yLabel.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // xUpDown - // - this.xUpDown.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(17)))), ((int)(((byte)(17)))), ((int)(((byte)(17))))); - this.xUpDown.DecimalPlaces = 3; - this.xUpDown.Enabled = false; - this.xUpDown.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204))))); - this.xUpDown.Location = new System.Drawing.Point(254, 168); - this.xUpDown.Maximum = new decimal(new int[] { + this.yUpDown.Minimum = new decimal(new int[] { + 255, + 0, + 0, + -2147483648}); + this.yUpDown.Name = "yUpDown"; + this.yUpDown.Size = new System.Drawing.Size(75, 20); + this.yUpDown.TabIndex = 28; + this.yUpDown.ValueChanged += new System.EventHandler(this.yUpDown_ValueChanged); + // + // zLabel + // + this.zLabel.AutoSize = true; + this.zLabel.Location = new System.Drawing.Point(221, 220); + this.zLabel.Name = "zLabel"; + this.zLabel.Size = new System.Drawing.Size(20, 19); + this.zLabel.TabIndex = 25; + this.zLabel.Text = "Z:"; + this.zLabel.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // yLabel + // + this.yLabel.AutoSize = true; + this.yLabel.Location = new System.Drawing.Point(222, 194); + this.yLabel.Name = "yLabel"; + this.yLabel.Size = new System.Drawing.Size(20, 19); + this.yLabel.TabIndex = 24; + this.yLabel.Text = "Y:"; + this.yLabel.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // xUpDown + // + this.xUpDown.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(17)))), ((int)(((byte)(17)))), ((int)(((byte)(17))))); + this.xUpDown.DecimalPlaces = 3; + this.xUpDown.Enabled = false; + this.xUpDown.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204))))); + this.xUpDown.Location = new System.Drawing.Point(254, 168); + this.xUpDown.Maximum = new decimal(new int[] { 255, 0, 0, 0}); - this.xUpDown.Name = "xUpDown"; - this.xUpDown.Size = new System.Drawing.Size(75, 20); - this.xUpDown.TabIndex = 31; - this.xUpDown.ValueChanged += new System.EventHandler(this.xUpDown_ValueChanged); - // - // xLabel - // - this.xLabel.AutoSize = true; - this.xLabel.Location = new System.Drawing.Point(222, 168); - this.xLabel.Name = "xLabel"; - this.xLabel.Size = new System.Drawing.Size(20, 19); - this.xLabel.TabIndex = 30; - this.xLabel.Text = "X:"; - this.xLabel.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // BehaviourEditor - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(349, 280); - this.Controls.Add(this.xUpDown); - this.Controls.Add(this.xLabel); - this.Controls.Add(this.zUpDown); - this.Controls.Add(this.yUpDown); - this.Controls.Add(this.zLabel); - this.Controls.Add(this.yLabel); - this.Controls.Add(this.MobHasSaddleCheckbox); - this.Controls.Add(this.MobIsTamedCheckbox); - this.Controls.Add(this.menuStrip); - this.Controls.Add(this.treeView1); - this.Name = "BehaviourEditor"; - this.Resizable = false; - this.Style = MetroFramework.MetroColorStyle.Silver; - this.Text = "Behaviour Editor"; - this.Theme = MetroFramework.MetroThemeStyle.Dark; - this.metroContextMenu1.ResumeLayout(false); - this.menuStrip.ResumeLayout(false); - this.menuStrip.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.zUpDown)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.yUpDown)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.xUpDown)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); + this.xUpDown.Minimum = new decimal(new int[] { + 255, + 0, + 0, + -2147483648}); + this.xUpDown.Name = "xUpDown"; + this.xUpDown.Size = new System.Drawing.Size(75, 20); + this.xUpDown.TabIndex = 31; + this.xUpDown.ValueChanged += new System.EventHandler(this.xUpDown_ValueChanged); + // + // xLabel + // + this.xLabel.AutoSize = true; + this.xLabel.Location = new System.Drawing.Point(222, 168); + this.xLabel.Name = "xLabel"; + this.xLabel.Size = new System.Drawing.Size(20, 19); + this.xLabel.TabIndex = 30; + this.xLabel.Text = "X:"; + this.xLabel.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // BehaviourEditor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(349, 280); + this.Controls.Add(this.xUpDown); + this.Controls.Add(this.xLabel); + this.Controls.Add(this.zUpDown); + this.Controls.Add(this.yUpDown); + this.Controls.Add(this.zLabel); + this.Controls.Add(this.yLabel); + this.Controls.Add(this.MobHasSaddleCheckbox); + this.Controls.Add(this.MobIsTamedCheckbox); + this.Controls.Add(this.menuStrip); + this.Controls.Add(this.treeView1); + this.Name = "BehaviourEditor"; + this.Resizable = false; + this.Style = MetroFramework.MetroColorStyle.Silver; + this.Text = "Behaviour Editor"; + this.Theme = MetroFramework.MetroThemeStyle.Dark; + this.metroContextMenu1.ResumeLayout(false); + this.menuStrip.ResumeLayout(false); + this.menuStrip.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.zUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.yUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xUpDown)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); } diff --git a/PCK-Studio/Forms/Editor/BehaviourEditor.cs b/PCK-Studio/Forms/Editor/BehaviourEditor.cs index 214151fc..8726bf9c 100644 --- a/PCK-Studio/Forms/Editor/BehaviourEditor.cs +++ b/PCK-Studio/Forms/Editor/BehaviourEditor.cs @@ -20,6 +20,8 @@ namespace PckStudio.Forms.Editor private readonly PckFile.FileData _file; BehaviourFile behaviourFile; + private readonly JObject EntityJSONData = JObject.Parse(Properties.Resources.entityData); + void SetUpTree() { treeView1.BeginUpdate(); @@ -28,13 +30,13 @@ namespace PckStudio.Forms.Editor { TreeNode EntryNode = new TreeNode(entry.name); - foreach (JObject content in Utilities.BehaviourResources.entityData["behaviours"].Children()) + foreach (JObject content in EntityJSONData["behaviours"].Children()) { var prop = content.Properties().FirstOrDefault(prop => prop.Name == entry.name); if (prop is JProperty) { EntryNode.Text = (string)prop.Value; - EntryNode.ImageIndex = Utilities.BehaviourResources.entityData["behaviours"].Children().ToList().IndexOf(content); + EntryNode.ImageIndex = EntityJSONData["behaviours"].Children().ToList().IndexOf(content); EntryNode.SelectedImageIndex = EntryNode.ImageIndex; break; } @@ -149,7 +151,7 @@ namespace PckStudio.Forms.Editor if (treeView1.SelectedNode == null) return; if (!(treeView1.SelectedNode.Tag is BehaviourFile.RiderPositionOverride entry)) return; - var diag = new Additional_Popups.EntityForms.AddEntry(Utilities.BehaviourResources.entityData, Utilities.BehaviourResources.entityImages); + var diag = new AddEntry("behaviours", Utilities.BehaviourResources.entityImages); diag.acceptBtn.Text = "Save"; if (diag.ShowDialog() == DialogResult.OK) @@ -164,13 +166,13 @@ namespace PckStudio.Forms.Editor entry.name = diag.SelectedEntity; treeView1.SelectedNode.Tag = entry; - foreach (JObject content in Utilities.BehaviourResources.entityData["behaviours"].Children()) + foreach (JObject content in EntityJSONData["behaviours"].Children()) { var prop = content.Properties().FirstOrDefault(prop => prop.Name == entry.name); if (prop is JProperty) { treeView1.SelectedNode.Text = (string)prop.Value; - treeView1.SelectedNode.ImageIndex = Utilities.BehaviourResources.entityData["behaviours"].Children().ToList().IndexOf(content); + treeView1.SelectedNode.ImageIndex = EntityJSONData["behaviours"].Children().ToList().IndexOf(content); treeView1.SelectedNode.SelectedImageIndex = treeView1.SelectedNode.ImageIndex; break; } @@ -203,7 +205,7 @@ namespace PckStudio.Forms.Editor private void addNewEntryToolStripMenuItem_Click(object sender, EventArgs e) { - var diag = new AddEntry(Utilities.BehaviourResources.entityData, Utilities.BehaviourResources.entityImages); + var diag = new AddEntry("behaviours", Utilities.BehaviourResources.entityImages); if(diag.ShowDialog() == DialogResult.OK) { @@ -217,13 +219,13 @@ namespace PckStudio.Forms.Editor TreeNode NewOverrideNode = new TreeNode(NewOverride.name); NewOverrideNode.Tag = NewOverride; - foreach (JObject content in Utilities.BehaviourResources.entityData["behaviours"].Children()) + foreach (JObject content in EntityJSONData["behaviours"].Children()) { var prop = content.Properties().FirstOrDefault(prop => prop.Name == NewOverride.name); if (prop is JProperty) { NewOverrideNode.Text = (string)prop.Value; - NewOverrideNode.ImageIndex = Utilities.BehaviourResources.entityData["behaviours"].Children().ToList().IndexOf(content); + NewOverrideNode.ImageIndex = EntityJSONData["behaviours"].Children().ToList().IndexOf(content); NewOverrideNode.SelectedImageIndex = NewOverrideNode.ImageIndex; break; } diff --git a/PCK-Studio/Forms/Editor/MaterialsEditor.cs b/PCK-Studio/Forms/Editor/MaterialsEditor.cs index 33f421d5..f8345162 100644 --- a/PCK-Studio/Forms/Editor/MaterialsEditor.cs +++ b/PCK-Studio/Forms/Editor/MaterialsEditor.cs @@ -19,6 +19,8 @@ namespace PckStudio.Forms.Editor private readonly PckFile.FileData _file; MaterialContainer materialFile; + private readonly JObject EntityJSONData = JObject.Parse(Properties.Resources.entityData); + void SetUpTree() { treeView1.BeginUpdate(); @@ -27,13 +29,13 @@ namespace PckStudio.Forms.Editor { TreeNode EntryNode = new TreeNode(entry.Name); - foreach (JObject content in Utilities.MaterialResources.entityData["materials"].Children()) + foreach (JObject content in EntityJSONData["materials"].Children()) { var prop = content.Properties().FirstOrDefault(prop => prop.Name == entry.Name); if (prop is JProperty) { EntryNode.Text = (string)prop.Value; - EntryNode.ImageIndex = Utilities.MaterialResources.entityData["materials"].Children().ToList().IndexOf(content); + EntryNode.ImageIndex = EntityJSONData["materials"].Children().ToList().IndexOf(content); EntryNode.SelectedImageIndex = EntryNode.ImageIndex; break; } @@ -132,7 +134,7 @@ namespace PckStudio.Forms.Editor private void addToolStripMenuItem_Click(object sender, EventArgs e) { - var diag = new Additional_Popups.EntityForms.AddEntry(Utilities.MaterialResources.entityData, Utilities.MaterialResources.entityImages); + var diag = new Additional_Popups.EntityForms.AddEntry("materials", Utilities.MaterialResources.entityImages); if (diag.ShowDialog() == DialogResult.OK) { @@ -146,13 +148,13 @@ namespace PckStudio.Forms.Editor TreeNode NewEntryNode = new TreeNode(NewEntry.Name); NewEntryNode.Tag = NewEntry; - foreach (JObject content in Utilities.MaterialResources.entityData["materials"].Children()) + foreach (JObject content in EntityJSONData["materials"].Children()) { var prop = content.Properties().FirstOrDefault(prop => prop.Name == NewEntry.Name); if (prop is JProperty) { NewEntryNode.Text = (string)prop.Value; - NewEntryNode.ImageIndex = Utilities.MaterialResources.entityData["materials"].Children().ToList().IndexOf(content); + NewEntryNode.ImageIndex = EntityJSONData["materials"].Children().ToList().IndexOf(content); NewEntryNode.SelectedImageIndex = NewEntryNode.ImageIndex; break; } diff --git a/PCK-Studio/Forms/Skins-And-Textures/generateModel.cs b/PCK-Studio/Forms/Skins-And-Textures/generateModel.cs index 3e65ab99..e46ade39 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/generateModel.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/generateModel.cs @@ -54,19 +54,18 @@ namespace PckStudio "WAIST", "PANTS0", "PANTS1", - "SOCK0", - "SOCK1", // Armor Parts - "HELMET", - "CHEST", "BODYARMOR", - "SHOULDER0", "ARMARMOR0", - "SHOULDER1", "ARMARMOR0", + "BODYARMOR", + "ARMARMOR0", + "ARMARMOR1", "BELT", "LEGGING0", "LEGGING1", + "SOCK0", + "SOCK1", "BOOT0", - "BOOT1", + "BOOT1" }; private static readonly string[] ValidModelOffsetTypes = new string[] @@ -87,8 +86,8 @@ namespace PckStudio "BELT", "LEGGING0", "LEGGING1", - "BOOT0", - "BOOT1", + "SOCK0", "BOOT0", + "SOCK1", "BOOT1", "TOOL0", "TOOL1", @@ -117,6 +116,7 @@ namespace PckStudio public GenerateModel(PckFile.PCKProperties skinProperties, Image texture) { + MessageBox.Show(this, "This feature is now considered obsolete and will no longer recieve updates. A better alternative is currently under development. Use at your own risk.", "Obsolete Feature", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); InitializeComponent(); boxes = skinProperties; texturePreview.Image = texture; diff --git a/PCK-Studio/Forms/Utilities/BehaviourResources.cs b/PCK-Studio/Forms/Utilities/BehaviourResources.cs index 36d295b8..dcaf4431 100644 --- a/PCK-Studio/Forms/Utilities/BehaviourResources.cs +++ b/PCK-Studio/Forms/Utilities/BehaviourResources.cs @@ -12,7 +12,6 @@ namespace PckStudio.Forms.Utilities { public static class BehaviourResources { - public static readonly JObject entityData = JObject.Parse(Resources.entityData); private static Image[] _entityImages; public static Image[] entityImages => _entityImages ??= Resources.entities_sheet.CreateImageList(32).ToArray(); diff --git a/PCK-Studio/Forms/Utilities/ConsoleInstaller.Designer.cs b/PCK-Studio/Forms/Utilities/ConsoleInstaller.Designer.cs deleted file mode 100644 index d6a260c6..00000000 --- a/PCK-Studio/Forms/Utilities/ConsoleInstaller.Designer.cs +++ /dev/null @@ -1,320 +0,0 @@ -namespace PckStudio.Forms.Utilities -{ - partial class ConsoleInstaller - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - MetroFramework.Controls.MetroLabel metroLabel1; - MetroFramework.Controls.MetroLabel metroLabel2; - this.selectedConsoleComboBox = new MetroFramework.Controls.MetroComboBox(); - this.myTablePanel1 = new System.Windows.Forms.TableLayoutPanel(); - this.EurDig = new System.Windows.Forms.RadioButton(); - this.USDig = new System.Windows.Forms.RadioButton(); - this.textBoxHost = new MetroFramework.Controls.MetroTextBox(); - this.EurDisc = new System.Windows.Forms.RadioButton(); - this.USDisc = new System.Windows.Forms.RadioButton(); - this.listViewPCKS = new System.Windows.Forms.ListView(); - this.JPDig = new System.Windows.Forms.RadioButton(); - this.buttonServerToggle = new System.Windows.Forms.Button(); - metroLabel1 = new MetroFramework.Controls.MetroLabel(); - metroLabel2 = new MetroFramework.Controls.MetroLabel(); - this.myTablePanel1.SuspendLayout(); - this.SuspendLayout(); - // - // metroLabel1 - // - metroLabel1.AutoSize = true; - metroLabel1.Location = new System.Drawing.Point(264, 73); - metroLabel1.Name = "metroLabel1"; - metroLabel1.Size = new System.Drawing.Size(90, 19); - metroLabel1.Style = MetroFramework.MetroColorStyle.Black; - metroLabel1.TabIndex = 1; - metroLabel1.Text = "Console Type:"; - metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // metroLabel2 - // - metroLabel2.AutoSize = true; - metroLabel2.Dock = System.Windows.Forms.DockStyle.Fill; - metroLabel2.Location = new System.Drawing.Point(129, 0); - metroLabel2.Name = "metroLabel2"; - metroLabel2.Size = new System.Drawing.Size(120, 35); - metroLabel2.Style = MetroFramework.MetroColorStyle.Black; - metroLabel2.TabIndex = 13; - metroLabel2.Text = "Console Type:"; - metroLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // selectedConsoleComboBox - // - this.selectedConsoleComboBox.BackColor = System.Drawing.SystemColors.Window; - this.selectedConsoleComboBox.FormattingEnabled = true; - this.selectedConsoleComboBox.ItemHeight = 23; - this.selectedConsoleComboBox.Items.AddRange(new object[] { - "Wii U", - "Play Station 3", - "PS Vita"}); - this.selectedConsoleComboBox.Location = new System.Drawing.Point(255, 3); - this.selectedConsoleComboBox.Name = "selectedConsoleComboBox"; - this.selectedConsoleComboBox.PromptText = "Select console"; - this.selectedConsoleComboBox.Size = new System.Drawing.Size(121, 29); - this.selectedConsoleComboBox.Style = MetroFramework.MetroColorStyle.Black; - this.selectedConsoleComboBox.TabIndex = 0; - this.selectedConsoleComboBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.selectedConsoleComboBox.UseSelectable = true; - // - // myTablePanel1 - // - this.myTablePanel1.BackColor = System.Drawing.Color.Transparent; - this.myTablePanel1.ColumnCount = 3; - this.myTablePanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33332F)); - this.myTablePanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); - this.myTablePanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); - this.myTablePanel1.Controls.Add(this.EurDig, 1, 2); - this.myTablePanel1.Controls.Add(this.USDig, 2, 2); - this.myTablePanel1.Controls.Add(this.textBoxHost, 0, 1); - this.myTablePanel1.Controls.Add(this.EurDisc, 1, 3); - this.myTablePanel1.Controls.Add(this.USDisc, 2, 3); - this.myTablePanel1.Controls.Add(this.listViewPCKS, 0, 4); - this.myTablePanel1.Controls.Add(this.JPDig, 0, 2); - this.myTablePanel1.Controls.Add(this.buttonServerToggle, 2, 1); - this.myTablePanel1.Controls.Add(this.selectedConsoleComboBox, 2, 0); - this.myTablePanel1.Controls.Add(metroLabel2, 1, 0); - this.myTablePanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.myTablePanel1.Location = new System.Drawing.Point(20, 60); - this.myTablePanel1.Margin = new System.Windows.Forms.Padding(0); - this.myTablePanel1.Name = "myTablePanel1"; - this.myTablePanel1.RowCount = 5; - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F)); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 36F)); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 36F)); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.myTablePanel1.Size = new System.Drawing.Size(379, 561); - this.myTablePanel1.TabIndex = 3; - // - // EurDig - // - this.EurDig.Appearance = System.Windows.Forms.Appearance.Button; - this.EurDig.AutoSize = true; - this.EurDig.BackColor = System.Drawing.Color.Transparent; - this.EurDig.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.EurDig.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.EurDig.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.EurDig.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.EurDig.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.EurDig.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.EurDig.ForeColor = System.Drawing.Color.White; - this.EurDig.Location = new System.Drawing.Point(129, 71); - this.EurDig.Name = "EurDig"; - this.EurDig.Size = new System.Drawing.Size(100, 30); - this.EurDig.TabIndex = 11; - this.EurDig.Text = "EUR Digital"; - this.EurDig.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.EurDig.UseVisualStyleBackColor = false; - // - // USDig - // - this.USDig.Appearance = System.Windows.Forms.Appearance.Button; - this.USDig.AutoSize = true; - this.USDig.BackColor = System.Drawing.Color.Transparent; - this.USDig.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.USDig.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.USDig.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.USDig.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.USDig.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.USDig.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.USDig.ForeColor = System.Drawing.Color.White; - this.USDig.Location = new System.Drawing.Point(255, 71); - this.USDig.Name = "USDig"; - this.USDig.Size = new System.Drawing.Size(91, 30); - this.USDig.TabIndex = 12; - this.USDig.Text = "US Digital"; - this.USDig.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.USDig.UseVisualStyleBackColor = false; - // - // textBoxHost - // - this.textBoxHost.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.myTablePanel1.SetColumnSpan(this.textBoxHost, 2); - // - // - // - this.textBoxHost.CustomButton.Image = null; - this.textBoxHost.CustomButton.Location = new System.Drawing.Point(274, 2); - this.textBoxHost.CustomButton.Name = ""; - this.textBoxHost.CustomButton.Size = new System.Drawing.Size(15, 15); - this.textBoxHost.CustomButton.Style = MetroFramework.MetroColorStyle.Blue; - this.textBoxHost.CustomButton.TabIndex = 1; - this.textBoxHost.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light; - this.textBoxHost.CustomButton.UseSelectable = true; - this.textBoxHost.CustomButton.Visible = false; - this.textBoxHost.IconRight = true; - this.textBoxHost.Lines = new string[0]; - this.textBoxHost.Location = new System.Drawing.Point(3, 38); - this.textBoxHost.MaxLength = 32767; - this.textBoxHost.Name = "textBoxHost"; - this.textBoxHost.PasswordChar = '\0'; - this.textBoxHost.PromptText = "IP Address"; - this.textBoxHost.ScrollBars = System.Windows.Forms.ScrollBars.None; - this.textBoxHost.SelectedText = ""; - this.textBoxHost.SelectionLength = 0; - this.textBoxHost.SelectionStart = 0; - this.textBoxHost.ShortcutsEnabled = true; - this.textBoxHost.Size = new System.Drawing.Size(246, 20); - this.textBoxHost.Style = MetroFramework.MetroColorStyle.Blue; - this.textBoxHost.TabIndex = 10; - this.textBoxHost.Theme = MetroFramework.MetroThemeStyle.Dark; - this.textBoxHost.UseSelectable = true; - this.textBoxHost.WaterMark = "IP Address"; - this.textBoxHost.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109))))); - this.textBoxHost.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel); - // - // EurDisc - // - this.EurDisc.Appearance = System.Windows.Forms.Appearance.Button; - this.EurDisc.AutoSize = true; - this.EurDisc.BackColor = System.Drawing.Color.Transparent; - this.EurDisc.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.EurDisc.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.EurDisc.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.EurDisc.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.EurDisc.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.EurDisc.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.EurDisc.ForeColor = System.Drawing.Color.White; - this.EurDisc.Location = new System.Drawing.Point(129, 107); - this.EurDisc.Name = "EurDisc"; - this.EurDisc.Size = new System.Drawing.Size(84, 30); - this.EurDisc.TabIndex = 0; - this.EurDisc.Text = "EUR Disc"; - this.EurDisc.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.EurDisc.UseVisualStyleBackColor = false; - // - // USDisc - // - this.USDisc.Appearance = System.Windows.Forms.Appearance.Button; - this.USDisc.AutoSize = true; - this.USDisc.BackColor = System.Drawing.Color.Transparent; - this.USDisc.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.USDisc.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.USDisc.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.USDisc.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.USDisc.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.USDisc.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.USDisc.ForeColor = System.Drawing.Color.White; - this.USDisc.Location = new System.Drawing.Point(255, 107); - this.USDisc.Name = "USDisc"; - this.USDisc.Size = new System.Drawing.Size(75, 30); - this.USDisc.TabIndex = 2; - this.USDisc.Text = "US Disc"; - this.USDisc.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.USDisc.UseVisualStyleBackColor = false; - // - // listViewPCKS - // - this.listViewPCKS.Activation = System.Windows.Forms.ItemActivation.TwoClick; - this.myTablePanel1.SetColumnSpan(this.listViewPCKS, 3); - this.listViewPCKS.Dock = System.Windows.Forms.DockStyle.Fill; - this.listViewPCKS.Enabled = false; - this.listViewPCKS.HideSelection = false; - this.listViewPCKS.Location = new System.Drawing.Point(3, 143); - this.listViewPCKS.Name = "listViewPCKS"; - this.listViewPCKS.Size = new System.Drawing.Size(373, 415); - this.listViewPCKS.TabIndex = 3; - this.listViewPCKS.UseCompatibleStateImageBehavior = false; - this.listViewPCKS.View = System.Windows.Forms.View.Details; - // - // JPDig - // - this.JPDig.Appearance = System.Windows.Forms.Appearance.Button; - this.JPDig.AutoSize = true; - this.JPDig.BackColor = System.Drawing.Color.Transparent; - this.JPDig.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.JPDig.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.JPDig.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.JPDig.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.JPDig.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.JPDig.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.JPDig.ForeColor = System.Drawing.Color.White; - this.JPDig.Location = new System.Drawing.Point(3, 71); - this.JPDig.Name = "JPDig"; - this.JPDig.Size = new System.Drawing.Size(47, 30); - this.JPDig.TabIndex = 1; - this.JPDig.Text = "JAP"; - this.JPDig.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.JPDig.UseVisualStyleBackColor = false; - // - // buttonServerToggle - // - this.buttonServerToggle.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.buttonServerToggle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(178)))), ((int)(((byte)(13))))); - this.buttonServerToggle.FlatAppearance.BorderSize = 0; - this.buttonServerToggle.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.buttonServerToggle.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.buttonServerToggle.ForeColor = System.Drawing.Color.White; - this.buttonServerToggle.Location = new System.Drawing.Point(255, 38); - this.buttonServerToggle.Name = "buttonServerToggle"; - this.buttonServerToggle.Size = new System.Drawing.Size(121, 27); - this.buttonServerToggle.TabIndex = 9; - this.buttonServerToggle.Text = "Start"; - this.buttonServerToggle.UseVisualStyleBackColor = false; - // - // ConsoleInstaller - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(419, 641); - this.Controls.Add(this.myTablePanel1); - this.Controls.Add(metroLabel1); - this.Name = "ConsoleInstaller"; - this.Style = MetroFramework.MetroColorStyle.Silver; - this.Text = "Console Installer"; - this.Theme = MetroFramework.MetroThemeStyle.Dark; - this.myTablePanel1.ResumeLayout(false); - this.myTablePanel1.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private MetroFramework.Controls.MetroComboBox selectedConsoleComboBox; - private System.Windows.Forms.TableLayoutPanel myTablePanel1; - private System.Windows.Forms.RadioButton EurDig; - private System.Windows.Forms.RadioButton USDig; - private System.Windows.Forms.Button buttonServerToggle; - private MetroFramework.Controls.MetroTextBox textBoxHost; - private System.Windows.Forms.RadioButton EurDisc; - private System.Windows.Forms.RadioButton USDisc; - private System.Windows.Forms.ListView listViewPCKS; - private System.Windows.Forms.RadioButton JPDig; - } -} \ No newline at end of file diff --git a/PCK-Studio/Forms/Utilities/ConsoleInstaller.cs b/PCK-Studio/Forms/Utilities/ConsoleInstaller.cs deleted file mode 100644 index 95f1d3ec..00000000 --- a/PCK-Studio/Forms/Utilities/ConsoleInstaller.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace PckStudio.Forms.Utilities -{ - public partial class ConsoleInstaller : MetroFramework.Forms.MetroForm - { - public ConsoleInstaller() - { - InitializeComponent(); - } - } -} diff --git a/PCK-Studio/Forms/Utilities/MaterialResources.cs b/PCK-Studio/Forms/Utilities/MaterialResources.cs index ccc1493d..861dbe6a 100644 --- a/PCK-Studio/Forms/Utilities/MaterialResources.cs +++ b/PCK-Studio/Forms/Utilities/MaterialResources.cs @@ -14,7 +14,6 @@ namespace PckStudio.Forms.Utilities { public static class MaterialResources { - public static readonly JObject entityData = JObject.Parse(Resources.entityData); private static Image[] _entityImages; public static Image[] entityImages => _entityImages ??= Resources.entities_sheet.CreateImageList(32).ToArray(); diff --git a/PCK-Studio/Forms/Utilities/ModelsResources.cs b/PCK-Studio/Forms/Utilities/ModelsResources.cs deleted file mode 100644 index 47795210..00000000 --- a/PCK-Studio/Forms/Utilities/ModelsResources.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Newtonsoft.Json.Linq; -using System.Drawing; -using System.Linq; -using System.IO; - -using PckStudio.Properties; -using PckStudio.Extensions; -using OMI.Formats.Model; -using OMI.Formats.Pck; -using OMI.Workers.Model; - -namespace PckStudio.Forms.Utilities -{ - public static class ModelsResources - { - public static readonly JObject entityData = JObject.Parse(Resources.entityData); - private static Image[] _entityImages; - - public static Image[] entityImages => _entityImages ??= Resources.entities_sheet.CreateImageList(32).ToArray(); - - public static byte[] ModelsFileInitializer() - { - using var stream = new MemoryStream(); - var writer = new ModelFileWriter(new ModelContainer()); - writer.WriteToStream(stream); - return stream.ToArray(); - } - } -} diff --git a/PCK-Studio/Forms/Utilities/PCK Manager.cs b/PCK-Studio/Forms/Utilities/PCK Manager.cs index ff7296d6..dceeaea2 100644 --- a/PCK-Studio/Forms/Utilities/PCK Manager.cs +++ b/PCK-Studio/Forms/Utilities/PCK Manager.cs @@ -5,6 +5,7 @@ using PckStudio.ToolboxItems; namespace PckStudio.Forms { + [Obsolete("For what is this thing used?")] public partial class PCK_Manager : ThemeForm { public PCK_Manager() diff --git a/PCK-Studio/Forms/Utilities/installPS3.Designer.cs b/PCK-Studio/Forms/Utilities/installPS3.Designer.cs deleted file mode 100644 index a878e7a4..00000000 --- a/PCK-Studio/Forms/Utilities/installPS3.Designer.cs +++ /dev/null @@ -1,356 +0,0 @@ -namespace PckStudio.Forms -{ - partial class InstallPS3 - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.metroTabPageMain = new MetroFramework.Controls.MetroTabPage(); - this.myTablePanel1 = new System.Windows.Forms.TableLayoutPanel(); - this.EurDig = new System.Windows.Forms.RadioButton(); - this.USDig = new System.Windows.Forms.RadioButton(); - this.buttonServerToggle = new System.Windows.Forms.Button(); - this.textBoxHost = new MetroFramework.Controls.MetroTextBox(); - this.EurDisc = new System.Windows.Forms.RadioButton(); - this.USDisc = new System.Windows.Forms.RadioButton(); - this.listViewPCKS = new System.Windows.Forms.ListView(); - this.JPDig = new System.Windows.Forms.RadioButton(); - this.metroTabControlMain = new MetroFramework.Controls.MetroTabControl(); - this.contextMenuStripCaffiine = new System.Windows.Forms.ContextMenuStrip(this.components); - this.replaceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.replacePCKToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.metroTabPageMain.SuspendLayout(); - this.myTablePanel1.SuspendLayout(); - this.metroTabControlMain.SuspendLayout(); - this.contextMenuStripCaffiine.SuspendLayout(); - this.SuspendLayout(); - // - // metroTabPageMain - // - this.metroTabPageMain.Controls.Add(this.myTablePanel1); - this.metroTabPageMain.HorizontalScrollbarBarColor = true; - this.metroTabPageMain.HorizontalScrollbarHighlightOnWheel = false; - this.metroTabPageMain.HorizontalScrollbarSize = 10; - this.metroTabPageMain.Location = new System.Drawing.Point(4, 38); - this.metroTabPageMain.Name = "metroTabPageMain"; - this.metroTabPageMain.Size = new System.Drawing.Size(467, 617); - this.metroTabPageMain.Style = MetroFramework.MetroColorStyle.Blue; - this.metroTabPageMain.TabIndex = 0; - this.metroTabPageMain.Text = "Installer"; - this.metroTabPageMain.Theme = MetroFramework.MetroThemeStyle.Dark; - this.metroTabPageMain.VerticalScrollbarBarColor = true; - this.metroTabPageMain.VerticalScrollbarHighlightOnWheel = false; - this.metroTabPageMain.VerticalScrollbarSize = 10; - // - // myTablePanel1 - // - this.myTablePanel1.BackColor = System.Drawing.Color.Transparent; - this.myTablePanel1.ColumnCount = 3; - this.myTablePanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); - this.myTablePanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); - this.myTablePanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); - this.myTablePanel1.Controls.Add(this.EurDig, 1, 1); - this.myTablePanel1.Controls.Add(this.USDig, 2, 1); - this.myTablePanel1.Controls.Add(this.buttonServerToggle, 2, 0); - this.myTablePanel1.Controls.Add(this.textBoxHost, 0, 0); - this.myTablePanel1.Controls.Add(this.EurDisc, 1, 2); - this.myTablePanel1.Controls.Add(this.USDisc, 2, 2); - this.myTablePanel1.Controls.Add(this.listViewPCKS, 0, 3); - this.myTablePanel1.Controls.Add(this.JPDig, 0, 1); - this.myTablePanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.myTablePanel1.Location = new System.Drawing.Point(0, 0); - this.myTablePanel1.Margin = new System.Windows.Forms.Padding(0); - this.myTablePanel1.Name = "myTablePanel1"; - this.myTablePanel1.RowCount = 7; - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 36F)); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 36F)); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.myTablePanel1.Size = new System.Drawing.Size(467, 617); - this.myTablePanel1.TabIndex = 2; - // - // EurDig - // - this.EurDig.Appearance = System.Windows.Forms.Appearance.Button; - this.EurDig.AutoSize = true; - this.EurDig.BackColor = System.Drawing.Color.Transparent; - this.EurDig.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.EurDig.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.EurDig.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.EurDig.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.EurDig.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.EurDig.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.EurDig.ForeColor = System.Drawing.Color.White; - this.EurDig.Location = new System.Drawing.Point(158, 36); - this.EurDig.Name = "EurDig"; - this.EurDig.Size = new System.Drawing.Size(100, 30); - this.EurDig.TabIndex = 11; - this.EurDig.Text = "EUR Digital"; - this.EurDig.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.EurDig.UseVisualStyleBackColor = false; - this.EurDig.CheckedChanged += new System.EventHandler(this.EurDig_CheckedChanged); - // - // USDig - // - this.USDig.Appearance = System.Windows.Forms.Appearance.Button; - this.USDig.AutoSize = true; - this.USDig.BackColor = System.Drawing.Color.Transparent; - this.USDig.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.USDig.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.USDig.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.USDig.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.USDig.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.USDig.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.USDig.ForeColor = System.Drawing.Color.White; - this.USDig.Location = new System.Drawing.Point(313, 36); - this.USDig.Name = "USDig"; - this.USDig.Size = new System.Drawing.Size(91, 30); - this.USDig.TabIndex = 12; - this.USDig.Text = "US Digital"; - this.USDig.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.USDig.UseVisualStyleBackColor = false; - this.USDig.CheckedChanged += new System.EventHandler(this.USDig_CheckedChanged); - // - // buttonServerToggle - // - this.buttonServerToggle.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.buttonServerToggle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(178)))), ((int)(((byte)(13))))); - this.buttonServerToggle.FlatAppearance.BorderSize = 0; - this.buttonServerToggle.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.buttonServerToggle.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.buttonServerToggle.ForeColor = System.Drawing.Color.White; - this.buttonServerToggle.Location = new System.Drawing.Point(313, 3); - this.buttonServerToggle.Name = "buttonServerToggle"; - this.buttonServerToggle.Size = new System.Drawing.Size(137, 27); - this.buttonServerToggle.TabIndex = 9; - this.buttonServerToggle.Text = "Start"; - this.buttonServerToggle.UseVisualStyleBackColor = false; - this.buttonServerToggle.Click += new System.EventHandler(this.buttonServerToggle_Click); - // - // textBoxHost - // - this.textBoxHost.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.textBoxHost.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.myTablePanel1.SetColumnSpan(this.textBoxHost, 2); - // - // - // - this.textBoxHost.CustomButton.Image = null; - this.textBoxHost.CustomButton.Location = new System.Drawing.Point(260, 2); - this.textBoxHost.CustomButton.Name = ""; - this.textBoxHost.CustomButton.Size = new System.Drawing.Size(15, 15); - this.textBoxHost.CustomButton.Style = MetroFramework.MetroColorStyle.Blue; - this.textBoxHost.CustomButton.TabIndex = 1; - this.textBoxHost.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light; - this.textBoxHost.CustomButton.UseSelectable = true; - this.textBoxHost.CustomButton.Visible = false; - this.textBoxHost.IconRight = true; - this.textBoxHost.Lines = new string[0]; - this.textBoxHost.Location = new System.Drawing.Point(3, 6); - this.textBoxHost.MaxLength = 32767; - this.textBoxHost.Name = "textBoxHost"; - this.textBoxHost.PasswordChar = '\0'; - this.textBoxHost.PromptText = "PS3 IP"; - this.textBoxHost.ScrollBars = System.Windows.Forms.ScrollBars.None; - this.textBoxHost.SelectedText = ""; - this.textBoxHost.SelectionLength = 0; - this.textBoxHost.SelectionStart = 0; - this.textBoxHost.ShortcutsEnabled = true; - this.textBoxHost.Size = new System.Drawing.Size(278, 20); - this.textBoxHost.Style = MetroFramework.MetroColorStyle.Blue; - this.textBoxHost.TabIndex = 10; - this.textBoxHost.Theme = MetroFramework.MetroThemeStyle.Dark; - this.textBoxHost.UseSelectable = true; - this.textBoxHost.WaterMark = "PS3 IP"; - this.textBoxHost.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109))))); - this.textBoxHost.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel); - // - // EurDisc - // - this.EurDisc.Appearance = System.Windows.Forms.Appearance.Button; - this.EurDisc.AutoSize = true; - this.EurDisc.BackColor = System.Drawing.Color.Transparent; - this.EurDisc.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.EurDisc.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.EurDisc.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.EurDisc.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.EurDisc.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.EurDisc.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.EurDisc.ForeColor = System.Drawing.Color.White; - this.EurDisc.Location = new System.Drawing.Point(158, 72); - this.EurDisc.Name = "EurDisc"; - this.EurDisc.Size = new System.Drawing.Size(84, 30); - this.EurDisc.TabIndex = 0; - this.EurDisc.Text = "EUR Disc"; - this.EurDisc.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.EurDisc.UseVisualStyleBackColor = false; - this.EurDisc.CheckedChanged += new System.EventHandler(this.EurDisc_CheckedChanged); - // - // USDisc - // - this.USDisc.Appearance = System.Windows.Forms.Appearance.Button; - this.USDisc.AutoSize = true; - this.USDisc.BackColor = System.Drawing.Color.Transparent; - this.USDisc.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.USDisc.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.USDisc.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.USDisc.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.USDisc.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.USDisc.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.USDisc.ForeColor = System.Drawing.Color.White; - this.USDisc.Location = new System.Drawing.Point(313, 72); - this.USDisc.Name = "USDisc"; - this.USDisc.Size = new System.Drawing.Size(75, 30); - this.USDisc.TabIndex = 2; - this.USDisc.Text = "US Disc"; - this.USDisc.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.USDisc.UseVisualStyleBackColor = false; - this.USDisc.CheckedChanged += new System.EventHandler(this.USDisc_CheckedChanged); - // - // listViewPCKS - // - this.listViewPCKS.Activation = System.Windows.Forms.ItemActivation.TwoClick; - this.myTablePanel1.SetColumnSpan(this.listViewPCKS, 3); - this.listViewPCKS.Dock = System.Windows.Forms.DockStyle.Fill; - this.listViewPCKS.Enabled = false; - this.listViewPCKS.HideSelection = false; - this.listViewPCKS.Location = new System.Drawing.Point(3, 108); - this.listViewPCKS.Name = "listViewPCKS"; - this.listViewPCKS.Size = new System.Drawing.Size(461, 506); - this.listViewPCKS.TabIndex = 3; - this.listViewPCKS.UseCompatibleStateImageBehavior = false; - this.listViewPCKS.View = System.Windows.Forms.View.Details; - this.listViewPCKS.SelectedIndexChanged += new System.EventHandler(this.listViewPCKS_SelectedIndexChanged); - this.listViewPCKS.Click += new System.EventHandler(this.listViewPCKS_Click); - this.listViewPCKS.DoubleClick += new System.EventHandler(this.listViewPCKS_DoubleClick); - this.listViewPCKS.MouseDown += new System.Windows.Forms.MouseEventHandler(this.listViewPCKS_MouseDown); - // - // JPDig - // - this.JPDig.Appearance = System.Windows.Forms.Appearance.Button; - this.JPDig.AutoSize = true; - this.JPDig.BackColor = System.Drawing.Color.Transparent; - this.JPDig.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.JPDig.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.JPDig.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.JPDig.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.JPDig.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.JPDig.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.JPDig.ForeColor = System.Drawing.Color.White; - this.JPDig.Location = new System.Drawing.Point(3, 36); - this.JPDig.Name = "JPDig"; - this.JPDig.Size = new System.Drawing.Size(47, 30); - this.JPDig.TabIndex = 1; - this.JPDig.Text = "JAP"; - this.JPDig.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.JPDig.UseVisualStyleBackColor = false; - this.JPDig.CheckedChanged += new System.EventHandler(this.JPDig_CheckedChanged); - // - // metroTabControlMain - // - this.metroTabControlMain.Controls.Add(this.metroTabPageMain); - this.metroTabControlMain.Dock = System.Windows.Forms.DockStyle.Fill; - this.metroTabControlMain.Location = new System.Drawing.Point(0, 0); - this.metroTabControlMain.Name = "metroTabControlMain"; - this.metroTabControlMain.SelectedIndex = 0; - this.metroTabControlMain.Size = new System.Drawing.Size(475, 659); - this.metroTabControlMain.Style = MetroFramework.MetroColorStyle.White; - this.metroTabControlMain.TabIndex = 0; - this.metroTabControlMain.Theme = MetroFramework.MetroThemeStyle.Dark; - this.metroTabControlMain.UseSelectable = true; - // - // contextMenuStripCaffiine - // - this.contextMenuStripCaffiine.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.replaceToolStripMenuItem, - this.replacePCKToolStripMenuItem}); - this.contextMenuStripCaffiine.Name = "contextMenuStripCaffiine"; - this.contextMenuStripCaffiine.Size = new System.Drawing.Size(212, 48); - this.contextMenuStripCaffiine.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStripCaffiine_Opening); - // - // replaceToolStripMenuItem - // - this.replaceToolStripMenuItem.Image = global::PckStudio.Properties.Resources.Replace; - this.replaceToolStripMenuItem.Name = "replaceToolStripMenuItem"; - this.replaceToolStripMenuItem.Size = new System.Drawing.Size(211, 22); - this.replaceToolStripMenuItem.Text = "Replace"; - this.replaceToolStripMenuItem.TextImageRelation = System.Windows.Forms.TextImageRelation.TextAboveImage; - this.replaceToolStripMenuItem.Click += new System.EventHandler(this.replaceToolStripMenuItem_Click); - // - // replacePCKToolStripMenuItem - // - this.replacePCKToolStripMenuItem.Image = global::PckStudio.Properties.Resources.Replace; - this.replacePCKToolStripMenuItem.Name = "replacePCKToolStripMenuItem"; - this.replacePCKToolStripMenuItem.Size = new System.Drawing.Size(211, 22); - this.replacePCKToolStripMenuItem.Text = "Replace with external PCK"; - this.replacePCKToolStripMenuItem.Click += new System.EventHandler(this.replacePCKToolStripMenuItem_Click); - // - // InstallPS3 - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); - this.ClientSize = new System.Drawing.Size(475, 659); - this.Controls.Add(this.metroTabControlMain); - this.Font = new System.Drawing.Font("Segoe UI", 8.25F); - this.ForeColor = System.Drawing.Color.White; - this.Location = new System.Drawing.Point(0, 0); - this.MaximizeBox = false; - this.Name = "InstallPS3"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Install to Playstation®3"; - this.Load += new System.EventHandler(this.installPS3_Load); - this.metroTabPageMain.ResumeLayout(false); - this.myTablePanel1.ResumeLayout(false); - this.myTablePanel1.PerformLayout(); - this.metroTabControlMain.ResumeLayout(false); - this.contextMenuStripCaffiine.ResumeLayout(false); - this.ResumeLayout(false); - - } - - #endregion - - private MetroFramework.Controls.MetroTabPage metroTabPageMain; - private System.Windows.Forms.TableLayoutPanel myTablePanel1; - private System.Windows.Forms.RadioButton USDisc; - private System.Windows.Forms.RadioButton JPDig; - private System.Windows.Forms.RadioButton EurDisc; - private System.Windows.Forms.ListView listViewPCKS; - private MetroFramework.Controls.MetroTabControl metroTabControlMain; - private System.Windows.Forms.ContextMenuStrip contextMenuStripCaffiine; - private System.Windows.Forms.ToolStripMenuItem replacePCKToolStripMenuItem; - private System.Windows.Forms.Button buttonServerToggle; - private MetroFramework.Controls.MetroTextBox textBoxHost; - private System.Windows.Forms.ToolStripMenuItem replaceToolStripMenuItem; - private System.Windows.Forms.RadioButton USDig; - private System.Windows.Forms.RadioButton EurDig; - } -} \ No newline at end of file diff --git a/PCK-Studio/Forms/Utilities/installPS3.cs b/PCK-Studio/Forms/Utilities/installPS3.cs deleted file mode 100644 index db5409ec..00000000 --- a/PCK-Studio/Forms/Utilities/installPS3.cs +++ /dev/null @@ -1,472 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.IO; -using System.Net; -using System.Windows.Forms; -using PckStudio.Classes.Misc; -using PckStudio.ToolboxItems; - -namespace PckStudio.Forms -{ - public partial class InstallPS3 : ThemeForm - { - string loca = ""; - string dlcPath = ""; - string mod = ""; - bool serverOn = false; - string currentpath = ""; - - public InstallPS3(string mod) - { - InitializeComponent(); - - this.mod = mod; - - if (mod == null) - { - replaceToolStripMenuItem.Visible = false; - } - else - { - replaceToolStripMenuItem.Text = "Replace with " + Path.GetFileName(mod); - } - } - - - - //items class for use in bedrock skin conversion - public class pckDir - { - public string folder { get; set; } - public string file { get; set; } - } - - List pcks = new List(); - - private void updateDatabase() - { - pcks.Clear(); - pcks.Add(new pckDir() { folder = "Battle & Beasts", file = "BattleAndBeasts.pck" }); - pcks.Add(new pckDir() { folder = "Battle & Beasts 2", file = "BattleAndBeasts2.pck" }); - pcks.Add(new pckDir() { folder = "Biome Settlers Pack 1", file = "SkinsBiomeSettlers1.pck" }); - pcks.Add(new pckDir() { folder = "Biome Settlers Pack 2", file = "SkinsBiomeSettlers2.pck" }); - //pcks.Add(new pckDir() { folder = "Campfire Tales Skin Pack", file = "" }); - pcks.Add(new pckDir() { folder = "Doctor Who Skins Volume I", file = "SkinPackDrWho.pck" }); - pcks.Add(new pckDir() { folder = "Doctor Who Skins Volume II", file = "SkinPackDrWho.pck" }); - pcks.Add(new pckDir() { folder = "Festive Skin Pack", file = "SkinsFestive.pck" }); - pcks.Add(new pckDir() { folder = "FINAL FANTASY XV Skin Pack", file = "FinalFantasyXV.pck" }); - pcks.Add(new pckDir() { folder = "Magic The Gathering Skin Pack", file = "magicthegathering.pck" }); - pcks.Add(new pckDir() { folder = "Mini Game Heroes Skin Pack", file = "Minigame2.pck" }); - pcks.Add(new pckDir() { folder = "Mini Game Masters Skin Pack", file = "Minigame.pck" }); - pcks.Add(new pckDir() { folder = "Moana Character Pack", file = "Moana.pck" }); - pcks.Add(new pckDir() { folder = "Power Rangers Skin Pack", file = "PowerRangers.pck" }); - pcks.Add(new pckDir() { folder = "Redstone Specialists Skin Pack", file = "SkinsRedstoneSpecialists.pck" }); - pcks.Add(new pckDir() { folder = "Skin Pack 1", file = "Skins1.pck" }); - pcks.Add(new pckDir() { folder = "Star Wars Classic Skin Pack", file = "StarWarsClassicPack.pck" }); - pcks.Add(new pckDir() { folder = "Star Wars Prequel Skin Pack", file = "StarWarsPrequel.pck" }); - pcks.Add(new pckDir() { folder = "Star Wars Rebels Skin Pack", file = "StarWarsRebelsPack.pck" }); - pcks.Add(new pckDir() { folder = "Star Wars Sequel Skin Pack", file = "StarWarsSequel.pck" }); - pcks.Add(new pckDir() { folder = "Story Mode Skin Pack", file = "PackStoryMode.pck" }); - pcks.Add(new pckDir() { folder = "Stranger Things Skin Pack", file = "StrangerThings.pck" }); - pcks.Add(new pckDir() { folder = "Strangers Biome Settlers 3 Skin Pack", file = "BiomeSettlers3_Strangers.pck" }); - pcks.Add(new pckDir() { folder = "The Incredibles Skin Pack", file = "Incredibles.pck" }); - pcks.Add(new pckDir() { folder = "The Simpsons Skin Pack", file = "SkinPackSimpsons.pck" }); - pcks.Add(new pckDir() { folder = "Villains Skin Pack", file = "Villains.pck" }); - } - - public void buttonMode(string mode) - { - if (mode == "start") - { - buttonServerToggle.BackColor = Color.FromArgb(68, 178, 13); - serverOn = false; - buttonServerToggle.Text = "Start"; - listViewPCKS.Enabled = false; - } - else if (mode == "stop") - { - serverOn = true; - buttonServerToggle.BackColor = Color.Red; - buttonServerToggle.Text = "Stop"; - listViewPCKS.Enabled = true; - } - else if (mode == "loading") - { - buttonServerToggle.BackColor = Color.MediumAquamarine; - buttonServerToggle.Text = "Wait.."; - } - } - - private void loadPcks() - { - - string region = ""; - if (JPDig.Checked) - { - region = "NPJB00549/"; - } - else if (EurDisc.Checked) - { - region = "BLES01976/"; - } - else if (EurDig.Checked) - { - region = "NPEB01899/"; - } - else if (USDisc.Checked) - { - region = "BLUS31426/"; - } - else if (USDig.Checked) - { - region = "NPUB31419/"; - } - - string device = "/dev_hdd0/"; - - if (region != "" && device != "") - { - dlcPath = device + "game/" + region; - buttonServerToggle.Enabled = true; - if (listViewPCKS.Columns.Count == 0) - { - listViewPCKS.Columns.Add(dlcPath, 395); - } - } - } - - private void buttonServerToggle_Click(object sender, EventArgs e) - { - string mode = ""; - if (serverOn == false) - { - //Makes sure user typed in their ip - if (textBoxHost.Text == "") - { - MessageBox.Show("Please enter a valid Playstation®3 IP!"); - return; - } - - //Turns Server On - try - { - buttonMode(mode = "loading"); - - ServicePointManager.Expect100Continue = true; - - //ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(OnValidateCertificate); - FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + textBoxHost.Text + "/" + dlcPath); - currentpath = textBoxHost.Text + "/" + dlcPath; - request.Method = WebRequestMethods.Ftp.ListDirectory; - request.Credentials = new NetworkCredential("", ""); - request.EnableSsl = false; - request.Timeout = 1200000; - - ServicePoint sp = request.ServicePoint; - Console.WriteLine("ServicePoint connections = {0}.", sp.ConnectionLimit); - sp.ConnectionLimit = 1; - - using (var response = (FtpWebResponse)request.GetResponse()) - { - using (var stream = response.GetResponseStream()) - { - using (var reader = new StreamReader(stream, true)) - { - string line = reader.ReadLine(); - while (line != null) - { - listViewPCKS.Items.Add(line); - Console.WriteLine(line); - line = reader.ReadLine(); - } - } - } - } - - foreach (ListViewItem pck in listViewPCKS.Items) - { - int i = 0; - FtpWebRequest request2 = (FtpWebRequest)WebRequest.Create("ftp://" + textBoxHost.Text + "/" + dlcPath + "/"); - request2.Method = WebRequestMethods.Ftp.ListDirectory; - request2.Credentials = new NetworkCredential("", ""); - request2.EnableSsl = false; - request2.Timeout = 1200000; - - ServicePoint sp2 = request2.ServicePoint; - Console.WriteLine("NOBLEDEZ WAS HERE", sp2.ConnectionLimit); - sp2.ConnectionLimit = 1; - - using (var response = (FtpWebResponse)request2.GetResponse()) - { - using (var stream = response.GetResponseStream()) - { - using (var reader = new StreamReader(stream, true)) - { - string line = reader.ReadLine(); - while (line != null) - { - i += 1; - pck.Tag = line; - line = reader.ReadLine(); - } - } - } - } - if (i != 1) - { - pck.Remove(); - } - else - { - } - if(pck.Text != ".") - listViewPCKS.Items.Add(pck); - } - - buttonMode(mode = "stop"); - } - catch (Exception disc) - { - buttonMode(mode = "start"); - MessageBox.Show(disc.ToString()); - } - } - else if (serverOn == true) - { - //Turns Server Off - listViewPCKS.Items.Clear(); - try - { - buttonMode(mode = "start"); - } - catch (Exception disc) - { - MessageBox.Show(disc.ToString()); - } - } - } - - private void radioButtonEur_Click(object sender, EventArgs e) - { - loadPcks(); - } - - private void radioButtonUs_Click(object sender, EventArgs e) - { - loadPcks(); - } - - private void radioButtonJap_Click(object sender, EventArgs e) - { - loadPcks(); - } - - private void listViewPCKS_Click(object sender, EventArgs e) - { - - } - - private void listViewPCKS_MouseDown(object sender, MouseEventArgs e) - { - ListViewHitTestInfo HI = listViewPCKS.HitTest(e.Location); - if (e.Button == MouseButtons.Right) - { - if (HI.Location == ListViewHitTestLocations.None) - { - } - else - { - contextMenuStripCaffiine.Show(Cursor.Position); - } - } - } - - private void replacePCKToolStripMenuItem_Click(object sender, EventArgs e) - { - if (listViewPCKS.SelectedItems.Count != 0) - { - buttonMode("loading"); - OpenFileDialog openPCK = new OpenFileDialog(); - - if (openPCK.ShowDialog() == DialogResult.OK) - { - using (FTPClient client = new FTPClient("ftp://" + textBoxHost.Text, "", "")) - client.UploadFile(openPCK.FileName, dlcPath + "/" + listViewPCKS.SelectedItems[0].Text + "/" + listViewPCKS.SelectedItems[0].Tag.ToString()); - MessageBox.Show("PCK Replaced!"); - } - } - buttonMode("stop"); - loadPcks(); - } - - private void listViewPCKS_SelectedIndexChanged(object sender, EventArgs e) - { - - } - - private void buttonInstall_Click(object sender, EventArgs e) - { - if (MessageBox.Show("Replace with " + Path.GetFileNameWithoutExtension(mod) + "?", "Install Mod", MessageBoxButtons.YesNo) == DialogResult.Yes) - { - if (!Directory.Exists(dlcPath + pcks[listViewPCKS.SelectedItems[0].Index].folder + "/")) - { - Directory.CreateDirectory(dlcPath + pcks[listViewPCKS.SelectedItems[0].Index].folder + "/"); - } - File.Copy(mod, dlcPath + pcks[listViewPCKS.SelectedItems[0].Index].folder + "/" + pcks[listViewPCKS.SelectedItems[0].Index].file); - } - loadPcks(); - } - - private void deletePCKModToolStripMenuItem_Click(object sender, EventArgs e) - { - Directory.Delete(dlcPath + pcks[listViewPCKS.SelectedItems[0].Index].folder + "/", true); - loadPcks(); - } - - private void buttonServerToggle_Clic(object sender, EventArgs e) - { - - } - - private void contextMenuStripCaffiine_Opening(object sender, CancelEventArgs e) - { - - } - - - private void replaceToolStripMenuItem_Click(object sender, EventArgs e) - { - if (listViewPCKS.SelectedItems.Count != 0) - { - buttonMode("loading"); - using (FTPClient client = new FTPClient("ftp://" + textBoxHost.Text, "", "")) - client.UploadFile(mod, dlcPath + "/" + listViewPCKS.SelectedItems[0].Text + "/" + listViewPCKS.SelectedItems[0].Tag.ToString()); - MessageBox.Show("PCK Replaced!"); - } - buttonMode("stop"); - loadPcks(); - } - - private void EurDisc_CheckedChanged(object sender, EventArgs e) - { - loadPcks(); - } - - private void EurDig_CheckedChanged(object sender, EventArgs e) - { - loadPcks(); - } - - private void USDig_CheckedChanged(object sender, EventArgs e) - { - loadPcks(); - } - - private void USDisc_CheckedChanged(object sender, EventArgs e) - { - loadPcks(); - } - - private void JPDig_CheckedChanged(object sender, EventArgs e) - { - loadPcks(); - } - - private void installPS3_Load(object sender, EventArgs e) - { - loadPcks(); - } - - private void listViewPCKS_DoubleClick(object sender, EventArgs e) - { - try - { - string folname = listViewPCKS.SelectedItems[0].Text; - if (folname.Contains(".") && folname != "..") - return; - Console.WriteLine("ftp://" + currentpath + listViewPCKS.SelectedItems[0].Text); - listViewPCKS.Items.Clear(); - FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + currentpath.Replace("//", "/") + folname); - if (folname == "..") - { - string[] tmp = currentpath.Split(new[] { "/" }, StringSplitOptions.None); - Console.WriteLine(tmp[(tmp).Length - 2]); - string foldr = tmp[(tmp).Length - 2]; - request = (FtpWebRequest)WebRequest.Create("ftp://" + currentpath.Replace(foldr, "").Replace("//", "/")); - } - request.Method = WebRequestMethods.Ftp.ListDirectory; - request.Credentials = new NetworkCredential("", ""); - request.EnableSsl = false; - request.Timeout = 1200000; - - currentpath = currentpath + "/" + folname + "/"; - - ServicePoint sp = request.ServicePoint; - Console.WriteLine("ServicePoint connections = {0}.", sp.ConnectionLimit); - sp.ConnectionLimit = 1; - - using (var response = (FtpWebResponse)request.GetResponse()) - { - using (var stream = response.GetResponseStream()) - { - using (var reader = new StreamReader(stream, true)) - { - string line = reader.ReadLine(); - while (line != null) - { - listViewPCKS.Items.Add(line); - Console.WriteLine(line); - line = reader.ReadLine(); - } - } - } - } - - foreach (ListViewItem pck in listViewPCKS.Items) - { - int i = 0; - FtpWebRequest request2 = (FtpWebRequest)WebRequest.Create("ftp://" + currentpath); - request2.Method = WebRequestMethods.Ftp.ListDirectory; - request2.Credentials = new NetworkCredential("", ""); - request2.EnableSsl = false; - request2.Timeout = 1200000; - - ServicePoint sp2 = request2.ServicePoint; - Console.WriteLine("NOBLEDEZ WAS HERE", sp2.ConnectionLimit); - sp2.ConnectionLimit = 1; - - using (var response = (FtpWebResponse)request2.GetResponse()) - { - using (var stream = response.GetResponseStream()) - { - using (var reader = new StreamReader(stream, true)) - { - string line = reader.ReadLine(); - while (line != null) - { - i += 1; - pck.Tag = line; - line = reader.ReadLine(); - } - } - } - } - if (i != 1) - { - pck.Remove(); - } - else - { - } - listViewPCKS.Items.Add(pck); - } - } - catch - { - - } - } - } -} diff --git a/PCK-Studio/Forms/Utilities/installVita.Designer.cs b/PCK-Studio/Forms/Utilities/installVita.Designer.cs deleted file mode 100644 index 440d301e..00000000 --- a/PCK-Studio/Forms/Utilities/installVita.Designer.cs +++ /dev/null @@ -1,358 +0,0 @@ - -namespace PckStudio.Forms -{ - partial class InstallVita - { - - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.metroTabPageMain = new MetroFramework.Controls.MetroTabPage(); - this.myTablePanel1 = new System.Windows.Forms.TableLayoutPanel(); - this.EurDig = new System.Windows.Forms.RadioButton(); - this.USDig = new System.Windows.Forms.RadioButton(); - this.buttonServerToggle = new System.Windows.Forms.Button(); - this.textBoxHost = new MetroFramework.Controls.MetroTextBox(); - this.EurDisc = new System.Windows.Forms.RadioButton(); - this.USDisc = new System.Windows.Forms.RadioButton(); - this.listViewPCKS = new System.Windows.Forms.ListView(); - this.JPDig = new System.Windows.Forms.RadioButton(); - this.metroTabControlMain = new MetroFramework.Controls.MetroTabControl(); - this.contextMenuStripCaffiine = new System.Windows.Forms.ContextMenuStrip(this.components); - this.replaceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.replacePCKToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.metroTabPageMain.SuspendLayout(); - this.myTablePanel1.SuspendLayout(); - this.metroTabControlMain.SuspendLayout(); - this.contextMenuStripCaffiine.SuspendLayout(); - this.SuspendLayout(); - // - // metroTabPageMain - // - this.metroTabPageMain.Controls.Add(this.myTablePanel1); - this.metroTabPageMain.HorizontalScrollbarBarColor = true; - this.metroTabPageMain.HorizontalScrollbarHighlightOnWheel = false; - this.metroTabPageMain.HorizontalScrollbarSize = 10; - this.metroTabPageMain.Location = new System.Drawing.Point(4, 38); - this.metroTabPageMain.Name = "metroTabPageMain"; - this.metroTabPageMain.Size = new System.Drawing.Size(467, 617); - this.metroTabPageMain.Style = MetroFramework.MetroColorStyle.Blue; - this.metroTabPageMain.TabIndex = 0; - this.metroTabPageMain.Text = "Installer"; - this.metroTabPageMain.Theme = MetroFramework.MetroThemeStyle.Dark; - this.metroTabPageMain.VerticalScrollbarBarColor = true; - this.metroTabPageMain.VerticalScrollbarHighlightOnWheel = false; - this.metroTabPageMain.VerticalScrollbarSize = 10; - // - // myTablePanel1 - // - this.myTablePanel1.BackColor = System.Drawing.Color.Transparent; - this.myTablePanel1.ColumnCount = 3; - this.myTablePanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); - this.myTablePanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); - this.myTablePanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); - this.myTablePanel1.Controls.Add(this.EurDig, 1, 1); - this.myTablePanel1.Controls.Add(this.USDig, 2, 1); - this.myTablePanel1.Controls.Add(this.buttonServerToggle, 2, 0); - this.myTablePanel1.Controls.Add(this.textBoxHost, 0, 0); - this.myTablePanel1.Controls.Add(this.EurDisc, 1, 2); - this.myTablePanel1.Controls.Add(this.USDisc, 2, 2); - this.myTablePanel1.Controls.Add(this.listViewPCKS, 0, 3); - this.myTablePanel1.Controls.Add(this.JPDig, 0, 1); - this.myTablePanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.myTablePanel1.Location = new System.Drawing.Point(0, 0); - this.myTablePanel1.Margin = new System.Windows.Forms.Padding(0); - this.myTablePanel1.Name = "myTablePanel1"; - this.myTablePanel1.RowCount = 7; - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 36F)); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 36F)); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.myTablePanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.myTablePanel1.Size = new System.Drawing.Size(467, 617); - this.myTablePanel1.TabIndex = 2; - // - // EurDig - // - this.EurDig.Appearance = System.Windows.Forms.Appearance.Button; - this.EurDig.AutoSize = true; - this.EurDig.BackColor = System.Drawing.Color.Transparent; - this.EurDig.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.EurDig.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.EurDig.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.EurDig.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.EurDig.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.EurDig.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.EurDig.ForeColor = System.Drawing.Color.White; - this.EurDig.Location = new System.Drawing.Point(158, 36); - this.EurDig.Name = "EurDig"; - this.EurDig.Size = new System.Drawing.Size(100, 30); - this.EurDig.TabIndex = 11; - this.EurDig.Text = "EUR Digital"; - this.EurDig.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.EurDig.UseVisualStyleBackColor = false; - this.EurDig.CheckedChanged += new System.EventHandler(this.EurDig_CheckedChanged); - // - // USDig - // - this.USDig.Appearance = System.Windows.Forms.Appearance.Button; - this.USDig.AutoSize = true; - this.USDig.BackColor = System.Drawing.Color.Transparent; - this.USDig.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.USDig.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.USDig.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.USDig.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.USDig.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.USDig.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.USDig.ForeColor = System.Drawing.Color.White; - this.USDig.Location = new System.Drawing.Point(313, 36); - this.USDig.Name = "USDig"; - this.USDig.Size = new System.Drawing.Size(91, 30); - this.USDig.TabIndex = 12; - this.USDig.Text = "US Digital"; - this.USDig.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.USDig.UseVisualStyleBackColor = false; - this.USDig.CheckedChanged += new System.EventHandler(this.USDig_CheckedChanged); - // - // buttonServerToggle - // - this.buttonServerToggle.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.buttonServerToggle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(178)))), ((int)(((byte)(13))))); - this.buttonServerToggle.FlatAppearance.BorderSize = 0; - this.buttonServerToggle.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.buttonServerToggle.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.buttonServerToggle.ForeColor = System.Drawing.Color.White; - this.buttonServerToggle.Location = new System.Drawing.Point(313, 3); - this.buttonServerToggle.Name = "buttonServerToggle"; - this.buttonServerToggle.Size = new System.Drawing.Size(137, 27); - this.buttonServerToggle.TabIndex = 9; - this.buttonServerToggle.Text = "Start"; - this.buttonServerToggle.UseVisualStyleBackColor = false; - this.buttonServerToggle.Click += new System.EventHandler(this.buttonServerToggle_Click); - // - // textBoxHost - // - this.textBoxHost.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.textBoxHost.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.myTablePanel1.SetColumnSpan(this.textBoxHost, 2); - // - // - // - this.textBoxHost.CustomButton.Image = null; - this.textBoxHost.CustomButton.Location = new System.Drawing.Point(260, 2); - this.textBoxHost.CustomButton.Name = ""; - this.textBoxHost.CustomButton.Size = new System.Drawing.Size(15, 15); - this.textBoxHost.CustomButton.Style = MetroFramework.MetroColorStyle.Blue; - this.textBoxHost.CustomButton.TabIndex = 1; - this.textBoxHost.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light; - this.textBoxHost.CustomButton.UseSelectable = true; - this.textBoxHost.CustomButton.Visible = false; - this.textBoxHost.IconRight = true; - this.textBoxHost.Lines = new string[0]; - this.textBoxHost.Location = new System.Drawing.Point(3, 6); - this.textBoxHost.MaxLength = 32767; - this.textBoxHost.Name = "textBoxHost"; - this.textBoxHost.PasswordChar = '\0'; - this.textBoxHost.PromptText = "PS Vita IP"; - this.textBoxHost.ScrollBars = System.Windows.Forms.ScrollBars.None; - this.textBoxHost.SelectedText = ""; - this.textBoxHost.SelectionLength = 0; - this.textBoxHost.SelectionStart = 0; - this.textBoxHost.ShortcutsEnabled = true; - this.textBoxHost.Size = new System.Drawing.Size(278, 20); - this.textBoxHost.Style = MetroFramework.MetroColorStyle.Blue; - this.textBoxHost.TabIndex = 10; - this.textBoxHost.Theme = MetroFramework.MetroThemeStyle.Dark; - this.textBoxHost.UseSelectable = true; - this.textBoxHost.WaterMark = "PS Vita IP"; - this.textBoxHost.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109))))); - this.textBoxHost.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel); - // - // EurDisc - // - this.EurDisc.Appearance = System.Windows.Forms.Appearance.Button; - this.EurDisc.AutoSize = true; - this.EurDisc.BackColor = System.Drawing.Color.Transparent; - this.EurDisc.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.EurDisc.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.EurDisc.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.EurDisc.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.EurDisc.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.EurDisc.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.EurDisc.ForeColor = System.Drawing.Color.White; - this.EurDisc.Location = new System.Drawing.Point(158, 72); - this.EurDisc.Name = "EurDisc"; - this.EurDisc.Size = new System.Drawing.Size(84, 30); - this.EurDisc.TabIndex = 0; - this.EurDisc.Text = "EUR Disc"; - this.EurDisc.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.EurDisc.UseVisualStyleBackColor = false; - this.EurDisc.CheckedChanged += new System.EventHandler(this.EurDisc_CheckedChanged); - // - // USDisc - // - this.USDisc.Appearance = System.Windows.Forms.Appearance.Button; - this.USDisc.AutoSize = true; - this.USDisc.BackColor = System.Drawing.Color.Transparent; - this.USDisc.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.USDisc.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.USDisc.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.USDisc.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.USDisc.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.USDisc.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.USDisc.ForeColor = System.Drawing.Color.White; - this.USDisc.Location = new System.Drawing.Point(313, 72); - this.USDisc.Name = "USDisc"; - this.USDisc.Size = new System.Drawing.Size(75, 30); - this.USDisc.TabIndex = 2; - this.USDisc.Text = "US Disc"; - this.USDisc.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.USDisc.UseVisualStyleBackColor = false; - this.USDisc.CheckedChanged += new System.EventHandler(this.USDisc_CheckedChanged); - // - // listViewPCKS - // - this.listViewPCKS.Activation = System.Windows.Forms.ItemActivation.TwoClick; - this.myTablePanel1.SetColumnSpan(this.listViewPCKS, 3); - this.listViewPCKS.Dock = System.Windows.Forms.DockStyle.Fill; - this.listViewPCKS.Enabled = false; - this.listViewPCKS.HideSelection = false; - this.listViewPCKS.Location = new System.Drawing.Point(3, 108); - this.listViewPCKS.Name = "listViewPCKS"; - this.listViewPCKS.Size = new System.Drawing.Size(461, 506); - this.listViewPCKS.TabIndex = 3; - this.listViewPCKS.UseCompatibleStateImageBehavior = false; - this.listViewPCKS.View = System.Windows.Forms.View.Details; - this.listViewPCKS.SelectedIndexChanged += new System.EventHandler(this.listViewPCKS_SelectedIndexChanged); - this.listViewPCKS.Click += new System.EventHandler(this.listViewPCKS_Click); - this.listViewPCKS.DoubleClick += new System.EventHandler(this.listViewPCKS_DoubleClick); - this.listViewPCKS.MouseDown += new System.Windows.Forms.MouseEventHandler(this.listViewPCKS_MouseDown); - // - // JPDig - // - this.JPDig.Appearance = System.Windows.Forms.Appearance.Button; - this.JPDig.AutoSize = true; - this.JPDig.BackColor = System.Drawing.Color.Transparent; - this.JPDig.CheckAlign = System.Drawing.ContentAlignment.BottomRight; - this.JPDig.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.JPDig.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.JPDig.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.JPDig.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.JPDig.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.JPDig.ForeColor = System.Drawing.Color.White; - this.JPDig.Location = new System.Drawing.Point(3, 36); - this.JPDig.Name = "JPDig"; - this.JPDig.Size = new System.Drawing.Size(47, 30); - this.JPDig.TabIndex = 1; - this.JPDig.Text = "JAP"; - this.JPDig.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.JPDig.UseVisualStyleBackColor = false; - this.JPDig.CheckedChanged += new System.EventHandler(this.JPDig_CheckedChanged); - // - // metroTabControlMain - // - this.metroTabControlMain.Controls.Add(this.metroTabPageMain); - this.metroTabControlMain.Dock = System.Windows.Forms.DockStyle.Fill; - this.metroTabControlMain.Location = new System.Drawing.Point(0, 0); - this.metroTabControlMain.Name = "metroTabControlMain"; - this.metroTabControlMain.SelectedIndex = 0; - this.metroTabControlMain.Size = new System.Drawing.Size(475, 659); - this.metroTabControlMain.Style = MetroFramework.MetroColorStyle.White; - this.metroTabControlMain.TabIndex = 0; - this.metroTabControlMain.Theme = MetroFramework.MetroThemeStyle.Dark; - this.metroTabControlMain.UseSelectable = true; - // - // contextMenuStripCaffiine - // - this.contextMenuStripCaffiine.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.replaceToolStripMenuItem, - this.replacePCKToolStripMenuItem}); - this.contextMenuStripCaffiine.Name = "contextMenuStripCaffiine"; - this.contextMenuStripCaffiine.Size = new System.Drawing.Size(212, 48); - this.contextMenuStripCaffiine.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStripCaffiine_Opening); - // - // replaceToolStripMenuItem - // - this.replaceToolStripMenuItem.Image = global::PckStudio.Properties.Resources.Replace; - this.replaceToolStripMenuItem.Name = "replaceToolStripMenuItem"; - this.replaceToolStripMenuItem.Size = new System.Drawing.Size(211, 22); - this.replaceToolStripMenuItem.Text = "Replace"; - this.replaceToolStripMenuItem.TextImageRelation = System.Windows.Forms.TextImageRelation.TextAboveImage; - this.replaceToolStripMenuItem.Click += new System.EventHandler(this.replaceToolStripMenuItem_Click); - // - // replacePCKToolStripMenuItem - // - this.replacePCKToolStripMenuItem.Image = global::PckStudio.Properties.Resources.Replace; - this.replacePCKToolStripMenuItem.Name = "replacePCKToolStripMenuItem"; - this.replacePCKToolStripMenuItem.Size = new System.Drawing.Size(211, 22); - this.replacePCKToolStripMenuItem.Text = "Replace with external PCK"; - this.replacePCKToolStripMenuItem.Click += new System.EventHandler(this.replacePCKToolStripMenuItem_Click); - // - // InstallVita - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); - this.ClientSize = new System.Drawing.Size(475, 659); - this.Controls.Add(this.metroTabControlMain); - this.Font = new System.Drawing.Font("Segoe UI", 8.25F); - this.ForeColor = System.Drawing.Color.White; - this.Location = new System.Drawing.Point(0, 0); - this.MaximizeBox = false; - this.Name = "InstallVita"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Install to Playstation®Vita"; - this.Load += new System.EventHandler(this.installVita_Load); - this.metroTabPageMain.ResumeLayout(false); - this.myTablePanel1.ResumeLayout(false); - this.myTablePanel1.PerformLayout(); - this.metroTabControlMain.ResumeLayout(false); - this.contextMenuStripCaffiine.ResumeLayout(false); - this.ResumeLayout(false); - - } - - #endregion - - private MetroFramework.Controls.MetroTabPage metroTabPageMain; - private System.Windows.Forms.TableLayoutPanel myTablePanel1; - private System.Windows.Forms.RadioButton USDisc; - private System.Windows.Forms.RadioButton JPDig; - private System.Windows.Forms.RadioButton EurDisc; - private System.Windows.Forms.ListView listViewPCKS; - private MetroFramework.Controls.MetroTabControl metroTabControlMain; - private System.Windows.Forms.ContextMenuStrip contextMenuStripCaffiine; - private System.Windows.Forms.ToolStripMenuItem replacePCKToolStripMenuItem; - private System.Windows.Forms.Button buttonServerToggle; - private MetroFramework.Controls.MetroTextBox textBoxHost; - private System.Windows.Forms.ToolStripMenuItem replaceToolStripMenuItem; - private System.Windows.Forms.RadioButton USDig; - private System.Windows.Forms.RadioButton EurDig; - } -} \ No newline at end of file diff --git a/PCK-Studio/Forms/Utilities/installVita.cs b/PCK-Studio/Forms/Utilities/installVita.cs deleted file mode 100644 index 713115cb..00000000 --- a/PCK-Studio/Forms/Utilities/installVita.cs +++ /dev/null @@ -1,472 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.IO; -using System.Net; -using System.Windows.Forms; -using PckStudio.Classes.Misc; -using PckStudio.ToolboxItems; - -namespace PckStudio.Forms -{ - public partial class InstallVita : ThemeForm - { - public InstallVita(string mod) - { - InitializeComponent(); - - this.mod = mod; - - if (mod == null) - { - replaceToolStripMenuItem.Visible = false; - } - else - { - replaceToolStripMenuItem.Text = "Replace with " + Path.GetFileName(mod); - } - } - - string loca = ""; - string dlcPath = ""; - string mod = ""; - bool serverOn = false; - string currentpath = ""; - - - - - //items class for use in bedrock skin conversion - public class pckDir - { - public string folder { get; set; } - public string file { get; set; } - } - - List pcks = new List(); - - private void updateDatabase() - { - pcks.Clear(); - pcks.Add(new pckDir() { folder = "Battle & Beasts", file = "BattleAndBeasts.pck" }); - pcks.Add(new pckDir() { folder = "Battle & Beasts 2", file = "BattleAndBeasts2.pck" }); - pcks.Add(new pckDir() { folder = "Biome Settlers Pack 1", file = "SkinsBiomeSettlers1.pck" }); - pcks.Add(new pckDir() { folder = "Biome Settlers Pack 2", file = "SkinsBiomeSettlers2.pck" }); - //pcks.Add(new pckDir() { folder = "Campfire Tales Skin Pack", file = "" }); - pcks.Add(new pckDir() { folder = "Doctor Who Skins Volume I", file = "SkinPackDrWho.pck" }); - pcks.Add(new pckDir() { folder = "Doctor Who Skins Volume II", file = "SkinPackDrWho.pck" }); - pcks.Add(new pckDir() { folder = "Festive Skin Pack", file = "SkinsFestive.pck" }); - pcks.Add(new pckDir() { folder = "FINAL FANTASY XV Skin Pack", file = "FinalFantasyXV.pck" }); - pcks.Add(new pckDir() { folder = "Magic The Gathering Skin Pack", file = "magicthegathering.pck" }); - pcks.Add(new pckDir() { folder = "Mini Game Heroes Skin Pack", file = "Minigame2.pck" }); - pcks.Add(new pckDir() { folder = "Mini Game Masters Skin Pack", file = "Minigame.pck" }); - pcks.Add(new pckDir() { folder = "Moana Character Pack", file = "Moana.pck" }); - pcks.Add(new pckDir() { folder = "Power Rangers Skin Pack", file = "PowerRangers.pck" }); - pcks.Add(new pckDir() { folder = "Redstone Specialists Skin Pack", file = "SkinsRedstoneSpecialists.pck" }); - pcks.Add(new pckDir() { folder = "Skin Pack 1", file = "Skins1.pck" }); - pcks.Add(new pckDir() { folder = "Star Wars Classic Skin Pack", file = "StarWarsClassicPack.pck" }); - pcks.Add(new pckDir() { folder = "Star Wars Prequel Skin Pack", file = "StarWarsPrequel.pck" }); - pcks.Add(new pckDir() { folder = "Star Wars Rebels Skin Pack", file = "StarWarsRebelsPack.pck" }); - pcks.Add(new pckDir() { folder = "Star Wars Sequel Skin Pack", file = "StarWarsSequel.pck" }); - pcks.Add(new pckDir() { folder = "Story Mode Skin Pack", file = "PackStoryMode.pck" }); - pcks.Add(new pckDir() { folder = "Stranger Things Skin Pack", file = "StrangerThings.pck" }); - pcks.Add(new pckDir() { folder = "Strangers Biome Settlers 3 Skin Pack", file = "BiomeSettlers3_Strangers.pck" }); - pcks.Add(new pckDir() { folder = "The Incredibles Skin Pack", file = "Incredibles.pck" }); - pcks.Add(new pckDir() { folder = "The Simpsons Skin Pack", file = "SkinPackSimpsons.pck" }); - pcks.Add(new pckDir() { folder = "Villains Skin Pack", file = "Villains.pck" }); - } - - public void buttonMode(string mode) - { - if (mode == "start") - { - buttonServerToggle.BackColor = Color.FromArgb(68, 178, 13); - serverOn = false; - buttonServerToggle.Text = "Start"; - listViewPCKS.Enabled = false; - } - else if (mode == "stop") - { - serverOn = true; - buttonServerToggle.BackColor = Color.Red; - buttonServerToggle.Text = "Stop"; - listViewPCKS.Enabled = true; - } - else if (mode == "loading") - { - buttonServerToggle.BackColor = Color.MediumAquamarine; - buttonServerToggle.Text = "Wait.."; - } - } - - private void loadPcks() - { - - string region = ""; - if (JPDig.Checked) - { - region = "NPJB00549/"; - } - else if (EurDisc.Checked) - { - region = "BLES01976/"; - } - else if (EurDig.Checked) - { - region = "NPEB01899/"; - } - else if (USDisc.Checked) - { - region = "BLUS31426/"; - } - else if (USDig.Checked) - { - region = "NPUB31419/"; - } - - string device = "/dev_hdd0/"; - - if (region != "" && device != "") - { - dlcPath = device + "game/" + region; - buttonServerToggle.Enabled = true; - if (listViewPCKS.Columns.Count == 0) - { - listViewPCKS.Columns.Add(dlcPath, 395); - } - } - } - - private void buttonServerToggle_Click(object sender, EventArgs e) - { - if (serverOn == false) - { - //Makes sure user typed in their ip - if (textBoxHost.Text == "") - { - MessageBox.Show("Please enter a valid Playstation®3 IP!"); - return; - } - - //Turns Server On - try - { - buttonMode("loading"); - - ServicePointManager.Expect100Continue = true; - - //ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(OnValidateCertificate); - FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + textBoxHost.Text + "/" + dlcPath); - currentpath = textBoxHost.Text + "/" + dlcPath; - request.Method = WebRequestMethods.Ftp.ListDirectory; - request.Credentials = new NetworkCredential("", ""); - request.EnableSsl = false; - request.Timeout = 1200000; - - ServicePoint sp = request.ServicePoint; - Console.WriteLine("ServicePoint connections = {0}.", sp.ConnectionLimit); - sp.ConnectionLimit = 1; - - using (var response = (FtpWebResponse)request.GetResponse()) - { - using (var stream = response.GetResponseStream()) - { - using (var reader = new StreamReader(stream, true)) - { - string line = reader.ReadLine(); - while (line != null) - { - listViewPCKS.Items.Add(line); - Console.WriteLine(line); - line = reader.ReadLine(); - } - } - } - } - - foreach (ListViewItem pck in listViewPCKS.Items) - { - int i = 0; - FtpWebRequest request2 = (FtpWebRequest)WebRequest.Create("ftp://" + textBoxHost.Text + "/" + dlcPath + "/"); - request2.Method = WebRequestMethods.Ftp.ListDirectory; - request2.Credentials = new NetworkCredential("", ""); - request2.EnableSsl = false; - request2.Timeout = 1200000; - - ServicePoint sp2 = request2.ServicePoint; - Console.WriteLine("NOBLEDEZ WAS HERE", sp2.ConnectionLimit); - sp2.ConnectionLimit = 1; - - using (var response = (FtpWebResponse)request2.GetResponse()) - { - using (var stream = response.GetResponseStream()) - { - using (var reader = new StreamReader(stream, true)) - { - string line = reader.ReadLine(); - while (line != null) - { - i += 1; - pck.Tag = line; - line = reader.ReadLine(); - } - } - } - } - if (i != 1) - { - pck.Remove(); - } - else - { - } - if (pck.Text != ".") - listViewPCKS.Items.Add(pck); - } - - buttonMode("stop"); - } - catch (Exception disc) - { - buttonMode("start"); - MessageBox.Show(disc.ToString()); - } - } - else if (serverOn == true) - { - //Turns Server Off - listViewPCKS.Items.Clear(); - try - { - buttonMode("start"); - } - catch (Exception disc) - { - MessageBox.Show(disc.ToString()); - } - } - } - - private void radioButtonEur_Click(object sender, EventArgs e) - { - loadPcks(); - } - - private void radioButtonUs_Click(object sender, EventArgs e) - { - loadPcks(); - } - - private void radioButtonJap_Click(object sender, EventArgs e) - { - loadPcks(); - } - - private void listViewPCKS_Click(object sender, EventArgs e) - { - - } - - private void listViewPCKS_MouseDown(object sender, MouseEventArgs e) - { - ListViewHitTestInfo HI = listViewPCKS.HitTest(e.Location); - if (e.Button == MouseButtons.Right) - { - if (HI.Location == ListViewHitTestLocations.None) - { - } - else - { - contextMenuStripCaffiine.Show(Cursor.Position); - } - } - } - - private void replacePCKToolStripMenuItem_Click(object sender, EventArgs e) - { - if (listViewPCKS.SelectedItems.Count != 0) - { - buttonMode("loading"); - OpenFileDialog openPCK = new OpenFileDialog(); - - if (openPCK.ShowDialog() == DialogResult.OK) - { - using (FTPClient client = new FTPClient("ftp://" + textBoxHost.Text, "", "")) - client.UploadFile(openPCK.FileName, dlcPath + "/" + listViewPCKS.SelectedItems[0].Text + "/" + listViewPCKS.SelectedItems[0].Tag.ToString()); - MessageBox.Show("PCK Replaced!"); - } - } - buttonMode("stop"); - loadPcks(); - } - - private void listViewPCKS_SelectedIndexChanged(object sender, EventArgs e) - { - - } - - private void buttonInstall_Click(object sender, EventArgs e) - { - if (MessageBox.Show("Replace with " + Path.GetFileNameWithoutExtension(mod) + "?", "Install Mod", MessageBoxButtons.YesNo) == DialogResult.Yes) - { - if (!Directory.Exists(dlcPath + pcks[listViewPCKS.SelectedItems[0].Index].folder + "/")) - { - Directory.CreateDirectory(dlcPath + pcks[listViewPCKS.SelectedItems[0].Index].folder + "/"); - } - File.Copy(mod, dlcPath + pcks[listViewPCKS.SelectedItems[0].Index].folder + "/" + pcks[listViewPCKS.SelectedItems[0].Index].file); - } - loadPcks(); - } - - private void deletePCKModToolStripMenuItem_Click(object sender, EventArgs e) - { - Directory.Delete(dlcPath + pcks[listViewPCKS.SelectedItems[0].Index].folder + "/", true); - loadPcks(); - } - - private void buttonServerToggle_Clic(object sender, EventArgs e) - { - - } - - private void contextMenuStripCaffiine_Opening(object sender, CancelEventArgs e) - { - - } - - - private void replaceToolStripMenuItem_Click(object sender, EventArgs e) - { - if (listViewPCKS.SelectedItems.Count != 0) - { - buttonMode("loading"); - using (FTPClient client = new FTPClient("ftp://" + textBoxHost.Text, "", "")) - client.UploadFile(mod, dlcPath + "/" + listViewPCKS.SelectedItems[0].Text + "/" + listViewPCKS.SelectedItems[0].Tag.ToString()); - MessageBox.Show("PCK Replaced!"); - } - buttonMode("stop"); - loadPcks(); - } - - private void EurDisc_CheckedChanged(object sender, EventArgs e) - { - loadPcks(); - } - - private void EurDig_CheckedChanged(object sender, EventArgs e) - { - loadPcks(); - } - - private void USDig_CheckedChanged(object sender, EventArgs e) - { - loadPcks(); - } - - private void USDisc_CheckedChanged(object sender, EventArgs e) - { - loadPcks(); - } - - private void JPDig_CheckedChanged(object sender, EventArgs e) - { - loadPcks(); - } - - private void installVita_Load(object sender, EventArgs e) - { - loadPcks(); - } - - private void listViewPCKS_DoubleClick(object sender, EventArgs e) - { - try - { - string folname = listViewPCKS.SelectedItems[0].Text; - if (folname.Contains(".") && folname != "..") - return; - Console.WriteLine("ftp://" + currentpath + listViewPCKS.SelectedItems[0].Text); - listViewPCKS.Items.Clear(); - FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + currentpath.Replace("//", "/") + folname); - if (folname == "..") - { - string[] tmp = currentpath.Split(new[] { "/" }, StringSplitOptions.None); - Console.WriteLine(tmp[(tmp).Length - 2]); - string foldr = tmp[(tmp).Length - 2]; - request = (FtpWebRequest)WebRequest.Create("ftp://" + currentpath.Replace(foldr, "").Replace("//", "/")); - } - request.Method = WebRequestMethods.Ftp.ListDirectory; - request.Credentials = new NetworkCredential("", ""); - request.EnableSsl = false; - request.Timeout = 1200000; - - currentpath = currentpath + "/" + folname + "/"; - - ServicePoint sp = request.ServicePoint; - Console.WriteLine("ServicePoint connections = {0}.", sp.ConnectionLimit); - sp.ConnectionLimit = 1; - - using (var response = (FtpWebResponse)request.GetResponse()) - { - using (var stream = response.GetResponseStream()) - { - using (var reader = new StreamReader(stream, true)) - { - string line = reader.ReadLine(); - while (line != null) - { - listViewPCKS.Items.Add(line); - Console.WriteLine(line); - line = reader.ReadLine(); - } - } - } - } - - foreach (ListViewItem pck in listViewPCKS.Items) - { - int i = 0; - FtpWebRequest request2 = (FtpWebRequest)WebRequest.Create("ftp://" + currentpath); - request2.Method = WebRequestMethods.Ftp.ListDirectory; - request2.Credentials = new NetworkCredential("", ""); - request2.EnableSsl = false; - request2.Timeout = 1200000; - - ServicePoint sp2 = request2.ServicePoint; - Console.WriteLine("NOBLEDEZ WAS HERE", sp2.ConnectionLimit); - sp2.ConnectionLimit = 1; - - using (var response = (FtpWebResponse)request2.GetResponse()) - { - using (var stream = response.GetResponseStream()) - { - using (var reader = new StreamReader(stream, true)) - { - string line = reader.ReadLine(); - while (line != null) - { - i += 1; - pck.Tag = line; - line = reader.ReadLine(); - } - } - } - } - if (i != 1) - { - pck.Remove(); - } - else - { - } - listViewPCKS.Items.Add(pck); - } - } - catch - { - - } - } - } -} diff --git a/PCK-Studio/Forms/Utilities/installVita.resx b/PCK-Studio/Forms/Utilities/installVita.resx deleted file mode 100644 index 8a3a7dc8..00000000 --- a/PCK-Studio/Forms/Utilities/installVita.resx +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 17, 17 - - \ No newline at end of file diff --git a/PCK-Studio/Forms/Utilities/installWiiU.Designer.cs b/PCK-Studio/Forms/Utilities/installWiiU.Designer.cs deleted file mode 100644 index c57f3c9b..00000000 --- a/PCK-Studio/Forms/Utilities/installWiiU.Designer.cs +++ /dev/null @@ -1,348 +0,0 @@ -namespace PckStudio.Forms -{ - partial class InstallWiiU - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(InstallWiiU)); - this.metroTabPageMain = new MetroFramework.Controls.MetroTabPage(); - this.myTablePanel1 = new System.Windows.Forms.TableLayoutPanel(); - this.buttonServerToggle = new System.Windows.Forms.Button(); - this.panel1 = new System.Windows.Forms.Panel(); - this.radioButtonSystem = new System.Windows.Forms.RadioButton(); - this.buttonSelect = new System.Windows.Forms.Button(); - this.radioButtonUSB = new System.Windows.Forms.RadioButton(); - this.textBoxHost = new MetroFramework.Controls.MetroTextBox(); - this.radioButtonEur = new System.Windows.Forms.RadioButton(); - this.radioButtonUs = new System.Windows.Forms.RadioButton(); - this.radioButtonJap = new System.Windows.Forms.RadioButton(); - this.listViewPCKS = new System.Windows.Forms.ListView(); - this.TextBoxPackImage = new MetroFramework.Controls.MetroTextBox(); - this.PackImageSelection = new System.Windows.Forms.Button(); - this.metroTabControlMain = new MetroFramework.Controls.MetroTabControl(); - this.contextMenuStripCaffiine = new System.Windows.Forms.ContextMenuStrip(this.components); - this.replaceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.replacePCKToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.metroTabPageMain.SuspendLayout(); - this.myTablePanel1.SuspendLayout(); - this.panel1.SuspendLayout(); - this.metroTabControlMain.SuspendLayout(); - this.contextMenuStripCaffiine.SuspendLayout(); - this.SuspendLayout(); - // - // metroTabPageMain - // - this.metroTabPageMain.Controls.Add(this.myTablePanel1); - this.metroTabPageMain.HorizontalScrollbarBarColor = true; - this.metroTabPageMain.HorizontalScrollbarHighlightOnWheel = false; - this.metroTabPageMain.HorizontalScrollbarSize = 10; - resources.ApplyResources(this.metroTabPageMain, "metroTabPageMain"); - this.metroTabPageMain.Name = "metroTabPageMain"; - this.metroTabPageMain.Style = MetroFramework.MetroColorStyle.Blue; - this.metroTabPageMain.Theme = MetroFramework.MetroThemeStyle.Dark; - this.metroTabPageMain.VerticalScrollbarBarColor = true; - this.metroTabPageMain.VerticalScrollbarHighlightOnWheel = false; - this.metroTabPageMain.VerticalScrollbarSize = 10; - // - // myTablePanel1 - // - this.myTablePanel1.BackColor = System.Drawing.Color.Transparent; - resources.ApplyResources(this.myTablePanel1, "myTablePanel1"); - this.myTablePanel1.Controls.Add(this.buttonServerToggle, 2, 0); - this.myTablePanel1.Controls.Add(this.panel1, 0, 2); - this.myTablePanel1.Controls.Add(this.textBoxHost, 0, 0); - this.myTablePanel1.Controls.Add(this.radioButtonEur, 0, 3); - this.myTablePanel1.Controls.Add(this.radioButtonUs, 1, 3); - this.myTablePanel1.Controls.Add(this.radioButtonJap, 2, 3); - this.myTablePanel1.Controls.Add(this.listViewPCKS, 0, 4); - this.myTablePanel1.Controls.Add(this.TextBoxPackImage, 0, 1); - this.myTablePanel1.Controls.Add(this.PackImageSelection, 2, 1); - this.myTablePanel1.Name = "myTablePanel1"; - // - // buttonServerToggle - // - resources.ApplyResources(this.buttonServerToggle, "buttonServerToggle"); - this.buttonServerToggle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(178)))), ((int)(((byte)(13))))); - this.buttonServerToggle.FlatAppearance.BorderSize = 0; - this.buttonServerToggle.ForeColor = System.Drawing.Color.White; - this.buttonServerToggle.Name = "buttonServerToggle"; - this.buttonServerToggle.UseVisualStyleBackColor = false; - this.buttonServerToggle.Click += new System.EventHandler(this.buttonServerToggle_Click); - // - // panel1 - // - this.myTablePanel1.SetColumnSpan(this.panel1, 3); - this.panel1.Controls.Add(this.radioButtonSystem); - this.panel1.Controls.Add(this.buttonSelect); - this.panel1.Controls.Add(this.radioButtonUSB); - resources.ApplyResources(this.panel1, "panel1"); - this.panel1.Name = "panel1"; - // - // radioButtonSystem - // - resources.ApplyResources(this.radioButtonSystem, "radioButtonSystem"); - this.radioButtonSystem.BackColor = System.Drawing.Color.Transparent; - this.radioButtonSystem.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.radioButtonSystem.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.radioButtonSystem.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.radioButtonSystem.ForeColor = System.Drawing.Color.White; - this.radioButtonSystem.Name = "radioButtonSystem"; - this.radioButtonSystem.TabStop = true; - this.radioButtonSystem.UseVisualStyleBackColor = false; - this.radioButtonSystem.CheckedChanged += new System.EventHandler(this.radioButtonSystem_CheckedChanged); - // - // buttonSelect - // - this.buttonSelect.BackgroundImage = global::PckStudio.Properties.Resources.sdDownload; - resources.ApplyResources(this.buttonSelect, "buttonSelect"); - this.buttonSelect.ForeColor = System.Drawing.Color.White; - this.buttonSelect.Name = "buttonSelect"; - this.buttonSelect.UseVisualStyleBackColor = true; - this.buttonSelect.Click += new System.EventHandler(this.buttonSelect_Click); - // - // radioButtonUSB - // - resources.ApplyResources(this.radioButtonUSB, "radioButtonUSB"); - this.radioButtonUSB.BackColor = System.Drawing.Color.Transparent; - this.radioButtonUSB.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.radioButtonUSB.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.radioButtonUSB.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.radioButtonUSB.ForeColor = System.Drawing.Color.White; - this.radioButtonUSB.Name = "radioButtonUSB"; - this.radioButtonUSB.TabStop = true; - this.radioButtonUSB.UseVisualStyleBackColor = false; - this.radioButtonUSB.CheckedChanged += new System.EventHandler(this.radioButtonUSB_CheckedChanged); - // - // textBoxHost - // - resources.ApplyResources(this.textBoxHost, "textBoxHost"); - this.textBoxHost.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.myTablePanel1.SetColumnSpan(this.textBoxHost, 2); - // - // - // - this.textBoxHost.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image"))); - this.textBoxHost.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode"))); - this.textBoxHost.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location"))); - this.textBoxHost.CustomButton.Name = ""; - this.textBoxHost.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size"))); - this.textBoxHost.CustomButton.Style = MetroFramework.MetroColorStyle.Blue; - this.textBoxHost.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex"))); - this.textBoxHost.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light; - this.textBoxHost.CustomButton.UseSelectable = true; - this.textBoxHost.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible"))); - this.textBoxHost.IconRight = true; - this.textBoxHost.Lines = new string[0]; - this.textBoxHost.MaxLength = 32767; - this.textBoxHost.Name = "textBoxHost"; - this.textBoxHost.PasswordChar = '\0'; - this.textBoxHost.PromptText = "Wii U IP"; - this.textBoxHost.ScrollBars = System.Windows.Forms.ScrollBars.None; - this.textBoxHost.SelectedText = ""; - this.textBoxHost.SelectionLength = 0; - this.textBoxHost.SelectionStart = 0; - this.textBoxHost.ShortcutsEnabled = true; - this.textBoxHost.Style = MetroFramework.MetroColorStyle.Blue; - this.textBoxHost.Theme = MetroFramework.MetroThemeStyle.Dark; - this.textBoxHost.UseSelectable = true; - this.textBoxHost.WaterMark = "Wii U IP"; - this.textBoxHost.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109))))); - this.textBoxHost.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel); - // - // radioButtonEur - // - resources.ApplyResources(this.radioButtonEur, "radioButtonEur"); - this.radioButtonEur.BackColor = System.Drawing.Color.Transparent; - this.radioButtonEur.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.radioButtonEur.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.radioButtonEur.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.radioButtonEur.ForeColor = System.Drawing.Color.White; - this.radioButtonEur.Name = "radioButtonEur"; - this.radioButtonEur.TabStop = true; - this.radioButtonEur.UseVisualStyleBackColor = false; - this.radioButtonEur.Click += new System.EventHandler(this.radioButtonEur_Click); - // - // radioButtonUs - // - resources.ApplyResources(this.radioButtonUs, "radioButtonUs"); - this.radioButtonUs.BackColor = System.Drawing.Color.Transparent; - this.radioButtonUs.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.radioButtonUs.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.radioButtonUs.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.radioButtonUs.ForeColor = System.Drawing.Color.White; - this.radioButtonUs.Name = "radioButtonUs"; - this.radioButtonUs.TabStop = true; - this.radioButtonUs.UseVisualStyleBackColor = false; - this.radioButtonUs.Click += new System.EventHandler(this.radioButtonUs_Click); - // - // radioButtonJap - // - resources.ApplyResources(this.radioButtonJap, "radioButtonJap"); - this.radioButtonJap.BackColor = System.Drawing.Color.Transparent; - this.radioButtonJap.FlatAppearance.CheckedBackColor = System.Drawing.Color.Teal; - this.radioButtonJap.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Aqua; - this.radioButtonJap.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.radioButtonJap.ForeColor = System.Drawing.Color.White; - this.radioButtonJap.Name = "radioButtonJap"; - this.radioButtonJap.TabStop = true; - this.radioButtonJap.UseVisualStyleBackColor = false; - this.radioButtonJap.Click += new System.EventHandler(this.radioButtonJap_Click); - // - // listViewPCKS - // - this.listViewPCKS.Activation = System.Windows.Forms.ItemActivation.TwoClick; - this.myTablePanel1.SetColumnSpan(this.listViewPCKS, 3); - resources.ApplyResources(this.listViewPCKS, "listViewPCKS"); - this.listViewPCKS.HideSelection = false; - this.listViewPCKS.Name = "listViewPCKS"; - this.listViewPCKS.UseCompatibleStateImageBehavior = false; - this.listViewPCKS.View = System.Windows.Forms.View.Details; - this.listViewPCKS.SelectedIndexChanged += new System.EventHandler(this.listViewPCKS_SelectedIndexChanged); - this.listViewPCKS.Click += new System.EventHandler(this.listViewPCKS_Click); - this.listViewPCKS.MouseDown += new System.Windows.Forms.MouseEventHandler(this.listViewPCKS_MouseDown); - // - // TextBoxPackImage - // - resources.ApplyResources(this.TextBoxPackImage, "TextBoxPackImage"); - this.TextBoxPackImage.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.myTablePanel1.SetColumnSpan(this.TextBoxPackImage, 2); - // - // - // - this.TextBoxPackImage.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image1"))); - this.TextBoxPackImage.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode1"))); - this.TextBoxPackImage.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location1"))); - this.TextBoxPackImage.CustomButton.Name = ""; - this.TextBoxPackImage.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size1"))); - this.TextBoxPackImage.CustomButton.Style = MetroFramework.MetroColorStyle.Blue; - this.TextBoxPackImage.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex1"))); - this.TextBoxPackImage.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light; - this.TextBoxPackImage.CustomButton.UseSelectable = true; - this.TextBoxPackImage.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible1"))); - this.TextBoxPackImage.IconRight = true; - this.TextBoxPackImage.Lines = new string[0]; - this.TextBoxPackImage.MaxLength = 32767; - this.TextBoxPackImage.Name = "TextBoxPackImage"; - this.TextBoxPackImage.PasswordChar = '\0'; - this.TextBoxPackImage.PromptText = "Pack Image"; - this.TextBoxPackImage.ScrollBars = System.Windows.Forms.ScrollBars.None; - this.TextBoxPackImage.SelectedText = ""; - this.TextBoxPackImage.SelectionLength = 0; - this.TextBoxPackImage.SelectionStart = 0; - this.TextBoxPackImage.ShortcutsEnabled = true; - this.TextBoxPackImage.Style = MetroFramework.MetroColorStyle.Blue; - this.TextBoxPackImage.Theme = MetroFramework.MetroThemeStyle.Dark; - this.TextBoxPackImage.UseSelectable = true; - this.TextBoxPackImage.WaterMark = "Pack Image"; - this.TextBoxPackImage.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109))))); - this.TextBoxPackImage.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel); - // - // PackImageSelection - // - resources.ApplyResources(this.PackImageSelection, "PackImageSelection"); - this.PackImageSelection.BackColor = System.Drawing.Color.Sienna; - this.PackImageSelection.FlatAppearance.BorderSize = 0; - this.PackImageSelection.ForeColor = System.Drawing.Color.White; - this.PackImageSelection.Name = "PackImageSelection"; - this.PackImageSelection.UseVisualStyleBackColor = false; - this.PackImageSelection.Click += new System.EventHandler(this.PackImageSelection_Click); - // - // metroTabControlMain - // - this.metroTabControlMain.Controls.Add(this.metroTabPageMain); - resources.ApplyResources(this.metroTabControlMain, "metroTabControlMain"); - this.metroTabControlMain.Name = "metroTabControlMain"; - this.metroTabControlMain.SelectedIndex = 0; - this.metroTabControlMain.Style = MetroFramework.MetroColorStyle.White; - this.metroTabControlMain.Theme = MetroFramework.MetroThemeStyle.Dark; - this.metroTabControlMain.UseSelectable = true; - // - // contextMenuStripCaffiine - // - this.contextMenuStripCaffiine.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.replaceToolStripMenuItem, - this.replacePCKToolStripMenuItem}); - this.contextMenuStripCaffiine.Name = "contextMenuStripCaffiine"; - resources.ApplyResources(this.contextMenuStripCaffiine, "contextMenuStripCaffiine"); - this.contextMenuStripCaffiine.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStripCaffiine_Opening); - // - // replaceToolStripMenuItem - // - this.replaceToolStripMenuItem.Image = global::PckStudio.Properties.Resources.Replace; - this.replaceToolStripMenuItem.Name = "replaceToolStripMenuItem"; - resources.ApplyResources(this.replaceToolStripMenuItem, "replaceToolStripMenuItem"); - this.replaceToolStripMenuItem.Click += new System.EventHandler(this.replaceToolStripMenuItem_Click); - // - // replacePCKToolStripMenuItem - // - this.replacePCKToolStripMenuItem.Image = global::PckStudio.Properties.Resources.Replace; - this.replacePCKToolStripMenuItem.Name = "replacePCKToolStripMenuItem"; - resources.ApplyResources(this.replacePCKToolStripMenuItem, "replacePCKToolStripMenuItem"); - this.replacePCKToolStripMenuItem.Click += new System.EventHandler(this.replacePCKToolStripMenuItem_Click); - // - // InstallWiiU - // - resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); - this.Controls.Add(this.metroTabControlMain); - this.ForeColor = System.Drawing.Color.White; - this.MaximizeBox = false; - this.Name = "InstallWiiU"; - this.metroTabPageMain.ResumeLayout(false); - this.myTablePanel1.ResumeLayout(false); - this.myTablePanel1.PerformLayout(); - this.panel1.ResumeLayout(false); - this.metroTabControlMain.ResumeLayout(false); - this.contextMenuStripCaffiine.ResumeLayout(false); - this.ResumeLayout(false); - - } - - #endregion - - private MetroFramework.Controls.MetroTabPage metroTabPageMain; - private System.Windows.Forms.TableLayoutPanel myTablePanel1; - private System.Windows.Forms.RadioButton radioButtonJap; - private System.Windows.Forms.RadioButton radioButtonEur; - private System.Windows.Forms.RadioButton radioButtonUs; - private System.Windows.Forms.ListView listViewPCKS; - private MetroFramework.Controls.MetroTabControl metroTabControlMain; - private System.Windows.Forms.ContextMenuStrip contextMenuStripCaffiine; - private System.Windows.Forms.ToolStripMenuItem replacePCKToolStripMenuItem; - private System.Windows.Forms.Panel panel1; - private System.Windows.Forms.RadioButton radioButtonSystem; - private System.Windows.Forms.Button buttonSelect; - private System.Windows.Forms.RadioButton radioButtonUSB; - private System.Windows.Forms.Button buttonServerToggle; - private MetroFramework.Controls.MetroTextBox textBoxHost; - private System.Windows.Forms.ToolStripMenuItem replaceToolStripMenuItem; - private MetroFramework.Controls.MetroTextBox TextBoxPackImage; - private System.Windows.Forms.Button PackImageSelection; - } -} \ No newline at end of file diff --git a/PCK-Studio/Forms/Utilities/installWiiU.cs b/PCK-Studio/Forms/Utilities/installWiiU.cs deleted file mode 100644 index ca0d09aa..00000000 --- a/PCK-Studio/Forms/Utilities/installWiiU.cs +++ /dev/null @@ -1,485 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.IO; -using System.IO.Compression; -using System.Net; -using System.Windows.Forms; -using System.Diagnostics; - -using PckStudio.Classes.Misc; -using OMI.Formats.Archive; -using OMI.Workers.Archive; -using OMI.Workers.Pck; -using OMI.Formats.Pck; -using PckStudio.ToolboxItems; - -namespace PckStudio.Forms -{ - public partial class InstallWiiU : ThemeForm - { - string loca = ""; - string dlcPath = ""; - string mod = ""; - bool serverOn = false; - ConsoleArchive archive = new ConsoleArchive(); - - public InstallWiiU(string mod) - { - InitializeComponent(); - - this.mod = mod; - - if (mod == null) - { - replaceToolStripMenuItem.Visible = false; - } - else - { - replaceToolStripMenuItem.Text = "Replace with " + Path.GetFileName(mod); - } - } - - //items class for use in bedrock skin conversion - public class pckDir - { - public string folder { get; set; } - public string file { get; set; } - } - - private void buttonSelect_Click(object sender, EventArgs e) - { - FolderBrowserDialog sdFind = new FolderBrowserDialog(); - if (sdFind.ShowDialog() == DialogResult.OK) - { - try - { - string sdRoot = Directory.GetDirectoryRoot(sdFind.SelectedPath); - - if (!Directory.Exists(sdRoot + "/wiiu/apps/")) - { - Directory.CreateDirectory(sdRoot + "/wiiu/apps/"); - } - - using (WebClient client = new WebClient()) - { - try - { - File.WriteAllBytes(sdRoot + "/wiiu/apps/apps.zip", PckStudio.Properties.Resources.apps); - } - catch - { - MessageBox.Show("Could not extract resources to:\n" + sdRoot + "/wiiu/apps/apps.zip"); - return; - } - } - - string zipPath = sdRoot + "/wiiu/apps/apps.zip"; - string extractPath = sdRoot + "/wiiu/apps/temp"; - ZipFile.ExtractToDirectory(zipPath, extractPath); - - if (!Directory.Exists(sdRoot + "/wiiu/apps/ftpiiu_everywhere")) - { - Directory.Move(sdRoot + "/wiiu/apps/temp/ftpiiu_everywhere", sdRoot + "/wiiu/apps/ftpiiu_everywhere"); - } - if (!Directory.Exists(sdRoot + "/wiiu/apps/homebrew_launcher")) - { - Directory.Move(sdRoot + "/wiiu/apps/temp/homebrew_launcher", sdRoot + "/wiiu/apps/homebrew_launcher"); - } - if (!Directory.Exists(sdRoot + "/wiiu/apps/mocha_fshax")) - { - Directory.Move(sdRoot + "/wiiu/apps/temp/mocha_fshax", sdRoot + "/wiiu/apps/mocha_fshax"); - } - if (!File.Exists(sdRoot + "/wiiu/apps/sign_c2w_patcher.elf")) - { - File.Move(sdRoot + "/wiiu/apps/temp/sign_c2w_patcher.elf", sdRoot + "/wiiu/apps/sign_c2w_patcher.elf"); - } - - File.Delete(sdRoot + "/wiiu/apps/apps.zip"); - Directory.Delete(sdRoot + "/wiiu/apps/temp/", true); - } - catch (Exception er) - { - MessageBox.Show(er.ToString()); - } - MessageBox.Show("Done"); - } - } - List pcks = new List(); - PckFile currentPCK = null; - - private void updateDatabase() - { - pcks.Clear(); - pcks.Add(new pckDir() { folder = "Battle & Beasts", file = "BattleAndBeasts.pck" }); - pcks.Add(new pckDir() { folder = "Battle & Beasts 2", file = "BattleAndBeasts2.pck" }); - pcks.Add(new pckDir() { folder = "Biome Settlers Pack 1", file = "SkinsBiomeSettlers1.pck" }); - pcks.Add(new pckDir() { folder = "Biome Settlers Pack 2", file = "SkinsBiomeSettlers2.pck" }); - //pcks.Add(new pckDir() { folder = "Campfire Tales Skin Pack", file = "" }); - pcks.Add(new pckDir() { folder = "Doctor Who Skins Volume I", file = "SkinPackDrWho.pck" }); - pcks.Add(new pckDir() { folder = "Doctor Who Skins Volume II", file = "SkinPackDrWho.pck" }); - pcks.Add(new pckDir() { folder = "Festive Skin Pack", file = "SkinsFestive.pck" }); - pcks.Add(new pckDir() { folder = "FINAL FANTASY XV Skin Pack", file = "FinalFantasyXV.pck" }); - pcks.Add(new pckDir() { folder = "Magic The Gathering Skin Pack", file = "magicthegathering.pck" }); - pcks.Add(new pckDir() { folder = "Mini Game Heroes Skin Pack", file = "Minigame2.pck" }); - pcks.Add(new pckDir() { folder = "Mini Game Masters Skin Pack", file = "Minigame.pck" }); - pcks.Add(new pckDir() { folder = "Moana Character Pack", file = "Moana.pck" }); - pcks.Add(new pckDir() { folder = "Power Rangers Skin Pack", file = "PowerRangers.pck" }); - pcks.Add(new pckDir() { folder = "Redstone Specialists Skin Pack", file = "SkinsRedstoneSpecialists.pck" }); - pcks.Add(new pckDir() { folder = "Skin Pack 1", file = "Skins1.pck" }); - pcks.Add(new pckDir() { folder = "Star Wars Classic Skin Pack", file = "StarWarsClassicPack.pck" }); - pcks.Add(new pckDir() { folder = "Star Wars Prequel Skin Pack", file = "StarWarsPrequel.pck" }); - pcks.Add(new pckDir() { folder = "Star Wars Rebels Skin Pack", file = "StarWarsRebelsPack.pck" }); - pcks.Add(new pckDir() { folder = "Star Wars Sequel Skin Pack", file = "StarWarsSequel.pck" }); - pcks.Add(new pckDir() { folder = "Story Mode Skin Pack", file = "PackStoryMode.pck" }); - pcks.Add(new pckDir() { folder = "Stranger Things Skin Pack", file = "StrangerThings.pck" }); - pcks.Add(new pckDir() { folder = "Strangers Biome Settlers 3 Skin Pack", file = "BiomeSettlers3_Strangers.pck" }); - pcks.Add(new pckDir() { folder = "The Incredibles Skin Pack", file = "Incredibles.pck" }); - pcks.Add(new pckDir() { folder = "The Simpsons Skin Pack", file = "SkinPackSimpsons.pck" }); - pcks.Add(new pckDir() { folder = "Villains Skin Pack", file = "Villains.pck" }); - } - - public void buttonMode(string mode) - { - if (mode == "start") - { - buttonServerToggle.BackColor = Color.FromArgb(68, 178, 13); - serverOn = false; - buttonServerToggle.Text = "Start"; - listViewPCKS.Enabled = false; - } - else if (mode == "stop") - { - serverOn = true; - buttonServerToggle.BackColor = Color.Red; - buttonServerToggle.Text = "Stop"; - listViewPCKS.Enabled = true; - } - else if (mode == "loading") - { - buttonServerToggle.BackColor = Color.MediumAquamarine; - buttonServerToggle.Text = "Wait.."; - } - } - - private void loadPcks() - { - string region = ""; - if (radioButtonEur.Checked) - { - region = "101d7500"; - } - else if (radioButtonUs.Checked) - { - region = "101d9d00"; - } - else if (radioButtonJap.Checked) - { - region = "101dbe00"; - } - - string device = ""; - if (radioButtonSystem.Checked) - { - device = "storage_mlc"; - } - else if (radioButtonUSB.Checked) - { - device = "storage_usb"; - } - - if (region != "" && device != "") - { - dlcPath = device + "/usr/title/0005000e/" + region + "/content/WiiU/DLC/"; - buttonServerToggle.Enabled = true; - if (listViewPCKS.Columns.Count == 0) - { - listViewPCKS.Columns.Add(dlcPath, 395); - } - } - } - - private void buttonServerToggle_Click(object sender, EventArgs e) - { - if (serverOn == false) - { - //Makes sure user typed in their ip - if (textBoxHost.Text == "") - { - MessageBox.Show("Please enter a valid Wii U IP!"); - return; - } - - //Turns Server On - try - { - buttonMode("loading"); - - ServicePointManager.Expect100Continue = true; - - //ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(OnValidateCertificate); - FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + textBoxHost.Text + "/" + dlcPath); - request.Method = WebRequestMethods.Ftp.ListDirectory; - request.Credentials = new NetworkCredential("", "a3262443"); - request.EnableSsl = false; - request.Timeout = 1200000; - - ServicePoint sp = request.ServicePoint; - Debug.WriteLine("ServicePoint connections = {0}.", sp.ConnectionLimit); - sp.ConnectionLimit = 1; - - using (var response = (FtpWebResponse)request.GetResponse()) - { - using (var stream = response.GetResponseStream()) - { - using (var reader = new StreamReader(stream, true)) - { - string line = reader.ReadLine(); - while (line != null) - { - listViewPCKS.Items.Add(line); - line = reader.ReadLine(); - } - } - } - } - - foreach (ListViewItem pck in listViewPCKS.Items) - { - int i = 0; - FtpWebRequest request2 = (FtpWebRequest)WebRequest.Create("ftp://" + textBoxHost.Text + "/" + dlcPath + "/" + pck.Text + "/"); - request2.Method = WebRequestMethods.Ftp.ListDirectory; - request2.Credentials = new NetworkCredential("", "a3262443"); - request2.EnableSsl = false; - request2.Timeout = 1200000; - - ServicePoint sp2 = request2.ServicePoint; - Console.WriteLine("NOBLEDEZ//PHOENIXARC WAS HERE", sp2.ConnectionLimit); - sp2.ConnectionLimit = 1; - - using (var response = (FtpWebResponse)request2.GetResponse()) - { - using (var stream = response.GetResponseStream()) - { - using (var reader = new StreamReader(stream, true)) - { - string line = reader.ReadLine(); - while (line != null) - { - i += 1; - pck.Tag = line; - line = reader.ReadLine(); - } - } - } - } - if (i != 1) - { - pck.Remove(); - } - } - - buttonMode("stop"); - } - catch (Exception disc) - { - buttonMode("start"); - MessageBox.Show(disc.ToString()); - } - } - else if (serverOn == true) - { - //Turns Server Off - listViewPCKS.Items.Clear(); - try - { - buttonMode("start"); - } - catch (Exception disc) - { - MessageBox.Show(disc.ToString()); - } - } - } - - private void radioButtonEur_Click(object sender, EventArgs e) - { - loadPcks(); - } - - private void radioButtonUs_Click(object sender, EventArgs e) - { - loadPcks(); - } - - private void radioButtonJap_Click(object sender, EventArgs e) - { - loadPcks(); - } - - private void listViewPCKS_Click(object sender, EventArgs e) - { - - } - - private void listViewPCKS_MouseDown(object sender, MouseEventArgs e) - { - ListViewHitTestInfo hitTestInfo = listViewPCKS.HitTest(e.Location); - if (e.Button == MouseButtons.Right) - { - if (hitTestInfo.Location == ListViewHitTestLocations.None) - { - } - else - { - contextMenuStripCaffiine.Show(Cursor.Position); - } - } - } - - private void replacePCKToolStripMenuItem_Click(object sender, EventArgs e) - { - if (listViewPCKS.SelectedItems.Count != 0) - { - buttonMode("loading"); - OpenFileDialog openPCK = new OpenFileDialog(); - - openPCK.Filter = "PCK File|*.pck"; - - if (openPCK.ShowDialog() == DialogResult.OK) - { - using (FTPClient client = new FTPClient("ftp://" + textBoxHost.Text, "", "a3262443")) - client.UploadFile(openPCK.FileName, dlcPath + "/" + listViewPCKS.SelectedItems[0].Text + "/" + listViewPCKS.SelectedItems[0].Tag.ToString()); - if(TextBoxPackImage.Text != "") - { - string PackID = GetPackID(openPCK.FileName); - GetARCFromConsole(); - ReplacePackImage(PackID); - SendARCToConsole(); - } - MessageBox.Show("PCK Replaced!"); - } - } - buttonMode("stop"); - loadPcks(); - } - - private void listViewPCKS_SelectedIndexChanged(object sender, EventArgs e) - { - - } - - private void buttonInstall_Click(object sender, EventArgs e) - { - if (MessageBox.Show("Replace with " + Path.GetFileNameWithoutExtension(mod) + "?", "Install Mod", MessageBoxButtons.YesNo) == DialogResult.Yes) - { - if (!Directory.Exists(dlcPath + pcks[listViewPCKS.SelectedItems[0].Index].folder + "/")) - { - Directory.CreateDirectory(dlcPath + pcks[listViewPCKS.SelectedItems[0].Index].folder + "/"); - } - File.Copy(mod, dlcPath + pcks[listViewPCKS.SelectedItems[0].Index].folder + "/" + pcks[listViewPCKS.SelectedItems[0].Index].file); - } - loadPcks(); - } - - private void deletePCKModToolStripMenuItem_Click(object sender, EventArgs e) - { - Directory.Delete(dlcPath + pcks[listViewPCKS.SelectedItems[0].Index].folder + "/", true); - loadPcks(); - } - - private void buttonServerToggle_Clic(object sender, EventArgs e) - { - - } - - private void contextMenuStripCaffiine_Opening(object sender, CancelEventArgs e) - { - - } - - private void radioButtonSystem_CheckedChanged(object sender, EventArgs e) - { - loadPcks(); - } - - private void radioButtonUSB_CheckedChanged(object sender, EventArgs e) - { - loadPcks(); - } - - private void replaceToolStripMenuItem_Click(object sender, EventArgs e) - { - if (listViewPCKS.SelectedItems.Count != 0) - { - buttonMode("loading"); - using (FTPClient client = new FTPClient("ftp://" + textBoxHost.Text, "", "a3262443")) - client.UploadFile(mod, dlcPath + "/" + listViewPCKS.SelectedItems[0].Text + "/" + listViewPCKS.SelectedItems[0].Tag.ToString()); - if (TextBoxPackImage.Text != "") - { - string PackID = GetPackID(mod); - GetARCFromConsole(); - ReplacePackImage(PackID); - SendARCToConsole(); - } - MessageBox.Show("PCK Replaced!"); - } - buttonMode("stop"); - loadPcks(); - } - - private string GetPackID(string filename) - { - var reader = new PckFileReader(); - currentPCK = reader.FromFile(filename); - if (currentPCK.TryGetFile("0", PckFile.FileData.FileType.InfoFile, out var file) && - file.Properties.HasProperty("PACKID")) - { - file.Properties.GetProperty("PACKID"); - } - throw new KeyNotFoundException(); - } - - private void GetARCFromConsole() - { - using (FTPClient client = new FTPClient("ftp://" + textBoxHost.Text, "", "a3262443")) - client.DownloadFile(dlcPath + "../../Common/Media/MediaWiiU.arc", Program.AppData + "MediaWiiU.arc"); - var reader = new ARCFileReader(); - archive = reader.FromStream(new MemoryStream(File.ReadAllBytes(Program.AppData + "MediaWiiU.arc"))); - } - - private void ReplacePackImage(string PackID) - { - if (archive.ContainsKey("Graphics\\PackGraphics\\" + PackID + ".png")) - archive["Graphics\\PackGraphics\\" + PackID + ".png"] = File.ReadAllBytes(TextBoxPackImage.Text); - else - archive.Add("Graphics\\PackGraphics\\" + PackID + ".png", File.ReadAllBytes(TextBoxPackImage.Text)); - } - - private void SendARCToConsole() - { - using (FTPClient client = new FTPClient("ftp://" + textBoxHost.Text, "", "a3262443")) - { - MemoryStream ms = new MemoryStream(); - var writer = new ARCFileWriter(archive); - writer.WriteToStream(ms); - File.WriteAllBytes(Program.AppData + "MediaWiiU.arc", ms.ToArray()); - client.UploadFile(Program.AppData + "MediaWiiU.arc", dlcPath + "../../Common/Media/MediaWiiU.arc"); - archive.Clear(); - currentPCK.Files.Clear(); - currentPCK = null; - ms.Dispose(); - } - GC.Collect(); - } - - private void PackImageSelection_Click(object sender, EventArgs e) - { - OpenFileDialog ofd = new OpenFileDialog(); - ofd.Filter = "PNG Image|*.png"; - if(ofd.ShowDialog() == DialogResult.OK) - TextBoxPackImage.Text = ofd.FileName; - } - } -} diff --git a/PCK-Studio/Forms/Utilities/pckCenter.Designer.cs b/PCK-Studio/Forms/Utilities/pckCenter.Designer.cs index e970f0d1..9cf0cbb0 100644 --- a/PCK-Studio/Forms/Utilities/pckCenter.Designer.cs +++ b/PCK-Studio/Forms/Utilities/pckCenter.Designer.cs @@ -138,6 +138,7 @@ // pictureBox1 // resources.ApplyResources(this.pictureBox1, "pictureBox1"); + this.pictureBox1.Image = global::PckStudio.Properties.Resources.pckCenterHeader; this.pictureBox1.Name = "pictureBox1"; this.pictureBox1.TabStop = false; // @@ -196,13 +197,13 @@ // // deleteToolStripMenuItem // - this.deleteToolStripMenuItem.Image = global::PckStudio.Properties.Resources.Del; + this.deleteToolStripMenuItem.Image = global::PckStudio.Properties.Resources.file_delete; this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem"; resources.ApplyResources(this.deleteToolStripMenuItem, "deleteToolStripMenuItem"); // // exportToolStripMenuItem // - this.exportToolStripMenuItem.Image = global::PckStudio.Properties.Resources.ExportFile; + this.exportToolStripMenuItem.Image = global::PckStudio.Properties.Resources.file_export; this.exportToolStripMenuItem.Name = "exportToolStripMenuItem"; resources.ApplyResources(this.exportToolStripMenuItem, "exportToolStripMenuItem"); // diff --git a/PCK-Studio/Forms/Utilities/pckCenter.resx b/PCK-Studio/Forms/Utilities/pckCenter.resx index 136fca95..0b2cf2da 100644 --- a/PCK-Studio/Forms/Utilities/pckCenter.resx +++ b/PCK-Studio/Forms/Utilities/pckCenter.resx @@ -306,1841 +306,6 @@ Fill - - - iVBORw0KGgoAAAANSUhEUgAAA+gAAAPoCAYAAABNo9TkAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wAAADsABataJCQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAP+NSURBVHhe7P0H - mGRV2T1ufwxZgmSQoIBKEFFUUBReJCgKoiAqGAGzJEUJghjAgIjpFQMvggIiGREFDKioKGZFBXPCCCbC - MDl0ffuuf+3+HYqaUF3dM909a13XukSYqTpnn33qnPWsJ/z/giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI - giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgmCcY7kOp3S4 - fIMrdLhigys1uPIAbH5OZfN7sH5/PZ56jPWYgyAIgiAIgiAIgmDcoym8m4K7imwieZXCVQsf0OFqhasX - rtHhmoUP7HCtwrU7XKfDdTtcrw/Wv4P1c7B+Nvqu+r2OwbE4LnSMjtVxO36sgr9b1EfMB0EQBEEQBEEQ - BEsETQHeFN9N4d0U3VVoV3FNMG9QuGHhRoUPKty4cJPCTTvcrPDBhQ8p3LzDLQq37PChDT5sIWz+Oax/ - 32dV+mzfg77TdzsGx+O4HJ/jdLyOe/3CKvqdUxX2VdA3xXy3iI+AD4IgCIIgCIIgCPpCFZBViHeL8CrA - Oc1VfBOtxCshW0U3oVuFNjFcBfVWhVsXblO4beF2hY8s3L7wUYWPLtyh8DGFj+3wcYU7drhTh49fTNY/ - j/UzfB76bN/j+3wvOgbH47geUegYHatjfnihc6hC37lVUV8FvTWwFk0Rb62aAt5aVvHeFO5BEARBEARB - EATBMopuIV7T0InIXiKci8xR5jATpk3xTbwSsVV0E9wELwFcBTbBvHPhEwufVLhr4f8U7lb45MI9Cvfs - cK/CpxQ+tXDvwqd1+PQO91kM1j+L9e/7LPS56Dt8l+/0/bsXOhbH5Ngco2N1zE8odA7Ohbivwt65Omfn - XoW8NWmKeALe2llDa9kt3pvCvdtxD4IgCIIgCIIgCCYReonx6ojXdPQqxLnA1QWvIry631WAc5oJVEKV - O028ErG7FBK3hC7RSwATxFVUP6PwmYXPKjyg8NmFBxY+p/B5hQcVHlz4/MIXFL6w8EUdvrjwJR0e0uCh - DTb/PdY/7+9i/Syf6/N9j+/zvb7/uYWOxTE5tv0LHet+hY7dORD6Vdw7R+dKzDv3KuSbIt5aVQFvDa1l - Fe/WuDrvVbjXtHnXpqbLx20PgiAIgiAIgiCYoCDiCDpubLcYr664VOzqiEtHr0KcCyy9mzPcFOHc76YA - 5zxX8V2FN9FN3BK6RC8BTAwTxwTzYYUvLXx54SsLX1X4msLDC48oPLLw6MLXFr6u8JgOX1/4hg6P7fC4 - RbD+Oax/1+fUz/T5vsf3HVXoux2DY3l1oWNzjI7VMTt25+BcnJNzc47O1TkT89bAWlgTa2ONmgLeGlrL - Kt6tsbW25lW4uxauiWvjGjXd9iraq9MewR4EQRAEQRAEQTDOUAV5dcelTDed8SrGqyuujloqtvpqNddS - tasQ5wJL7ZbqXUU455iLTIQSo9xmznMV39zrlxW+opC4JXIJXgKYGCaOiebjC99YeFLhmwrfXPiWwrcV - nlJ4auHbC99R+M7CdxWeVvjuDk8vfE+DZ/Rg87/785X1M3yez/X56Lt8p+92HG8tdEyOzTE6Vsfs2Il9 - Ip+4J+ydo3Ml5p27NbAWVcRbo6aAt4bWsop3a2ytrXkV7q6Fa+LauEauVXXbm6Ldta3p8U2X3V6IaA+C - IAiCIAiCIFhCaAryWjde3XENymqaenXGu8W4unCp2OqrOeJStasQr064VO8qwqWJc5C5ycQoUcp1JlSJ - 7yq8q+gmdAle4pcYJowJ5vcWvr/wA4X/W/ihwg8XfqTwo4VnFf5f4dmFHy88p/DcDj9R+MkOz1sM1j+L - /i7Wz/K5Pt/3+D7f+7FCx+BYHJNjc4yO1TE7dufgXJyTc3OOBH0V81XIWxNrY42qgLd21tBaVvFuja21 - Na/C3bVwTVwb18i16hbt1Wl3jV1r19y1r6nx9kRTsAdBEARBEARBEASjBCJLOnO3Q94U5NKiOa0alKl1 - ljqt/pkrq7lZU4yro5aKXR1xqdpViEvn5gZLPecQVxF+QiE3uQpwrjOhyp3mXBOxHyw8s5DIJXoJYGKY - OCaaLyj8VOGnCy8qvKTw0sLLC68ovLLwM4Wf7fDqws8Vfr7wmg6v7fC6hbD+Gax/z2egz0Of7TuuKvSd - vtsxXFbomBybY3Ssjvn8wir2iXvCnqh3rs7ZuVsDa2FNrI01slbWzNo1xbu1tcbW2ppX4e5auCZq3/ct - 7BbtrqVr6tq6xq61a+7a2wO1nr0K9uqwJyU+CIIgCIIgCIJghKguuXpjdcfSmRckyNUwa0TGadWgTK2z - umedyZ9aSOgRfIQf51ajNKnYXF0p6WqvpaNXIc4NlubNIa4inINcBTinmUAlVAlW4vXCwiq6CW6Cl/gl - hAnjKqq/WPjlwusLv1r4tcIbCr9e+I3CbxbeWPitwm8X3tThdzr8boffWwjrn8H697B+ls/1+ei7fKfv - dgyOxTF9pdAxfqnQMTv2KvSdk3NzjgR9FfNVyFcRL0hBwHPjOfHW0FpKra/uu7W25tbeNXAtquPuGrlW - rllTtLumrq1r7Fq75q69PWAvdAv26rDbQ7WG3d6KYA+CIAiCIAiCIOiB6pLXxm6cT43Bag25bt/SmtUk - c02bglwNc9MdV+ssdVqtuG7lmpupjybGqyuuJvzEQu6u+m+ikXh8XyEhLs2bwCQ0Ocfcb25yFeDV6a7i - uwpvopvIJXiJX2K4CuvvF/6w8EeFPy68ufCnhT8r/HnhLYW3Fv6i8JeFv+rw14W/6fC3Df6uB5v/Hevf - 8xlYP9Pn+x70nb7bMTgWx/STQsfoWH9Q6Nir4HdOzs05Oldi3rlbA2thTawNAW+trJm1s4ZN8W6NpdFb - 8yrcXQvXxLU5trC67a6da+hactpdW9fYtXbNXXuC3V5oCnZ7xZ6xd+yhWsNem87FXQ+CIAiCIAiCICio - LnmtJedwav5VXXKNwTYvVHdsTJe0ZjXJ1SFvCnJjwaRHc1zVOutArv65OuPqo6sY54qrp+bqcsSlalc3 - nIjkBkvzlvJdRTgHmZtMjBKlXGcONMHKtSa8q+gmcgneKrQJ4yqof1/4x8I/Fd5W+OfCvxT+tfBvhX8v - /Efh7R3eUfjPDv/VxX/3YPefqX8XfRbWz/Y96Dt9t2NwLI7JsTlGx+qYHXsV+s6pinrn6pyduzWwFtbE - 2lijKuCtnTWs4t3aWmNr3RTuroVrIl3eNXKtqmh3DYl219S1dY1da9fctbcHugW7vWLP2Dv2kL1kT9lb - 3e56rV2PWA+CIAiCIAiCYJlAU5Q3U9fVDXM4NyvkeEpV1hjsMYXqjo3pktasJln9eLcglxYtPbq642qe - pVBrZsadJfikWlcxzhWXln5xIZdXynYV4tUJ5xBXEc5B5iY3BXhTfFfhTdgSuQRvFdpEcRXU/yn8b+Gd - hXcV3l14T+HUDu8tnNbh9MIZHc7s4qyFsPvP1s9An1lZv8d31u93LI7JsTlGx+qYq/ivAt+5OUfn6pyr - kLcWVcRXAc+Nt3bWsIp36fTW2FpX4e4auBauiXR516iKdtfONXQtXVO17dLjXWvX3LXvJdjtFXvG3tEx - 3l6yp+wte8xes+equx6xHgRBEARBEATBpAaBQ+g0nfK1C5up6+qGdemuLnlNW39KoQ7fGroZ2SW9WW0y - MVYFueZjxFp1xzUqk6au/lmjNu4swVfFOAdXPbWU7OqIS9muQpwbLM1byjcXnODkIP+hsFuAV2ebiK2i - uwrupshui+rllltu9gYbbDDn0Y9+9NynPOUpcw888MB5hx566Lyjjjpq/kknnTT/tNNOG/rwhz88dP75 - 5w995jOfGbr++utb3/3ud1u33npr689//nPrzjvvbM2ZM6c1b9681qxZs4b/eWhoqE3/7p577mn961// - av31r39t/f73v2/94he/aP3kJz9pf843v/nNVvnMoWuuuWboyiuvbH/P+9///qE3velN81/zmtfMf97z - njdvzz33nOf4Nt1007mrrrrqbMfdOf4q9qu4r4K+inlrUEV8t4C3dtbQWlpTa2uNrXUV7q6Ba6H2/QuF - vUS7a+maurausWtdXXZ7wF7oFuw1Jd4espfsKXvLHqvuur1nDzZT4e1Re1Ugyd5NV/ggCIIgCIIgCCYk - qihX39styjcuJIQeVijtuNaS69K9eyHHU6pybeqmw7emYTVlvTrkXNQqyNUya97GcdUxXc2zFGq14rqW - E3yEHwHIwVVPrbaau8vlbQpxbrA0bynfhCbByUHmJlcBXp3uYfG93nrrzd5+++3nPu1pT5v30pe+dP7J - J5889NGPfnToqquuan3ve99r/eUvf2kL6omGGTNmtMX+T3/609bXvva11gUXXNA69dRTh5zjHnvsMW+L - LbaYu8IKKzSFfBXw1qgKeGtnDat4t7bVeW8K9+q4uzaukWvVFO2upWvq2rrGrrVr7trbA1WwNx32mhJv - D9lL9lTTXbfn7L1au25P2pv2qL3aFOtx1oMgCIIgCIIgmDCoolzzLU24munr1Smvonynwpq6rm7YPGyz - sTmeNW3dLO3XF6o/1llderPa5OqQNwW5juIcV+64mmcp1OqgdS7n0jbFuHpqKdnqrLm86rCbQlyad9MF - b4vwBz7wgXN22mmneS960YuGiNRLLrmk9eMf/7h17733duTssgkuPoefQ98t4B/ykIfMLWtHwDfFu7W1 - xk3h7hq4Fq6Ja+MaNUW7a+hauqY6zbvGrrVr7to3BXt12O0VzeeUO9hD9pI9ZW9Vd92es/fsQXvRnrQ3 - u8V6dxp8s8FcEARBEARBEATBuAAnsY5E031dozeifKNC9b0LEuVPLzQ6S+q6umHzsHXrri55TVt/d6H6 - Y83DjDer9ePdgpxokybNedWwTL24ZmbVGW+KcanpNS29OuJtIS4N/aEPfei8Aw44YP4JJ5wwdO6557Zu - vPHG1j//+c+OHA36xdSpU1vf+c53WmeffXbr6KOPHtp9993nr7feenPKejeFe9Nxd21co6Zor067a+ra - usautWveS7DbI/aKPaNjvD1kL9V0+Oqu23P2nj1oL9qT9qZGc91i3V62p+1te9xet+fr6La46kEQBEEQ - BEEQLBU0U9jXKDS+qnZf36JQEy71vTV9vTrlBJCaYILI6KzXFNZact26315YXXKpy+cU6vRtXJfRXWqT - 1Y93C3I1zdUdr/Xi6qCrM34/MT5lypTZ2267bdsRf//739/6+te/3rr77rs7sjIYa9x+++1q4lsf+MAH - Wi996UuHdtxxx/kPeMADCHfp8soHqmh37VxDDepc01rXXl12175bsNsj9oqUeHvHHrKX7Knqrttr9lyt - XZcKb0++uNAerWLd3q1p8LVm3R6v3eDtffeAeyGuehAEQRAEQRAESwTdbrl031pX/pBCY6x0yH5soSZc - taZcCnF1ygkgQoggOqFQ6ro0ZPXDunWbka0ZWHXJNXXT6VtDN53VpTmrUa4OeRXk6sab7jgnVip1W4yr - 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 - 7b///hqg9RQr3TzqqKPGrBmc7t46wxvLVb6LGJcGTbz9p/O//j8nm2CpQr1bpLeP80EPetDAjcA6M8EJ - JN+tKRrX2LUkimpquxpgteEHF9a6c03hzDcngPwGjxT2oJRkridhJW3e/GsjtnTxrqnuHGvil0OteR2n - /24u7J///OfO2YwMeiCUz7IG1t2+FQDobmBmnzsGASmiXOBA4ELTPL0XrFMt8RBM6C7xsLbVTZ910EEH - Dd15552dIxh9XHHFFYs1N19/hYMPPrj1ve99r/M3lzys/yMe8Qh7uztIUru9249+Y1yD8wvr7PRuN73W - ptdO737L7FH9DjSQG2SfBkEQBMEyiyrCq+gmHqROerhyaaSsERPoxRC5fuglLwzDxSdRzmUijqQZq+Os - rrluyZypQwq7XXNOFkdLWq+63O8WEnbcV24hsdmeZ667uFTuJQ1N03Rj32GHHXoKk17kOn70ox/tfMLo - 4xe/+EVrxx13rK45McixltqL0rYJEyKOO0yoE3PdIn3YRT/jjDM6nzwyCELoNl4+SzDA90sf16H8i4Wu - r7Ritb81tV2NuHnUjyjU4E3d+aKawi0KfvNrPboaYmnK6orNvza27w2FBDDxy6GWas7ht9es37RDDz10 - YBd9jz32cF2sQxXo9jMH1/epMzf2jTgXLHh34dsKBS64/O4N9fmO03/nsEvLVzuvwV29P7jprrVrO33T - TTedq3naWOGHP/xhO4hTvmuxuPPOO7e7v4/1pIJecL+ecsopNXBlz/sN8VtizaydNfRbU2en+w36YGF1 - 0/1G+a3ym+W3S08DWR4CSc25/GkgFwRBEASLQFOQE+OEuIcowe3lT+RbZ1ZplJq/SIUUEef0ERWoQRF6 - CIdhuGhuVigFlMPkBZbbJL3YS+1TCmutOddc92Tio7rmHCxOFhGnNreXQ9iutzViaUmDQ33OOee0HvKQ - h/QUIQsicX7uued2PmX0oaHZyiuvrKa8ig8OMCGo7tb/cgytoX9PLEv35WoT8v4OUe/vt110KcpTp07t - fPrIcN555zl3n+t4amM4aeQcYAKIS0n82AdGXEltVysumEPw+L0eDbHjGSD46je+prrbh+Zfv7qQENaE - kKPP2eeoSh+3XncaDXfLLbd0zmpk6LjodS00LSMKpbfb5806aOKcq69hmcAFYahxnv/tHjPY614RBFGb - 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 - 3FsLa8O4pxc+vnDrwo0KVy/M2LUgCIKCCPQwDMMJxF4CdllgnPQgGN/4xje+UWej/7fwT4XNhnHnFL6n - 8ITCVxQeWLh74aMLNy/M2LUgCIIOItDDMAwnEHuJ12WFcdKDYHzjBS94gVT3ZsO47xd+qfDiwo8Unlr4 - ukLvmvsWPrEwY9eCIAgaiEAPwzCcQOwlXJclxkkPgvGL2267rbXKKqvUhnF/LtQw7sbCzxV+svB9hScV - vrrwuYUZuxYEQdCFCPQwDMMJxF6idVkjJ/2SSy6Jkx4E4xAnnXQSF316oYZxvyv8UeFXCi8r/FjhOwtf - X1jHrj2p8BGFmxSuWRgXPQiCZRoR6GEYhhOIvQTrssg46UEwPjF16tTWhhtuOLe8L95T+NfCXxR+u9D7 - 5PmF3WPXnlL4uMKHFq5fyEXP2LUgCJZZRKCHYRhOIPYSq8sqB6lJHxoaan3nO99pffjDH2596EMfavPM - M89s07+r/MhHPtLmRz/60WF+7GMfG+ZZZ501hP/3f/83zLPPPnuYH//4x9s855xzhnnuuee2+YlPfKKy - 9clPfnKY5513Xpt/+ctfOkfbP771rW+1zj///DYvuOCCNj/1qU+1eeGFF+LQpz/96TYvuuiiYV588cVt - XnLJJW2W9W3zsssuG+bll1/e5hVXXNHmlVde2eZnPvOZYV511VVtfvazn23z6quvbvNzn/tcm5///OeH - ec0117R57bXXtnnddde1+YUvfGGYX/ziF9v80pe+1OaXv/zlNq+//vo2v/KVrwzzq1/9aptf+9rXWnjD - DTe0+fWvf71Nc7sHwR133NFuiIbf/OY327zxxhuHae3x29/+dps33XTTMO05/O53v9vm9773vWF+//vf - b/MHP/hBmz/84Q+H+aMf/ajNH//4x23+5Cc/GebNN9/c5k9/+tM2f/aznw3z5z//eZu33HJLm7feeusw - f/GLX7RpPfBXv/pVm7fffnvnTEeOsvc1jJtZ+O/CPxT+pPBrhVcUGrv2rsJjCw8rfGbhroXbFW5W+MDC - FQuDIAiWSUSgh2EYTiB2i9RlnYM46fPnz2+95S1vaa244orExOJS+i7OLzRWak6hztVmQGuOde9i0p/1 - d/xdn+Gz6me3v6uI/c6R9o83vvGNCztu7qY6YQJKKnI/x43+/Himc7K2zs95Ol/n3V7bLbbYoh2gGSl+ - +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 - fYFBp/4dg36aOFQEg84Z2AbdsqxCyAbdGGOMMblSjkH//vvvS5tttlkLm266aTObbLJJU0Tjxhtv3KD/ - nAL6781stNFGLfTs2bOFDTbYoJn111+/hR49erSw3nrrNdO9e/cW1l133Ra0/mbWWWedOPVrr732lLXW - WqtBNMKaa65ZCqyxxhrNEAXPqmuvvba04oorNrPCCisEmpZffvnGiIY///nP9YE//elPLSy33HIt/PGP - f2xh2WWXbWGZZZZpZumll27hD3/4QwtLLbVUC0suuWQLSyyxRAuLL754C4sttlgLiy66aAuLLLJIMwsv - vHALv//971tYaKGFWlhwwQWniAbRuMACCzSJEvzud79rRq8TPZ3y9eqrrwaDztkVg85ZFoPO2RaDzlmX - My9nX87AnIVt0C3Lqrps0I0xxhiTK+UYdMtqD7399ttxg84ZlrMsZ1rOtpxxkww6Z2IbdMuyqiobdGOM - Mcbkig26VW199NFHGHTKEVobdOboB4O+k9hErCaCQf+VsCzLqpps0I0xxhiTKzboVrX1+eefB4NOIzrO - sMyRv18Egz5AxA36ksIG3bKsqssG3RhjjDG5YoNuVVvffvtt3KAz0i1u0M8QNuiWZRVSNujGGGOMyRUb - dKvaGjVqVBqDvrPAoP9VYNB/K2zQLcuqqmzQjTHGGJMrNuhWtTV+/PipGfSrRdygbyps0C3LKoxs0I0x - xhiTKzboVrVVX19vg25ZVk3KBt0YY4wxuWKDblVbjY2NaVPcbdAtyyqUbNCNMcYYkys26Fa1NY0U96Qm - cTbolmUVRjboxhhjjMkVG3Sr2vrhhx+mZdA548YNeujiboNuWVbVZYNujDHGmFyxQbeqrc8++yxu0DnD - YtA50waDzlnXY9YsyyqcbNCNMcYYkys26Fa19e677waDztmVMyxnWc60nG2DQefMy9kXg85Z2Abdsqyq - ywbdGGOMMblig25VW6+88goGfWJ0dn1fcJa9V3C2PU3EDTpn4GDQORtblmVVTTboxhhjjMkVG3Sr2nr2 - 2WeDQf9OYND/LTDoVwoM+qGir9hIcAZeXMwtbNAty6qqbNCNMcYYkyvlGPSxY8eWLrroohYuvvjiZi65 - 5JJA06WXXtrCZZdd1szll1/ewhVXXNHClVde2cw///nPFq666qoWrr766mauueaaFq699tpmrrvuuhau - v/76Fm644YZmbrzxRijBTTfd1MLNN9/czH/+85/oU5Wvjz/+uHT33Xc3c88997Rw7733Bpruu+++Fu6/ - //4WHnjggRYefPDBFh566KEWHn744WYeeeSRFh599NEWHnvssRYef/zxFoYPH97CE0880cKTTz7ZwlNP - PVUKPP30080888wzLWCWA88991wL//73v1vg2QWef/75Zl544YXo6ZQvfT4M+gSBQX9PPCfuEVeIU8Uh - Ihj0VYUNumVZhZANujHGGGNypRyDHjXzitMkGsUUMVlQR4zRGi/GVQnemzWwFtbE2lgja21Ze//+/aNP - Vb5OO+20+DOAaT2HasH75wXR7TpRLxoEn/d/nufss88ePZ3yddddd/FavM+3Ihj0uwUGfYjAoO8oNhSr - iMXEXKKbsCzLqpps0I0xxhiTK20w6JgqzBqmDQOHOf5ZjBScQTBbX1cY3pP3Zg2shTWxtrixbF7/AQcc - EH2q8nXsscfGn0Mw5hhYTOZYMUr8KMJz+KYN8PPVgog2ndV/EqMFz5PLh188z4UXXjh6OuWLbAe9BpcK - fN53xbMCg365GCwOFjuInsIG3bKswsgG3RhjjDG5ktGgB3MeTCnmDUOKwfpcfCI4i2C23q4QvBfvyXuz - BtbCmlgba2StLabyqKOOij5V+TrkkEPi5hyzimkNxpzz11fiM/GxCM+hyBC1bg214B+JT8UXAsPOxUfi - 81xhhRWip1O+KHfQawSD/o54RtwlLhOniIPE9gKDvrJYVMwpbNAty6qqbNCNMcYYkysZDTrGjFRuTBWR - as4cmDgMKYbvNfGS4ExCNPTpdgQzx3vwXi8L3huTx1pYE1Fg1shaW0zlySefHH2q8rXnnnuGSwoi50To - xwjMK1H8/wrOYW+JV8WLgqZnrLGSkCaeFdb7gnhFvCEw7Fx8fCn4rn/xPLt37x49nfI1bNgwniXReZ4f - ly18p3eKSwUG/UDxD7GBWEksImzQLcuqumzQjTHGGJMrGQw6ZoqoMVFUjBoGmIg1Zw/MHIYUg/WYeECQ - qnxHG8GsTQsaivFevCfvzRpYC2tibcGks2bW3njOOedEn6p87bjjjuGSAoNK5BxzTtScSwEuB0YIzmNP - ikfE/YLnQFR4evDnqg3nyYfEcIHZ5+LjTfGh4HkGk97yPLfaaqvo6ZSv0047rbVB5+KF7/0ScbI4QGDQ - 1xcrCgz6b8SMwrIsq2qyQTfGGGNMrmQw6BhTUrqJGnPWwLCRDk3kmsjr44LzyL/EDeIqQaoyZitAZDQv - eG3eg/fiPXlv1sB5iDWxtmAqSc9m7Q2XXnpp9KnK15ZbbhkuKYgih8g55pyoOZcDTwkMLmb3FnGd4JxG - TXU1oNlaWhhtdo24SWCSufh4QjwvXhecMclM4HnyO9D8PHfbbbem6PGUreOOO45SAS46uOTgGfL8bhf8 - rpwk9hfbiR4Cg76wsEG3LKvqskE3xhhjTK5kMOikdQdjSsozUVWMMKnRjwqiwJhlzN754ixBJ24ioe0B - r8178F6YyxsFa2AtXBiwNtbIWlkza6+//vrro09Vvnr27IlBx5gSRaY2m/TvYM4xs0TMbxUYXUzmUHGG - YK00PcsKP9/eMHf8HHGh4GyJUSdDgewEzpiY9F88zwEDBmQ26PrZYNB5TSL1ZB5w2XKxOFFg0LcVGPQV - BAb918IG3bKsqsoG3RhjjDG5ksGgU3tO5JS0cYwphoqzB4aYdHOixRgrTDPRz6MFY7JIU04D9cblwGvz - HrzX2YL3vl5g0jGVRH4xz6yVNbP2yXfeeWf0qcrXmmuuSRYBxpQmdETnqbun5h5zzlnsZsEFxXmCOd7H - iSMEa6XhGdCZvAiwpjgDxDGC2m+MOlkKXLiQDUBmArXpPE+ax4XnWTd48ODMBn3ffffFoPM6GHRKEzDo - t4mLxAliP/F3sZ5YXvxe2KBbllV12aAbY4wxJlcyGHQix3Qrx0zRPIz6ZGqVMXCYc0wVUdhjBQZwT8F5 - hRri9oDX5j0wl4MEZ6Jg0on8YpppdkaqOynUrH3Sww8/HH2q8rXCCiuQRYChJHpOp3Oi9NS+EznHnJNW - zmUB0d/DBQazv2CWN+PC2gtev63sLPYWnC+PF2cKsgDITLhXYJ5/8TwvuuiizAZ9l1124cKD50nqPAad - 74wMBKL4rGFfsY3oLv4sFhJziBmEZVlW1WSDbowxxphcyWDQ6VpOajPdyomek9pOnTKp0Bg5ziQDBdFw - zB7GahNBg6+s0L17amwqeI9dBBF1LgYwldSmU/9NLTip7kR9GX3G2ic+++yz0acqX0suuST156S3c0lB - 9JyoMs3gSMsmzZ7IM8byULG7YERYL7GRYFRYW9mwHdlckE7OhQIXLET/yYbg0gHTzPPkrPk/z/Omm27K - bNB1/sSg0x+AbARS6Lnw4bu7QPD+XBhsLdYVfxI26JZlFUI26MYYY4zJlYwG/QdBUzS6lRPtJLWdcwjG - lCg25nwn0VtQN/xXQXOv1jAyq62sLjDxWwlMOunjpEVT9321ILJP0zGi3KS5s/aJr776avSpytfvfvc7 - DDqRYwwqEV+i50SXySAYJki3x5zvJkjNxpivJVYVzPGeGqsUgDUFlwAYYkw6mQlkAvC5rhVkJfzieT70 - 0EPR0ylfW2yxBRkJGHSeJ69LKj2ZCLwnv097iT7ibwKDvqCYXdigW5ZVVdmgG2OMMSZXMhp0zhg0CqMp - GpFjzBSp7dQtY0x3FVsKUpIx0UsJRmO1B38QGEsuAjBxmGLSyqn9pn6aWmZq0UnFJx0dQznpgw8+iD5V - +Zpjjjmow/9JYFC5pCDiS/ScqD1nsiPFHgJzjtldTSwrFhOLxuB/F41lBOdMshPITKB8gM/D5yKKzufE - QJPmHp7nxBdffDF6OuVrvfXWw6CTkUBWBs+TfgZkZFDDTz08a+ACZh2xnFhAzCa6CsuyrKrJBt0YY4wx - udIGg85ZgwZspLcTWT1XkF6+j8CYYvCICnNumVcwFitv5hTzCy4AOBsRqSadnK7fRNHp7E7t9MOCy4QW - g/7VV19Fn6p8de3alfnnpHaTRYDx5/V5H96P9yWDgJpwzmpkDywtMJVzCdbcGv55UWCdrJfMBEoT+gqy - EsgKoCacyxguZWiK1/I8P/zww+jplK9lllkGg05GAo3nMP68Po3pyIKgXIIyAbIx1hZcdPxO2KBbllV1 - 2aAbY4wxJlfaaNA5c3D2YA45Y8SOEETPtxCkSmP0MNCYKTpul0u3FFCLTMozkVVSoIm0EnHF2HFpQLM4 - 6qYxlBhqOq/X/fzzz9GnKk+TJk3iGWDQeR0MKsb/QcElBSn+dJQnek4GAethXayPdXKWS/oMRYH1cfFB - l3S6pZMBQRSdGnBSzYlohwsPLiZ4nlxU1P3444/REypfs846azwjgdfl++J743keJciKoIaf3yki/PxO - zSps0C3Lqqps0I0xxhiTKzkZdM4gnEU4k3A24YzCWYUzC2cXzjDtoS5iFjGfwLhh4DByGDqMcjDowVBi - AJsNZX19ffSpytPIkSN5BnSyDwadBnFkETDznOZ0pNdTC7+ZIApNdJ8MgplF0cXzxPgSof6jIGLNRQMX - DqSaB4NOhJtUdCLeGOvJU6ZMiZ5Qefrpp5/ChQffS+sLD5rTkV7PpQ/N69YQXPrwffO9s17LsqyqyQbd - GGOMMbnSAQw6hpKIKqnPcUNJBJ0U6WAoSZ1uNpTdunWbHH2kshU9Aww6qd3U4ZPmz3i1kEUwQNC9nu7y - pLdj0H8rfiWKLiLSZDsQ8acZGxkANIsLEXRS+Elxp6b/VUFTt5/nmGOObLcd0muvvdb6eXLhwfOkwR/P - kwsPnicXHjxPeg6ECw8bdMuyqiobdGOMMcbkSo0b9GAoqZsm4ksTsZDiTj08XcBpNhYMJU3IRs0999yZ - DeVbb72V9hlQv01zuCUFz6AWDDpd0UnFZ4wZKe7rCfoJMIec2npq0Bm1Rud+xqExFm30Yost1hA9nrJ1 - 7733xp8ns9V5nnTEn9bzrJULD8uyOrhs0I0xxhiTKx3AoDNuKyniy/xsIr7M06brOOO7miO+yy67bLZ8 - bGn48OHhGXwnMJTMWGf0GPPP6RxPF3saq9GwjrFqPIO5RXs9gzxF3f+vxcKCMXiMr9tO0PSOJnHMub9d - MGaNGfjMgR+73nrrNUaPp2xddNFFPM8J4lvxnmCuPqPxrhA8T8a87SjC81xc1MrztCyrg8sG3RhjjDG5 - UuMGPR7x/bMITc2I+B4vWkd8vxCju3fvnjnie/PNN8cN5bsibiiHiIMFhnJDwfg3DCXd0WvBUNIojq7y - jFujAz8j4uhGTxf3wYIxcsy8Z+772+JrMW733Xdvih5P2Tr66KOb9BrjxTfiHcFr8x68F2P7eG8687MW - 1sTaeJ6s1bIsq6qyQTfGGGNMrtS4QQ8RX7qOryCYhb6t2E+cKC4WzO1+UrREfLfbbrvMEd9hw4a1NpTP - irvE1Awl884xvbVgKEkbJzrN90a0mu+RbACyAohmkyXAZQRZA1xOcEkx/tRTT81s0Pv27duo1xgrvhJv - CaLzROmJ1hO1J3pPFJ9oPlF9Zt/TaZ7v3rIsq6qyQTfGGGNMrnQAg45Zw7SFlOx/CEzdyQKTd4d4WmD+ - MIHjDjjggMwG/dhjj8WgjxNEj4ki89q8x6WC9+S9WQNz4FcSrK1WDDqN16jvprEdDdlozEaDtgGChm00 - buP7pjFey1nz1ltvjZ5O+Vp33XUb9BpjBNkNbwiyHW4TZD9Q9042BHXw1MNTF89lDFkTZE9YlmVVVTbo - xhhjjMmVGjfoISWbKHVIySZ63Tolmyg30W6i3uNPOeWUzBHfPffcc2oRX6L1RO33F0TxieYT1aeeuxYi - vl1EfGQdI82YZ99fMOrsbMHoM0agMVOekWiMmps0YsSI6OmUr8UXX3yKXuNnQX8A+gTQL4BO8fQPoHM8 - /QToK7CuoM8A/QboO2CDbllW1WWDbowxxphcqXGDzuuSkk2dNynZNBKj/pvGYqRkUxdOSjZ14iEle8Ll - l1+e2aBvueWWIeJLunxHiviGjvhJM9DDyLobBDPlGVnHTPnmGeijR4+Onk55ampqKjHyTq8xSjACj9nq - jMRjNB4z15m9zvvTmZ/1sC7WxzpZr2VZVlVlg26MMcaYXKlxg07NNK/P6C3ej1Fcrc9GjOxinXRcp/P6 - xHvuuSf6ROVrzTXXxKCPFowYo/HccEGn+AsEneP3ESHiS+O6Won4sr54R3zWP7UZ6C0d8eeZZ57MI+u+ - +eYbfp/qxEjxsXhZPCSuF+eIo8RuopdYUxDZZ+Y9s++J+FuWZVVVNujGGGOMyZUaN+hTq5k+XJwpqJm+ - X7wgPhQ/iEkvvPBC9InK15JLLhlPyWa2OoYV48rMdWav7yX6CEa+LSeY0V4LEd/4iLXWDffIDLhIkClA - xgCZA9SMj/nrX/+auSP+iy++yO/TJMH3wvfzonhAXCPOEkeIXcTmYnXxBzGvIBXfBt2yrKrLBt0YY4wx - uVLDBh2DFmqmlxahZnpX0bpmGuPXUjNdztmoteaYYw5SskntJiWbVO+Qkk0KeEjJJjU8npJNxLfoBj1e - z09zO5rcUc9/oKD5HU3wftFwb4cddsjccO/222+P/z6R4cDvExkPVwl+nwaIncSmYjVBpgQXMmROWJZl - VV026MYYY4zJlRo36BhfUp5JfV5L9BakRB8tzhWkSlMzTeo0NdOkUtdNnDgx+kTladKkSXz+kJLN67VO - yeZ9k1KyayHiy3fUup6fEWtTq+dvbrg3aNCgzPX8Q4cOpSP+1GbK8568N2tgLayJtbHG9vh9sizLKls2 - 6MYYY4zJlRo26ESkMejxpmY0E9tTEMmmyRiR7UcFzceIeI8iAh59nLL1+eef8/lJySYST0SeyDwReiL1 - pGQTuSeCT0o2EX0i+0T4a8Ggx8sFiFa3HrFGVJvvmhFroZ5/wtVXXx09nfJ12GGHtR5Z94wgSh9myhO9 - r9WZ8pZldQLZoBtjjDEmV2rcoKdpasbYrpamZtSQRx+nbL388svBoIeaaWrbqXGn1p2ad2rfMbWYW2ri - MbuYXsxvkcXlQXzEGtF/sgAYsUajtqmOWHvmmWeip1O+dO4MI+voiP+meFL8S8RH1m0nqIdnzn2tjKyz - LKuTyAbdGGOMMblSwwadruOML1tIMM6MsWaMN2PMGU3NGHvWuqnZ6LXWWitzU7MHHnggfH6ix/Ga6daf - n27yfH5qpvn8Ra+ZxqDTyI6GdmQjrCOSshGot4+PWKv7+uuvo6dTvlZfffXWHfG5TGndEX8b0V3QEZ/v - uhZG1lmW1Ulkg26MMcaYXKlhgx7vOk50dX1BtPUAcZK4RNwunhJEZ4nSju3Tp0/mpmakc+s1Qs30eyKp - Zpo57LVWMx0uO5jZjhHGEHPZgUE+XmCYMc7/k40wyyyz1DPLPKsWWGCBer0OM9D/K5JmoHNBwEUBFwah - Iz5ZE56BbllWIWSDbowxxphcqWGDHu86Tn0ydcrUKx8kBgvqmO8U1DVT30yd87h99tkns0E/44wzqJke - L2iQ9o7gtXmPUDPNe8drphcTc4mi10xz2UHq+CKCyw46uP9DcNlBB3cuO0g9j192jPnTn/6UORvhxx9/ - 5HcpaQb6dSJpBvqyolY64luW1Ulkg26MMcaYXKlhg85rxruO857xruNXinjXcaLe40844YTMId/DDjuM - mmmamjFijFFjGFai9BhYovYYWqL4RPMxuhjeWqiZntazHCLIELhLPCu4mGi+7Ojdu3fmZ/nYY4/xu9S6 - np/fpXg9PzPQqef3DHTLsgopG3RjjDHG5EoNG3TquuNdx5mVzczsASKp6zhrnvDPf/4z+jTla5tttsGg - jxFEkKlrp76dOveLBHXv1L+TGk49PHXxpIyThl9kg47ZpYkd5pdnSXO70MEdkzzVDu7HHHNMZoN+1lln - 8bsULxf4t+BChYsVLlgOFWLcX/YAAKz6SURBVPHfpVDPX/SGe5ZldSLZoBtjjDEmV2rUoGMqQ9dxRpkR - Yd1CMOKMUWeMPKPr+AOCUWhEaInUTnrqqaeiT1O+VllllXhTM2qxQ1MzOsbT1IwO8nSSp6N8rTQ141nS - II70cdLIW8+TJ92ctPNfdHC/6667oidTvnbcccfWI9aeFoxYu1QkjVgL5QLtcdljWZaVSTboxhhjjMmV - Gjbo1CLPL+KmcneBqTxXXC8eFtQ203WcWue6L7/8Mvo05WvOOeds3dSMGes3iWk1NcP8FrlmOt4NPz6u - bi/BuLphgs/4P/PkxeS2dHD/4x//yGUH2Qh010/KRthPbCsYsbaCqJVyAcuyOpFs0I0xxhiTKzVq0OMz - 0DHCfxN9BKbyWBE3la8KDPWoX/3qV5Ozdh3/+eef+eyhqRmGPzQ14yKACwEuBog6c1HAhUG8qRkXCkVV - 6wZxoRs+M8iZRc5M8vi4OrIHRi+44IKZ58lPnDixNMMMM0zW64TLDr6jcNnBd8fFAN9lyEbg4sAj1izL - Kpxs0I0xxhiTKzVq0ONjwaj1bj0WjBnot4rhgvnazaZy2WWXzdx1fMSIEXx2mpqR3k2aN6nzpNCTSk9K - /RGCFPvNxRqC1HtS8Ive1IxafhrE8V3RII4RcYyKO1jQDf9y8Ytu+FtuuWXm+vMXXnghftkR7+DOZQcp - 9VO77Ch6NoJlWZ1MNujGGGOMyZUaNejTivqGGeitx4KN3XzzzTOPWLv99ttbf3YapvHZaaDGZx8gaFJH - szqa1tFwjSZ2RW5qxsUBFwg0iKNLOrX8oUEcnyc0iLtX8F23NIgbMmRI9GTK16WXXjq1Z9m6gzuXHe7g - bllWYWWDbowxxphcqVGDzuvRMIzGYTQQ21DsIMIM9HjUt2Us2EEHHZQ56nvmmWeGGeh0HWdsG+Pb6DrO - CDK6jjOSjNFkfHYi0Xx2ItNEqIsqotFJDeJCLf9UG8Q9+uij0ZMpX3vvvXdoEMc8eZ4l49sY41bLz9Ky - rE4oG3RjjDHG5EqNGnSMWvxMtIngfRnNdZpgVNc9gtFdjPBqjvoOGzYs+iTla999923ddRzzzyXAZYKu - 41wOxLuOLyrmFN1EURUvFaDrPKUC2wi60VMHTnd66sIfEy21/F26dJk8atSo6MmUr9VXXz0+ro4MBzId - yHgg8+FkwTz5f4gNxEqiFp6lZVmdUDboxhhjjMmVGjTopDiHud2kPoe53aREkxpNijSp0veLF0TLmej+ - +++PPkn52njjjTGVY0UwlU8KTCVN1GimRno9afak25N2v7AoetdxDC/GFwOMEcYQY4xDqQCfjc/IZ+Uz - 03F9zFJLLZW5lr+hoaE0yyyz0A3/Z/GZiI+ru0Awro5eAvQU4MIgPk/eDeIsyyqUbNCNMcYYkys1atDD - iLVlxJqil6Cp2FEipGXTdIy0bJqQkZZd9+6770afpHwtvfTS8RnoNJ6Lm0oa02EqiT5jKmtlBnrrTIRw - tiTFnFRzUs5JPScFvaVUgBnm0WMpW3wHeg0axP0k6Ib/imAc3g1iqBgo9hBhXN0fBePq6NrvBnGWZRVK - NujGGGOMyZUaNOihbhrTxog1TBxmjhnkjFhjJvmN4hER5nb/RFr2pEmTok9SnhobG0szzTRTfCxY6xno - vG+tzUDnooOma3Sap+M8nee3EHSiP0LQmZ5MBL5fmriFs+WEoUOHRk+mfN14443hd+gH8aEgy4Fsh2tE - vBs+a6mlbviWZXVC2aAbY4wxJldq0KCHumki1PG66TBijYg2kW0i3KRPk0b98+9///vMc7u//PLLEPUt - ZywYEf4iz0Dn4iA+S56LBWbJc9FwjODigag20W0+L5+bz1/33HPPRU+mfB1xxBHxZnv0BwjN9ugbQP8A - +gjwO0RfAX6HlhT8DrlBnGVZhZMNujHGGGNypQYNetKItXjddBixFuqmqRkf071798wj1p5++mk+NzPQ - Q9SXGeito761NhYs/hxXED3EtmJfcYJgljwXHcySb7nomHHGGesnTpwYPZny1bNnz1DL/5V4S9Ag7nZx - qaBB3IEi3myPTv107M/zd8iyLCsX2aAbY4wxJldq0KDzWmHE2ipiI7GjOFjER6z9T930brvtlrlu+ppr - ruFzTxB0g2cWOJ+b2eDxz80M9FqK+vIcGV22uGCUWevnSHf6O8TTgq71zRcdK664YuaLDvTb3/52il6H - Wn4Mf7yWnwsBMiC4IKBB3HqCiwOa7dEgrsjN9izL6qSyQTfGGGNMrtSgQQ+NzTDBq4lNBeY4fh7CPLO2 - lhFrgwcPjj5F+Tr++ONDWjZzuzH9mH+ap3EZgJnF1GJuMblcGmB6Mb95fu48RVQ/1J8T7SfqT/Q/dMI/ - Q1wleI5hVB0p6eP32GOPzBcdUakAtfxTaxBHan28QRyp96Tgu0GcZVmFlA26McYYY3Klxgx63Fi2bmx2 - pCDd/FrxgCANnXR00tIn3nzzzdGnKF/9+vWbWlo26fSk1dfa3O6k+nNMMeaYLuqYZerrQyf8jwSd8Cdd - fvnl0VMpX/fdd1/4/UnbII4u/UWv5bcsqxPLBt0YY4wxuVJjBj3ewZ3xW2uLLUXcWIbGZkRnidI2NzZ7 - /fXXo09RvlZeeeXWI9aoy75VhLTsMLebtOz43O6ipmWnrT8PjfboXE8H+8nvvfde9FTK18CBA+OZCO8K - GsSRicA4N8a6Md6N3594qcBvBXPvLcuyCicbdGOMMcbkSo0Z9Kl1cN9bHCfo4H6zeEy0NDbr1q1b/eTJ - k6NPUZ4aGhpKM888c71eJ4xYe1UkjVijA/rfxJ9E0dOy4/PPp1d/TsZAc/35Ioss0hA9lkxabbXVyEQY - E70eDfxo5EdDv3gmAg3iQiaCG8RZllVo2aAbY4wxJldqzKAndXDfToQO7heLeAf3L8SY5ZdfPrOxJGKs - 10gasXadYMTaUaL1iLXfiaLOQCdVnJRxUsdblwlQf36mCPXnfL80xWuuP99rr70y15+PGjWq1LVr16ld - dJwvBgkuWrhw4eKFC5iiZyJYltXJZYNujDHGmFypMYPO64TO49Pq4P6MaOng3q9fv8zG8rbbbgufmbpp - PjN103zmqwVmFlMbRqz9VRR9xFo8C4FoP1H/+PzzeJlAmH/eXH9+xx13RE+lfN1+++08R0bV8VrUtNMj - 4EFBz4DWFx2ULlDCQCmDG8RZllVY2aAbY4wxJldqyKBjdqlFpiZ5KRE6uO8sBgjev3Xkt7mD+5lnnhl9 - gvJ13HHHhbpposh0M6du+m5xpaBu+lCR9JmLOmKNxnWkjdPIjjRy0snDHPkTxUWC+nrq7Km3b5l/Pnr0 - 6OiplK+999476TneI+K/O3yXm4lauOiwLMuyQTfGGGNMvtSYQQ+p2XT3XlP0Ev0F0dezRbyDe0vn8Uce - eST6BOVrq622indwZx44ddnUZ18qThEHCuqme4qVRZHrppMuOWjIxndGgzYuHMhCoHEbWQh8XrIQxq6z - zjptmn++5JJL0mgvXn8eOuHzHE8WPMcdxIYiPqquyLPkLcvq5LJBN8YYY0yu1JBBbz0aLJ6aTaM2Grbd - KB4RI8Sngnnbk7/99tvoE5SvyFiGDu5viCcEEWYizXQ8p/M5HdDphE5H9IVFUeumQxd8auSpladmnpRy - UssZU8clByPPGH32vAjnyQmnnHJK9ETK16effsrvTZh/HurPaeRHQz/qz2nw17oTPs+RfgOuP7csq7Cy - QTfGGGNMrtSQQceoYXwxbhg4jByGDoPMqDNGg8VTszHUo+ebb74p0fLL1vjx40tdunTBWCY1NhsmuBjY - S2wtaqGDe2iyF3+GNGXDHNOkjc/EZ+MzMqaOS47mMXUvvfRS9FTKF7PT9Rqhjp/550n157sLRua5/tyy - rJqRDboxxhhjcqWGDDq103MKUshJJSelnNRyUqNJNSdVmpTpMBqMlPSxPXv2zJya/eKLL/J5aWwWOri/ - JOId3I8WSR3cScUnnbxo4nuIN9kjnZy08vAMGXfWugv+6N/+9rdTGhuzZ7jrfEn9+TgRn38e6vhPE/ze - UH9OTwHXn1uWVTOyQTfGGGNMrtSQQQ+zu5cUvHaonaZJGyYPs4fpw/xhAjGD4wcMGJC5g/uVV17Z+vOS - 9s3nbd3BvRYam7EeLg7mE2G8Gp3nWf8AcYbge6RxW/wZjtthhx0yP0OM/TzzzDNFr0OZAIafMoH4/HPq - z8P881DHH+rP8/i9sSzLajfZoBtjjDEmV2rEoGMuMb1xcxlmdx8hzhKhdpoxaC3noGuvvTZaffk6+OCD - Q+fxeOSXBmpXCBqq0Vitr+Dzrir4vEVtbNZ6vNq6ovV4tesFGQJkCtBkj5T0SW15hq+88gq/M8yRp/78 - E0HqPCn09AsgpX5a889Zs2VZVmFlg26MMcaYXKkRgx6am1GXTH3yOmIrsYdImt2NEWyunX799dej1Zev - 9ddfP3Rwp/M4afOh83jryC+jyhhZxugy0vBJxy+awni1UCIwtfFqj4vXBOPVRnXp0qW+LU32TjvtNH5n - JojwO0MWAhcpXKjQlI7mdEllAnzfrj+3LKvQskE3xhhjTK7UiEEnkkpElchqvEEczc1Cg7hbRNxc/tyt - W7f6yZMnR6svX/POO2+9XofUbF6PxnO8Pu9zgeB9W3ceL2rkN2QgkH5PGj7p+NR77yT4zigRICsgPl6t - uYZ/xRVXbNN4tQ022IAsBC45GNf2juD1W2ch8DtDyQJj3xj/xhg4xsGxbsuyrMLKBt0YY4wxuVIjBn1a - DeKIZIcGcUS4iXQT8R6z/PLLZzaX3333HZ81jAajmzmp2YxwI1JPxJ7IPRF8IvlE9Bn9VtQO7qyH9PYw - oi6egUCjOxrehRnyoUTgOzHhqKOOylx/PnHixNKvfvUrLjl+FnTV55KDLvthTB2ReyL4RPLjWQhE+ouY - hWBZlvU/skE3xhhjTK7UiEGPN4gjypqmQdy4vn37ZjaXjz32GJ+VDu7x0WAYWIwsNe+kZvcX1MJTE7+M - mF8UsYN7SG/H/GKCMcPbif0Es9zJCCAzgNnkjJJrGa/2xBNPRE+kfD366KM8Q+rPQxd8yg8oQ+CSg7n1 - XHIwpo5aeGriqY2nRp7LBNefW5ZVeNmgG2OMMSZXasCgY3YxvZhfGsStKXoJzDEmeaoN4s4666xo5eWL - n9VrUDv9rXhP/FvQ4ZzPGkaDkSJOqnjr1OwiiecX0ttZYzy9nQsO0swvF3eKMKKODITRs88++5S2lAgc - ccQRocke0fj3Bb8v94qrROiCT6M/Ljn4Xot8yWFZlvUL2aAbY4wxJldqwKCTnk3aeEjP/puIdx8nEktE - lvRz0tBbGsQ9++yz0crL19Zbbx1qp6nFpiYb83qHuEwwM5z0emaIM0s8jAYjSt3WbIG8Fbq3x9PbtxS7 - C9LbadQWLjho4Mb3iqEe369fv8wZCGillVaiyd4Y0brJHiUJg8XBYkexkYj/vhSxC75lWdYvZINujDHG - mFypAYM+o/iNWESsIHqIbUVIzw7dx6ltpsa5uUEctc91dXXRysvXggsuGGZ3t66dpiEd77uvYB2sh3Wx - PtbJeosknj2j36aV3n6zYPTZCNGS3v7QQw9FT6N8/fDDD6UuXbqEGv7/Cl6bFPqbxPniOJH0DIvaBd+y - LOsXskE3xhhjTK7UgEEPBpMI9SqCaCtR14MEUVgi2kS2iXC3dB9fa621MjeI+/zzz/mcSQ3imN0daqeJ - 4BPJJ6JP7TQR6qLVTof0dubHt+7ePs309vnmm2+KFD2R8nXVVVfFf1eo4af8gBr+MF7tKEEUn2g+UX3G - 54Vn6PFqlmXVhGzQjTHGGJMrBTfowWCG8WCri83ELmKAOENQz0xdMzXi1DlTMz7+yCOPzJyefcstt/A5 - p9YgLszupgaeWvgi106H8XQ0XuMSgcuEpO7trdPbJxx44IFtSm/fcMMN4+PVuDhhvBoXAVwIcDHABUGo - 4efigO+XiwS+7yI9Q8uyrKnKBt0YY4wxuVJwgx7qzxcQRFjXFvH66XPFdeJB8ZL4SPwoJt1zzz3RqsvX - IYccEpqbtW4QR7f46TWIK5K5DNkH8fF0jDRjtBnp7WF+PKnnpKCTit6c3v78889HT6N8ff/996UZZpiB - 8WqjBCUHzKYPM+RDiUB8vBprY42sNevvimVZVsVlg26MMcaYXCm4QQ8R4IXF8mI98Xexj6CGOdRPh/Fg - GExM4eSRI0dGqy5fq6+++rSam9VKgzguCuLd7xkFR/bBzoLviYuGK8Rdgug2n5PygDFLLrlkQ/QoMumC - Cy4IvyfxDAQuUbhM4VJloKBEgGh+KBEgys93XbQafsuyrKnKBt0YY4wxuVJwg87PYXzjEeDtBQb5ZHGJ - wDhjoN8UGOoxyy67bGaDSWO5mWaaiejvzyIp+nu8oLkZFwVcGHBxwAVC0RrEheZ6vxd/FswZj3e/j2cf - UB+OkeZ7nXDccce1Kb2d+n+9Tkhvf0c8K5hTz4VAyEDgooALA8oWuEAIJQKuP7csq2Zkg26MMcaYXCmw - QScCTMo4qeOt53fzPhg9Us4xfs+Jd8U3Yvzuu++e2WD+5z//4TPWCVK9PxYvi4cFo9yGCqK/1HAT/aW5 - GaPLaG5GKn6RzCWjynj2RPdXFUT7ifpzuXGSCN3vuXwg+4DLCJriTX7//fejp1G++B2Jure3Tm/nvXjP - E8UBgosWLlxo/McaWavHq1mWVVOyQTfGGGNMrhTcoM8mfieWFWuJ3mI3QQfw0OCM5m0hAkxK9cSrr746 - WnH5Ouecc/iME0T4jDRP4zNeLc4UR4hdxRaCtHGivzQ3K1KDOC4K4s+ORnasl3UfLviuwuUG0W2i3ES7 - x6666qqZu9+jM844I/47Mq30dqL5RPWJ7hPlL+KIOsuyrGnKBt0YY4wxuVJggx7qz0OKdnexjdhbDBLM - 0mamdnx+d3ME+MMPP4xWXL50FqJB3DgRT8+mTpv07CHiENFXhM+4pCha9BejyzxxUu+ZL04qPs+O2n2e - HaPiyAh4SGCgaa7XfG4899xzoyeRTSuttFI8vT10b4+ntw8QdOHfXIQLDqe3W5ZVk7JBN8YYY0yuFNig - dxNJ9eekR4f683+JJ8Ub4gvRPL87Wm4m/f73v5/C60Svx+s+IW4TFwtSw+Pdx1cSiwrMMOstgojiUxrA - aDpKA+gyv4ngUuFgQZO78Oz4bK+Lz8Worl271n/zzTfRkyhf7733Hr8fYX48DftInXd6u2VZHVY26MYY - Y4zJlQIb9Hj9OSYz1J8zPztef06EO9Sfj+vTp0/m+vMvv/wyGEzqp4nIE5knQk+kfpgg+kwEf2sRT8+e - QxDxL4JYB+uhLp7u6NTJh9F0lAacJUjXD7PjW55dz54929Qc7vjjjyf7IJQHkN5O6QElCNNLbydToijP - z7IsK7Vs0I0xxhiTKwU16ESBp1V/frZoXX/efO45++yzo9WWr3/96198vkkiPh6M9+C9eE/emzWwFtbE - 2lgja2XNRRDPemqzz+lAT2kAo+keETTA+0TweSe1pXYfLb300g16HcbTMa4tpLeH8oDpdW8vyvOzLMtK - LRt0Y4wxxuRKQQ161vrzuhdeeCFabfk67LDDiACPF9+K9wTd4YnSE60PBpMoPtF8usoT3SfKT7S/CAYz - 3hxuGUGNN7Xe1HwPEKeKy8Wd4mnBaDpS+X+eeeaZ68eMGRM9ifI1YsSIkH0QT29nPn0YT3eCCOUBXBpw - ecAlApcJ5f5+WJZlFUI26MYYY4zJlYIadP789Oafh/rzYDJHzzLLLFPq6+uj1ZavNdZYgwZnRICZp87r - Ml+dOeu8H+/L+zOqLBhM6qdZZ1EMJnXw1MMvIuLN4bjYOFaE2ech84DvkMuI8ToDtim9/fDDDw/p7d9F - r0v3+5B9QMf9o0UYT/c3Qfr9QsLp7ZZl1axs0I0xxhiTKwU06ESiZxE0OfuDIFJNSjSp0eHMkzT/fNzG - G2+c2WQSPZ5xxhnr9TrUn8cjwKSDXyCOE3RB/7vA+C4v6JJelPFg4bkx8i2pORwXDDS6o+HdcMHn43M2 - Zx48+uij0ZMoX01NTaWFF16Y5nrhcuMtQYSeSD0ReyL39A4I2Qekt/PdslbWXITsA8uyrLJlg26MMcaY - XCmgQSdNe3axgPijiDc5IwpLNJYoMLO1qRFvmX8+dOjQaKXl6+677+azUX/+o2DsWHx+d4gAswbWsrZg - bayRtRZhPBiXBKEsgOg0Uep4czhmuF8laA7HxUbL7PPllluuIXoMmfTMM8/w7OrESEG5wSuC8gMuNyhH - oPZ9P7GdoPs92Qd0v3d6u2VZNS0bdGOMMcbkSgENOkaTqHRI0+4hthX7Cowe0WyMH9HteBR4MmO+smr/ - /fdvXX9Oh/N7RPyzxRucEQEmyl+ECDDvH7re88xXFRsK6r0Za0b9d3huoTncx6K5Odyll14aPYVs2nff - fVs/u/B7Qbd4usZzQRAuN7hw4QKBLvNF6n5vWZZVtmzQjTHGGJMrBTTozMMO5x2M5kZiR3GQGCwuFXcI - 6sNJpSalesyiiy7apvnnyyyzTOhAHlK0Q/0578fs8FB/jvEN87uJABdhfnd8tBqRfTrM9xK7isMFDe7o - pE5H9dAcjs85eq655qqfMGFC9BTK15QpU0rzzjsv6e0/izA7nt4A4dnxnR0i+L0g5T4013N6u2VZNS8b - dGOMMcbkSsEMOmaNkVuM3qIL+ZpiCxGMZjxNmwg30drmJmd777135vrzL774gs8V5p/XYv05zzc+Wm19 - EbIO6Hp/nrhBPCRCWQDN3CYceeSRbWoO98ADD/Dswmg6ovIviYcF78f78v7h2ZENsaIgvZ3mejS1syzL - qlnZoBtjjDEmVwpm0MN4Nbp7kwa9rugj9hLHiKEC44cBDGna1IxPooY8q/75z3+Gz4XJrLX686TRaqTh - 05CNxmwh64CINpHt18VnYtQMM8ww+fPPP4+eQjZtuummdL4fK6hnp679WREvDThC9BdE9Ins8+yc3m5Z - VoeQDboxxhhjcqVgBp2IahivtpKgoRh11MzPPlFcJG4VdCEPRvPnbt261Y8dOzZaZfnaYYcdqKEeJ+gG - T1f4+Pzz8LmKWn8enll8tNrWIlxqcMHAqLP7Bd8XWQfNXe/13bcpev7BBx+UunTp0nr2+eOC74jv6iQR - SgMoVeB3YknBsyvK7HjLsqzMskE3xhhjTK4UyKBj1jC8mDdqlKlVZiRXiATH66ifES1dyNdbb73GaIll - ixFhUQ31aEENNfXZRJqZs540/zxef5724qG9xDOjJIB67jCSLmm0GoYZ44yBpss63dbrnn322egpZNMB - BxwQmsORLv++YPY5FwFh9vlAsacgC6K7CKUBzGp3ertlWTUvG3RjjDHG5EqBDHrr8WqkksfHhIVI8APi - BRHOOhNOP/30aIXl67XXXuMzhSgw5nWEYETYTWKYoIZ6b7GNCCaTUWak4le7/jx0vMf0sq5QErCHIC2f - mn06qf9itNoqq6yS+VIDjR49ujT77LMzNz7eHI7GejTwu0wMEWH2OZkHpN6Tgk8qPin5RRhNZ1mW1SbZ - oBtjjDEmVwpk0DGbRFanNl6Nedo0bcM8Y6Ix083j1V5//fVoheXrzDPPbP2ZMP9Ega8RZ4sjxW6it6CG - ellRBJPZOuNgNUEaOZF+Iv6UBFwowjP7n9Fq11xzTfQEsuncc8+NPzfq9kNzuBsFFxs01uO74zsMs88p - XeD3gc73rN+yLKumZYNujDHGmFwpkEGPj1cL55yQqt16vFrLmLAFFligTePVNtpoI9K0403OSJ8njZ50 - +lNFiAKTOo4Jxgwzb7zaNdRcaBDFJ5pPQ72/CTIOuEzgUuEMwfdCLT2fKYykGz3ffPNNqauri55A+Wps - bCwtscQSYSzdV+JtQXO4eN3+EYLmcFxskA2xnKD5H2t2czjLsjqEbNCNMcYYkysFMegY3dCJnAh1mOON - wcPohfFq4ZzTMl5t1113zdzoDJM6yyyzhDTtzwWN52hAF5qcEYWmQR2N6ogC07iOKHC1R4TxvLggIHpO - 0zWeNfPZtxcHiBMEGQek6RPVJrpNlJvvbcLxxx/fpuZw99xzD78HjFajg/4n4hXBWLpbBFF7ntvUmsN5 - 9rllWR1GNujGGGOMyZWCGPRQS000mFpqar2p+ab2O8zxJnX6F+PVbrnllmh15evxxx/n89RFr8Vr8tph - hjcj3eiCTjd06rqp7yZSXYQocIieh3F06wgi1eFCIzTUu1OEjAMuIH6eaaaZ6r/99tvoCWTT+uuvH0ar - ha73zKTn94CygLME9e/UwYfn5uZwlmV1SNmgG2OMMSZXCmLQQ3o73dFXFUSDQy01ncjppk5X9ScEzcia - zeYMM8xQ/9NPP0WrK19HHXVU6EJONJ4u5BhNGqoRrSdqf7jYVWwh1hQ0OZtf0Dm9WlFg3pcoNGn2RKV5 - XnSXD+PoqNenBpxLhodEaKhHp/Xx/fr1a1P0/K233uJ3ID5a7TVB1kHoen+KOETwe0AXfsbSLS3Cc3Nz - OMuyOoxs0I0xxhiTKwUw6BhOjBsGDgOMEd5cYIwxyKGW+h5BJ3Iits1zvNdaa602dSJfccUViQRTR01t - NjXaRJtvF9S7YzQPEjsK0rQxwuHzcKFQLcWj59R1h+h5eF5Ezy8X1OszLo4LDebFjxKTX3755ejTZ9Oe - e+4Zv9Tgd4DRanTWv06cK44VZD78XdDob0WxqKAsYHoXNZZlWTUlG3RjjDHG5EoBDHq82dmfBentWwtS - y0kxJ9X8ekE0ONRS04l84jnnnBOtrHx9+umn8Uhw6/Fq1G+HLuTBaNJZng7z1UzTDtHzUHsej57vJ1gz - 5QBEzx8URM/JDMBMj9tss83adKFBtkKrmv34aDUuBWiqN0DsIrhk4bKFngKMzmOEnqPnlmV1KNmgG2OM - MSZXCmDQ4+ntq4jQ7Iz09pPExeI2QRo16dTN0eAuXbrUf/HFF9HKytfZZ58d/ywfCswskeAwXo3Z68xg - pzM6XciZzV5to9m6czvRc5rpheg5BjkePafpHc+LS4i6V155Jfr02cS8eb1OeGZJo9VIr+eiYDtBUz2+ - T75Xvl+PVrMsq8PJBt0YY4wxuVJlg45hi6e3ryGIvBKBJRLLazK2i/FdjPFiDBrj0MauueaabYoGkx7P - 60Svx5iwMF4tRILDeDXqqP8q/iCq2YWc92wdPecyo3X0nGwDoueknrdEz7faaqs2Pa8pU6aUFl544Sl6 - rdEilASEZ5Y0Wo3LA49WsyyrQ8sG3RhjjDG5UmWDHu/eTno7Hb/p/B3S26lpDobzRRFGhU0899xzo1WV - r2+++aZEBF6vQ102EWYi848LxquFMWFJ49XmFtPKBmhPxZ9V687tSbXnRM9p4vaTPmvdm2++GX36bLrt - ttv47luPVqMk4GZxgfBoNcuyOp1s0I0xxhiTK1U26FNLb2eWN+ntzCLHNP8ivf3LL7+MVlW+Lr744vA5 - qGXH9GP+uQQIjc4Gij0FlwV/E9UerxaPni8leLbhWXGRMM3o+Xbbbdem6DlaZ5114hkHZDLQsI/GfaHj - fRittpWIj1bjUoHLBcuyrA4nG3RjjDHG5EoVDTp13JnS29vavb1nz550Ih8XvR6vy+vzPiFVm/cPjc5Y - V3xMWDUiwTSlw+hieMk04NKA2vjdxBEiKXreXHvetWvXye+99170ybNpxIgRfO/Mix8pQkO9kHHAJQqj - 8A4WfcUmIpQEeLSaZVkdWjboxhhjjMmVKhr0eMo20dapdW//RXr70KFDoxWVr1GjRpVmnHHGkN5OJ3LM - LBF6GtHRkI7IPanaRKeJUrdudFZpxS8yML2rCVLISSUn0yBp7nmIno/faaed2jT3HO2www5Ez8OFBmPu - mBfP9x4a6pFxwPfG97eeYLQaHe89Ws2yrA4tG3RjjDHG5EoVDXo8vT00PMN0hu7tRGYTu7d/9dVX0YrK - 1zXXXMNnoJaa9PaPBZ3IMbYYXC4FuBwIZpNLAy4PuESoVqo2zw6jyyxxRr2xJtLI6TB/pGBO/BXiTsHI - s5a55zPOOOPkjz76KPrk2fTWW2+VunbtSvScTvDUtL8q4hcazIs/RNBQbzNBxgEZEb8THq1mWVaHlg26 - McYYY3KlSgYd0zabwMRh5piXvYUI48J4rcT09rXXXrtN6e29e/cO6e3fCKLBoZaaz4DZ5f1ZB+thXcFs - st5Km03q3TG54TmtLkghJ5Wciwwas9GgjTFnjDsj04DvpTl6vvvuu7c5et6nT58QPed5vSf4zu8X14pz - xLFibxHmxccb6nm0mmVZHVo26MYYY4zJlSoZ9JDeTk01UWHSorcRGD0MX0hvJ7JNhJv0diLeE4cNGxat - pnyNHz++NPPMM5Pe/rMI6e1PiH+JSwS11AeJ0ImcyH74DJVOb8fY8p4YXbIMML4YYJ4TDexoykZzNp49 - o86eFm8KPteomWaaaTLfV1v08ssv833Ho+dkMhA9D89rsOA731lQr8+FxrJiQTGH8Gg1y7I6tGzQjTHG - GJMrVTDowXj+VjCGiz+HGd5RYI4xyaROYwIxz6HhWZvT21uNCiO9/WVB5Jn0drqgh2gwJphLg2p2Iuf9 - MLmY3T8KzC8mmFRyGrLxnCgDYMzZI4KLjA/Fd2L8vvvu2+bo+cYbbzy16Hnods/z2kdsK9YXK4tQrz+z - cPTcsqwOLRt0Y4wxxuRKFQw6aeKkbS8gMJ5riV6Ced5HCNLMGd1F2jnp56ShN6e3M+orWkombb/99knp - 7fcK1s/78v4hvZ11EQ2uRno77xXGqnGJQaM65rFjhLlAoE6e9PKrBc+JMoC3xBfi55lnnnlyWy4y0DPP - PBOi56Fzezx6fqkYIkL0PDwvvk8uFBhHV416fcuyrIrKBt0YY4wxuVIFg87IMJqe0eWbbt+kbVO/vK9g - njcdyUNNNRFuIt2kt086//zzo5WUr7q6utIcc8wxRa8T0ttpppaU3k4kP57eTqS/0rXUPK85RRirto7g - EoPLA54x5pg1M+bsMfGKCGUAEw4++OA2R8/1uxGfe54UPR8kQvScywMuEcLzcvTcsqxOIRt0Y4wxxuRK - TgadiHc8Ah3qkcP8cCLQRFQx5yFtm+g0f4bO36Rt0wmcmmais7cL5nljojHTP3ft2rX+66+/jlZSvu6/ - //6k9HZSw28SNFo7Qewv/iF6itbp2qw/b6jRbg3nPVLqwzOiMRxnPsa+7Se4xKBGnyZtGGZGntFE70sx - etZZZ63/7rvvok+dTQ8//HB4ViF6Hjq3t46eMys+Hj1fSDh6bllWp5ENujHGGGNypY0G/XnxgMAshprk - 0NE7XpNMqjamk4ZnjCzDeP5VEKneThCJDWnbzNYO5xkit6Sjj9t4443bFBX+xz/+EdLb6XDOnHA6nhOl - x6BfKBjtFiLodEpnfVwwkIpPNBvj2R5wYRHgfxOBJrtgOcEaGD/H89xDMFaNM9/lgksMMgAwz58ILh4m - nnLKKdEnzq6//OUv8eh5mHseOre3rj139NyyrE4rG3RjjDHG5EobDDoNyTC5RKFpVEbDMmZiHyqIrG4p - mNlN9/GlBKaT/6RrO5FzzDkGD+PJaLN42vajgrRtorcYz7rbb789WkX5Gj16dOjePlqElO0XBGu/RRAV - PlWwjt0Ec8bjayfVnIuF9oZZ51wK8L5rC856PCNmnnPe4/mGsWoPCj5DuMQY+4c//KGBVP626M4774xH - zzH+XAA8Lph73rpzu6PnlmV1atmgG2OMMSZXMhp0ap1JEx8hiOLeKTiHEAGnNvkAQdp6b0GN+WoC00m6 - Nt3RSYEnlRxzPkBQ/03tOfXNNG0LTc+a07bnm2++KfX19dEqytdll13Guml4Rv35V4IIOl3Pqd8mEs3a - zxasnTR35oyzxr8JosNcKrSGDu95wmvyXhheotLUnDPujZFqPCMi/HSaJ8OA+fCMVaMEoLnDvagjNb0t - amxsLP35z39u0GuNETynED3nfMn7hrnn8eg5WRKcTUMpgKPnlmV1GtmgG2OMMSZXMhp0oqvMxWbuNp3Q - SXMnVZwIK2eSgQKTTpR1a0HKOHXdmF5GmGHeMXlErDHn1FRTx36HIFpLfXgYGTbh8MMPb1N6+1prrUXK - NlFhDDoRdM5JXC5Q586FADPXSXMnik8aOWn6mGMixKTqc6nQ3vA+nO241CDtn1p+as5ZD5FzzPnUntH4 - rbfeus2N4W644YYQPSdrgeg5z4j3IqshRM/JkAhzz+Od20nRp4besiyr08gG3RhjjDG5ksGgY+CI2BLd - Jr0ao0gDMaK6RMAxuqcJIq3M6yZKznkFw0vqO+aXhnDUnGOIiZxzhqEBGTXhnGPeFjSH+0lMfv/996MV - lK+PPvqINRMV5mIBg046ONF/os9cLvCevDdr4KKACwMuDrhAYN1EioE68PaEjALejxR7OtoTNSeiz7Mk - rZ2RakT7Scun9r+lMdxss81W/8UXX0SfOJumTJlSWmqppeLRc14/jKEL0XO+s6QeA46eW5bVKWWDbowx - xphcyWDQJwtMHJFboqxE0Tl7UDdOqjsm/WJxljhRHCUw5Jh1jC/GnYgwKeX8ORqPYTwxyhjC1wUGmtcf - 19bZ54MGDQoGnYsF1s35iLRwDCiXC0TROT9RR3+FwKSzvqMFTeOIYlcCMg6IThMxp1M7lxeshfp4Ivw8 - W54xz5r0fzIYmhvDnXbaadGnza7LL7+c5xQvX6AHACUARM/5nngmfI9kP9B5nz4CNPtz9NyyrE4rG3Rj - jDHG5EoGg84s8fGCNHciuJw5XhOYa6K7d4kbBGb3fHGmIDUaOK/QBZyGcpxbSIsn8o7x5Od5HdK2SUMn - Sj/p2muvjd69fDU1NZUWXXTRYNC5WKCLO+smQszccKLoRKNJ4yZSjEm/UrBuxsYRTeeSIS2MassK74Up - 53mRVYAxJ3KNQeZ8R5YCa+VChIsRLjDGLrvssg1tqc9HNJZbeOGF+V5posd3SgYDfQB4JkTuuUyhbGEv - QYkCfQXoKUD0nM78lZ4Tb1mWVQjZoBtjjDEmVzIY9NbRaFLRabpGt28aimF2OY+QNk7kl/PJZRGYXyLm - GGEiwnQip8kcxpPIOeYcg4iJHv+b3/xmyoQJE6J3L19PPPEE6wVq0OniPkGQ5o65JYoeLhc4O2GAWTfd - yskCYJQZkWMuEyoBNd68J3XmXHDcJu4RXHrQEI6mdhhnzDmj4jDTdY8//nj0abNr2LBhPKMQPefigswC - Lk3ocM/auDwgA4JzJ9HzNQTRc0bQzS4cPbcsq1PKBt0YY4wxuZLBoDNPfGpml4g0o9cwlKRH0zyOCDmN - zYD/zjxtTCep5Rh6UqkxnqRVE9nGnBPpnrzvvvu2qfHZLrvsEgw6a+ZigU7uvDa17Zhc1s3lApcDjCx7 - SrA2Isesl0uGvMF4J8H/x6UFppyLC57fM4J1sT7WyXpZN899ErPdo4+aWWPHji3NP//8YQTdF4L0ed6X - 74qzJaUKpPvTTT5Ez1cUiwlHzy3L6tSyQTfGGGNMrmQw6BBSxkl1DyYdc4fJprabqDQRXww4Zg/jC/x3 - /hkmnog7ZpAzC8aT5m3BnGOkG0aMGBG9c/kaP358afbZZw/rhRBFJ/o/VsRNOpF71kLXcqL5rJMLhErD - xQap5ayBiwsuPBh1RtSczAIi3BjpifpsU7766qvo02bXwQcfzOUFly18hzwHvjf6AVB+QHM6xrtRi8/o - uU0Fo/KWEY6eW5bV6WWDbowxxphcyWjQ4xFpzB2mkYZlmGxS3jHqnEUw60THMb/Af8dw8v/xZzDH1Jtj - PDH6GP5mc77yyiu3KTpM7bpeJ05YMyaddO5g0jGmmN9PBetifayVWu+8wGingT/LM6I7PqnmrIm1sUbW - ypq5YJhy1llnRZ80u1577bXSDDPMwEUL9f58F6yBixQi+ZQjUIdP0zo68fcRjIMjer6oCNFzy7KsTisb - dGOMMcbkSkaDnmR4iXxjsomCcwYhOo35Jm09Dv+M/48/w5/lZ/hZXoPX4jWbLrroouhds2mDDTaIrzVp - zRhdLgS4XMD8sh4uGFgjprha8P6sA1POxQXmGWPORQhmuuFPf/pTE2PR2iIa6K2xxhpkFfDseT9S6Emn - J72eGnga1dG8ju7yOwrOnX8VS4vfidlEV2FZltVpZYNujDHGmFxpg0EPhheTRwdwzCOmFyOJ6QOMZRL8 - f5hjTDkR8xZjDrPMMktp9OjR0buWL2aCd+3atfVaA2HNvF/rNcfXSBO8ahGeEetifayTZ8y6m5566qno - k2bXZZddxrPgtbkkIVJPWQIN+xh5R0M/5q8zFo+57FuKdcXyguj5XIJzqWVZVqeWDboxxhhjcqUcg05D - sUsvvbSZSy65pIWLL744QOS7hQsvvLCFCy64oIXzzz+/hWHDhkFzJ/Hzzjuvmdtvvz16x2x68803S8wG - D5x66qktDBkyJE7T4MGDWzjllFNa0xg4+eST/4eTTjqphRNPPPF/OOGEE1o4/vjjWzjuuOP+h0GDBrVw - 7LHH/g/HHHNM48CBA6Hp6KOPDpTamlmAfvjhh9Jcc83FpQiXAUTsKUWgNwAN/Oiyz/z1QYL57P8QGwnO - nn8Q8wtHzy3LsiQbdGOMMcbkSjkG3eoY2mWXXcgiIDrPWZFadxrS0TWemeuMe2Nm/aFiF9FLrCP+LBYW - cwpHzy3LsiQbdGOMMcbkig1659LTTz9NajtlBaExHI3pwlg1ZrCfLQaKvcW2YgOxilhSzCtmFY6eW5Zl - STboxhhjjMkVG/TOo/r6+tJyyy1H7T017vHGcA+JG0V8rBpnzM3EmuKPYiHxa9FNWJZlWZINujHGGGNy - xQa98+j0008nek5jPkbiMVs9NIa7Q1wuOE+GsWpbC8aqrSQWF5xBZxZdhGVZliXZoBtjjDEmV2zQO4c+ - //zz0qyzzkpjOMbKMc6Nees0huPsSGO488RxYn+xg+CcyVi1ZQRj1WYXMwjLsiwrkg26McYYY3LFBr1z - qHfv3jSGY7Qd89U/FC+LR8Ut4mJBYzjOlLuK3uJvgrFqiwg3hrMsy0qQDboxxhhjcsUGvePr3nvvDY3h - fhI0hntDPC3uEpwfkxrDrSqWEm4MZ1mWNRXZoBtjjDEmV2zQO7YmTJhQWnTRRafoTEhjuK/Fe+J58aC4 - QdAY7kQxrcZwMwrLsiyrlWzQjTHGGJMrNugdW0cffTSp7TSG+0F8LEaI4eJf4jJxmjhC7C76CBrDrSgW - E3MLN4azLMuaimzQjTHGGJMrNugdV++8806pW7duk3Ue/Fl8Lt4Sz4p7xTXiXDFI7Ce2FxuJ1cTSwo3h - LMuypiMbdGOMMcbkig16x1RjY2NprbXWatRZcJz4VjDz/EXxsLhZXCROEYeIXUQvsY74s1hYuDGcZVnW - dGSDbowxxphcsUHvmDrnnHOmNfP8CnGmOErsKbYR64tVxJKCxnCzCDeGsyzLmoZs0I0xxhiTKzboHU9v - v/12aeaZZw6p7V8IZp4/Jzgnhpnnx4sDxI5iU7GGWFYsKOYQbgxnWZY1HdmgG2OMMSZXbNA7liZNmlRa - fvnl46ntnAlfEo+I1jPP+4stxbpiBbGooDHcr0QXYVmWZU1DNujGGGOMyZVyDPr3339f2nTTTZvZbLPN - Wth8881b2GKLLVro1atXM717925hyy23bObUU0+NXjWbxo4dW9pxxx1L22+/PTTtsMMO0Aj65w19+/Zt - oV+/fi3stNNOLey8884t7LLLLi3suuuuLUT/uzHQv3//FnbbbbcWdt99d2iCPfbYoxRnzz33bGGvvfZq - Ye+9927msMMOK9XV1UWfrG064IADQtf2eGr7k4LU9ivFWeJoEWae9xTMPP+DmF/MJpzablmWlUI26MYY - Y4zJlXIM+meffUZdcy4899xz0atm05AhQ3gdzCjRYuZ8k9KNMR0vmPk9RowWpHkH+N95w3tNEJMEa2gQ - rIm1/eJzt6ZLly6lf/3rX9Gnapvuu+8+XrNOjBKkttO1PaS2Xyfiqe19RZh5vpz4vfiN6CYsy7KsFLJB - N8YYY0yuVMOgb7XVVtErZtO4ceNK88wzDwYYM4wpxiBjyDGmzPsmtfsrgUllvFh78KX4RnDe+knw/qwD - g1wvWNt0Tfrxxx8ffaq26ZtvvinNO++8XFRwYfC1eE/Eu7a3Tm3fSnQXzDxfXHDGpDGcU9sty7JSygbd - GGOMMblSaYM+wwwzlN57773oFbPptNNO47Uwo5hhDCkG+TuBaSat+0PxriCC/LogzTtP3hS8/kfiM4FR - J6WciDq130TTp2vS+/TpU2pqaoo+VXbxGhtuuCFRe7IHOP99LEaI4eJ2Ebq2k9q+lwip7ZwnQ2q7Z55b - lmWVKRt0Y4wxxuRKpQ06tddt0fjx40u//e1vMb6YYKLWGGOi5RhzTDOG/GXBeegZQf01RvXxMuDPTw1e - j7Rx3gOjznzx/wqi1kTvSaXHKHN5wCUCxvkXz2H55ZdvzgTIQ2eddRavyfPgooILgzcEn/0eQdf2oeI4 - Ma3Uds6ZlmVZVhmyQTfGGGNMrlTSoM8222zNqdht0ZlnnslrYX4x55x1SDfn3IMpJaUbY/qYeEDcLYgg - 3yroYN5WbhO8JmnjT4kXBBcCcZM+UrA26uFDTfr/RNHnmWee0qeffhp9orbplVdeKc0000y8D9F7Mgje - Ec+LB8WN4kJxijhU7CpC13ZS2xcTTm23LMvKKBt0Y4wxxuRKJQ36oEGDolfKpgkTJpTmm28+UsdJayda - TbSYqDnp3M+KR8W9AiN9veBsdKm4SJzfRjC6lwtel47oGGBMOpcCXA5w9uKygFR7auFJdf9FFH3GGWcs - PfHEE9EnapvIJlh66aW5AIiPVCOyzwUFz+AywRnxSLGn+LvYQMS7tju13bIsK6Ns0I0xxhiTK5Uy6PPO - O2/zaLS26Oyzz+a1aMRGlBozjDnHkGKUiZj/S9CtHGM6TFB3TWO0EwUp3oOi/ywXOp/zOucIDD8m/U7B - bHEi9q8IItek2YcoOpcIoRa9xaBfeOGF0adpu3bbbTci861HqvEs7hJXCdZ7rNhP7CA2EWuIP4qFhLu2 - W5ZltUE26MYYY4zJlUoZ9AsuuCB6lWyaOHFiaf7558fskspNzTlp5ZhzasKJmtOpnDnfGPPTBKaayPEh - AoPK3O8s7CMOEkeJk8W5gkg678f7UpdOSjlRdJrT0Tme6D7rxDy3GPS21t/Hdeutt/JcidATreeyIj5S - jQsEov5cTBwsdha9xDpiebGomFvMLJzablmWlVE26MYYY4zJlUoY9CWXXLJUX18fvUo2DR06lNcies75 - hi7lrwqixZjkGwSR7bPECeJwsb/YTdAUja7lW4s+KeDPxdleULvN69EFfYi4QFwjqG+nHp30etbDpQFm - mTXSLK7FoPOs2/oMgj7//PPSnHPOyetS6x5GqlEPH0aqXSJYJ8+BZ8Dn6CFWFkuKecWsoquwLMuyMsoG - 3RhjjDG5UgmDTrS3LZo0aVJpgQUWCNFzItQhWkxaO43QMKRnCNK5iXZjSv8heouNxHqCxmjlQr32FoLX - 2l3QaI0LAFLHGV1G4zjW8LQgzR2jTF08deghgj5lkUUWafr++++jT9M2TZkypbTOOusQkafunPchas97 - 032eFP/4SDUyALYTG4rVxDJiATGHmFFYlmVZbZANujHGGGNypb0N+mqrrdbmWd/Dhg3jtTC7nG2YPU5q - Ow3h6M5O5Bxzfowgyr2TIBKOKV1brCL+LP5UBvz5lQSjyDDpdD7ndXl93of3431vEpy9iOQHg04EnRR3 - atDrZp111sbXXnst+iRt13777RevO/9UhLpzustfLUjBp24+PlJtLcHnWljMKThTOrXdsiyrjbJBN8YY - Y0yutLdBf/LJJ6Ofzqa6urrSggsuSCf0ePScxmwYUhqhnS2InGOeMaTUWncXdCpfVlBvvWAZ0DyNnyHa - jLknkr652FFQj04tOjXuFwui95y9iKDTSZ4Ud0ad0SSOWej1t912W/RJ2q7LLruMZ0rdOfPO43Xn9wvq - zkm9P0lQd7+LiI9UW1z8VjBSzantlmVZOcgG3RhjjDG50p4GfbPNNot+MrvOPfdcXivUnhM9f0nQPZ3o - dTCkNEIjwo05/5tYQXBemk/8WjBKLC1zCdLAqdXG2NJYDYNOF/S4QSetnjWQ4k4NOvPQqY1n3BmXCXWD - Bg1qW+pATM8880ypW7duYd45TfLoYE9zuqS6c9LxtxHri/hItdmER6pZlmXlJBt0Y4wxxuRKexn0rl27 - lt56663oJ7Np5MiRpbnmmovacxquETF+UxCtZowYHdtJNccw7yFIa6fWHFO9mODMRJdyDGlafiUYPYZB - x9QSQae5GrXsXAAcKEgfJ2rP+9MkjlR7GrRhmInwE92euP322ze1NbU/iKZwsfnv3wjOeWHeeag751mE - unNq5qm9X12QRUBmABcVHqlmWZaVo2zQjTHGGJMr7WXQ+/fvH/1Udh144IHUWxM9D83QXhREjEktD2PE - MM2kn3Mu+qtYWoRocTmp3DRNI4JO1J2zFkafaHxIb2dU20AR6s9pEPeg+Lcg1ZzmcNSFT+jVq1djXh3b - J0yYUFp55ZVpCkfKPGc7ovSk0zNejlnsYd45M95Dmn+oO6eWfhFBVgCXD647tyzLylE26MYYY4zJlfYw - 6DPPPHPpyy+/jH4qm95///3SjDPOSEo3c74xv8wZpxkapjREjJlzTjr3VoJaa2Z8B0PKuSmtpmbOMbqk - tu8riE5z3iKVnJRyzDmp7UT1/ytoDDd+gw02aKRuPi9tt9124ZIiNIUjlZ4afMbLXSeY+x6fd060v3Xd - uUeqWZZltYNs0I0xxhiTK+1h0I866qjoJ7Jriy22CFFjarppvkYa+UOCmeeYUsad0akcA82ZiDFi8Vrr - tIZ0eua8dWO4eN05lwaY5mZzvuaaazaMHz8++gRt1+DBg3mek0S8KRwRe96fLIKLxGAxQIR556HufCnB - s+CzeaSaZVlWO8gG3RhjjDG5krdBX2yxxUrjxo2LfiKbHn/8cV4rdCsnOk3UmJTuO8TlArN8hMCUhk7l - IXoexoil0bTM+fYiqWs7HdOJYLOmTwTnrXErr7xyw+jRo6NP0Hbdc889pS5duvAMqL+nM3y8KRzp9aTZ - sy6yCPYU2wpGy5HmH+rOqacvJ5PAsizLKkM26MYYY4zJlbwN+mOPPRb96WxqbGwsrbDCCkTPaYj2tWC2 - OMaUqDGjxM4TNGqj3hoTTTM0zkVEzzHaadK5qcWmYdocgijztCLnpwoi1fGRaswex5xTGz/uj3/8Y8MP - P/wQfYK265133inNMcccNIUbI3gGZBDQvT7eFO5MwUx20u9Z76aCue1h3rnrzi3LstpZNujGGGOMyZU8 - Dfoee+wR/cnsuuKKK3gt0rqpucYEvyqGC4wpUWMMMynd/QX11oxBoxkappTo+fQ6lWNYOVPR1RxzHsap - lWPOadSGOR+7xBJLNHz99dfR6tuuUaNGlZZccskGvfY4QXo/o+VeEU+IeFM4LilI8ecsuIXgOTBeLnSw - 97xzy7KsdpYNujHGGGNyJS+DvtBCC5XamuJNavzvfve7KXo9Isekdb8jqLnmfHOtOFfQrZyo8Xaipwj1 - 1vOK6UXPgzkn9ft3gp9bSZAi33rWeTDn1Lzz/jSo47IgzDofq8885dNPP41W33Y1NDSUevbsGe/YzgUF - FwK89z2CZ0AGQWgKt4sgxb+74HNwRiSLwPPOLcuyKiAbdGOMMcbkSl4G/f7774/+VHYdc8wxoWM5TddC - 5Ji07lsFNeA0RDtUYEyJGq8tlhO/F5juaUXPMeet55yvLDC3vBaj1DD+oeY8HjkP5pw1Yc7HzDvvvPXv - vfdetPJ8dMABB8Q7tlN7TxM66t1ZA+n9F4hTBGe/1k3h+DxcOpC276ZwlmVZFZANujHGGGNyJQ+D3q9f - v+hPZNfnn3/OeDbGqtEULXQsx5wSOSat+2zBHPK9xd/FBgKDzbmIUWKkdGPCk0RUfWZBCjzN05iVvopY - T/QSzA5nzjmj1OIN4RLN+Zxzzln/2muvRSvPR4MHD8ack9o/UrTu2E7neNY0RBwh9hA8g9AUbhkRmsJN - L8XfsizLykk26MYYY4zJlbYa9Pnnn7/0008/RX8iu3bYYQcMKqnd1HZzjnlR0LEcc3qhOEmQ1r2ToFac - hmh/FBjTaUWNMeeYd5qmEWnHzHKO6iGoYecsRcM5zD/nqamZ82/EmNlnn33y888/H606H1166aU8S8w5 - M9+/EKT2c56Ld2xnbVwgcEHxD8E5cA0RMgjcFM6yLKvCskE3xhhjTK601aDfcccd0f+bXc8991wYKdZ6 - rBpN0ehYfoYg9ZzIMWndRL5p7EZDtLnF1IwpddiYc/4MTeQYP8a8dNLCqd3G7NNojW7ovMclggsBRqmF - hnAtkXMi/E888US06nx02223lbp27RrGqX0lGKfGzPdHxW2CsXLxju2k4nNBQXo/zfEWFZwPyRBwUzjL - sqwKygbdGGOMMbnSFoPOuaGtmjx5cokxZXq9MFYtzPsOY9WGieMFRhpzuokIad3UXDPHPKkhGv+MpnGc - nZiPTqSZnyM1vo+gjv1AcazAABOlvlnwvqTWh27tzea8W7duk/Oos4+LkXQzzTQTaf2jRetxarcLznak - 9tMYL96xnY7zXFAsLkJzPDeFsyzLqrBs0I0xxhiTK1kN+jzzzFP6/vvvo/8nu44//nhS2ycKGsNhiEeI - x0XrsWo0RSPqTcf15QWRY9K6OR+1FunudDLHvPLnmA1OOjg120TgdxWkyzOq7CxBlJpU8gfFs4IIfos5 - J3J+1113RSvORy+99FKJdHm9Puac9HnObi8LRsqFcWp0redy4iCxsyAln6Z21N4zHo4xcVxQuCmcZVlW - FWSDbowxxphcyWrQb7zxxuifZtc777wTIsikd1N7TWM0DPK94mqBQSXCTWo3ddcYbM5AdCwP48Tiad2k - udMkjZp0/n8izJj5tcRGgsZqGP1DBMaXeeKk0JNK/pB4TtA5nfFmzXPOf/Ob39Q/9dRT0YrzEd3f55ln - nnq9PuPkuAT4UHAxwazzu8U1IoxTY61cKGwlqJtv3bHdTeEsy7KqJBt0Y4wxxuRKFoPeu3fv6J9kV2Nj - Y2nNNddk5vc4gUnl7EJ69yOCVHPGnJ0sMKhEj8NYNaLhSWPVMOphjBrmlQgzaeD8DGnxzE2nhp1zE8YX - 88/ZiUg9zdjomP6m+FRwhhq3wAIL1L/xxhvRivPRF198UVp44YWZ9U5KP5+bGnca0VFzT8f668T5gs/O - WsM4NVLzqZ+Pd2znbMilhGVZllUF2aAbY4wxJlfKNehzzjln6euvv47+SXZdcMEFmP0wVgxTHG8Md6Wg - LpzGcHuKbQSN3aY2Vo36a5qkkfKOeQ0zzqnVpqHa9oLXOVxgfIlOk0JOnTfN2Kh5f1t8Jki1H/eHP/yh - 4dNPP41Wm49+/PHH0rLLLku9PZcSROhJo6fWnW7xZA3EZ52z1vg4tdUFTe64nGBcnDu2W5ZlVVk26MYY - Y4zJlXIN+lVXXRX9r+wiijzHHHOEFG86l4exYnRPJ4LcujHcpiIY1NZj1fjP0AwudGrnnBRmnPPz+4gj - xWBBdJoUci4CaMZGx3Ten9njP4rxq666asMPP/wQrTYfjRs3rrTaaqsFc84ZjTR6LiVoSMf57QZB1kCY - dc6FwraC814Yp8bnoyO9O7ZblmUVQDboxhhjjMmVcgx6Hk3h0BZbbBFmnnNWof76FYFZvlXEG8P1F6Ex - 3AqChm9hrBoGlbMRZj00gwud2uNj1PYTzA/nNZmnzgUAdd40Y2PWOl3jqX8nkj+hZ8+ejZjpPEWn+g02 - 2IB0fj4zEXoyBqh1x5zTNZ7RbsxfZ41cJIRZ56TmUz9PWj+d6DkHkjlgc25ZllUA2aAbY4wxJlfKMehT - pkyJ/lt23XLLLaS2h5nnpJRjVJk5jmkm7ZzGbcz8JupN3Xi8MRxdy2kMR+15vN6csxHN4NYUoVN7fIwa - 5yRmnBOlps6bZmx0TH9PfClYy8Ttt9++ETOdpxoaGnjGcXPOnHdq3WmGhzmn3p61nSZI6edzk5JP1gD1 - 83wu5r2T1u9xapZlWQWSDboxxhhjcqUcg95W/fTTT6X55puPBmmktsdnnjPe7EZB/fVJgrFiRL83FyGC - HBrDEUEG6s0XEhj3lcQ6AlNLWni8Uztj1C4TRKlJoafem47pnJVIrx8lJh144IFNUrTSfFRfX1/abrvt - MOcTBOnzwZzTLZ7PjDknY4Bz3EBBt/odBHXzfB6yBsKscy4mbM4ty7IKJBt0Y4wxxuRKJQ16//79SW3H - rHJGoXt5fOY5JprzzBGC5mhEwakjx3xz9iGCTDo78N/j9ebMBqfLO+aW2m3S40OndhrOkTofZpzTlI33 - ZvY4493qhgwZkq8zl+rq6uh239qcM0YOc85IN+auY87PEJhzUvGpl+dSguZ2dKDnc4dxcp51blmWVTDZ - oBtjjDEmVypl0B9//PGQ2k7EmtR2IsnUYJNyHp95jlElxZtzDvXkYawYZyCi5hhWUr6JqtM4jvFjzAjn - TEQEmjRxmsHRaI7XpVM7o9sYoxZmnDPebPQMM8xQd+WVV0YrzE8TJ04sbbzxxiGtHXPO58WcswbMORcG - XEjQqZ50/v1FX8ElA/X2XEowJo6U/tmFzbllWVYBZYNujDHGmFyphEEfNWpUmP0dUtup/Sa1HbNKajvN - 2+Izz+m+Tor3nwVmnDpzjPkCIsw3J/V9I8EItlBvjtmllptu6DSDu0uETu0YZKLYnI/GzjzzzJPvvvvu - aIX5iQZz6623XlpzzoUEneo5z/GZyQRgPNxSgs9MtkB81rtlWZZVINmgG2OMMSZXKmHQ9R7TSm2/XHCO - oXs5qe1h5vkqgug53dmpP6eLOf+bfx7mm9NEbncRrzcnbRzTz1xxmsG9JKh1D2PUxs0555z1zz77bLS6 - /DR69OjSmmuuySi1eEO41uacz8s6gzmn1r63IJ2fzxbM+a+FzbllWVaBZYNujDHGmFxpb4N+xRVXkNo+ - ScS7trdObR8kSG2nhpzRYsz9pkEahpyIOaaVEWqriR4CQ0u9NuPIDhc0lhsqqDentpvu6LxHaAYXOrVP - WGqppRrefvvtaHX5iQZ4zE/Xe7Tu1j41c07EP5hzPhPmnIZ3ZAlgzjn3dRGWZVlWQWWDbowxxphcaU+D - /v7775dmnXXWep1HSG2nY3rrru3x1HbS1EMkmdpz0tipMwf+e3yEGmnw1G0z33yIOF+0rjd/XXwsQjO4 - Sb17924iyp23mA+//PLLY87Hibg5Dw3h4uacy4hgzpnVjjlfVSwtqLWnU73NuWVZVg3IBt0YY4wxudJe - Bp154iuvvDK12JjW78SH4hVBTfhtonXX9r8Louc0SSOCjmklqsyZJ57Szgi1gwVGlw7oF4vrBfXmpM23 - rjcf07Vr18mDBw8u5T1GDX311VelZZddNphz3u9TMTVzHo+cJ5nzOQXz3W3OLcuyakA26MYYY4zJlfYy - 6Icddhh15xMFdd+YViLazCDHSF8lzhGhazvnGTqxc7Yhgk6DOJrArS2oRw8p7XuJAeJEwc9jfJlvzvmH - 135Z0IAu1JuPn2eeeeofeeSRaFX56rPPPistscQSrc05KfyMcyNLgHT7eEM4m3PLsqwOJBt0Y4wxxuRK - exj0hx9+uNSlSxdGqpFa/oV4W5B2fr+4QZCSTt04qe1Ez6k9x6BvKkhjx5QDEfXQpT2e0s4INUw+kXii - 1BjiVwVRelLpGeU2cdVVV23ERLeHPvroo9IiiyxCZ/qxggwBxrdNy5zHG8LZnFuWZXUA2aAbY4wxJlfy - NujUY88///zBuFL//b54UVAbjmmly/qpgnnlmFZS1jHoGHHMK6nswH9nHjoGHiN/nAgp7YxQu1OQLk9N - OynlLfPNRd1uu+3WNGnSpGhV+eqNN94oLbDAAtTWx805GQI0pqNB3c2CzxnmnNucW5ZldUDZoBtjjDEm - V/I26Jtttll8pBpN2uikzrizOwRnFVLTTxB0Xycqzpg0zjP/ENShY9SpNcfQ7iuoUaeRHN3erxAhpf1J - wQi1dwTd4WnONvZXv/rV5MsvvzxaTf568MEHS3PMMcdkvReN77gQ4DO+JjDnZAiwvksElwmYcz4jn8/m - 3LIsq4PJBt0YY4wxuZKnQT/vvPPCSLWRovVItWvFBeI0QYM3DDqR5T3FrgJDzrmGDu2Y9oMEBpc/z8/R - pZ256fGUds47jFDj/SaQcv7SSy9Fq8lfF154YWmGGWYgdZ8oPdkBzHRnHU8LzDmd6THnnMsGimDOe4kw - 55xRaphzurXbnFuWZdWwbNCNMcYYkyt5GfTXXnutRPRaZw/qzjHNRLY5k1CPTco3Dd2YVU4NOenqRwq6 - sdMkjnnmGHWawPG/Me80gjtbkCpO3frdgi7tIaX9f0ao9ezZs/HHH3+MVpOvGhsbSwcffDCZAVw+8H5f - C85aZAfQnI7zF2sk/Z4LBWrl+Rx9RWtzzpxzj1KzLMvqALJBN8YYY0yu5GHQR44cWVp88cXpZh6vOyf9 - nBpxUtupGcdoY9CpP8d8Y2Ix4ocKouXAfydqzp+hkRyN4BhTRl03UWrGtDFLneg855yxNKMbOHBgU0ND - Q7SafDV+/PhSr169GBdHR3qaz3H5wOejYzyp+2QHMObtIhFq60nNp+v8FqK7WFksJWzOLcuyOpBs0I0x - xhiTK2016FOmTCn16NEDAzs+OnsQ2Sbtm8gyad90Wie9HYN+nqA2+xRxvMCMY9QxtaSEx6PmYbY5Jp+z - DU3YQpf2n8T4X//61/V33XVXtJL8xYzzaJY7NfWk0dORngsCLh+GC6L6XD6Qgk9mAFkB+wia3m0umOke - N+e/FjbnlmVZHUQ26MYYY4zJlbYa9P333z/MO8fA/leQfk4aOunonEsw6JhYUtwxsjSJ49wyWDBqDVPO - f5IaTtSc8wxRc8x9mG1OujyvTcd06r8nrb766o0ffvhhtIr8Rcr+QgstRDd6Lh5oQEfUnnW8ILg0oIv8 - NYI1c+FwhCBVn87zdKH/m1hJLCl+J2zOLcuyOphs0I0xxhiTK20x6FdccQVN4WiaFk/9pqM5M88x6Jjs - 2wX12ZxTiIxjaEl1P0sQTWcUGR3aaa5G1Bzj+6jgNYiac6YJjeDGUed++umnl9orpR3dd999pdlnnz2M - UeM89al4S3DGYlwcn4n0ezIC6DBPqj419HSiZ5b7OmJFETfn3YTNuWVZVgeSDboxxhhjciWrQX/uuedK - M800Uxg3RmSbCPN7AoPOWYT6bBrEkabO/HPMN2eVywT12kTTLxQ0VkuKmr8tMMZhtvmk1VZbrfGdd96J - VtA+GjZsWKlr166tx6jRjf45QQd5MgKuFFwqEP3nHMas9m3FJmJtsYLgvDa/mEPYnFuWZXVA2aAbY4wx - JleyGPQvvviiNP/885P+TW020XOMLCnoRNCJer8oaOpGJJyzCY3igkknLZzoM+cW/pPoOiY+RM0x+P8T - NeciYMiQIe0aNee1DzjggNad2ql5p56eUXE0quMzkKpPnTw19IeI3QTz2zmXrSWWF4uL+YTNuWVZVgeW - DboxxhhjcqVcgz5x4sTSKqusQuM0UtvHCRq20bmdCDqGllRwuq1jtomiPyyCSSf6jMm9STB6jbnmGF+i - 5jReax01n8h7vfXWW9G7t49GjRpV2nTTTUOndj5PSNfnc4QxaqyZFH1S8pnjTtd55rdvLTYUa4g/icXE - vGJ2YXNuWZbVgWWDbowxxphcKdeg77DDDtSdEz0n0kyNNoYWQ02Hc9LB6XJOFJwoOmnhwaRjxO8VdD4H - zizxDu3/EzXv1q3b5JNPPrm5S3x76sUXXywtuuiioRncj+JzETq1x8eokYrPeYvO8weIncVWYgOxulhO - LCJ+K2YTMwrLsiyrA8sG3RhjjDG5Uo5BHzNmDOacSDMN1IJBJ8WdMwfmmug3ZxAi4aSGB5P+pKBpHA3W - AGNO2jgRajqj/0/UfKWVVmp8/fXXo3dtP1FvHtXRh2ZwpOmTAUAX+tCpnRFxYYwaI+GYcc75q7foIVYT - y4qFBee0WcUMwrIsy+rgskE3JgXrrrtuqU+fPqXtttvOTIOtt96alM7S+uuvn/gca52NN9641Lt378TP - Xkvw93L37t0TP2MWevXqlfg+1WaDDTZIXG9ebLjhhonvW22KsO+WY9A/++yz1gadFHfqtRlDRpo7UfRP - BOnhGF0i6USiOZs8KzDl/Cejymi8Rkp8S9R8xhlnnHzCCSc01dfXR+/YPuKiQZ871JtzKcDaif4TySc1 - n4g/6ffxTu1HCMaoMeN8C9FdrCqWFguJucUswubcsiyrk8gG3ZgUbLLJJqURI0aUfvrpJzMNfvzxx9K3 - 335b+vrrr0vvv/9+6d///nfpyiuvLO20007NlxxJz7bI7LnnnqV//etfpTfeeKP0+eefl7755pvS999/ - n/jZa4mRI0fm+nfznXfemfg+1Wa//fZLXG9enHHGGYnvW23ee++9xPVWkjYadNLC6XZOmjvnDhqrUYuO - 2Q2RdIw40XSi5YBpp9s7fy7MNZ+4/PLLN7766qvRO7WfmG++1FJLNeg9aXDHur8SrLV1M7grBDPb453a - GaMWZpyvLP4gFhRziplFV2FZlmV1EtmgG5MCosIfffRR9FttlavGxsbmDs333HNP6YQTTihttdVWic+5 - 2my22Wal448/vvTQQw+Vfvjhh2j1HVPU4SY9gyw88sgj0asWSwcffHDievPirrvuit6pWBo+fHjieitJ - RoNOzTap4TRVC1F0ouAYbgwvddykrRMhJ5pOGjtmndpuIuwYeczxeKLmxx57bNPkyZOjd2k/XX755aWZ - Z56ZdbNmov6h3pyxbqThUyN/owjN4I4TB4t4p3bGqLWecf4r0UVYlmVZnUg26MakwAY9P9GciQj70KFD - CxNVX2+99ZoNK1Hy9m4eVRTdfffdic8iC53RoPO7++abb0bvVBw1NTWVLrjggsQ1V5KMBp0IdOsoOrXo - mHTOH6SMk7pOlJy6bkw58M9oxEbNd93aa6/dSMZTe2v8+PGlfv36kdJO53ki9tS7s543Rbze/DrBjPbT - RGgGt4uId2r/s/AYNcuyLMsG3Zg02KC3jz755JPSoEGDcq2HLgfe98ADDyzROIoof2fSV199lfhMstAZ - DTp9FkaPHh29U3FExPiQQw5JXHMlyWDQMbqto+jBpBNJJzJOdJpoOkaYaDlwLmlOZ19sscUabr311uhV - 21fvvPNOabnllgsp7VwiEOEnsk+qPQ3sHhKh3nyYGCyOFKEZ3JZiffFXQaf2RUUYo+ZO7ZZlWZ1YNujG - pMAGvf1UV1dXuuGGG5qj2EnPvj05/fTTS+PGjYtW0rnEhcQWW2yR+FzKpTMa9P333785Wl00EdWloWXS - mitJBoPeOooeTDoGmNTxYNQxw5h14H9PmGOOOepPO+205r9LKqHrrruuNNtss7FG1hUfoUZKe5hvzjz2 - eL35ALGnaN0MrnWndptzy7KsTi4bdGNSYIPeviKtnGZseRnG6UGtOe/X2aLmrZVXE7XOaNApESiiiOwm - rbfSZDToIYoeN+mkj8eNemDCDDPMMHmvvfZqonFjJTRhwoTSHnvsEU9pJ5pPTTyd5ekgz8i3uwTzzS8R - Z4hBItSbbys2EeuIeDO4uYQ7tVuWZVnNskE3JgU26O0vzPIzzzxT6tmzZ+J3kCc09+rs5hydddZZic+n - XDqbQaf+/Oeff47epViit0PSmitNRoPe2qS3NuqByfp7orGSPQD4uymhS3s8pT2MULtanC/CfPP9xc4i - 1JuvKVYQnLtoBvcbQTM4d2q3LMuymmWDbkwKbNArI+pnGV2V9B3kAWn0559/fvRu1m233Zb4nMqlsxn0 - vn37Ru9QLJGJwpz+pDVXmjYY9GDSWxv1ZpZZZpnG++67L/rJ9hdRc/0eNXXt2pVLAprQUQdPk7qppbSf - K04Shwvmm/cVvUWoN/+TWEyEZnCcw7oIy7Isy2qWDboxKbBBr5wmTZpU2muvvRK/h7ZC8ywO3Nb/17PP - Plvq0aNH4rMqh85m0BnFV0R9+OGHieutBm006IFg1JvmnnvuJi7XKjllIRY1J8Weene6yDOLPd6lPZ7S - HkaoHSJ2F2G++bqCevNlRKg3n024U7tlWZb1C9mgG5MCG/TK6t13322uE0/6LrKy8cYbN89it/5PH3zw - QWmjjTZKfF7l0NkMOk3CiihKN5LWWw1yMuilbt26NV+sjRo1KvrT7S8u8Q466KCmLl26hKh5aATH7PUR - 4hnxoLhN0KU9ntIeRqhtIzYSawnmmy8lXG9uWZZlTVc26MakwAa9siJKdthhhyV+F1n55z//Gb26FYTp - 2XzzzROfVzl0NoP+3HPPRe9QHNFTgU7mSeutBnkYdNL1yQqopJ5++unSkksu2TpqzmxzGsG9KIaLe8RN - 4nIRurTHU9rDCLXVRZhvPr/4tXC9uWVZljVN2aAbkwIb9Mrrtddey230Gmbhu+++i17ZCsLU7bzzzonP - rBw6k0GnQdzXX38dvUNxxIix9ioNyUJbDDrZLqSXV1JTiZp/IYiavypCI7jbxbXiIsE56VhBl/aklPYw - Qu23wintlmVZVirZoBuTAhv0ygvzePjhhyd+H+VC7aq7tifrnHPOSXxm5dCZDPo222xTyN8l5vljbJPW - XA3KNehdu3YtbbfddqVXX301+qeVU4qo+ROCs1BoBDdUnCKOFPuJ0KU9ntLuEWqWZVlWJtmgG5MCG/Tq - iCZm3bt3T/xOyuHzzz+PXtFqreHDhyc+s3LoTAb9ggsuiF69WHriiScS11styjHoI0eOrHgqOyJqfuCB - B04vav6IuENcJy4WoRHcoWJPsYPoJXqI0KXdKe2WZVlWZtmgG5MCG/Tq6NNPPy316tUr8TtJCyncTU1N - 0StarcU876TnVg6dyaBXw0im0dFHH5243mpRjkGvhhjVtsQSSxA1Z675KDGtqPmV4jwxWIRGcLuKv4tN - xDpiFRG6tJPSPrtwSrtlWZZVtmzQjUmBDXp1hHlk5nTSd5KWK664Ino1a2raeuutE59dWjqLQd9iiy2i - Vy6Wxo8fX1p//fUT11wtimrQ33///dImm2zCfPVJYkx0rqFD+3uCqPmzglrzeNT8LHG84Gy0lwiN4DYQ - a4gVxJIintI+o7Asy7KssmWDbkwKbNCrIyLfRx55ZOJ3kgaazDGyzZq22toxv7MY9EMPPTR65WLplVde - SVxvNSmaQR8zZkxpwIABTd26dSOdfbz4SXwlPhLMNX9B0KH9XjG1qHl/sa2IN4L7o1hUzCec0m5ZlmW1 - WTboxqTABr16uuGGGxK/kzRgEr799tvolaypiSZ6Sc8vLZ3FoBex/pxLrGuvvTZxvdWkKAad58OIxfnn - n3+Kzi+ks9ME7lvxqXhXvCKYa/6QiHdop9Y8RM3j49N6ijVFaAS3kJhbuEu7ZVmWlYts0I1JgQ169USj - uKTvJA277LJLc5q8NW3de++9ic8vLZ3FoD/44IPRKxdHDQ0NpUGDBiWut5oUwaA///zzpb/85S/xdPYf - BOnsnGdeF5xtHhPMNb9RMNc8dGg/SiRFzTkrLScWEzSC+42YWbhLu2VZlpWLbNCNSYENevXE2KWk7yQN - zIWmPteatl544YU21TB3FoNO/XLRNGnSpFK/fv0S11tNqmnQv/nmm9JOO+1Ed/Y6nVnGiZEipLOHJnBP - igfEbeIqcaHg3BM6tMdrzZOi5pydHDW3LMuycpcNujEpsEGvnj755JPE7yQNBx10UGny5MnRK1lTE8+4 - LTO0O4NB79GjR7MZLpq+++675l4LSWuuJtUw6Py7fvrpp5dmn332ep1VqDMP3dlJZ39HhHR2msDdKWgC - d6k4R5wkmGu+vwgd2jcVodbcUXPLsiyrIrJBNyYFNujVU1vGgA0YMKDU2NgYvZI1NZFlQIfypGeYhs5g - 0AcOHBi9arF0yy23JK632lTaoFOmsdRSSzE2baIYLb4Tnwlmmr8m/i1COvtN4goxTJwqjhEHiz0Ec817 - i3iHdkfNLcuyrIrJBt2YFNigV08Y7KTvJA1DhgyJXsWalmikte+++yY+wzR0BoM+fPjw6FWLJeb8J623 - 2lTKoD/99NNkELSuM/9CfCjeEHRnZ6b5/eJWcbUgnf0MQRO4AWIfsZPYWnAO+ptgrjkd2h01tyzLsioq - G3RjUmCDXl0lfSdpOO2006JXsKaniy++OPEZpqGjG/QNNtigkOnt33//feJ6i0B7G/TnnnuO7yUY87Hi - R0Gd+ceCOvOXxFMidGcnnf0SQTr7ySLeBG47sbnoIf4qlhdLCXdotyzLsiouG3RjUmCDXl0lfSdpsEFP - LzpeJz3DNHR0g77bbrtFr1gsEdVPWm8RaC+Dzu/pRhtthDGnARzGnAZwX4tPRLzO/BFxl7hB0J2dmeZD - REhn31PsKGgCt6FYS6wklhGLiDDX3FFzy7Isq6KyQTcmBTbo1VXSd5IGG/T0og49a7Oxjm7QTz311OgV - iyPKEi666KLE9RaBvA36Sy+9xN/DScY8zDMfIZ4Toc78ZnGlOF+cJujOztkmns6+iYiPTuMstICYS8wq - HDW3LMuyKi4bdGNSYINeXSV9J2mwQS9PO+64Y+JznB4d3aDfeuut0SsWR/X19aVDDjkkcb1FIC+D/sor - r9DAMBjzMDItdGZ/T7wqaAD3uLhX3CLC2LQzxQniCLGfoDs7M81DOvvqgnR2msD9XvxWzCF+JboKy7Is - y6q4bNCNSYENenWV9J2kwQa9PB1zzDGJz3F6dHSDTvS2aJo4cWKpT58+iestAm016K+99lqpd+/ecWP+ - k4gbczqzczYZLmgAxzzza8TF4izB2DTqzA8Uu4ntRS8RZpqHdPZFBensNIGbRcwoHDW3LMuyqiYbdGNS - YINeXSV9J2mwQS9Pl19+eeJznB4d3aD/9NNP0SsWR2+//XbiWotCVoP+xhtvcPHQ1KVLlyk6b0wQP4sw - Mi3JmP9LXCtCA7hTxEARxqZRZ76V2EisI0J39sWF09kty7KswskG3ZgU2KBXV0nfSRps0MvTgw8+WFp3 - 3XUTn+W06MgGvV+/ftGrFUtDhw5NXG9RKNegP/zww6XNNtusJGNO1LxeYM5HCerMQ2f2F8WT4gERjPml - 4lwxWNAA7hCxl+AsE68zX038WSwpwkzz2QXnIKezW5ZlWYWRDboxKbBBr66SvpM02KCXpxEjRjSPFEt6 - ltOiIxv0G264IXq14qihoaHZzCattyiUY9C//vrrks4W0CRam/OPBPPMOYc8KujMfr0IxpzO7MeKQ8Xe - ggZw24jNxHqCOvMVBHXmC4t5hbuzW5ZlWYWVDboxKbBBr66SvpM02KCXpy+++KK08cYbJz7LadFRDTrZ - BF9++WX0asURfxclrbdIlGPQP/vss2DQGzhjCNLaqTcnco45pwncw4Ko+dWCzuynCow55xU6s+8s/i5o - ALe+WEOsKEKd+fxiTkE6u+vMLcuyrMLKBt2YFBTRoE+YMKE0bNiwXGBc0/3331/IWluU9J2kwQa9PNXV - 1dExO/FZTouOatAxmYwzK5ruuuuuxPUWiQwGndT2yYIRapw1/itIa39eMNMcc86ZhHnmJ4sjxL5iF0Fn - 9i0Exjw0gFtWLCZ+J6gzn004nd2yLMsqvGzQjUlBEQ06ZjpprW2hV69epddffz16h+Ioaa1psEEvX1lG - d3VUg3700UdHr1QcNTY2lk4//fTE9RaJDAY9RM/p1v6leF+8JBifdqcgco45pzs7ZxQawP1DYMw3EGuJ - lUVoALegmFtQZ+6xaZZlWVbNyAbdmBR0FoMOxx57bPQOxVHSOtNQdIP+/ffflx599NHSzTffXBhs0P+P - yy67LHql4mjy5MmlvfbaK3G9RSKDQaf2nHFqnDM+Ea+LZwRnkBsEc83p0D5A7C5IZ6czO8Y8dGbnLIMx - 51wT5plTZ+50dsuyLKtmZINuTAo6k0HfYYcdoncojpLWmYaiGvQpU6aUrrjiitL666+fuO5ao6Ma9OHD - h0evVByNHj26tMkmmySut0hkMOikt48WXwnGqRE9pykc880vE5xJmGtOh3ZS2jcUfxVJxjw0gLMxtyzL - smpONujGpKAzGfTevXtH71AcJa0zDUU16PwuFb0Ldzl0VINezl5XKT3xxBOJay0aGQz6JEF6++eC2vPn - BOeP6wSp7ceL/QVzzRmdhjmnARwj034rbMwty7KsDiEbdGNSYINeXSWtMw1FNegvvvhipnFmRaUjGnQu - UMh0KJoGDhyYuN6ikcGgU3/+o/hUvCqeEHeIywXnkSNEf9FbrCOWE0TNgzF3Z3bLsiyrQ8gG3ZgU2KBX - V0nrTENRDfqzzz5bWm+99RLXXIt0RINOI7aiickN3bt3T1xv0cho0H8QzD1/WZDefrOg9vxEcYDYXpDa - Ts05o9OYZ25jblmWZXUo2aAbkwIb9OoqaZ1psEGvDB3RoI8YMSJ6leKINSWttYhkNOicMThrvCAeFNeL - c8UxgtrzPuJvgrrz+QRN4CzLsiyrQ8kG3ZgU2KBXV0nrTIMNemXoaAadJmwNDQ3RqxRH1113XeJ6i0gb - DTpnjvsFo9XOEkeKXcXmYnWxpODswhnGsizLsjqUbNCNSYENenWVtM402KBXho5m0Pfdd9/oFYojLgyO - P/74xPUWkRwMOmePqwRnkQFiJ0FzOM4qnFls0C3LsqwOKRt0Y1Jgg15dJa0zDTbolaGjGfRzzjkneoXi - qK6urtS3b9/E9RaRnAw6ZxDOIpxJOJtwRrFBtyzLsjq0bNCNSYENenWVtM402KBXho5m0O+8887oFYqj - b7/9ttSjR4/E9RYRG3TLsizLyiYbdGNSYINeXSWtMw026JWhoxn0N998M3qF4uimm25KXGtRsUG3LMuy - rGyyQTcmBTbo1VXSOtNgg14ZOpJB53sZM2ZM9ArFUFNTU6l///6J6y0qNuiWZVmWlU026MakwAa9ukpa - Zxps0CtDRzLoBxxwQLMhLpK+++67xLUWGRt0y7Isy8omG3RjUmCDXl0lrTMNNuiVoSMZ9HvvvTf66eLo - iSeeSFxrkbFBtyzLsqxsskE3JgU26NVV0jrTYINeGTqKQV933XVLY8eOjX66GCKaf+GFFyaut8jYoFuW - ZVlWNtmgG5MCG/TqKmmdabBBrwwdxaAzxqxomjJlSumwww5LXG+RsUG3LMuyrGyyQTcmBTbo1VXSOtNg - g14ZOopBP+6446KfLI4mTZpU6tOnT+J6i4wNumVZlmVlkw26MSmwQa+uktaZBhv0ytBRDPq1114b/WRx - 9O677yautejYoFuWZVlWNtmgG5MCG/TqKmmdabBBrwwdxaDzvRRN5513XuJai44NumVZlmVlkw26MSmw - Qa+uktaZBhv0ytBRDPo333wT/WQxVF9f3/zvY9Jai44NumVZlmVlkw26MSmwQa+uktaZBhv0ytARDPo2 - 22xTuPnn/J2TtNZawAbdsizLsrLJBt2YFNigV1dJ60yDDXpl6AgG/aKLLop+qji65557EtdaC9igW5Zl - WVY22aAbkwIb9OoqaZ1psEGvDB3BoH/88cfRTxVDjY2NpTPOOCNxrbWADbplWZZlZZMNujEpsEGvrpLW - mQYb9MpQ6wa9V69e0U8UR9Sf77333onrrQVs0C3Lsiwrm2zQjUmBDXp1lbTONNigV4ZaN+iHHnpo9BPF - 0cSJE0sbbbRR4nprARt0y7Isy8omG3RjUmCDXl0lrTMNNuiVodYN+vnnnx/9RHH05JNPJq61VrBBtyzL - sqxsskE3JgU26NVV0jrTYINeGWrdoD/wwAPRTxRHRx99dOJaawUbdMuyLMvKJht0Y1Jgg15dJa0zDTbo - laHWDfr7778f/UQxNG7cuNIGG2yQuNZawQbdsizLsrLJBt2YFNigV1dJ60yDDXplqGWD3r1791JdXV30 - E8XQiBEjEtdaS9igW5ZlWVY22aAbkwIb9OoqaZ1psEGvDLVs0I899tjoTxdDTU1Npeuvvz5xrbWEDbpl - WZZlZZMNujEpsEGvrpLWmQYb9MpQywadZmxFUkNDQ+mEE05IXGstYYNuWZZlWdlkg25MCmzQq6ukdabB - Br0y1KpB79mzZ2nSpEnRny6GJk+eXOrXr1/iemsJG3TLsizLyiYbdGNSYINeXSWtMw026JWhVg367rvv - Hv3J4mjkyJHNdfFJ660lbNAty7IsK5ts0I1JgQ16dZW0zjTYoFeGWjXoQ4YMif5kcXTLLbckrrXWsEG3 - LMuyrGyyQTcmBTbo1VXSOtNgg14ZatWgY4aLpv79+yeutdawQbcsy7KsbLJBNyYFNujVVdI602CDXhlq - 1aC/9NJL0Z8shr777rvEddYiNuiWZVmWlU026MakwAa9ukpaZxps0CtDrRr0UaNGRX+yGHr66acT11mL - 2KBblmVZVjbZoBuTAhv06ippnWmwQa8MtWjQd9555+hPFUPMP7/44osT11qL2KBblmVZVjbZoBuTAhv0 - 6ippnWmwQa8MtWjQb7rppuhPFUNTpkwpHX744YlrrUVs0C3Lsiwrm2zQjUmBDXp1lbTONNigV4ZaM+iM - Mfv666+jP1UM1dXVlbbaaqvE9dYiNuiWZVmWlU026MakwAa9ukpaZxps0CtDrRl09iVSyoukDz/8MHGt - tYoNumVZlmVlkw26MSmwQa+uktaZBhv0ylBrBv2oo44qnEEfOnRo4lprFRt0y7Isy8omG3RjUmCDXl0l - rTMNNuiVodYM+qWXXloog97Q0ND8d0zSWmsVG3TLsizLyiYbdGNSYINeXSWtMw026JWh1gz6448/Hv2J - YqijpbeDDbplWZZlZZMNujEpsEGvrpLWmQYb9MpQawa9nD2sErrnnnsS11nL2KBblmVZVjbZoBuTAhv0 - 6ippnWmwQa8MRTXo9957b+mSSy75BYw0K4oaGxtLZ555ZuJzrWVs0C3Lsiwrm2zQjUmBDXp1lbTONNig - V4aiGvRaEJcF++yzT+JzrWVs0C3Lsiwrm2zQjUmBDXp1lbTONNigVwYb9OwaN25caeONN058rrWMDbpl - WZZlZZMNujEpsEGvrpLWmQYb9Mpgg55dTz31VOIzrXVs0C3Lsiwrm2zQjUmBDXp1lbTONNigVwYb9Ow6 - +uijE59prWODblmWZVnZZINuTAps0KurpHWmwQa9MtigZ9P48eMTn2dHwAbdsizLsrLJBt2YFNigV1dJ - 60yDDXplsEHPpk8++STxeXYEbNAty7IsK5ts0I1JgQ16dZW0zjTYoFcGG/RsmjBhQuLz7AjYoFuWZVlW - NtmgG5MCG/TqKmmdabBBrww26Nm13377JT7TWscG3bIsy7KyyQbdmBTYoFdXSetMgw16ZbBBz66bbrop - 8ZnWOjbolmVZlpVNNujGpMAGvbpKWmcabNArgw16dn355ZelddddN/G51jI26JZlWZaVTTboxqTABr26 - SlpnGmzQK4MNenZNnjy51KdPn8TnWsvYoFuWZVlWNtmgG5MCG/TqKmmdabBBrww26Nk1ZcqU0kEHHZT4 - XGsZG3TLsizLyiYbdGNSYINeXSWtMw026JXBBj27mpqaSmeffXbic61lbNAty7IsK5ts0I1JgQ16dZW0 - zjTYoFcGG/S26Y477kh8rrWMDbplWZZlZZMNujEpsEGvrpLWmQYb9Mpgg942vfbaa4nPtZaxQbcsy7Ks - bLJBNyYFNujVVdI602CDXhls0NumMWPGlLp37574bGsVG3TLsizLyiYbdGNSYINeXSWtMw026JXBBr1t - og59zz33THy2tYoNumVZlmVlkw26MSmwQa+uktaZBhv0ymCD3nZdf/31ic+2VrFBtyzLsqxsskE3JgU2 - 6NVV0jrTYINeGWzQ267PP/888dnWKjbolmVZlpVNNujGpMAGvbpKWmcabNArgw1621VXV1facsstE59v - LWKDblmWZVnZZINuTAps0KurpHWmwQa9Mtigt1319fWlAw44IPH51iI26JZlWZaVTTboxqTABr26Slpn - GmzQK4MNetvV2NhYOuOMMxKfby1ig25ZlmVZ2WSDbkwKOpNB32WXXaJ3KI6S1pkGG/TKYIOej2677bbE - 51uL2KBblmVZVjbZoBuTgs5k0AcNGhS9Q3GUtM402KBXBhv0fPTqq68mPt9axAbdsizLsrLJBt2YFHQW - g77hhhuWXnvttegdiqOktabBBr0y2KDno59//jnx+dYiNuiWZVmWlU026MakoIgGna7PDz30UC48/PDD - zabxyy+/LDU1NUXvUBwlfSdpsEGvDDbo+al///6Jz7jWsEG3LMuyrGyyQTcmBUU06J1JSd9JGmzQK4MN - en666qqrEp9xrWGDblmWZVnZZINuTAps0KurpO8kDTbolcEGPT99+OGHic+41rBBtyzLsqxsskE3JgU2 - 6NVV0neSBhv0ylBUg87osqlRxFIONGnSpFKvXr0Sn3MtYYNuWZZlWdlkg25MCmzQq6uk7yQNNuiVoagG - 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 - X9ou+L6llfdWKtIgafshALiDywzZuVLGlDVlTtlTBpVFZVLZVEaVVWVW2VWGlWVlWtlWxpV1ZV7ZVwaW - hWVi2VhG7jPmJuZKqfvVNBEBrr1Nq0FGF9r0ntZunu3VMJ2pa6Xg+eXTlwYqvdv1c5e2+r1zaTDTLbat - sHfJXCsPndVrFaL3wn7T0iDoW5e2DDYo+val1YqtwRIA3NVllpQtZUxZU+aUPWVQWVQmlU1lVFlVZpVd - ZVhZVqaVbWVcWVfmlX1lYFlYJpaNZaTL35RST6emiQhw7W1eDTp6JcyHLm3da6Xgo5Y9Wf+UpbN3bfXr - gpy2/fXe17YANsBpO+AXLZ3Xa3tgN902CGplonN8DYraOpgu3AGA+9q5UsaUNWVO2VMGlUVlUtlURpVV - ZVbZ1YS8LCvTyrYyrqz7uKXsKwPLwjLRxFwp9XRrmogA19T/1F5V7z2ue7LeKkJb/D5+aRDTtr93LG0B - bIDTysNnLU3c2x7YhToNglqZaEDUtsF8/oUGSwBwV5dZsvOlrClzyp4yqCwqk8qmMqqsKrPKrjKsLCvT - yrYybk/Kyz6TcqXUw9U0EQGuqbH2ZL1VhM7efdjSIOYjl49eujCnFYfO6DXY+eSlgU9bBLtUp4FQqxMN - ira2EALAfV1mS1lT5pQ9ZVBZVCaVTWVUWVVmlV1lWFn24UvZZqVcKXWupokIcE29ZTVwaRv8nrB3Jm9P - 2hvkNNjpdtsGPq1GtE2wgVCrE2lgBABP286ZMqfsKYPKojJpT8TLqjKr7NoT8jLNpFwpdbamiQhwTd25 - GtRse+Le7bYNfNI2wTQYAoCHtnNn51CZdDkR35RS6v+upokIcE0ppZRSSimlHrSmiQhwTSmllFJKKaUe - tKaJCHBNKaWUUkoppR60pokIcO0xdfOM9UPqMy4vrNmfuz+7s3T3cfPztum/vYt+xn7u/exT3fx9Hsr+ - jLd6lv08/Z3pdzrl8nnf7JlvW/9ffreH/r2elrs8481nuPlve+nm59zW9LPuop/xJP/ul7/X9By7/9B6 - hsc9/+7d5t//0s3PuGn6vJufleln38XjPutxddvP339+V9PPuot+xm1+n/3nl7/LQ+jn3/Z59n/b35t+ - rxNu87z7z/az5ubz3tX+7Df73KluPsv0s9/Mfv77unz2N3uem3/vIfUM+7mmeqtnvY2bn/kkbj7n03iu - p2l6xmezpokIAAAAcNbYBAAAAM4amwAAAMBZYxMAAAA4a2wCAAAAZ41NAAAA4KyxCQAAAJw1NgEAAICz - xiYAAABw1tgEAAAAzhqbAAAAwFljEwAAADhrbAIAAABnjU0AAADgrLEJAAAAnDU2AQAAgLPGJgAAAHDW - 2AQAAADOGpsAAADAWWMTAAAAOGtsAgAAAGeNTQAAAOCssQkAAACcNTYBAACAs8YmAAAAcNbYBAAAAM4a - mwAAAMBZYxMAAAA4a2wCAAAAZ41NAAAA4KyxCQAAAJw1NgEAAICzxiYAAABw1tgEAAAAzhqbAAAAwFlj - EwAAADhrbAIAAABnjU0AAADgrLEJAAAAnDU2AQAAgLPGJgAAAHDW2AQAAADOGpsAAADAWWMTAAAAOGts - AgAAAGeNTQAAAOCssQkAAACcNTYBAACAs8YmAAAAcNbYBAAAAM4amwAAAMBZYxMAAAA4a2wCAAAAZ41N - AAAA4KyxCQAAAJw1NgEAAICzxiYAAABw1tgEAAAAzhqbAAAAwFljEwAAADhrbAIAAABnjU0AAADgrLEJ - AAAAnDU2AQAAgLPGJgAAAHDW2AQAAADOGpsAAADAWWMTAAAAOGtsAgAAAGeNTQAAAOCssQkAAACcNTYB - AACAs8YmAAAAcNbYBAAAAM4amwAAAMBZYxMAAAA4a2wCAAAAZ41NAAAA4KyxCQAAAJw1NgEAAICzxiYA - AABw1tgEAAAAzhqbAAAAwFljEwAAADhrbAIAAABnjU0AAADgrLEJAAAAnDU2AQAAgLPGJgAAAHDW2AQA - AADOGpsAAADAWWMTAAAAOGtsAgAAAGeNTQAAAOCssQkAAACcNTYBAACAs8YmAAAAcNbYBAAAAM4amwAA - AMBZYxMAAAA4a2wCAAAAZ41NAAAA4KyxCQAAAJw1NgEAAICzxiYAAABw1tgEAAAAzhqbAAAAwFljEwAA - ADhrbAIAAABnjU0AAADgrLEJAAAAnDU2AQAAgLPGJgAAAHDW2AQAAADOGpsAAADAWWMTAAAAOGtsAgAA - AGeNTQAAAOCssQkAAACcNTYBAACAs8YmAAAAcNbYBAAAAM4amwAAAMBZYxMAAAA4a2wCAAAAZ41NAAAA - 4KyxCQAAAJw1NgEAAICzxiYAAABw1tgEAAAAzhqbAAAAwFljEwAAADhrbAIAAABnjU0AAADgrLEJAAAA - nDU2AQAAgLPGJgAAAHDW2AQAAABOevQh/w2VkWR8zwQAigAAAABJRU5ErkJggg== - - 3, 3 diff --git a/PCK-Studio/Forms/Utilities/pckCenterOpen.Designer.cs b/PCK-Studio/Forms/Utilities/pckCenterOpen.Designer.cs index 52f39c61..04dabee5 100644 --- a/PCK-Studio/Forms/Utilities/pckCenterOpen.Designer.cs +++ b/PCK-Studio/Forms/Utilities/pckCenterOpen.Designer.cs @@ -87,7 +87,7 @@ // buttonInstallPs3 // this.buttonInstallPs3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192))))); - this.buttonInstallPs3.BackgroundImage = global::PckStudio.Properties.Resources.ps3; + this.buttonInstallPs3.BackgroundImage = global::PckStudio.Properties.Resources.PS3; resources.ApplyResources(this.buttonInstallPs3, "buttonInstallPs3"); this.buttonInstallPs3.FlatAppearance.BorderSize = 0; this.buttonInstallPs3.ForeColor = System.Drawing.Color.White; @@ -98,7 +98,7 @@ // buttonInstallXbox // this.buttonInstallXbox.BackColor = System.Drawing.Color.Lime; - this.buttonInstallXbox.BackgroundImage = global::PckStudio.Properties.Resources.xbox; + this.buttonInstallXbox.BackgroundImage = global::PckStudio.Properties.Resources.Xbox; resources.ApplyResources(this.buttonInstallXbox, "buttonInstallXbox"); this.buttonInstallXbox.FlatAppearance.BorderSize = 0; this.buttonInstallXbox.ForeColor = System.Drawing.Color.White; @@ -109,7 +109,7 @@ // buttonInstallWiiU // this.buttonInstallWiiU.BackColor = System.Drawing.Color.DeepSkyBlue; - this.buttonInstallWiiU.BackgroundImage = global::PckStudio.Properties.Resources.wiiu; + this.buttonInstallWiiU.BackgroundImage = global::PckStudio.Properties.Resources.WiiU; resources.ApplyResources(this.buttonInstallWiiU, "buttonInstallWiiU"); this.buttonInstallWiiU.FlatAppearance.BorderSize = 0; this.buttonInstallWiiU.ForeColor = System.Drawing.Color.White; diff --git a/PCK-Studio/Forms/Utilities/pckCenterOpen.cs b/PCK-Studio/Forms/Utilities/pckCenterOpen.cs index 0a2a8b6d..02416e8f 100644 --- a/PCK-Studio/Forms/Utilities/pckCenterOpen.cs +++ b/PCK-Studio/Forms/Utilities/pckCenterOpen.cs @@ -1136,8 +1136,6 @@ namespace PckStudio.Forms private void buttonInstallWiiU_Click(object sender, EventArgs e) { - InstallWiiU install = new InstallWiiU(Program.AppData + "/PCK Center/myPcks/" + mod + ".pck"); - install.ShowDialog(); } } } diff --git a/PCK-Studio/Forms/Utilities/pckCenterOpen.resx b/PCK-Studio/Forms/Utilities/pckCenterOpen.resx index d20128a3..39173838 100644 --- a/PCK-Studio/Forms/Utilities/pckCenterOpen.resx +++ b/PCK-Studio/Forms/Utilities/pckCenterOpen.resx @@ -328,7 +328,7 @@ 2 - Stretch + Zoom Flat @@ -420,9 +420,6 @@ 760, 418 - - Segoe UI, 8.25pt - CenterParent diff --git a/PCK-Studio/Internals/ApplicationScope.cs b/PCK-Studio/Internals/ApplicationScope.cs new file mode 100644 index 00000000..18b154eb --- /dev/null +++ b/PCK-Studio/Internals/ApplicationScope.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using PckStudio.Classes.Misc; + +namespace PckStudio +{ + internal static class ApplicationScope + { + public static FileCacher AppDataCacher = new FileCacher(Program.AppDataCache); + + } +} diff --git a/PCK-Studio/MainForm.Designer.cs b/PCK-Studio/MainForm.Designer.cs index 001ce0cf..87a6fef8 100644 --- a/PCK-Studio/MainForm.Designer.cs +++ b/PCK-Studio/MainForm.Designer.cs @@ -75,6 +75,8 @@ this.mashUpPackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.extractToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.packSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullBoxSupportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -83,6 +85,7 @@ this.convertToBedrockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.miscToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.addCustomPackImageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.openPckManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.convertMusicFilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.wavBinkaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.binkaWavToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -106,9 +109,7 @@ this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.administrativeToolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.storeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.wiiUPCKInstallerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.PS3PCKInstallerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.VitaPCKInstallerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.openPckCenterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.joinDevelopmentDiscordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.trelloBoardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.contextMenuMetaTree = new System.Windows.Forms.ContextMenuStrip(this.components); @@ -425,6 +426,7 @@ this.newToolStripMenuItem, this.openToolStripMenuItem, this.extractToolStripMenuItem1, + this.packSettingsToolStripMenuItem, this.saveToolStripMenuItem1, this.saveToolStripMenuItem, this.closeToolStripMenuItem}); @@ -471,6 +473,21 @@ this.extractToolStripMenuItem1.Name = "extractToolStripMenuItem1"; this.extractToolStripMenuItem1.Click += new System.EventHandler(this.extractToolStripMenuItem1_Click); // + // packSettingsToolStripMenuItem + // + this.packSettingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fullBoxSupportToolStripMenuItem}); + this.packSettingsToolStripMenuItem.Image = global::PckStudio.Properties.Resources.ranch; + this.packSettingsToolStripMenuItem.Name = "packSettingsToolStripMenuItem"; + resources.ApplyResources(this.packSettingsToolStripMenuItem, "packSettingsToolStripMenuItem"); + // + // fullBoxSupportToolStripMenuItem + // + this.fullBoxSupportToolStripMenuItem.CheckOnClick = true; + this.fullBoxSupportToolStripMenuItem.Name = "fullBoxSupportToolStripMenuItem"; + resources.ApplyResources(this.fullBoxSupportToolStripMenuItem, "fullBoxSupportToolStripMenuItem"); + this.fullBoxSupportToolStripMenuItem.CheckedChanged += new System.EventHandler(this.fullBoxSupportToolStripMenuItem_CheckedChanged); + // // saveToolStripMenuItem1 // resources.ApplyResources(this.saveToolStripMenuItem1, "saveToolStripMenuItem1"); @@ -514,6 +531,7 @@ // this.miscToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addCustomPackImageToolStripMenuItem, + this.openPckManagerToolStripMenuItem, this.convertMusicFilesToolStripMenuItem}); this.miscToolStripMenuItem.ForeColor = System.Drawing.Color.White; resources.ApplyResources(this.miscToolStripMenuItem, "miscToolStripMenuItem"); @@ -525,6 +543,12 @@ this.addCustomPackImageToolStripMenuItem.Name = "addCustomPackImageToolStripMenuItem"; this.addCustomPackImageToolStripMenuItem.Click += new System.EventHandler(this.addCustomPackIconToolStripMenuItem_Click); // + // openPckManagerToolStripMenuItem + // + this.openPckManagerToolStripMenuItem.Name = "openPckManagerToolStripMenuItem"; + resources.ApplyResources(this.openPckManagerToolStripMenuItem, "openPckManagerToolStripMenuItem"); + this.openPckManagerToolStripMenuItem.Click += new System.EventHandler(this.openPckManagerToolStripMenuItem_Click); + // // convertMusicFilesToolStripMenuItem // this.convertMusicFilesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -681,32 +705,19 @@ // storeToolStripMenuItem // this.storeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.wiiUPCKInstallerToolStripMenuItem, - this.PS3PCKInstallerToolStripMenuItem, - this.VitaPCKInstallerToolStripMenuItem, + this.openPckCenterToolStripMenuItem, this.joinDevelopmentDiscordToolStripMenuItem, this.trelloBoardToolStripMenuItem}); this.storeToolStripMenuItem.ForeColor = System.Drawing.Color.White; resources.ApplyResources(this.storeToolStripMenuItem, "storeToolStripMenuItem"); this.storeToolStripMenuItem.Name = "storeToolStripMenuItem"; // - // wiiUPCKInstallerToolStripMenuItem + // openPckCenterToolStripMenuItem // - resources.ApplyResources(this.wiiUPCKInstallerToolStripMenuItem, "wiiUPCKInstallerToolStripMenuItem"); - this.wiiUPCKInstallerToolStripMenuItem.Name = "wiiUPCKInstallerToolStripMenuItem"; - this.wiiUPCKInstallerToolStripMenuItem.Click += new System.EventHandler(this.wiiUPCKInstallerToolStripMenuItem_Click); - // - // PS3PCKInstallerToolStripMenuItem - // - resources.ApplyResources(this.PS3PCKInstallerToolStripMenuItem, "PS3PCKInstallerToolStripMenuItem"); - this.PS3PCKInstallerToolStripMenuItem.Name = "PS3PCKInstallerToolStripMenuItem"; - this.PS3PCKInstallerToolStripMenuItem.Click += new System.EventHandler(this.PS3PCKInstallerToolStripMenuItem_Click); - // - // VitaPCKInstallerToolStripMenuItem - // - resources.ApplyResources(this.VitaPCKInstallerToolStripMenuItem, "VitaPCKInstallerToolStripMenuItem"); - this.VitaPCKInstallerToolStripMenuItem.Name = "VitaPCKInstallerToolStripMenuItem"; - this.VitaPCKInstallerToolStripMenuItem.Click += new System.EventHandler(this.VitaPCKInstallerToolStripMenuItem_Click); + this.openPckCenterToolStripMenuItem.Image = global::PckStudio.Properties.Resources.pckCenterHeader; + this.openPckCenterToolStripMenuItem.Name = "openPckCenterToolStripMenuItem"; + resources.ApplyResources(this.openPckCenterToolStripMenuItem, "openPckCenterToolStripMenuItem"); + this.openPckCenterToolStripMenuItem.Click += new System.EventHandler(this.openPckCenterToolStripMenuItem_Click); // // joinDevelopmentDiscordToolStripMenuItem // @@ -1195,15 +1206,14 @@ private System.Windows.Forms.ToolStripMenuItem donateToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem convertToBedrockToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem storeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem openPckCenterToolStripMenuItem; private MetroFramework.Controls.MetroTabControl tabControl; private MetroFramework.Controls.MetroTabPage editorTab; private MetroFramework.Controls.MetroCheckBox LittleEndianCheckBox; private MetroFramework.Controls.MetroLabel label11; - private System.Windows.Forms.ToolStripMenuItem wiiUPCKInstallerToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem PS3PCKInstallerToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem OpenInstallerToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem administrativeToolsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem VitaPCKInstallerToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem toNobledezJackToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem toPhoenixARCDeveloperToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem joinDevelopmentDiscordToolStripMenuItem; @@ -1276,6 +1286,9 @@ private System.Windows.Forms.ToolStripMenuItem convertMusicFilesToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem wavBinkaToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem binkaWavToolStripMenuItem; - } + private System.Windows.Forms.ToolStripMenuItem openPckManagerToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem packSettingsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullBoxSupportToolStripMenuItem; + } } diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 0544bd91..90e2a771 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -29,6 +29,7 @@ using PckStudio.Classes.IO.PCK; using PckStudio.Classes.IO._3DST; using PckStudio.Internal; using PckStudio.Extensions; +using PckStudio.Features; namespace PckStudio { @@ -104,7 +105,7 @@ namespace PckStudio }; } - public void LoadPck(string filepath) + public void LoadPckFromFile(string filepath) { checkSaveState(); treeViewMain.Nodes.Clear(); @@ -152,7 +153,7 @@ namespace PckStudio ofd.Filter = "PCK (Minecraft Console Package)|*.pck"; if (ofd.ShowDialog() == DialogResult.OK) { - LoadPck(ofd.FileName); + LoadPckFromFile(ofd.FileName); } } } @@ -200,6 +201,9 @@ namespace PckStudio pckFileLabel.Text = "Current PCK File: " + Path.GetFileName(saveLocation); treeViewMain.Enabled = treeMeta.Enabled = true; closeToolStripMenuItem.Visible = true; + fullBoxSupportToolStripMenuItem.Checked = currentPCK.HasVerionString; + packSettingsToolStripMenuItem.Visible = true; + saveToolStripMenuItem.Enabled = true; saveToolStripMenuItem1.Enabled = true; advancedMetaAddingToolStripMenuItem.Enabled = true; @@ -209,7 +213,7 @@ namespace PckStudio isSelectingTab = true; tabControl.SelectTab(1); isSelectingTab = false; - UpdateRPC(); + UpdateRPC(); } private void CloseEditorTab() @@ -230,7 +234,8 @@ namespace PckStudio saveToolStripMenuItem1.Enabled = false; advancedMetaAddingToolStripMenuItem.Enabled = false; closeToolStripMenuItem.Visible = false; - convertToBedrockToolStripMenuItem.Enabled = false; + packSettingsToolStripMenuItem.Visible = false; + convertToBedrockToolStripMenuItem.Enabled = false; addCustomPackImageToolStripMenuItem.Enabled = false; fileEntryCountLabel.Text = string.Empty; pckFileLabel.Text = string.Empty; @@ -282,12 +287,14 @@ namespace PckStudio { case PckFile.FileData.FileType.SkinDataFile: case PckFile.FileData.FileType.TexturePackInfoFile: + if (file.Data.Length == 0) + break; using (var stream = new MemoryStream(file.Data)) { try { - var writer = new PckFileReader(LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian); - PckFile subPCKfile = writer.FromStream(stream); + var reader = new PckFileReader(LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian); + PckFile subPCKfile = reader.FromStream(stream); // passes parent path to remove from sub pck filepaths BuildPckTreeView(node.Nodes, subPCKfile, file.Filename + "/"); } @@ -395,13 +402,10 @@ namespace PckStudio private void HandleAudioFile(PckFile.FileData file) { - if (!TryGetLocFile(out LOCFile locFile)) - throw new Exception("No .loc File found."); - using AudioEditor audioEditor = new AudioEditor(file, locFile, LittleEndianCheckBox.Checked); + using AudioEditor audioEditor = new AudioEditor(file, LittleEndianCheckBox.Checked); if (audioEditor.ShowDialog(this) == DialogResult.OK) { wasModified = true; - TrySetLocFile(locFile); } } @@ -639,24 +643,6 @@ namespace PckStudio private void Save(string filePath) { - bool isSkinsPCK = false; - if (!currentPCK.TryGetFile("0", PckFile.FileData.FileType.InfoFile, out PckFile.FileData _)) - { - switch(MessageBox.Show(this, "The info file, \"0\", was not detected. Would you like to save as a Skins.pck archive?", "Save as Skins archive?", MessageBoxButtons.YesNoCancel)) - { - case DialogResult.Yes: - isSkinsPCK = true; - break; - case DialogResult.No: - isSkinsPCK = false; - break; - case DialogResult.Cancel: - default: - return; // Cancel operation - } - } - currentPCK.HasVerionString = isSkinsPCK; - var writer = new PckFileWriter(currentPCK, LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian); writer.WriteToFile(filePath); wasModified = false; @@ -860,7 +846,7 @@ namespace PckStudio } else if (currentPCK.Files.FindIndex(file => file.Filename == "audio.pck") != -1) { - // the chances of this happening is really really slim but just in case + // the chance of this happening is really really slim but just in case MessageBox.Show("There is already a file in this PCK named \"audio.pck\"!", "Can't create audio.pck"); return; } @@ -870,13 +856,9 @@ namespace PckStudio return; } - if (!TryGetLocFile(out LOCFile locFile)) - throw new Exception("No .loc file found."); var file = CreateNewAudioFile(LittleEndianCheckBox.Checked); - AudioEditor diag = new AudioEditor(file, locFile, LittleEndianCheckBox.Checked); - if (diag.ShowDialog(this) == DialogResult.OK) - TrySetLocFile(locFile); - else + AudioEditor diag = new AudioEditor(file, LittleEndianCheckBox.Checked); + if(diag.ShowDialog(this) != DialogResult.OK) { currentPCK.Files.Remove(file); //delete file if not saved } @@ -922,13 +904,12 @@ namespace PckStudio bool IsSubPCKNode(string nodePath, string extention = ".pck") { - // written by miku, implemented and modified by me - MNL + // written by miku, implemented and modified by MattNL if (nodePath.EndsWith(extention)) return false; string[] subpaths = nodePath.Split('/'); - var conditions = subpaths.Select(s => Path.GetExtension(s).Equals(extention)); - bool isSubFile = conditions.Contains(true); + bool isSubFile = subpaths.Any(s => Path.GetExtension(s).Equals(extention)); if(isSubFile) Console.WriteLine($"{nodePath} is a Sub-PCK File"); @@ -975,10 +956,7 @@ namespace PckStudio if (parent_file.Filetype is PckFile.FileData.FileType.TexturePackInfoFile || parent_file.Filetype is PckFile.FileData.FileType.SkinDataFile) { Console.WriteLine("Rebuilding " + parent_file.Filename); - PckFile newPCKFile = new PckFile(3) - { - HasVerionString = parent_file.Filetype is PckFile.FileData.FileType.SkinDataFile - }; + PckFile newPCKFile = new PckFile(3, parent_file.Filetype is PckFile.FileData.FileType.SkinDataFile); foreach (TreeNode node in GetAllChildNodes(parent.Nodes)) { @@ -1251,10 +1229,7 @@ namespace PckStudio PckFile.FileData skinsPCKFile = newPck.CreateNewFile("Skins.pck", PckFile.FileData.FileType.SkinDataFile, () => { using var stream = new MemoryStream(); - var writer = new PckFileWriter(new PckFile(3) - { - HasVerionString = true - }, + var writer = new PckFileWriter(new PckFile(3, true), LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian); @@ -1734,12 +1709,6 @@ namespace PckStudio #endif } - private void wiiUPCKInstallerToolStripMenuItem_Click(object sender, EventArgs e) - { - InstallWiiU install = new InstallWiiU(null); - install.ShowDialog(); - } - private void howToMakeABasicSkinPackToolStripMenuItem_Click(object sender, EventArgs e) { Process.Start("https://www.youtube.com/watch?v=A43aHRHkKxk"); @@ -1775,12 +1744,6 @@ namespace PckStudio Process.Start("https://www.youtube.com/watch?v=hTlImrRrCKQ"); } - private void PS3PCKInstallerToolStripMenuItem_Click(object sender, EventArgs e) - { - InstallPS3 install = new InstallPS3(null); - install.ShowDialog(); - } - private void settingsToolStripMenuItem_Click(object sender, EventArgs e) { Preferences setting = new Preferences(); @@ -1793,13 +1756,6 @@ namespace PckStudio pckm.Show(); } - private void VitaPCKInstallerToolStripMenuItem_Click(object sender, EventArgs e) - { - - InstallVita install = new InstallVita(null); - install.ShowDialog(); - } - private void toPhoenixARCDeveloperToolStripMenuItem_Click(object sender, EventArgs e) { Process.Start("https://cash.app/$PhoenixARC"); @@ -1866,7 +1822,7 @@ namespace PckStudio string[] Filepaths = (string[])e.Data.GetData(DataFormats.FileDrop, false); if (Filepaths.Length > 1) MessageBox.Show("Only one pck file at a time is currently supported"); - LoadPck(Filepaths[0]); + LoadPckFromFile(Filepaths[0]); } private void OpenPck_DragLeave(object sender, EventArgs e) @@ -2023,18 +1979,18 @@ namespace PckStudio { for (int i = 2; i < 2 + diag.Levels; i++) { - string mippedPath = textureDirectory + "/" + textureName + "MipMapLevel" + i + textureExtension; + string mippedPath = $"{textureDirectory}/{textureName}MipMapLevel{i}{textureExtension}"; Debug.WriteLine(mippedPath); if (currentPCK.HasFile(mippedPath, PckFile.FileData.FileType.TextureFile)) currentPCK.Files.Remove(currentPCK.GetFile(mippedPath, PckFile.FileData.FileType.TextureFile)); PckFile.FileData MipMappedFile = new PckFile.FileData(mippedPath, PckFile.FileData.FileType.TextureFile); + Image originalTexture = Image.FromStream(new MemoryStream(file.Data)); - int NewWidth = originalTexture.Width / (int)Math.Pow(2,i - 1); - int NewHeight = originalTexture.Height / (int)Math.Pow(2, i - 1); - Rectangle tileArea = new Rectangle(0, 0, - NewWidth < 1 ? 1 : NewWidth, - NewHeight < 1 ? 1 : NewHeight); + int NewWidth = Math.Max(originalTexture.Width / (int)Math.Pow(2,i - 1), 1); + int NewHeight = Math.Max(originalTexture.Height / (int)Math.Pow(2, i - 1), 1); + + Rectangle tileArea = new Rectangle(0, 0, NewWidth, NewHeight); Image mippedTexture = new Bitmap(NewWidth, NewHeight); using (Graphics gfx = Graphics.FromImage(mippedTexture)) { @@ -2046,6 +2002,7 @@ namespace PckStudio MemoryStream texStream = new MemoryStream(); mippedTexture.Save(texStream, ImageFormat.Png); MipMappedFile.SetData(texStream.ToArray()); + texStream.Dispose(); currentPCK.Files.Insert(currentPCK.Files.IndexOf(file) + i - 1, MipMappedFile); } @@ -2068,7 +2025,7 @@ namespace PckStudio private void tabControl_Selecting(object sender, TabControlCancelEventArgs e) { - if (!isSelectingTab) e.Cancel = true; + e.Cancel = !isSelectingTab; } private void as3DSTextureFileToolStripMenuItem_Click(object sender, EventArgs e) @@ -2078,7 +2035,7 @@ namespace PckStudio file.Filetype == PckFile.FileData.FileType.SkinFile) { SaveFileDialog saveFileDialog = new SaveFileDialog(); - saveFileDialog.Filter = "3DS Texture | *.3dst"; + saveFileDialog.Filter = "3DS Texture|*.3dst"; saveFileDialog.DefaultExt = ".3dst"; if (saveFileDialog.ShowDialog() == DialogResult.OK) { @@ -2171,7 +2128,7 @@ namespace PckStudio currentPCK.CreateNewFile("Skins.pck", PckFile.FileData.FileType.SkinDataFile, () => { using var stream = new MemoryStream(); - var writer = new PckFileWriter(new PckFile(3) { HasVerionString = true }, + var writer = new PckFileWriter(new PckFile(3, true), LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian); writer.WriteToStream(stream); return stream.ToArray(); @@ -2288,6 +2245,12 @@ namespace PckStudio Process.Start("https://trello.com/b/0XLNOEbe/pck-studio"); } + private void openPckManagerToolStripMenuItem_Click(object sender, EventArgs e) + { + PckManager installer = new PckManager(); + installer.Show(this); + } + private async void wavBinkaToolStripMenuItem_Click(object sender, EventArgs e) { using OpenFileDialog fileDialog = new OpenFileDialog @@ -2303,18 +2266,18 @@ namespace PckStudio waitDiag.Show(this); int convertedCounter = 0; - foreach (string file in fileDialog.FileNames) + foreach (string waveFilepath in fileDialog.FileNames) { - string[] a = Path.GetFileNameWithoutExtension(file).Split(Path.GetInvalidFileNameChars()); + string[] a = Path.GetFileNameWithoutExtension(waveFilepath).Split(Path.GetInvalidFileNameChars()); string songName = string.Join("_", a); songName = System.Text.RegularExpressions.Regex.Replace(songName, @"[^\u0000-\u007F]+", "_"); // Replace UTF characters - string cacheSongLoc = Path.Combine(Program.AppDataCache, songName + Path.GetExtension(file)); + string cacheSongLoc = Path.Combine(ApplicationScope.AppDataCacher.CacheDirectory, songName + Path.GetExtension(waveFilepath)); if (File.Exists(cacheSongLoc)) File.Delete(cacheSongLoc); - using (var reader = new NAudio.Wave.WaveFileReader(file)) //read from original location + using (var reader = new NAudio.Wave.WaveFileReader(waveFilepath)) //read from original location { var newFormat = new NAudio.Wave.WaveFormat(reader.WaveFormat.SampleRate, 16, reader.WaveFormat.Channels); using (var conversionStream = new NAudio.Wave.WaveFormatConversionStream(newFormat, reader)) @@ -2328,7 +2291,7 @@ namespace PckStudio int exitCode = 0; await System.Threading.Tasks.Task.Run(() => { - exitCode = Classes.Binka.FromWav(cacheSongLoc, Path.Combine(Path.GetDirectoryName(file), Path.GetFileNameWithoutExtension(file) + ".binka"), 4); + exitCode = Classes.Binka.FromWav(cacheSongLoc, Path.Combine(Path.GetDirectoryName(waveFilepath), Path.GetFileNameWithoutExtension(waveFilepath) + ".binka"), 4); }); if (exitCode != 0) @@ -2370,5 +2333,10 @@ namespace PckStudio waitDiag.Dispose(); MessageBox.Show(this, $"Successfully converted {success}/{fileDialog.FileNames.Length} file{(fileDialog.FileNames.Length != 1 ? "s" : "")}", "Done!"); } - } + + private void fullBoxSupportToolStripMenuItem_CheckedChanged(object sender, EventArgs e) + { + currentPCK.SetVersion(fullBoxSupportToolStripMenuItem.Checked); + } + } } \ No newline at end of file diff --git a/PCK-Studio/MainForm.resx b/PCK-Studio/MainForm.resx index 6c437782..998b2b4e 100644 --- a/PCK-Studio/MainForm.resx +++ b/PCK-Studio/MainForm.resx @@ -22280,6 +22280,29 @@ 116, 17 + + 158, 224 + + + contextMenuPCKEntries + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAA3SURBVDhPY/j/ + /z9FGKsgGIsCKWSMTQ0QYxUE45FmALpiYvFwMgAbxqIYG8YqCMajBhCJ/zMAAPGwpV/Xje8RAAAAAElF + TkSuQmCC + + + + 157, 22 + + + Create + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -22356,19 +22379,20 @@ Skins.pck - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAA3SURBVDhPY/j/ - /z9FGKsgGIsCKWSMTQ0QYxUE45FmALpiYvFwMgAbxqIYG8YqCMajBhCJ/zMAAPGwpV/Xje8RAAAAAElF + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABzSURBVDhPpYzB + DQAhCARp4hr3Txu254WTjYRb9cEmk/BgRjBVHTv85Twmgt77PcJEYIFrhIkAgWOEiSAGthEmgtbaD9fW + mBgpB4xywCgFxiMf5YDdrq3l5wjEjKtzTARMNlydY2IGot2ureVnRjkQmZbICyCi7XU5cfqKAAAAAElF TkSuQmCC - + 157, 22 - - Create + + Import @@ -22416,20 +22440,11 @@ Add Texture - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABzSURBVDhPpYzB - DQAhCARp4hr3Txu254WTjYRb9cEmk/BgRjBVHTv85Twmgt77PcJEYIFrhIkAgWOEiSAGthEmgtbaD9fW - mBgpB4xywCgFxiMf5YDdrq3l5wjEjKtzTARMNlydY2IGot2ureVnRjkQmZbICyCi7XU5cfqKAAAAAElF - TkSuQmCC - - - + 157, 22 - - Import + + Export 186, 22 @@ -22437,11 +22452,11 @@ Export as 3DS Texture - + 157, 22 - - Export + + Set File Type 222, 22 @@ -22515,11 +22530,11 @@ Entity Materials File (.BIN) - + 157, 22 - - Set File Type + + Misc. Functions 210, 22 @@ -22539,12 +22554,6 @@ Correct Skin Decimals - - 157, 22 - - - Misc. Functions - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -22610,15 +22619,6 @@ Delete - - 158, 224 - - - contextMenuPCKEntries - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 17, 17 @@ -22628,6 +22628,267 @@ Segoe UI, 9.5pt + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAN9JREFUWEft + lz0KwkAQhRe01Nt4hFzBU9gLYuFxQjyHlfexUIv1TfYtiGSzP5NGmA8ehGTm8ZUZZ6Tw3q+QHbIvTMdV + PSjbInekliMrdKDoHPqa0EugpA9dI11BbsgbiegkUDCEHu/5ahaMXZEH8pQdcuHnerDcIiAsI4HFVgFB + L4EljYCgk8CCVkAQiVd4HDlwPA+GlxAQRCIycDyPDIedMoE5WCOYgAmYgAmYgAn8l8D3T+nUDVCTSM/6 + PBjW/JanOLE+D4ZbD5MU0rVhfRlYiKfZ1B1QE+lYs9b4wbkPJT1laD5Q34oAAAAASUVORK5CYII= + + + + 55, 20 + + + File + + + + iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABGdBTUEAALGPC/xhBQAAAjRJREFUSEut + lc1LVFEYxgdDdBFG1ErSTGhhH1iQTWizai+iBKXF5FQGfWhGELZQhBAh/4TBjSBCgSv/gaCdf0JlLaIP + xExXWXn7PWfeE4dBhnPHeeDHzH3u+77P3HvPPZOplZIkOQnz8AoumV1bMfgsrIPXL+iz07URAxugHT5B + qB3ot7L9iUEF+Awd0ALvINQfyFt5dWJAE3zVNPQR2uAElF/Zb+ixtnSi8QooSM/mO0hrcBwUpuBQS9Ya + L5oGQPf/DdSBwr6B9AH2Citae5xouAq6Fbr3N8zTYjgDYVgr+DD5bW5AjCi+BuUhU/AWDsJp8GHvQYtD + YZ1uQIwoHgQFlId4rZinML9AtAIPyY8SxTfBhwyZNwle25AzX7fxFHyBp/KiRHEeKoVswWXzn8EqHIYm + eVGieBj+QqUQ937wqRCvW/KiRPEo7IKW8YB5L8FL+9p582edU6q/Jy9KFI9Z0/+9is+YkBF5UaJ4wrVV + DjlnfhhyV16UKH5gTXomg+aFz2QTsub7HyQ9kRctGrSlSDN2HIb8gIvmhyHj8qJFw1HQlWgl6V24D14K + 6bI6H6Irf+ya04imIdeeJMtmyctBGPIcJIWMuqK0onHRjUiSO2bJa4QL9j0MeeQK0orGA6BfriHHzHbi + uB6KIOn8QzuVXjR3uzGlQb3QDLfhNfwESTtEwVqqEwNeuFElaaACvbRA9DdQ/ZV4MUQbYagNWIDrcMTK + 9i+GzYHeoWnIQp2dqqEymX85CxFGItzW/gAAAABJRU5ErkJggg== + + + + 58, 20 + + + Edit + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAAOlJREFUWEftzjEOwjAQRNG0wP1PRwEVoqCAEwTv+MvCJCGs7aTyk5Dw2DvZoevm + jOP4Cr8qVPmF2WesqEelD7NNUOnDbBNU+jDbBJU+zBahInVwlO/zIk0WYFyIVrNZvHNhVIiESIjaL8CY + ECXEQuRfgOwQTzkNgCjDlRCVLWDC31NMImIhmuBaiPwLBFeu7O5oAUex8xKeCFHRAubCdYa7RTwTouIF + zJknQvYTT4WoagFz/+NNokIQVS/gQqUQ9QXWFzC8rUZd1ke0L74tRPvhuwnx9vjeBNc+zLZwo9KPghoP + qrruwzC8AUrvOnUqDj3VAAAAAElFTkSuQmCC + + + + 66, 20 + + + Misc. + + + + iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAAAa9JREFUSEvt + lt0qRFEYhucGJBoxohzMfThGagxJ7mA0Ra7CPThw4i8XIM5dAyIyHDqaIT+F8Xxrf1ti/eyfMTmYp57s + vdb7fYtttfYu9Ph3tNvtEq7gMZ7ivSrXR1jDEY3nh2ZlPMB3DCEZyZa1PBs0mMdHTMsDVrRNOihcxw/p + khH569e0XTIoWMI8i8ZIj0Vt64fgGLakykEDq1hU5/ASXTSxpO3dENoycTuy6IBGv2BsEO8k4GBTo3YI + TKBv91Y1N4PXeIXTOraALt5wXHJWmFw1MTd9mruNbg03OtYf3TqpS84Kk3IQpKWhtfL/9nFoFrHB5EWU + ScwTTmrtshlxc2YWscGkbzf/5BWntG4UfZtLaJpFbDCZ5pQyhwM/h1HO6xAts4gNJtM86iGtOYlug5yb + RWwwmWVzJcW7uepR5k+o6TK/YTJ0gMTIGbyH+3odwn+ACAR8R2bMjsYlL79ACP+RKRAKvSSEbY1Lfjca + cpLsJSEQrKDvkSd91NJjVtsmg4LufwjEUNj9T58YGsjhv4HPGEIyki1qeX5o9v3zVt7DL6pcd/7ztkdn + KBQ+AXKzDriBiJioAAAAAElFTkSuQmCC + + + + 63, 20 + + + Help + + + 229, 22 + + + Open PCK Center + + + + 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 + + + + 229, 22 + + + Join Development Discord + + + 229, 22 + + + Trello Board + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAADxJREFUWEft + 0yEOAEAQwkD+/+k7U4skWdHRJFVE0jlvjEzHboaMpI63zJDp2M2QkdTxlhkyHbsZMpKuSD77Lj3fujth + aQAAAABJRU5ErkJggg== + + + + 68, 20 + + + More + + + 0, 10 + + + 1064, 24 + + + 2 + + + menuStrip1 + + + menuStrip + + + System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADuSURBVFhH7ZbB + CsMgEERDbv5A/v83e2jNTmCKGdegJk0heHgUn7vrKBQyxRj/iivJPM9WMTWjc45wJeAwhAghVJEG1nkl + XNkziLCvtteXphFCfQ08nOi+4kvTeFL1NfBQ/BLuefjS9NkAADOwPnpNX14UADBEaV4mNnkygN34Y/1v + AgeWZXll9So2eTLAEVm9ik2a7g1Qgn9t9bvFV/4gAOZdHgB1RPeUEeAZAeBr0d4R4JIACuqI7ikjwDMD + tDACNAfo/Sou0fQ9wGKvoQfO8i61W6SkTXi+XtLLgOwcFSna3It3c+LKO3HlfcRpBa3JBjU5E8DiAAAA + AElFTkSuQmCC + + + + 180, 22 + + + New + 160, 22 @@ -22646,23 +22907,6 @@ Mash-Up Pack - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADuSURBVFhH7ZbB - CsMgEERDbv5A/v83e2jNTmCKGdegJk0heHgUn7vrKBQyxRj/iivJPM9WMTWjc45wJeAwhAghVJEG1nkl - XNkziLCvtteXphFCfQ08nOi+4kvTeFL1NfBQ/BLuefjS9NkAADOwPnpNX14UADBEaV4mNnkygN34Y/1v - AgeWZXll9So2eTLAEVm9ik2a7g1Qgn9t9bvFV/4gAOZdHgB1RPeUEeAZAeBr0d4R4JIACuqI7ikjwDMD - tDACNAfo/Sou0fQ9wGKvoQfO8i61W6SkTXi+XtLLgOwcFSna3It3c+LKO3HlfcRpBa3JBjU5E8DiAAAA - AElFTkSuQmCC - - - - 130, 22 - - - New - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -22672,7 +22916,7 @@ - 130, 22 + 180, 22 Open @@ -22686,11 +22930,26 @@ - 130, 22 + 180, 22 Extract + + 180, 22 + + + Pack Settings + + + False + + + 180, 22 + + + Full box support + False @@ -22705,7 +22964,7 @@ - 130, 22 + 180, 22 Save @@ -22724,13 +22983,13 @@ - 130, 22 + 180, 22 Save As... - 130, 22 + 180, 22 Close @@ -22738,21 +22997,6 @@ False - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAN9JREFUWEft - lz0KwkAQhRe01Nt4hFzBU9gLYuFxQjyHlfexUIv1TfYtiGSzP5NGmA8ehGTm8ZUZZ6Tw3q+QHbIvTMdV - PSjbInekliMrdKDoHPqa0EugpA9dI11BbsgbiegkUDCEHu/5ahaMXZEH8pQdcuHnerDcIiAsI4HFVgFB - L4EljYCgk8CCVkAQiVd4HDlwPA+GlxAQRCIycDyPDIedMoE5WCOYgAmYgAmYgAn8l8D3T+nUDVCTSM/6 - PBjW/JanOLE+D4ZbD5MU0rVhfRlYiKfZ1B1QE+lYs9b4wbkPJT1laD5Q34oAAAAASUVORK5CYII= - - - - 55, 20 - - - File - False @@ -22797,27 +23041,6 @@ Convert to Bedrock - - - iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABGdBTUEAALGPC/xhBQAAAjRJREFUSEut - lc1LVFEYxgdDdBFG1ErSTGhhH1iQTWizai+iBKXF5FQGfWhGELZQhBAh/4TBjSBCgSv/gaCdf0JlLaIP - xExXWXn7PWfeE4dBhnPHeeDHzH3u+77P3HvPPZOplZIkOQnz8AoumV1bMfgsrIPXL+iz07URAxugHT5B - qB3ot7L9iUEF+Awd0ALvINQfyFt5dWJAE3zVNPQR2uAElF/Zb+ixtnSi8QooSM/mO0hrcBwUpuBQS9Ya - L5oGQPf/DdSBwr6B9AH2Citae5xouAq6Fbr3N8zTYjgDYVgr+DD5bW5AjCi+BuUhU/AWDsJp8GHvQYtD - YZ1uQIwoHgQFlId4rZinML9AtAIPyY8SxTfBhwyZNwle25AzX7fxFHyBp/KiRHEeKoVswWXzn8EqHIYm - eVGieBj+QqUQ937wqRCvW/KiRPEo7IKW8YB5L8FL+9p582edU6q/Jy9KFI9Z0/+9is+YkBF5UaJ4wrVV - DjlnfhhyV16UKH5gTXomg+aFz2QTsub7HyQ9kRctGrSlSDN2HIb8gIvmhyHj8qJFw1HQlWgl6V24D14K - 6bI6H6Irf+ya04imIdeeJMtmyctBGPIcJIWMuqK0onHRjUiSO2bJa4QL9j0MeeQK0orGA6BfriHHzHbi - uB6KIOn8QzuVXjR3uzGlQb3QDLfhNfwESTtEwVqqEwNeuFElaaACvbRA9DdQ/ZV4MUQbYagNWIDrcMTK - 9i+GzYHeoWnIQp2dqqEymX85CxFGItzW/gAAAABJRU5ErkJggg== - - - - 58, 20 - - - Edit - False @@ -22827,6 +23050,18 @@ Add Custom Pack Icon + + 206, 22 + + + Open Pck Manager + + + 206, 22 + + + Convert Music Files + 155, 22 @@ -22839,28 +23074,6 @@ BinkA -> WAV - - 206, 22 - - - Convert Music Files - - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAAOlJREFUWEftzjEOwjAQRNG0wP1PRwEVoqCAEwTv+MvCJCGs7aTyk5Dw2DvZoevm - jOP4Cr8qVPmF2WesqEelD7NNUOnDbBNU+jDbBJU+zBahInVwlO/zIk0WYFyIVrNZvHNhVIiESIjaL8CY - ECXEQuRfgOwQTzkNgCjDlRCVLWDC31NMImIhmuBaiPwLBFeu7O5oAUex8xKeCFHRAubCdYa7RTwTouIF - zJknQvYTT4WoagFz/+NNokIQVS/gQqUQ9QXWFzC8rUZd1ke0L74tRPvhuwnx9vjeBNc+zLZwo9KPghoP - qrruwzC8AUrvOnUqDj3VAAAAAElFTkSuQmCC - - - - 66, 20 - - - Misc. - iVBORw0KGgoAAAANSUhEUgAAAtAAAALQCAYAAAC5V0ecAAAABGdBTUEAALGPC/xhBQAAazFJREFUeF7t @@ -23401,6 +23614,20 @@ Binka Conversion + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAKdJREFUOE+1 + jzEKwzAQBNUEXKQIBOwifcgTUvkDbt2p9qP0Ev1E31FYkVXOx2FLRRYWi7NnTnZ/z/MxZPY7aguhbZlq + myQafL+ubRINshCwnO0kFqi3HkpwWOf7DkC1RBfvx9slV4ElscqbxBiz9/4nwOBIQjCEUL7FswhwDYAp + JVMiN0oYs/ILiCXRIGHOwVQBoiXsKSgjJdzaBMpQ0g3KEOoG++PcBx9PFJGNjU4vAAAAAElFTkSuQmCC + + + + 198, 22 + + + Tutorials + iVBORw0KGgoAAAANSUhEUgAACOAAAAaoCAYAAAAgNTafAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m @@ -44086,20 +44313,6 @@ How PCKs work - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAKdJREFUOE+1 - jzEKwzAQBNUEXKQIBOwifcgTUvkDbt2p9qP0Ev1E31FYkVXOx2FLRRYWi7NnTnZ/z/MxZPY7aguhbZlq - myQafL+ubRINshCwnO0kFqi3HkpwWOf7DkC1RBfvx9slV4ElscqbxBiz9/4nwOBIQjCEUL7FswhwDYAp - JVMiN0oYs/ILiCXRIGHOwVQBoiXsKSgjJdzaBMpQ0g3KEOoG++PcBx9PFJGNjU4vAAAAAElFTkSuQmCC - - - - 198, 22 - - - Tutorials - iVBORw0KGgoAAAANSUhEUgAABkAAAAZACAYAAAAhDI6nAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -46103,6 +46316,12 @@ FAQ + + 198, 22 + + + Buy a coffee + 278, 22 @@ -46121,12 +46340,6 @@ For MattNL (Other Developer) - - 198, 22 - - - Buy a coffee - 198, 22 @@ -47974,927 +48187,18 @@ Administrative Tools - - - iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAAAa9JREFUSEvt - lt0qRFEYhucGJBoxohzMfThGagxJ7mA0Ra7CPThw4i8XIM5dAyIyHDqaIT+F8Xxrf1ti/eyfMTmYp57s - vdb7fYtttfYu9Ph3tNvtEq7gMZ7ivSrXR1jDEY3nh2ZlPMB3DCEZyZa1PBs0mMdHTMsDVrRNOihcxw/p - khH569e0XTIoWMI8i8ZIj0Vt64fgGLakykEDq1hU5/ASXTSxpO3dENoycTuy6IBGv2BsEO8k4GBTo3YI - TKBv91Y1N4PXeIXTOraALt5wXHJWmFw1MTd9mruNbg03OtYf3TqpS84Kk3IQpKWhtfL/9nFoFrHB5EWU - ScwTTmrtshlxc2YWscGkbzf/5BWntG4UfZtLaJpFbDCZ5pQyhwM/h1HO6xAts4gNJtM86iGtOYlug5yb - RWwwmWVzJcW7uepR5k+o6TK/YTJ0gMTIGbyH+3odwn+ACAR8R2bMjsYlL79ACP+RKRAKvSSEbY1Lfjca - cpLsJSEQrKDvkSd91NJjVtsmg4LufwjEUNj9T58YGsjhv4HPGEIyki1qeX5o9v3zVt7DL6pcd/7ztkdn - KBQ+AXKzDriBiJioAAAAAElFTkSuQmCC - - - - 63, 20 - - - Help - - - - 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 - - - - 229, 22 - - - Wii U PCK Installer - - - False - - - - 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 - - - - 229, 22 - - - PS3 PCK Installer - - - False - - - - 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 - - - - 229, 22 - - - PSVita PCK Installer - - - - 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 - - - - 229, 22 - - - Join Development Discord - - - 229, 22 - - - Trello Board - - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAADxJREFUWEft - 0yEOAEAQwkD+/+k7U4skWdHRJFVE0jlvjEzHboaMpI63zJDp2M2QkdTxlhkyHbsZMpKuSD77Lj3fujth - aQAAAABJRU5ErkJggg== - - - - 68, 20 - - - More - - - 0, 10 - - - 1064, 24 - - - 2 - - - menuStrip1 - - - menuStrip - - - System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 3 - 298, 17 + + 182, 92 + + + contextMenuMetaTree + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -48944,14 +48248,116 @@ Edit All Entries - - 182, 92 + + openTab - - contextMenuMetaTree + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + tabControl + + + 0 + + + editorTab + + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + tabControl + + + 1 + + + Fill + + + 0, 10 + + + 0, 0, 0, 0 + + + 1064, 650 + + + 0 + + + tabControl + + + MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + $this + + + 4 + + + labelVersion + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + openTab + + + 2 + + + pckOpen + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + openTab + + + 3 + + + panel1 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + openTab + + + 4 + + + 4, 38 + + + 18, 30, 20, 5 + + + 1056, 608 + + + 1 + + + openTab + + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + tabControl + + + 0 Bottom, Left @@ -49219,6 +48625,78 @@ 3 + + crEaTiiOn_Ultimate_GradientButton2 + + + CBH.Ultimate.Controls.CrEaTiiOn_Ultimate_GradientButton, CBH-WinForm-Theme-Library, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null + + + panel1 + + + 0 + + + crEaTiiOn_Ultimate_GradientButton1 + + + CBH.Ultimate.Controls.CrEaTiiOn_Ultimate_GradientButton, CBH-WinForm-Theme-Library, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null + + + panel1 + + + 1 + + + pictureBox1 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 2 + + + crEaTiiOn_Ultimate_GradientButton3 + + + CBH.Ultimate.Controls.CrEaTiiOn_Ultimate_GradientButton, CBH-WinForm-Theme-Library, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null + + + panel1 + + + 3 + + + Right + + + 590, 30 + + + 446, 573 + + + 25 + + + panel1 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + openTab + + + 4 + Left @@ -71572,57 +71050,156 @@ 3 - - Right - - - 590, 30 - - - 446, 573 - - - 25 - - - panel1 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - openTab - - - 4 - - - 4, 38 - - - 18, 30, 20, 5 - - - 1056, 608 - - - 1 - - - openTab - - - MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - tabControl - - - 0 - + + True + None + + panel2 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + editorTab + + + 2 + + + PropertiesTabControl + + + MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 3 + + + label11 + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 4 + + + pckFileLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + editorTab + + + 5 + + + treeViewMain + + + System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + editorTab + + + 6 + + + 4, 38 + + + 5, 58, 5, 7 + + + 1056, 608 + + + 0 + + + editorTab + + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + tabControl + + + 1 + + + pictureBoxImagePreview + + + PckStudio.ToolboxItems.PictureBoxWithInterpolationMode, PCK-Studio, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null + + + panel2 + + + 0 + + + fileEntryCountLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + panel2 + + + 1 + + + labelImageSize + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + panel2 + + + 2 + + + Fill + + + 335, 58 + + + 716, 271 + + + 20 + + + panel2 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + editorTab + + + 2 + Top, Right @@ -71716,30 +71293,141 @@ 2 - - Fill + + MetaTab - - 335, 58 + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - 716, 271 + + PropertiesTabControl - - 20 + + 0 - - panel2 + + Bottom - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 335, 329 - + + 716, 272 + + + 11 + + + PropertiesTabControl + + + MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + editorTab - + + 3 + + + metroLabel2 + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + MetaTab + + 2 + + treeMeta + + + System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MetaTab + + + 3 + + + entryTypeTextBox + + + MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + MetaTab + + + 4 + + + entryDataTextBox + + + MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + MetaTab + + + 5 + + + buttonEdit + + + MetroFramework.Controls.MetroButton, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + MetaTab + + + 6 + + + metroLabel1 + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + MetaTab + + + 7 + + + 4, 38 + + + 3, 3, 3, 3 + + + 708, 230 + + + 0 + + + Properties + + + MetaTab + + + MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + PropertiesTabControl + + + 0 + Top, Right @@ -71941,57 +71629,6 @@ 7 - - 4, 38 - - - 3, 3, 3, 3 - - - 708, 230 - - - 0 - - - Properties - - - MetaTab - - - MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - PropertiesTabControl - - - 0 - - - Bottom - - - 335, 329 - - - 716, 272 - - - 11 - - - PropertiesTabControl - - - MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - editorTab - - - 3 - True @@ -72082,57 +71719,6 @@ 6 - - 4, 38 - - - 5, 58, 5, 7 - - - 1056, 608 - - - 0 - - - editorTab - - - MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - tabControl - - - 1 - - - Fill - - - 0, 10 - - - 0, 0, 0, 0 - - - 1064, 650 - - - 0 - - - tabControl - - - MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - $this - - - 4 - Top, Right @@ -74951,6 +74537,18 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + packSettingsToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fullBoxSupportToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + saveToolStripMenuItem1 @@ -74999,6 +74597,12 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + openPckManagerToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + convertMusicFilesToolStripMenuItem @@ -75137,22 +74741,10 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - wiiUPCKInstallerToolStripMenuItem + + openPckCenterToolStripMenuItem - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - PS3PCKInstallerToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - VitaPCKInstallerToolStripMenuItem - - + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index bfa67cc3..fb729e9b 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -167,6 +167,12 @@ + + Component + + + + @@ -190,10 +196,12 @@ + Form + @@ -227,11 +235,17 @@ - - Form + + UserControl - - creditsEditor.cs + + CemuPanel.cs + + + UserControl + + + WiiUPanel.cs @@ -289,7 +303,9 @@ TextPrompt.cs - + + Component + Form @@ -368,13 +384,18 @@ InProgressPrompt.cs - Form + + Form + + + PckManager.cs + BoxEditor.cs @@ -426,25 +447,6 @@ AudioEditor.cs - - Form - - - InstallPS3.cs - - - Form - - - InstallVita.cs - - - Form - - - InstallWiiU.cs - - Form @@ -475,9 +477,6 @@ TextureConverterUtility.cs - - Component - @@ -485,6 +484,12 @@ creditsEditor.cs + + CemuPanel.cs + + + WiiUPanel.cs + AddEntry.cs @@ -574,6 +579,9 @@ InProgressPrompt.cs + + PckManager.cs + BoxEditor.cs Designer @@ -608,18 +616,6 @@ AudioEditor.cs Designer - - InstallPS3.cs - - - InstallVita.cs - - - InstallWiiU.cs - - - InstallWiiU.cs - PCK Manager.cs @@ -640,6 +636,7 @@ pckCenterOpen.cs + Designer TextureConverterUtility.cs @@ -676,7 +673,6 @@ - @@ -692,28 +688,18 @@ - - - - - + - - - - - - + + - - - + - - - + + + @@ -737,6 +723,14 @@ + + + + + + + + @@ -745,7 +739,6 @@ - diff --git a/PCK-Studio/Program.cs b/PCK-Studio/Program.cs index 2e660311..85a25947 100644 --- a/PCK-Studio/Program.cs +++ b/PCK-Studio/Program.cs @@ -14,6 +14,8 @@ namespace PckStudio public static readonly string AppData = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "PCK-Studio"); public static readonly string AppDataCache = Path.Combine(AppData, "cache"); + public static MainForm MainInstance { get; private set; } + /// /// The main entry point for the application. /// @@ -22,11 +24,11 @@ namespace PckStudio { System.Globalization.CultureInfo.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; - MainForm mainForm = new MainForm(); - DarkNet.Instance.SetWindowThemeForms(mainForm, Theme.Auto); + MainInstance = new MainForm(); + DarkNet.Instance.SetWindowThemeForms(MainInstance, Theme.Auto); if (args.Length > 0 && File.Exists(args[0]) && args[0].EndsWith(".pck")) - mainForm.LoadPck(args[0]); - Application.Run(mainForm); + MainInstance.LoadPckFromFile(args[0]); + Application.Run(MainInstance); } } } diff --git a/PCK-Studio/Properties/Resources.Designer.cs b/PCK-Studio/Properties/Resources.Designer.cs index 9d736cac..a3bea951 100644 --- a/PCK-Studio/Properties/Resources.Designer.cs +++ b/PCK-Studio/Properties/Resources.Designer.cs @@ -80,16 +80,6 @@ namespace PckStudio.Properties { } } - /// - /// Looks up a localized resource of type System.Byte[]. - /// - public static byte[] apps { - get { - object obj = ResourceManager.GetObject("apps", resourceCulture); - return ((byte[])(obj)); - } - } - /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -110,16 +100,6 @@ namespace PckStudio.Properties { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap bg1 { - get { - object obj = ResourceManager.GetObject("bg1", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.Byte[]. /// @@ -265,29 +245,9 @@ namespace PckStudio.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - public static System.Drawing.Bitmap Del { + public static System.Drawing.Bitmap Discord { get { - object obj = ResourceManager.GetObject("Del", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap discord { - get { - object obj = ResourceManager.GetObject("discord", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap edit_26px { - get { - object obj = ResourceManager.GetObject("edit_26px", resourceCulture); + object obj = ResourceManager.GetObject("Discord", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -347,9 +307,9 @@ namespace PckStudio.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - public static System.Drawing.Bitmap ExportFile { + public static System.Drawing.Bitmap file_delete { get { - object obj = ResourceManager.GetObject("ExportFile", resourceCulture); + object obj = ResourceManager.GetObject("file_delete", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -357,9 +317,39 @@ namespace PckStudio.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - public static System.Drawing.Bitmap external_content_duckduckgo { + public static System.Drawing.Bitmap file_empty { get { - object obj = ResourceManager.GetObject("external-content.duckduckgo", resourceCulture); + object obj = ResourceManager.GetObject("file_empty", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap file_export { + get { + object obj = ResourceManager.GetObject("file_export", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap file_import { + get { + object obj = ResourceManager.GetObject("file_import", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap file_new { + get { + object obj = ResourceManager.GetObject("file_new", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -404,6 +394,16 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap HamburgerMenuIcon { + get { + object obj = ResourceManager.GetObject("HamburgerMenuIcon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -474,16 +474,6 @@ namespace PckStudio.Properties { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap MROE { - get { - object obj = ResourceManager.GetObject("MROE", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.Byte[]. /// @@ -577,9 +567,9 @@ namespace PckStudio.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - public static System.Drawing.Bitmap power3 { + public static System.Drawing.Bitmap PS3 { get { - object obj = ResourceManager.GetObject("power3", resourceCulture); + object obj = ResourceManager.GetObject("PS3", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -587,9 +577,9 @@ namespace PckStudio.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - public static System.Drawing.Bitmap ps3 { + public static System.Drawing.Bitmap ranch { get { - object obj = ResourceManager.GetObject("ps3", resourceCulture); + object obj = ResourceManager.GetObject("ranch", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -871,9 +861,9 @@ namespace PckStudio.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - public static System.Drawing.Bitmap turn_off__1_1 { + public static System.Drawing.Bitmap WiiU { get { - object obj = ResourceManager.GetObject("turn-off (1)1", resourceCulture); + object obj = ResourceManager.GetObject("WiiU", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -881,9 +871,9 @@ namespace PckStudio.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - public static System.Drawing.Bitmap wii_u_games_tool { + public static System.Drawing.Bitmap Xbox { get { - object obj = ResourceManager.GetObject("wii-u-games-tool", resourceCulture); + object obj = ResourceManager.GetObject("Xbox", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -891,29 +881,9 @@ namespace PckStudio.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - public static System.Drawing.Bitmap wiiu { + public static System.Drawing.Bitmap Youtube { get { - object obj = ResourceManager.GetObject("wiiu", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap xbox { - get { - object obj = ResourceManager.GetObject("xbox", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap youtube_PNG15 { - get { - object obj = ResourceManager.GetObject("youtube_PNG15", resourceCulture); + object obj = ResourceManager.GetObject("Youtube", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } diff --git a/PCK-Studio/Properties/Resources.resx b/PCK-Studio/Properties/Resources.resx index a513cc9d..9ca88983 100644 --- a/PCK-Studio/Properties/Resources.resx +++ b/PCK-Studio/Properties/Resources.resx @@ -130,12 +130,6 @@ ..\Resources\NoImageFound.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\ExportFile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\xbox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\fileTemplates\tu51colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -160,15 +154,9 @@ ..\Resources\iconImageList\BEHAVIOURS ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\bg1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\iconImageList\ZUnknown.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\wiiu.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\iconImageList\ARROW.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -187,24 +175,12 @@ ..\Resources\tileData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - ..\Resources\Replace.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\pckClosed.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\discord.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\power3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\AddTexture.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\music.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\anim_editor\classic_template.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -220,9 +196,6 @@ ..\Resources\iconImageList\IMAGE ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\sdDownload.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\iconImageList\BINKA ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -232,11 +205,8 @@ ..\Resources\iconImageList\GRF ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\MROE.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\wii-u-games-tool.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\HamburgerMenuIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\pckDrop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -244,18 +214,9 @@ ..\Resources\Splash.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\apps.zip;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\iconImageList\CAPE ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\youtube_PNG15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\ps3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\fileTemplates\tu19colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -275,7 +236,7 @@ ..\Resources\fileTemplates\tu53colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\clock.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\icons\clock.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\items.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -301,18 +262,12 @@ ..\Resources\fileTemplates\tu12colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\turn-off (1)1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\fileTemplates\tu14colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ..\Resources\fileTemplates\tu69colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\external-content.duckduckgo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\anim_editor\slim_template.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -322,9 +277,6 @@ ..\Resources\pckOpen.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Del.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\TexturePackIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -379,4 +331,43 @@ ..\Resources\entityData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + ..\Resources\icons\file_delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons\file_empty.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons\file_new.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\external\Discord.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\external\PS3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\external\WiiU.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\external\Xbox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\external\Youtube.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons\music.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons\Replace.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons\file_export.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons\file_import.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons\ranch.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/PCK-Studio/Properties/app.manifest b/PCK-Studio/Properties/app.manifest index 66981ed7..c02c2d89 100644 --- a/PCK-Studio/Properties/app.manifest +++ b/PCK-Studio/Properties/app.manifest @@ -38,7 +38,7 @@ - +