diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7964536 --- /dev/null +++ b/.gitignore @@ -0,0 +1,189 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +x64/ +build/ +bld/ +[Bb]in/ +[Oo]bj/ + +# Roslyn cache directories +*.ide/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +#NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding addin-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +## TODO: Comment the next line if you want to checkin your +## web deploy settings but do note that will include unencrypted +## passwords +#*.pubxml + +# NuGet Packages Directory +packages/* +## TODO: If the tool you use requires repositories.config +## uncomment the next line +#!packages/repositories.config + +# Enable "build/" folder in the NuGet Packages folder since +# NuGet packages use it for MSBuild targets. +# This line needs to be after the ignore of the build folder +# (and the packages folder if the line above has been uncommented) +!packages/build/ + +# Windows Azure Build Output +csx/ +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.pfx +*.publishsettings +node_modules/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# LightSwitch generated files +GeneratedArtifacts/ +_Pvt_Extensions/ +ModelManifest.xml \ No newline at end of file diff --git a/Ez4Plite/Ez4Plite.sln b/Ez4Plite/Ez4Plite.sln new file mode 100644 index 0000000..fd22073 --- /dev/null +++ b/Ez4Plite/Ez4Plite.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ez4Plite", "Ez4Plite\Ez4Plite.csproj", "{3B43FB80-EF69-4B2E-A138-31058ED177DC}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3B43FB80-EF69-4B2E-A138-31058ED177DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3B43FB80-EF69-4B2E-A138-31058ED177DC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3B43FB80-EF69-4B2E-A138-31058ED177DC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3B43FB80-EF69-4B2E-A138-31058ED177DC}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Ez4Plite/Ez4Plite/CRomManager.cs b/Ez4Plite/Ez4Plite/CRomManager.cs new file mode 100644 index 0000000..e9d9493 --- /dev/null +++ b/Ez4Plite/Ez4Plite/CRomManager.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using System.Text; + +namespace Ez4Plite +{ + unsafe class CRomManager + { + [StructLayout(LayoutKind.Sequential, Pack = 4)] + unsafe struct __CRomManager + { + public IntPtr* _vtable; + } + + private IntPtr cppPtr; + private __CRomManager* _cpp; + + // CSimpleClass constructor and destructor + [DllImport("cppexp.dll", EntryPoint = "??0CSimpleClass@@QAE@H@Z", CallingConvention = CallingConvention.ThisCall)] + private static extern int _CSimpleClass_Constructor(__CRomManager* ths, int value); + [DllImport("cppexp.dll", EntryPoint = "??1CSimpleClass@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] + private static extern int _CSimpleClass_Destructor(__CRomManager* ths); + + // void M1(); + [DllImport("cppexp.dll", EntryPoint = "?M1@CSimpleClass@@QAEXXZ", CallingConvention = CallingConvention.ThisCall)] + private static extern void _M1(__CRomManager* ths); + + public CRomManager(int value) + { + cppPtr = Marshal.AllocHGlobal(sizeof(__CRomManager) + 100); + //Allocate storage for object + _cpp = (__CRomManager*)cppPtr; + //Call constructor + _CSimpleClass_Constructor(_cpp, value); + } + public void Dispose() + { + //call destructor + _CSimpleClass_Destructor(_cpp); + //release memory + Marshal.FreeHGlobal(cppPtr); + _cpp = null; + } + public void M1() + { + _M1(_cpp); + } + } +} diff --git a/Ez4Plite/Ez4Plite/EZ4Patch.dll b/Ez4Plite/Ez4Plite/EZ4Patch.dll new file mode 100644 index 0000000..8047487 --- /dev/null +++ b/Ez4Plite/Ez4Plite/EZ4Patch.dll Binary files differ diff --git a/Ez4Plite/Ez4Plite/Ez4.ico b/Ez4Plite/Ez4Plite/Ez4.ico new file mode 100644 index 0000000..c0dc57e --- /dev/null +++ b/Ez4Plite/Ez4Plite/Ez4.ico Binary files differ diff --git a/Ez4Plite/Ez4Plite/Ez4Plite.csproj b/Ez4Plite/Ez4Plite/Ez4Plite.csproj new file mode 100644 index 0000000..c6e5a14 --- /dev/null +++ b/Ez4Plite/Ez4Plite/Ez4Plite.csproj @@ -0,0 +1,94 @@ + + + + + Debug + AnyCPU + {3B43FB80-EF69-4B2E-A138-31058ED177DC} + WinExe + Properties + Ez4Plite + Ez4Plite + v2.0 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + true + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + Ez4.ico + + + + + + + + + + + + Form + + + Form1.cs + + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + Always + + + + + + \ No newline at end of file diff --git a/Ez4Plite/Ez4Plite/Form1.Designer.cs b/Ez4Plite/Ez4Plite/Form1.Designer.cs new file mode 100644 index 0000000..cd3acb9 --- /dev/null +++ b/Ez4Plite/Ez4Plite/Form1.Designer.cs @@ -0,0 +1,79 @@ +namespace Ez4Plite +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + this.btCopy = new System.Windows.Forms.Button(); + this.pb = new System.Windows.Forms.ProgressBar(); + this.SuspendLayout(); + // + // btCopy + // + this.btCopy.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btCopy.Location = new System.Drawing.Point(400, 12); + this.btCopy.Name = "btCopy"; + this.btCopy.Size = new System.Drawing.Size(75, 23); + this.btCopy.TabIndex = 0; + this.btCopy.Text = "Patch"; + this.btCopy.UseVisualStyleBackColor = true; + this.btCopy.Click += new System.EventHandler(this.btCopy_Click); + // + // pb + // + this.pb.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.pb.Location = new System.Drawing.Point(12, 12); + this.pb.Name = "pb"; + this.pb.Size = new System.Drawing.Size(382, 23); + this.pb.TabIndex = 1; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(487, 47); + this.Controls.Add(this.pb); + this.Controls.Add(this.btCopy); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.Name = "Form1"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Ez4Plite"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button btCopy; + private System.Windows.Forms.ProgressBar pb; + } +} + diff --git a/Ez4Plite/Ez4Plite/Form1.cs b/Ez4Plite/Ez4Plite/Form1.cs new file mode 100644 index 0000000..5883f58 --- /dev/null +++ b/Ez4Plite/Ez4Plite/Form1.cs @@ -0,0 +1,77 @@ +using Ez4Plite.Properties; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Diagnostics; +using System.Drawing; +using System.IO; +using System.Reflection; +using System.Text; +using System.Windows.Forms; + +namespace Ez4Plite +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + private List ScanPath(string path) + { + List basePaths = new List(); + basePaths.Add(path); + return ScanPath(basePaths); + } + + private List ScanPath(List src) + { + List result = new List(); + foreach (string p in src) + { + result.AddRange(Directory.GetFiles(p, "*.gba", SearchOption.AllDirectories)); + result.AddRange(Directory.GetFiles(p, "*.agb", SearchOption.AllDirectories)); + result.AddRange(Directory.GetFiles(p, "*.bin", SearchOption.AllDirectories)); + } + return result; + } + + private void PatchSRAM(List files) + { + pb.Value = 0; + pb.Maximum = files.Count; + string texe=Path.GetTempFileName(); + File.WriteAllBytes(texe, Resources.srampatch); + ProcessStartInfo psi = new ProcessStartInfo(texe); + psi.UseShellExecute = false; + psi.CreateNoWindow = true; + //psi.WindowStyle = ProcessWindowStyle.Hidden; + foreach (string file in files) + { + psi.Arguments = "\""+file+"\""; + Process p = new Process(); + p.StartInfo = psi; + p.Start(); + p.WaitForExit(); + pb.Value++; + } + File.Delete(texe); + } + + private void btCopy_Click(object sender, EventArgs e) + { + btCopy.Enabled = false; + try + { + PatchSRAM(ScanPath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location))); + MessageBox.Show("All EEPROM Saves where patched.\r\nHave fun.", "Patch", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + finally + { + btCopy.Enabled = true; + } + } + } +} diff --git a/Ez4Plite/Ez4Plite/Form1.resx b/Ez4Plite/Ez4Plite/Form1.resx new file mode 100644 index 0000000..c7e6581 --- /dev/null +++ b/Ez4Plite/Ez4Plite/Form1.resx @@ -0,0 +1,381 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAMAEBAAAAEACABoBQAANgAAACAgAAABACAAqBAAAJ4FAAAwMAAAAQAgAKglAABGFgAAKAAAABAA + AAAgAAAAAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs6RAA1PUUAPT5DAD4/QwA9QUMAOUJCAD9B + RgBCQ0QAREJKAEJESQA/RkcAQkZHAERFSgBGRUoAREZKAEhHRwBBSEsASEpPAFBNUgBET1MARVNTAEtS + VQBGUlcAQ1NVAEdTVABKU1gATFRXAE1YXABHWlgAVFxgAExeYQBPXmEAV2BgAFZlaABcaWsAWWpqAGNs + cABVbm8AVm9tAF1vbQBeb3EAXXFyAGBxcQBpeHcAY3p8AGp7eABkfHwAbXt+AGp9egB2iYsAc4uPAHON + jQBxjo0Ac46NAHiOjAB5jo8AepCTAHuQlAB6kZQAdpKSAHiTkAB/kpcAe5SVAIKTlgB5lpYAeJaXAH6W + lwB7l5cAfJebAH2ZmACCmZwAfZqbAH+bmACFmZ0AfZyZAH6cmgB/nZoAgp2eAH6enQB+np4AgZ+cAH+f + nQB/n54AgJ+eAICfnwB/oJwAfqCdAICfoAB/oJ0AgqCcAICgnQCBoJ0Afp+iAICgngCDoJ0AgaCeAIKg + ngB+oKAAfaGdAH+goAB9oKEAgKCgAH6goQCBoKAAgKGdAHyimwB/oKEAfqGeAIGhnQCAoKEAf6GeAH6h + nwCBoZ4AgqGeAIGgogCAoZ8AgqCiAIGhnwB/oaAAgqGfAIChoAB+oaEAgaGgAIagogCCoaAAgaKdAIGh + oQCAop4AgqGhAIGingCAoaIAg6GhAH+inwB+o5wAgaGiAICinwCCoaIAgaKfAH+ioACCop8Ag6KfAH+j + nQCCoaMAgaKgAISinwCAoaQAf6KhAIKioACAoqEAfqKiAIGioQCAo54Af6KiAIKioQCAoqIAgaKiAH+k + nAB/oqMAgaOfAICiowCDoqIAgqOfAICjoACDo58AfqOhAIGjoACAo6EAhKOgAIOjoQB/o6MAgqOiAH2j + pACEoqUAgKOjAIOjogCBo6MAhKOiAHykogCBo6QAg6SgAISkoACAo6UAg6OkAIKkoQCBo6UAg6ShAISk + oQCDpKIAhKSiAIOlnwCFpKIAfqSlAIGkpACGpKMAgqWhAISkpACEpaEAhqSlAIWlogCIpKUAgaaiAIal + pACGpqMAg6emAIenpQCIp6YAiaeoAIuoqQCOqqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACym6Z4pZeFnGmNf1tsi6FYhF1rnop4 + mZNzsW96amNtj1pTLilMZWaZR0OqrpKYm12PShMRSHh8NRcqhriCn45orlAUEktfeyMHD3S1r5Z6gJZZ + HAxFX8UfFRAoy5tyYWVupyYGPnfMGCsnBUBXeZp4YrMzAi+qyAs2PAoitmSdZ4Guxw0gusAIOc4dCUmV + nX6jqtAaBMdEAD2lNyQZrJFYd4nPIQM6MgFGiVE/FjhcpFJ2zB4OLTQxT75xO0Ilw6tog7ssGzC8TXWh + gWBeQaC/fYiiys3Bc3FwxrmojJB1poutqa+wh8K3tMm8xLOhvZqZgE5UnlaBVX+egbNoW1uUAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA + AAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCoaD/f6Cf/4Giof+Co6L/gqKk/4Cg + of+BoJ7/gqGf/4Kjn/+BoKD/gqKg/4Kinv+CoZ3/gaGe/4Cgnv9/oZ//f6Gd/4Ghof9+op//gqOh/4Oi + ov+CoqH/g6Kg/36ioP99pKL/fKKf/4ChoP+BoaD/f5+g/3+goP9/oKH/gKGi/4GhoP+BoaD/gaKg/4Gi + oP+AoKD/fqGf/36gnv+AoaD/gaGe/4GjoP+Bo5//gaOf/4Cknf+Aop//fZ2c/3mZlv9vjIn/epaW/4Ch + nv+AoKH/fp+g/4Chof+AoJ//gqCg/4Sjov+BoqH/gqOi/4Kjov9/oaH/f6Ki/32foP+BoKH/gaGf/4Ch + n/+Aop7/f6Ge/36hnv9/oZ7/gKOf/3+inv+Co5//gqOf/4GfnP+Eop//gaGe/4Ggnv98l5j/Tlld/zo/ + Rf92ior/gaCe/3+goP9/oaP/gaGf/4OioP9SaGr/bYGE/4Cgof+BoqH/hKOi/3+iof9+oqL/gaOj/4Oi + o/+Bop7/gKGd/36hnf+Ao5//f6Oe/4Ggnf+CoJ3/gqOf/4Gjn/+CpKD/hKOg/4Gfnf+BoJ7/f6Gc/3mS + lP9ASEz/Q0JH/3aFhv9/oZ3/gqKg/4Sio/+BnZr/TV5f/0BISv9CSEr/hZ6f/4GipP9/o6b/gKCg/4Ci + o/+BoaH/gp+i/4Ghnv9/oJ7/gKKh/4Giov+BoaD/gKCh/32gpf9/oKH/gaGd/4Chof+AoaH/gaOi/32h + nv+BoZz/f5iZ/0JMTf9HRUr/dYSG/3+inv+BoJ3/hqGh/3iPj/82QUH/Q0JD/0RDQ/90iIj/gaSk/3+i + pf+Ao6P/gqGi/4Giof+AoKD/f6Cd/3+gnf+CoJ7/hKKi/3+goP9+oqH/fqGg/4Chn/+AoZ3/gaKg/4Cf + n/+Bop7/gaGe/4Kgm/9/mpn/QU9P/0JCRv9ndHf/gqSg/4Gfnf+EoqP/Znt9/zlESP9JTVD/PkNF/0NO + UP+Hpqb/gKSj/4Gjo/+BoKH/gKGh/36fnv+BoZ3/f6Ge/32hn/9+oZ7/gqOh/4Giov9/oqH/fqCf/4Gf + oP9/oJ//f6Cf/4Kinv+AoJz/gqCc/4Cfnv9IWln/QkRI/1pmav+EpaP/gaCe/4Ojov9keHr/Nj9C/3mE + hv9NWl3/MTs9/2+Bgv+Ao6H/fqCg/4Ghov9/oKH/gKCi/36im/+Bop7/gaCd/4Ojn/+Aop7/gaGe/4Gh + nf+AoJ7/gKCe/3+gnP+BoZ3/gqGe/4Ghn/+BoJ3/hKOf/1ZrbP9AQ0f/TlRZ/4ilp/+CoJ//gaSg/1tt + a/89Q0T/fZKP/3iOiv9CTEr/QEhK/4Gdnv+An6H/fJ6e/3+hov+AoqP/gaOg/4Ghn/+CoJ7/gaGf/4Oi + nv+Cop7/gqOf/4Cinv9/op//fqGg/32gnv9/oZ//gaKe/4KjoP+EpaD/aoGC/0NESf8/QkX/iaOj/4Gh + oP98o57/VWNk/0dJSf9/mpn/g6Ce/0tXV/89Q0b/Ym9x/4Wjpf9+n6D/fqKi/32hov+CoZ//gJ+f/4Og + nf+AoZ3/gKCd/4Gjn/9/oZ3/fqGd/36hnf+AoJ3/gaKe/4Chnf+Co5//g6Oi/4KloP+Em57/R0dN/zs8 + P/9/lZP/gKGc/4Cko/9VX2P/TklS/3+anP+Eo6T/bnyA/0ZKT/87P0T/hZab/4Ciov9+oqL/f6Oj/4Gh + oP98n6L/bZin/3OUm/+Bop7/gKGd/4Chnv+Bo6D/gKOf/4Khnv+EoJ//g6Wh/4Kjn/+Eo6P/gKWi/5Co + qv9RVFj/PDw+/2Nxcf+EoqD/fp+g/0tQWv9KRE//gJic/4Ggov+NpKb/XWVp/1hbYf9MVFv/g6Gk/4Gi + pf+AoqT/gKGh/2iTqf8whcX/LoLJ/091if+Bo6T/hKOh/4Sjof+Co6L/hKKj/4Kgof+BoKD/gKOg/4Ki + oP+CoqD/kqus/1RlZv89REb/UVdb/4ejpv+EnqP/Rk1W/0hLU/+CnZz/gKGd/4Olov9ofH//fouP/zU+ + Qv99jpL/gqKl/3+go/+Eo6H/XI6w/zl2u/9Jhb7/QIG//3mZn/9glbX/MWyq/2mMkv+CoaD/hKKi/4Ki + o/+Bn6D/gaOg/3+hn/+Pq6z/XW5x/0RKTf9FR0v/iKCh/3uWmP9DUlf/UFti/4KfoP+Bop//gaCe/3mV + lf9/kpX/X25y/09fY/+IpKb/f6Gj/3meqP9ChMr/SYCd/4Kjn/9GhrP/cpao/zyDxf8shNL/JHa6/3eW + mv9/oZ//gKCf/4GgoP99n5//gKOh/4iopv9UaGv/QkhN/0dJTP+FmZX/gp6d/4qgof9vhIf/f6Ch/4Oj + o/+EoaH/gqCd/3mUlP+Io6P/LURG/3qWl/+BoaD/cpqr/zKFzf87eLT/bZGc/4SinP+Gpp//TIu8/z92 + r/9Fi8T/MGGI/4ekn/9+oJ//gKGk/4Gjov9+oaP/ep6i/1Boaf9CT1H/REtP/3WIhP+Jqqb/lK+w/2N9 + fv+CoqD/gaGf/4Ginv+CoZ7/gqGe/4Ognf90kZD/XHp8/4KioP+Do6H/W5Wt/zR9yv8yg8f/QHum/3qW + o/9pmK7/Om2l/4eno/9ulab/gKCg/4Ojnf9/n57/gaOi/1mMs/8/aZH/iKml/3uXmf99mJj/gp+d/4Cg + n/+BoZ7/hKGh/4Chnv+DpaH/gqSg/4Ojn/+Cop7/g6Gf/4ajoP+Fo6L/gJ+e/36joP9fkr//VnqU/2KY + tP9Hh8X/VHmI/4Gjqv84drn/b42P/4Ggnv9Fg7T/XIWf/3+dnP+Do6H/RoOu/22Xnv9/oKH/fqCi/3+i + pP+DoqL/gqKi/4Cin/+An5z/g6Ke/4alo/+Do6P/gqKh/4Sko/+EpKD/gaKe/4Khnf+AoZ3/S4u7/y+E + 0v9Ceaf/fZyZ/4KgoP+Dop7/hKOd/0eOxP8/bYX/epys/zuIwv8rfcn/O3iu/3eWmf87gbb/dpeb/3+g + ov9+oqL/e6Cl/1qOsP9riYz/hKSi/3+gn/9+oJ3/gaKf/4Wmo/+Do6H/hKWh/4OkoP+Gp6L/gaKd/4Gl + n/9bk7P/QYrD/y+F1/8/cqr/dpib/2eYs/9Vh6n/V465/0x/tv9/n5n/g6Ok/22arf9Tj7v/PH+6/y55 + yf9oiJn/haSm/4Kjo/9nl63/LHKy/1eCo/9FfaT/dpue/3KZof+Bn5v/fp+a/4Ggof+AoaD/f6Ge/4Gg + nf+BoZ//gqGd/4Ohnv+Aop7/bJmw/0SOx/9Sh7X/RIPG/zKBxv9PdqT/QIHB/3qanv+AoKD/gaKi/4Gi + oP97oaf/MH7M/zB7vf9ffpP/hKWj/0SHt/88aoz/Uo+8/yp8yv81c7v/Pn2+/1KDnv9zlJ3/gqKh/32g + nv+AoqD/f6Ce/4Cgof+CoZ//gaOi/4Kiof+BoqD/hKKe/4Oinv98oaX/TY7C/zGH0P8tfMP/YoWZ/4Ki + n/+AoZ3/gqKf/3ydqf85fcT/UHy4/zZ7w/9nh57/N4DC/2KFof9Qjrv/MWel/0CDwv92nKD/I3rT/zNp + oP9/n5v/cZur/3ucnP+BoZ//gqOe/4Ggn/9/opz/gqKh/3+fpP+AoqP/gKKg/4Chnv9+oKD/ZZi8/1qH + rP9+np3/gaCe/4Cgnf+BoZ//YZKv/z1+vv9wk5//eqGp/3efo/8vesL/cZaa/1SKuP8yaaH/QoK6/3OW + mv8sdrj/QIGx/0dphf84fMf/Z4WU/3GZq/9xjZv/gaGd/4Chnv+Aop7/gKKf/4Cgn/9/oaD/gaGh/4Cg + n/+Cop3/haSf/4Ginv+BoJ3/gaGd/3aco/8zg83/L4HK/2KGnv+Cpab/g56p/zKCvv93mJ7/UIu3/y16 + yP9Edaj/M3/B/yeCy/81dcL/OGSK/zJ+yv9Ze5f/NX22/yxvsf92lZn/gaKe/4Ghnv+Cop7/gaGf/36h + nf9/oZ7/gaGg/36gpP9/oqL/gKGd/4Khnv+AoZ//gJ6d/2GTtP81hMj/Mn+7/2F+lf+Doqn/M3/E/3SW + nv9rmLD/UYa9/3mYn/9JiL//LH3G/ziBxP8+b5//MXfF/zNqm/9Mcpv/dJup/3ydnv+DpKD/g6Of/4Kh + nv+DoZ7/gaGe/4Cfnv+AoJz/gaGd/4Cinv+DpJ//gaKg/4Cgnv+AoqD/hKOc/2uXr/9Chcj/MYDO/0V4 + p/8vfcT/bY+b/4Ohm/+CoZ3/gaOh/1ySsP8tfNL/SnGW/3ihtv8mX5j/MG23/12InP+BoJ7/gaKi/4Kk + oP+BoaD/gaCg/4Cgnf9/oJ7/gaCf/4Chnf+Bo57/gaOd/4Ginv+AoZ//gKCd/4Kjn/+BoZ3/g6Kh/32f + of93nqb/e56o/0+Juf9rjaX/g6Gd/4Ggnf+CoZ//gaOn/1iPuv9jjKH/a5qr/zVch/8vfND/bIyd/4Gi + oP+AoqH/gKKg/4Giov+CoKH/g5+g/4GgoP+BoKL/f6Cd/4ChnP+CoqD/gaCf/4KhoP9+oaD/fqGe/4Cg + nf+AoZ7/gKKi/3+hoP9/oJ7/haSd/4Wjof+BoZ7/gaCd/4Kgnv+AoJ7/gqOe/4amn/9clLr/NGSN/12Q + uf9ykpn/gaGg/3+ipP+CoaH/gqKh/4Giof+AoqH/gaCe/4Ggof+AoJ7/g6Of/4KioP+CoaL/gqKg/4Gh + nv+AoJ3/gaKf/4Chnf+Co6H/gaKg/3+fo/9+oaT/f6Gf/4Chnv+AoZ3/gqGd/4SjoP+Eop7/haKd/1KM + uv81a6D/hqOh/4Gin/99oKT/gKKm/4Khov6AoJ//gKKg/3+in/+DoaH/gaCh/4Kiof+Bop//gKCg/4Cg + oP+AoZ3/gaKe/4Shn/+Cop//gaKg/4Kjof+Cop//gKCd/4CgoP9+oZ7/fKCf/4CfoP+BoKD/fqGc/4Kj + nv+Cop//ZZey/zR2t/97lpb/gqGg/36gnv9/oaL/g6Ki/4Oiof+BoJ3/g6Kd/4Ciof+Ao6L/gKSk/4Ci + ov+AoqL/gqKi/36inv+Bo6P/hKGi/4Kjo/+AoJ//gaCh/4Ojov+AoqH/gKKi/3+inv+Ao6P/gaGh/4Gg + n/+Aop3/gaOe/4Kio/98oKT/ZI+v/4Kfnf+BoZ7/gaOf/4Chnv+EpKX/gqOi/4Kkof+Co6D/gaCi/4Kh + oP+BoaH/g6Si/4Oiof+Eo6T/gqKj/4Khov+ApKP/gKKj/4Wjo/+CoqL/f6Ol/4Oio/+EoaP/g6Ok/4Oh + ov+Bo6P/f6Oj/4Kiov+CoZ//gKKh/3+gov+CpaH/gaOf/4Okof+CpJ//g6Sg/4OipP+CoqL/gqKh/4Ki + of+Bo6L/f6Kg/36jof+AoaD/f6Gh/4Chof+BoaH/f6Gh/4Chov+AoqL/f6Kh/36jof9/oqH/gKGh/4Ch + ov+AoaH/f6Gh/3+iof+AoaL/gaGh/4SkoP9+o6H/gKKi/4Kjof+AoaH/gqOf/4Gjn/+Ao6D/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAoAAAAMAAAAGAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgqGg/4CgoP9/oJ//gaKg/4Oi + of+Do6P/gqKk/4GhpP+AoKH/gaCf/4Ghn/+CoZ//gqOf/4KioP+BoKH/gqKh/4OioP+Cop7/gqGe/4Kh + nP+BoZ7/gKCe/4Cgn/+AoaD/f6Cd/3+hnv+BoaH/fqOg/4CioP+DpKL/g6Oj/4Ojof+CoqL/g6Oh/4Ki + of9+oqD/faSi/36kov98oZ7/f6Gf/4GhoP+BoaD/f5+g/36foP+AoKD/gKCh/4Chov+AoaL/gqKg/4Oi + o/+AoKD/gaKi/4Gjo/+AoaD/gaGh/3+go/9/oJ7/gKGd/4Ghnv+CoZ3/gaGe/4Ghn/9/oJ//gKKe/4Kk + nv+Bo57/gKKc/4Gknf+AoZ//gKKg/3iZmP98oJv/faGb/4Cgn/+BoaH/f6Ge/4Cgnv+AoKH/gaCh/4Cg + of+BoaD/gaGe/4Ggn/98oaD/faOh/3yjof99op//gaKh/4Kiof+AoaD/f6Gh/3+hof9/oaH/fZ+f/32f + n/+BoKH/gaGg/4GgoP+BoaD/gaKf/4GioP+BoqD/gKGg/32foP9+op//faCe/36gnv+AoaH/gaGe/4Kj + oP+BpKD/gKKf/4OloP+Bo5//gKSe/3+knf+BoqD/g6Si/2WAgP96mJb/cIyJ/09kZf+DoJ//gKGe/4Gg + oP+AoKH/fZ+g/3+gov+AoaH/gKCf/4ChoP+AnJz/haGg/4Cgn/+Co6L/gqOi/4Ojov+Co6L/f6Gh/4Cj + o/9/oqL/fqCg/3+gof+CoaL/gqGf/3+gnv+AoZ//gKKe/3+in/+AoZ7/fqGe/4Cin/9+oZ7/gKOg/36h + nv9/op//gqOf/4Chnf+Co5//gJ+c/4Khnv+Eo6D/gaGe/4Gjn/+BoJ7/hKKi/1htb/9TXmP/P0ZM/0JO + Uf+EnJv/gaCe/4Ghn/9/n6H/f6Gk/4ChoP+BoZ//gqKf/4ejo/9UaWv/b4KE/4WjpP9+n5//gaKh/4Oh + of+Eo6L/gKKh/36hof9+oqL/gaOj/4Kjo/+DoqP/gaKf/3+hnf+Co6D/f6Cc/4Cjn/9+oZ3/fqKd/3+j + nv+AoJ3/gaGd/4Kinv+AoZ3/gaOf/4OkoP+DpKD/gqGe/4Oin/+DoJ3/g6Kf/4Khnv+BoZ7/h6Sj/1Bh + Zf88Qkf/PkBF/0BIS/9/lZL/gZ+d/4Cgnf+AoaH/f6Ch/4Khnv+BoJ3/fZmZ/1lvcv8uQkX/QFFU/4We + nv+An5//gaGi/4Kio/+Co6T/gKKh/4Ciov9+oqL/gKOi/4Gjo/+CoaL/gaKe/3+hnf+AoZ3/fqGd/4Cj + n/+Ao5//f6Of/4Ginv+BoJ3/gp+d/4KioP+Co5//gaKe/4OkoP+Co6D/haSh/4Ggnf+Bn53/gZ+d/4Ch + nv9/oZv/g5+f/0xcYP9AR0r/RkVK/0NFSf+El5f/f6Cc/4Ghnv+DoqD/hKKj/4aiof97lJL/R1hY/z5I + Sf9ESEn/NDY4/3eBf/+FoaP/gaKk/4Kkp/9+oqX/f6Cg/4Ghov+BoqP/gaGh/4GfoP+Cn6P/gaGe/4Ch + nv9/oJ7/gKKh/4ChoP+BoqL/gaKh/3+gn/+AoKL/fZ+k/36ho/9/oKD/gaGd/4GhoP+AoaH/gaGh/36h + of+Co6L/fqGf/3+inf+CoZ3/h6Ki/1dpbP8/Rkf/SUdL/0ZHTP+Clpf/f6Gd/4Ghnv+BoJ3/haCg/4ii + o/90iYn/OkdH/z5BQv9GRET/Q0JC/1BTUv+BnJz/gaOj/4Gjpf9/oqX/gKOj/4Kio/+CoaL/gaKh/4Kh + of+AoKD/gaGe/4Ghnv+AoJ3/gaGf/4Kko/+CoqL/gaCg/36gn/9/oaL/f6Kk/3+ho/+AoJ7/gKCd/4Kj + oP+Cop//gaCf/4Ghof+AoqD/faGc/4ChnP+DoZz/iaSk/1Zqa/8/SUn/RkZK/0FDSP97jpD/f6Of/4Cg + nP+Bn5z/gqCf/4egov9gdXb/PElL/z1DRf8/QET/QUNE/z5BQv9yhIX/gqOj/4Cjo/9/o6P/gKKi/3+h + of+An6D/gKCg/36fnv+An5//fqCd/4Chnv9/oJ3/gqCe/4Ggnv+EoqL/gKCh/36hoP9+o6H/faGf/3+g + n/+AoZ//gKGd/4Ghnv+AoaD/gJ+f/4Chnv+Bop7/gqCe/4Kin/+CoJv/h6Si/1hwb/89SUn/Q0VI/z4/ + RP9wgYP/gqKf/4Cgnv+Cn53/gqGg/4mjp/9ZbG7/O0dL/z1DR/9SV1r/QEZJ/z1ER/8/S03/gp2d/4Ck + o/+ApKP/gaOj/4Ghov+BoKH/gaGi/3+hof9+n53/gaCc/4Chn/9+oJ7/faGf/32gnv9+oZ7/gqOi/4Gj + o/+Ao6P/f6Oi/3+foP9+oJ//gZ+g/4Ggn/9+oJ//f6Cf/3+gnv+Cop7/f5+b/4Ggnv+CoJz/g6Kg/2+J + if89TEr/Q0ZJ/0FCR/9ldnn/gqKg/4Ghn/+BoJ7/gKCf/4qmqP9Yam3/OkRH/zc/Q/9/iYz/Tlpd/zxI + Sv8yPD7/cYGC/4OlpP9+oaD/fqCg/4Chof+CoaL/gKCh/3+gov+AoKH/gaKc/4Cinv+Aop7/gKKe/4Ch + nf+Ao5//f6Gd/4Ghnv+BoJ3/gKGf/4Cgn/+AoaH/gaCf/3+gnf+AoJ7/gaCf/4Ggnv+CoZ7/gqKf/4Gh + n/+CoZ3/gqGe/3mXlv9CU1P/Q0hL/z9CRv9dbG//hKOj/4KhoP+CoZ3/gaKe/4qnpv9TY2T/O0JF/0VQ + UP+MnZz/cIKB/zxKSf9ASUj/PUZH/4KYmf9+oqD/gJ+g/36foP9+oaH/f6Gi/3+hof9/oaP/faKb/4Ci + nv+Bop7/gaCd/4Khnv+Do5//gaKe/4Ginv+BoZ7/gaGd/4Chnf+AoJ7/gKGf/36fm/9/oZ3/gKGd/4Ki + nv+CoZ7/gaGe/4Ghn/+BoJ3/g6Kd/4Ohn/9NX2H/QUVJ/0NESP9SWl//hp+i/4Kho/+BoJ7/fqKe/4Si + n/9NWln/PUJC/1JeXf+Hn5z/iKCc/1BiX/9BSUj/OD9A/19sbv+Go6T/gaCi/36fn/97nZ7/fqCh/4Gj + o/9/oqP/gaSh/4Chnv+BoZ//gqCd/4Ohn/+BoZ//g6Of/4GgnP+Dop//gqOf/4Ginv+Bop7/gKKf/32f + nv9+oqD/faCe/32fnv+AoaD/gaKe/4Kjn/+Cop//g6Oe/4Wkov9cb3H/REhM/0RESP9FS07/hp2e/4Ki + ov+AoaD/eqKd/3+dmv9JU1T/QUND/2FubP+GpKL/haOh/2+Egf9ASUr/QUdK/zQ8P/97jY//g6Gj/3+f + oP99n6D/fqGi/36iov99oaL/gqOf/4Ggnf+CoaD/gZ+f/4Ghn/+AoJ//gqKf/3+fnP+Bo5//gaKe/3+h + nf99oJz/fqKe/4Cin/9+oZ7/gKOg/3+inv9/op7/gqOf/4Chnf+EpKP/gaSe/4Wlov9vg4X/RklP/0hF + Sv9BRUj/gZaV/4Ginv+AoZ3/e6Og/4Ofn/9NVFb/QkBD/2Nsbv+Eo6T/hKOj/4Odnv9IUlX/QkhL/0NI + TP9IUFT/h56h/4Chof9+oKH/fqKi/36iov9+oqL/gqKf/4CeoP+An57/gqCd/4Kinv+AoJz/gKCd/3+h + nf+Co5//f6Cc/4Cjn/9+oZ3/fqGd/3+inv+BoJ3/gaGd/4Oin/+AoZ3/gaOf/4Slof+Do6L/gaSg/4Wm + o/+Dl5v/TlFW/0ZBR/89QEL/dYaF/4Kinf9/oJz/gKWj/3qVmP9KTVP/SkJN/2Zvdf+Eo6X/gqGi/4ij + pf9ueX7/SU5T/1JVWv88QEX/eYOJ/4WjpP9/oaH/fqKi/36io/9/pKT/gaGg/4Ghof99oKH/eJ6i/3yc + nf9/npr/gaKe/3+hnf+AoZ3/f6Gd/4Cin/+Ao6D/f6Of/4Kinv+CoJ3/hKCe/4Ojn/+DpKD/gqOf/4Ok + oP+Fo6T/gKSi/4Onov+NoKX/WVxg/0pESv88PT7/XGhn/4agoP+BoZ7/gqWk/2eCiP9GRVD/RTtH/2Jp + cf+FoaX/gaCj/4Kiov+Lm5//VV1h/32Bhf9GSE7/R0xU/36Wmv+BoqX/gaKl/4Gipf+AoqT/fqCg/4Oi + ov9slar/RYe6/0WEw/9IdJ3/dJeb/4Ghnf+Co57/g6Kf/4OioP+BoqH/gqKg/4Ghn/+EoqH/haCh/4Kh + of+DpqX/gqSf/4Cjn/+Co6D/gaOh/4Olof+Qp6f/UmJk/z5HSf86QUP/TVFV/4Weof+EoqL/iaWo/2Z4 + f/9CRU3/QkJL/2p2fP+JpaX/gaGe/4Khn/+Eop//XW5x/3mGiv9ia2//OD9E/3J+gv+Hpab/gKGk/3+g + o/+AoaT/f6Gh/4Giov9aja3/M4XD/yiFyv8ug8z/NWSJ/36fof9/oqX/gqOj/4Cho/9+n6D/gaKh/4Gi + ov+EoqP/gqCh/4Khov+An5//gKKg/4Cjof+CoqD/gqKg/4Sin/+Rqav/YXR1/0JNT/8/REf/Q0VJ/3uR + lf+Kpan/jKis/15xd/8/RU7/PkFJ/257gf+Fo6H/gKGd/4Chnv+Bo6D/cIeJ/19wdP+Gkpb/O0RI/0NN + Uf+Gl5v/hKKl/36fov9/oKP/gqOi/4Ghn/9RiLP/NnnF/z1zrv8+hcn/PoPE/12DlP9/oaP/cZyt/1GI + u/80Z5b/bo+S/4SjoP+CoaH/hKKj/4Ohov+CoqP/gJ+g/4GhoP+Bo6D/f6Gg/4Kgnv+Qqqz/Z3p9/0JN + T/9FSk3/PTxB/2t9f/+Pqav/iKSm/1Blaf87R03/P0hP/25/hf+GpKT/gKKf/4Kin/+BoJ7/g5+f/0tg + Y/+SoqX/Ym9z/zJARP9neHv/h6Kk/36fov+AoaT/haKj/3ygpf9OiL3/OXeq/3eVoP9rla//O4LJ/z9m + oP+Dnan/So26/y6D0P86g9L/LWma/2SHkv+CoZ7/gaCe/4Oiov+CoaH/g6Ci/4Kiof+BoaH/gKOh/4Gh + nv+Lqaj/Znt9/z9LTv9DSEz/RERH/1tpaf+Lo6H/i6en/zxUVv9tfYH/bXyB/26Eh/+Fp6b/gqKg/4Wj + of+CoJ7/g6Og/3CMjP9qgYP/kaao/0FTVv85TVD/gZuc/4Gho/9/oKH/gaKk/0WJv/86gM3/Onig/4Gi + of9/o57/W5Wz/zZvlP9+oa//R4bA/yuA0v8qgsv/Hn/N/0Bvn/98mpj/f6Gf/4Chn/9/oJ//gKCg/4Gi + of97n57/f6Oi/4Ghn/+FpaP/WXBz/z9MUP9ESE3/RkVK/1BdW/+RpqL/iKWi/3uXl/+Xra7/b4SH/3WS + k/+Bo6T/gqOj/4iko/+DoKD/gqCd/4Khnv9+mZn/iqal/3KNjf8oQEL/aYWG/4ampf9/n53/ep2o/0OF + wv8rg9L/N3a0/2CAk/+BoJ3/g6Se/3ybov+DpqH/UI63/ziAz/8+d7D/OIPG/zSDzP86YHb/hKKe/4Gg + nv98oKD/gKGj/4Cio/+Bo6H/g6Sg/32hpP+FpqX/Tmdp/zJCRf9ASk3/QUVL/0NQTf+Cl5P/iaql/4uq + qf+Vrq//WnN0/36dnf+CoqD/gaGf/4Kjn/+BoZ7/gaGe/4Shnv+CoJ7/gp+c/4Sin/9jf4D/Smhq/4ak + pP+AoZ7/g6Kf/2+cq/8/h7//MX/U/zOIxP89cZ//bI2Y/4Wlo/+Aop//Z5aw/0GBxf9JcZT/fJ+h/06M + u/9AbZP/eJWY/4Ggnv+CoZ7/f5+i/32jqP+CoqL/dJus/1CEqf9LcYH/hKGd/3OOjv9XZ2r/Wmdr/2R0 + cf+Cm5f/g6Oh/4Ojof+IpaT/f5qc/4Chn/+AoZ3/gKGe/4KkoP+Bo5//gqKe/4Ghnv+BoJ3/g6Ge/4Og + nf+DoJ7/g6Gk/4OipP9/n5z/gaOi/4Okn/9UkrH/OnvC/zuGwf80iM7/MHmz/0lzmf9+mKT/eJ+l/0KE + wf88baH/hKOh/4Cgof95nqj/fJ+k/3+gnv+BoZ3/gJ+d/36hn/9/oqT/Xo+v/zp4vv9Lbo3/g6Wk/4Gg + of+CoKL/g6Kj/4ejof+CoaD/f5+e/4Cgn/+AoJ3/hKKh/4Ggnv+AoZ7/hKWh/4Omov+CpKD/g6Og/4Oj + n/+Cop//g6Kg/4Ognf+Go6D/hKKf/4Kho/+An53/fqSe/4Clpf9ejr3/TXSW/3icqf9Kj8D/OYHL/z2A + r/9UcXz/hqWk/1SIvP81b7D/cI2S/4GgnP9/n5//W5Cz/0Fpjf91lqD/hKOg/4Ghnv9/oqT/UYqv/zl5 + o/93nJ7/f6Gh/4Gfo/9+oKL/f6Kl/4Giov+DoqL/gaGh/4CioP+AoZ7/gJ+c/4Khnv+Dop//hqWi/4Sk + pP+Do6L/gqKh/4Kiof+EpKP/hKSh/4Kinv+BoZ7/gqGd/4Khnv+AoZ3/eZ6i/1eQt/87h8v/PnKe/4Oh + n/+CoqH/gZ6u/32gqv+EpKT/gqKe/2Obrf87hMX/Qm+H/4Wjnf9wlqn/KYHK/yuAzP85c6v/WHuR/3+c + mv9/n6H/TYu7/ztoi/9/oqD/f6Gf/36foP9/o6L/fqGg/3+hov+AoKP/g6Kj/4Oio/+Bo6H/f6Ge/4Kh + n/+Dop3/haSi/4Sko/+Do6L/g6Oi/4Ojov+FpqL/hKSg/4Kjn/+DpKD/gKGd/4Kjnf+Ao5z/R4m8/zCE + zf8ug9L/PX+7/0dshf+CoqD/gaGe/3+enP+BoJ3/gqGd/3ygo/86h8X/LGOK/4Gemv9zmrH/TY65/zuJ + x/8tgMz/NX7D/zZmjf94nKL/O4rD/0dqhv+Co6P/gKCj/36iov9+oqL/gKOj/1qRtv9Nha//XHyF/3+g + oP+AoaH/f6Cf/3+fn/99oJ3/f6Gd/4Okov+FpqL/g6Oh/4Okn/+EpaH/g6Sg/4SloP+Gp6L/gaKd/4Sm + oP+BpZ//VI+2/0CMxv8xhMz/LIXX/zp9zv9OcZf/fp2c/3+hn/9tmLL/XIyq/3CQmf9Ji8P/R3y3/26O + kv+Do57/gaKl/3WdrP9fk7X/S4u//zqCwf8yebv/K3/T/z5nlv+AnqH/gqKk/4ChpP+Bo6P/fKGk/zSA + w/8ydrH/V32W/02JvP9Vgpb/gqSi/4Ciof+Do6D/gaCc/4CgnP99npn/gqCh/4Ghof+Aop//f6Gd/4Kh + nv+BoJ3/gaGf/3+fnP+CoZ3/gqGe/32gof9tm63/RozA/yqKx/85hsP/QnCW/1yQrf88icT/Mn7D/1Nz + j/9jlMD/OIDQ/2GEk/+BoZ//gaGg/4GioP99o6L/fqKi/3ygpf9pmbD/O4DI/zV4wv9GaYT/iKSo/36g + o/+Do6P/XpCp/zJ8z/81ZY3/X4ur/yl5yv8wdrf/NWmJ/0uMuv8ybp//dJOZ/4Ghn/+BoaD/fZ+e/4Gi + of9+n6H/f6Gi/3+fnf+BoZ7/gqKf/4GhoP+Do5//gqGf/4Chnv+Cop3/fZ+n/2OTuP9JkMX/WpK+/09+ + sP9Ghcv/MofO/z10sP9Jc6X/P4XJ/010k/+CoqL/gKCg/4Kiof+BoaL/gKGg/4KioP91nqv/NoDI/yx/ + 0v8zf8H/RWyR/3mZof9+oqT/S4qy/yt7xv9JbYD/WZO1/yl5yf8tfcn/M3jN/0Fzr/9IhsT/QHqj/16R + sP9vjZj/gqGh/4CgoP98oJ3/gKKg/4Chnv9/oJ//gKCh/4CfoP+CoZ7/gaOi/4Kiov+BoqD/gaKg/4Gh + oP+AoaH/gKCg/4Gjof9wnK7/TY3A/yeE0v81h8r/LoPI/zZsq/9vjZb/gaGf/4Ggnf+AoZ3/gqGf/4Gi + n/91ma//PIHL/zlzq/9JesL/M3zM/zVjl/9zk6X/Qoa+/yh1vP9qhpv/VpC3/zqCwf8vZqb/Nn7O/2OH + lP9wnq3/KHzR/yh9zP9BbJL/gKCd/3igoP98oKb/fqCe/3+gnv+AoZ7/gaKf/4Cgnv+BoKD/f6Ge/4Ch + n/+EoqP/gKCj/4Gio/9/oZ7/f6Ce/4GhoP+Bop3/eJ6u/1KPv/82g8//Nn/L/zxwnv95mJv/gaCc/4Cg + nf+BoZ7/gqKf/4KhoP9ymqr/QojF/z5slv92mrH/WpOz/2SPuf9kh5n/O4HG/zByrf93lp3/Wo21/0KA + vv8wYZ//NoDA/22Mjf9rlKP/OILJ/yZclP8+crD/bIGI/1qSs/9Jhb3/aImY/4Chpf+BoqL/g6Od/4Gh + nv+AoJ3/f6Kb/4Ginf+BoqL/f5+j/36gpP+Ao6P/gKKh/4Gjof9/oJ7/f6Cb/4Ohpf9rmrj/X4mp/4Gf + nv+BoZ7/gaCe/4Khnv+An53/gKCg/3ygof9Nibr/P4TK/z1qkf99nqL/gKOl/4Gkp/90oqf/MoHH/z9u + n/98oZv/XI6w/zuByf8xaJ3/OoDD/2F+j/9rmKT/K4LE/z5Xhf9Bjrr/OVx7/1CLvf8xdcX/W3yV/3mb + oP9jka//YYCd/4KhoP9/n5z/f6Ge/4Chnf+Aop7/gKGf/3+hof+AoJ//f6Gg/4Gio/+AoaD/f6Ce/4Ch + nf+Cop7/hKOg/4Ginv+Cop7/gaCd/4Ggnf+BoZ3/fqGg/1OOsf8tgtL/MITQ/zxzo/96maT/f6Kl/4Gj + pP9+nK3/NIfE/0V2o/9/oJ//W5Cz/y5/xf8yecD/OnO3/058mf8tf8X/JYPP/yt4sf87cbv/Ml2B/0yG + tv8wesf/VHeU/2qUsf8ufbz/KHS9/0Vnh/+Eo6D/gqOf/4Gkof9/o57/gqWf/4Chnf+BoqD/f6Gc/3+h + nv+CoqH/g6Kj/3+fov+AoaX/f6Gh/32fnP+AoZ3/gqGf/4Sin/+BoJ7/f52f/2SOs/87gsv/JoPQ/0OB + yv82X4X/f6Om/3uipP93nKn/NIbA/015o/9+np3/ZJKq/yt6zf8veMz/UXaT/3eerP8wgNL/MIDL/ymB + yv8vgM//OGGP/0h7wf8oesz/SWyV/0aKuP8wZpz/SX+x/z5ohP+CoaH/gKGd/4Kjn/+BoJ3/gqGe/4Oi + n/+AoZ7/fqGd/36hnf9/oJ7/gaGf/36fof9+oKP/f6Kj/3+hn/+BoZ3/gaGd/4Kin/9/oZ//gJ+c/4Cf + n/9hlbP/QIbB/zKHy/82hcL/TG6W/3GToP99n67/N4TL/0B0qP9/np7/eJ+q/1yPuP9hjbP/fJ2k/36e + pf8+g8H/MITP/yRjov9DhsH/RHWg/zx+uv8ucb3/KmSV/z98xP9bd5D/faCn/3qepP9/oJ7/gqOf/4Ok + oP+Cop7/gqGe/4Ognf+Dop//gaGe/4Cgnv+Anp7/gJ+d/4Ghnv+BoJ3/gKGe/4KjoP+Eo5//gaKg/4Gh + oP+AoJ7/gKKg/4Chm/+Bop//a5aw/0GJxv82gNH/MoHU/zNwrP9Mfaj/MYLK/z5wnv9+nJv/gaCc/4Cg + nf+AoJ//gKKf/3yjqP9LiLT/Mn7P/zZ9wv9XdI7/fqCv/0KHwv8fWpX/KWKo/0R/yf9jiZL/fp6e/4Cf + nP+BoqP/g6Sg/4OkoP+EpKD/gqGe/4CfnP+BoJ3/gKGd/4CgnP+CoZ7/gKCb/4Chm/+Bop7/gaKe/36i + nv+BpZ//gKKg/3+hoP+Bop7/gqOg/4CioP+Bop3/g6Od/32eov9klK7/Sou9/z6Eu/9Pgqr/MYHF/zp0 + tv9tjZz/gqGe/4Ggnf+AoJ3/gqKh/4Oko/9lnLf/K3/R/yp50f9Hd5j/e56o/zWDw/8zVYj/Mn3F/0Z+ + sv9sjpT/gJ+g/4Ghn/+CpKP/gqSg/4GjoP+AoKD/gaCh/4KhoP+AoJ3/f6Ce/4Gfn/+BoKD/gKGe/36i + nP+CpJ7/gaOd/4Kjn/+BoZ7/gKGf/3+gn/+AoJ3/gaKe/4Kjn/+BoJ3/gqKi/3+goP+AoaD/gqKg/4Oj + of+EpKj/YZO1/1J/q/94l6T/gqGd/4CfnP+BoJ3/gaCd/4Sjo/+CoqX/bJix/1+Prf9zlZ3/dJyi/zqE + xf81V3z/Ln3R/0Nvrf95lpv/gKGf/4Chov9/oaD/gaOg/4Ciof+BoqL/gqCi/4Shof+CnqD/gaCg/4Gg + ov+BoKL/f6Ce/3+hnf+Bop3/gqKf/4KhoP+BoJ//gqGg/4ChoP9+oaD/fqGf/3+gnf+An5z/gaGe/36g + of+AoqL/f6Gg/3+fnv9/oZ3/gqKc/4SkpP+EoqH/gqKf/4Ggnf+BoJ3/gqCe/4Ggnv9/oJ7/f6Kf/4Kl + ov+DpKD/bZqt/zGDzf85YIH/UYu//012m/94lZj/gaGe/4Cgo/9/oqT/f6Cg/4Cgn/+BoaD/gZ+f/4Kg + of+CoKD/gaCf/4Ggof+BoKD/fp6c/4Kinv+AoJv/gaGf/4Kgof9+np//gJ+e/4GjoP9/op7/f6Ke/3+h + nf+Ao5//gKCc/4Ciof+AoqL/gqKh/4Sio/+AoKT/gKGj/4GioP+BoJ3/gKCc/4Oin/+CoZ7/g6Ge/4Ki + nv+Cop//g5+c/36ioP+BoJz/XJG6/zWD0f84YIH/e56w/4Gorf+Bop//gKCh/32fo/9/oqb/g6Gh/4Gh + oP+CoqH/gaKh/4Gjov9/oqD/gaCd/4Khov+BoKH/gKCf/4Oin/+DpKD/gqKg/4Kiov+DoqL/g6Oh/4Gi + nv+BoZ7/gaCd/4Ggnf+Cop//gKGd/4KjoP+Co6D/gaKf/4Ghof9+nqL/fqCk/36ho/9/oZ//f6Ge/4Ch + nv+AoZ3/gqGd/4Kinv+Eo6D/haOf/4Chn/+EoZ//XpGt/ziA0f88bpr/gJ2b/4Cinv+BoZ//faCj/3+i + pv+AoqX/g6Gi/oGhoP+AoJ//f6Kg/4Gkof9+oZ//g6Gg/4GgoP+BoKH/gqGg/4Khn/+Bop7/gKCg/4Cf + oP+AoKD/gaKe/4Chnf+Cop7/hKGf/4Ognf+Co5//gaKf/4KioP+Co6D/gqKe/4Kin/+An5z/gKCg/3+h + n/9+oZ//fKCf/36gnv+Bn6D/gqCg/4Cgnf9/oZz/gqOe/4OioP+BoZ//b5yq/zV80v87eKz/dpOX/4Kh + n/+CoaD/f6Cf/36gof+BoqP/gqKi/4GhoP+CoqD/gaGe/4Kin/+Cop//gqKi/4KipP+Bo6P/g6Wl/4Gi + ov+AoaL/gaGh/4Chof+AoaD/faCc/36in/+BoaH/haGi/4OgoP+CoaD/gqOh/4Oio/+DoqL/g6Oi/3+h + oP9/oKD/f6Gh/3+hn/99oJz/fqGf/36hn/+AoaD/gJ+g/3+gn/99op//f6Se/4Gkn/+BoaL/faCi/zuG + xf9Adqv/dJGT/4Ghnv+BoZ7/fqCc/4Chnf95n6H/hKOj/4GhoP+DoqH/gaCd/4Ognf+Dop3/gKKg/4Ch + oP+Ao6L/gKOk/4Cjo/+AoqL/gKKi/4Khov+Co6L/f6Kf/4Gjov+Bo6P/g6Gi/4Khov+CpKP/f5+e/4Ki + ov+BoKH/g6Oj/4Ciof+BoqL/gaKi/4Gjof+Aop//gaOj/4Gio/+CoaH/gaGg/4CgnP+Bop3/gaKe/4Gl + oP+CoaP/gaGf/3Sesv9xlav/g6Gg/4Ghn/+BoZ7/gqSg/4Kjnv+Cop7/hKSl/4Oko/+Co6L/g6Sh/4Gj + n/+Co6D/gaCi/4GgoP+CoqH/gaGh/4KjpP+DpKH/g6Oh/4Sio/+Eo6T/gaKj/4Oiov+CoaL/gKOj/3+j + o/+AoqP/haOk/4Sjov+CoqP/f6Ol/4Gjo/+EoqP/g6Gi/4WjpP+Co6P/g6Gi/4Khov+Ao6P/f6Oj/4Cj + ov+CoqH/gaCf/4Ghn/9/oaH/f6Cj/3+ioP+BpaP/gqSf/4Ggn/+DpKH/gqSf/4Cknv+EpKD/g6Kk/4Ki + of+BoaD/gaGg/4Okof+Do6D/g6Kj/4Ggn/+AoJ//f6Gg/4Cjo/+BoqH/gKCg/4Oio/+CoaL/g6Oj/4Gi + ov+AoaH/gqSk/4Cjo/+BoqL/gaGg/4Cgn/9/oqD/gKSj/4Giov+BoKH/g6Kj/4Khov+Do6T/gaGi/4Ci + of+CpKT/gKKi/4Kjo/+DoaH/hKWh/4Smov+BpKP/gKKi/4Cgn/+Aop//f6Cg/4Giof+DpZ//g6Wf/4Ck + oP+CpKD/hKOl/4Khov+DoqP/gqKh/4Kiof+CoqH/gaOi/3+jof9/oqH/fqOh/36jof+AoKD/f6Gh/4Ci + ov9/oKH/gKCh/4Chof9/oaH/f6Gh/4Cgof+AoqL/f6Kh/36iof9+o6H/fqKh/4CgoP+AoaL/gKGi/3+g + oP+AoaH/f6Gh/3+hof9+oaD/gKCh/4Gjo/+BoaD/hKSg/4Cjof99o6D/gKOj/4Chof+DpKL/gKGh/4Gj + n/+Co5//gaOe/36joP+Ao6D/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + \ No newline at end of file diff --git a/Ez4Plite/Ez4Plite/Program.cs b/Ez4Plite/Ez4Plite/Program.cs new file mode 100644 index 0000000..c709fbd --- /dev/null +++ b/Ez4Plite/Ez4Plite/Program.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; + +namespace Ez4Plite +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Ez4Plite/Ez4Plite/Properties/AssemblyInfo.cs b/Ez4Plite/Ez4Plite/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..163be84 --- /dev/null +++ b/Ez4Plite/Ez4Plite/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Ez4Plite")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Hewlett-Packard Company")] +[assembly: AssemblyProduct("Ez4Plite")] +[assembly: AssemblyCopyright("Copyright © Hewlett-Packard Company 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("6c583b31-8559-4bfd-a955-e2f785c97098")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Ez4Plite/Ez4Plite/Properties/Resources.Designer.cs b/Ez4Plite/Ez4Plite/Properties/Resources.Designer.cs new file mode 100644 index 0000000..2ee38c4 --- /dev/null +++ b/Ez4Plite/Ez4Plite/Properties/Resources.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.34209 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Ez4Plite.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Ez4Plite.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] srampatch { + get { + object obj = ResourceManager.GetObject("srampatch", resourceCulture); + return ((byte[])(obj)); + } + } + } +} diff --git a/Ez4Plite/Ez4Plite/Properties/Resources.resx b/Ez4Plite/Ez4Plite/Properties/Resources.resx new file mode 100644 index 0000000..775c69c --- /dev/null +++ b/Ez4Plite/Ez4Plite/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\srampatch.exe;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Ez4Plite/Ez4Plite/Properties/Settings.Designer.cs b/Ez4Plite/Ez4Plite/Properties/Settings.Designer.cs new file mode 100644 index 0000000..f766358 --- /dev/null +++ b/Ez4Plite/Ez4Plite/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.34209 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Ez4Plite.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Ez4Plite/Ez4Plite/Properties/Settings.settings b/Ez4Plite/Ez4Plite/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Ez4Plite/Ez4Plite/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Ez4Plite/Ez4Plite/Resources/srampatch.exe b/Ez4Plite/Ez4Plite/Resources/srampatch.exe new file mode 100644 index 0000000..ecf864d --- /dev/null +++ b/Ez4Plite/Ez4Plite/Resources/srampatch.exe Binary files differ diff --git a/Ez4Plite/res/Ez4.ico b/Ez4Plite/res/Ez4.ico new file mode 100644 index 0000000..c0dc57e --- /dev/null +++ b/Ez4Plite/res/Ez4.ico Binary files differ diff --git a/Ez4Plite/res/srampatch.exe b/Ez4Plite/res/srampatch.exe new file mode 100644 index 0000000..ecf864d --- /dev/null +++ b/Ez4Plite/res/srampatch.exe Binary files differ