diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/3DNUS Material Edition.csproj b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/3DNUS Material Edition.csproj
index 92d6ba7..b0b27e9 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/3DNUS Material Edition.csproj
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/3DNUS Material Edition.csproj
@@ -98,12 +98,6 @@
-
- Form
-
-
- MnExtension.cs
-
Form
@@ -142,9 +136,6 @@
-
- MnExtension.cs
-
MnSettings.cs
Designer
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/App.config b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/App.config
index 925e30a..32660ab 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/App.config
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/App.config
@@ -11,28 +11,34 @@
<_3DNUS_Material_Edition.Properties.Settings>
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+ 0
+
+
+
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.Designer.cs
index 29f705d..5f71df0 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.Designer.cs
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.Designer.cs
@@ -33,6 +33,7 @@ private void InitializeComponent()
this.dev_status = new System.Windows.Forms.Label();
this.splash_timer = new System.Windows.Forms.Timer(this.components);
this.pic_splash_logo = new System.Windows.Forms.PictureBox();
+ this.tmr_get_upd_stat = new System.Windows.Forms.Timer(this.components);
((System.ComponentModel.ISupportInitialize)(this.pic_splash_logo)).BeginInit();
this.SuspendLayout();
//
@@ -51,7 +52,7 @@ private void InitializeComponent()
//
// splash_timer
//
- this.splash_timer.Interval = 2500;
+ this.splash_timer.Interval = 4000;
this.splash_timer.Tick += new System.EventHandler(this.timer1_Tick);
//
// pic_splash_logo
@@ -65,7 +66,11 @@ private void InitializeComponent()
this.pic_splash_logo.Size = new System.Drawing.Size(400, 300);
this.pic_splash_logo.TabIndex = 1;
this.pic_splash_logo.TabStop = false;
- this.pic_splash_logo.Click += new System.EventHandler(this.pic_splash_logo_Click);
+ //
+ // tmr_get_upd_stat
+ //
+ this.tmr_get_upd_stat.Interval = 10;
+ this.tmr_get_upd_stat.Tick += new System.EventHandler(this.tmr_get_upd_stat_Tick);
//
// FmLoad
//
@@ -88,7 +93,6 @@ private void InitializeComponent()
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "main_load";
this.Load += new System.EventHandler(this.main_load_Load);
- this.QueryAccessibilityHelp += new System.Windows.Forms.QueryAccessibilityHelpEventHandler(this.main_load_QueryAccessibilityHelp);
((System.ComponentModel.ISupportInitialize)(this.pic_splash_logo)).EndInit();
this.ResumeLayout(false);
@@ -99,5 +103,6 @@ private void InitializeComponent()
private System.Windows.Forms.Label dev_status;
private System.Windows.Forms.Timer splash_timer;
private System.Windows.Forms.PictureBox pic_splash_logo;
+ private System.Windows.Forms.Timer tmr_get_upd_stat;
}
}
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.cs
index 281a0eb..235e47a 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.cs
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.cs
@@ -8,9 +8,7 @@ public partial class FmLoad : Form
{
public readonly String cd = Path.GetDirectoryName(Application.ExecutablePath);
private bool is64 = System.Environment.Is64BitOperatingSystem;
- private bool checksum;
-
- private MnMain frm;
+ private Form mn = new MnMain();
public FmLoad()
{
@@ -19,163 +17,57 @@ public FmLoad()
private void main_load_Load(object sender, EventArgs e)
{
- //string cd = Application.StartupPath;
- //if (!Directory.Exists(cd)) Directory.CreateDirectory(cd);
-
- //Assembly ass = Assembly.GetExecutingAssembly();
- //String prefix = "_3DNUS.RuntimeAssets." + wat + ".";
- //int prefixlen = prefix.Length;
-
- //foreach (String ss in ass.GetManifestResourceNames().Where(str => str.StartsWith(prefix)))
- //{
- // String s = ss.Substring(prefixlen);
- // String fn = Path.Combine(cd, s);
-
- // if (File.Exists(fn))
- // if (checksum)
- // {
- // String cs = null;
-
- // using (Stream sr = ass.GetManifestResourceStream(ss))
- // {
- // using (MD5 md = MD5.Create())
- // {
- // cs = BitConverter.ToString(md.ComputeHash(sr)).ToLower();
- // }
- // }
-
- // using (FileStream fs = File.OpenRead(fn))
- // {
- // using (MD5 md = MD5.Create())
- // {
- // if (BitConverter.ToString(md.ComputeHash(fs)).ToLower() == cs) continue;
- // }
- // }
- // }
- // else continue;
-
- // using (Stream sr = ass.GetManifestResourceStream(ss))
- // {
- // using (FileStream fs = File.OpenWrite(fn))
- // {
- // byte[] buf = new byte[0x1000];
- // int read = -1;
- // while (true)
- // {
- // read = sr.Read(buf, 0, buf.Length);
- // if (read == 0) break;
- // fs.Write(buf, 0, read);
- if (Properties.Settings.Default.dev_music == "")
- {
- Properties.Settings.Default.dev_music = "0";
- Properties.Settings.Default.Save();
- //Application.Restart();
- }
- if (Properties.Settings.Default.dev_auto_upd == "")
- {
- Properties.Settings.Default.dev_auto_upd = "1";
- Properties.Settings.Default.Save();
- //Application.Restart();
- }
- if (Properties.Settings.Default.eula_read == "")
+ if (Properties.Settings.Default.dev_auto_upd == "1")
{
- Properties.Settings.Default.eula_read = "nope";
- Properties.Settings.Default.Save();
+ splash_timer.Stop();
+ SvcUpd.SvcUpdate();
+ tmr_get_upd_stat.Start();
}
- /*
- if (Properties.Settings.Default.dev_auto_upd == "1")
+ else
{
- try
+ if (Properties.Settings.Default.dev_tour == "")
{
- dev_status.Text = "Checking for Updates...";
- File.Delete(Path.Combine(cd, "Update_info.txt"));
- File.Delete(Path.Combine(cd, "Update_URI.txt"));
- File.Delete(Path.Combine(cd, "3DNUS_old.exe"));
- File.Delete(Path.Combine(cd, "3DNUS_new.exe"));
- File.Delete(Path.Combine(cd, "upd_fin.exe"));
- WebClient get_info = new WebClient();
- get_info.DownloadFile(new Uri("https://raw.githubusercontent.com/zoltx23/3DNUS/master/Update_Info.txt"), cd + "\\Update_info.txt");
- WebClient upd_dwld = new WebClient();
- using (Stream upd = File.Open(cd + "\\Update_info.txt", FileMode.Open))
- {
- using (StreamReader reader = new StreamReader(upd))
- {
- string rd_upd = null;
-
- rd_upd = reader.ReadToEnd();
-
- if (rd_upd == Application.ProductVersion)
- {
- dev_status.Text = "No new Updates";
- splash_timer.Start();
- }
- else
- {
- dev_status.Text = "Downloading New update...";
- if (is64 == true)
- {
- upd_dwld.DownloadFile(new Uri("https://github.com/zoltx23/3DNUS/blob/master/Updates/x64/3DNUS.exe?raw=true"), cd + "\\3DNUS_new.exe");
- WebClient get_fin = new WebClient();
- get_fin.DownloadFile(new Uri("https://github.com/zoltx23/3DNUS/blob/master/Updates/upd_fin.exe?raw=true"), cd + "\\upd_fin.exe");
- Process.Start(cd + "\\upd_fin.exe");
- dev_status.Text = "Preparing...";
- Application.Exit();
- }
- if (is64 == false)
- {
- upd_dwld.DownloadFile(new Uri("https://github.com/zoltx23/3DNUS/blob/master/Updates/x32/3DNUS.exe?raw=true"), cd + "\\3DNUS_new.exe");
- WebClient get_fin = new WebClient();
- get_fin.DownloadFile(new Uri("https://github.com/zoltx23/3DNUS/blob/master/Updates/upd_fin.exe?raw=true"), cd + "\\upd_fin.exe");
- Process.Start(cd + "\\upd_fin.exe");
- dev_status.Text = "Preparing...";
- Application.Exit();
- }
- }
- }
- }
+ Form dv = new dev_tour();
+ dv.Show();
+ this.Hide();
}
- catch
+ else
{
- dev_status.Text = "Unable to update...";
splash_timer.Start();
}
}
- else
- {*/
-
if (!File.Exists(cd + "\\3DNUS Material Edition.exe.old"))
{
File.Delete(cd + "\\3DNUS Material Edition.exe.old");
}
-
- if (Properties.Settings.Default.dev_tour == "")
- {
- Form dv = new dev_tour();
- dv.Show();
- this.Hide();
- }
- else
- {
- frm = new MnMain();
- splash_timer.Start();
- }
-
- //}
}
private void timer1_Tick(object sender, EventArgs e)
{
splash_timer.Stop();
- frm.Show();
+ mn.Show();
Hide();
}
- private void main_load_QueryAccessibilityHelp(object sender, QueryAccessibilityHelpEventArgs e)
+ private void tmr_get_upd_stat_Tick(object sender, EventArgs e)
{
- }
+ //Fetch Svc Status
+ dev_status.Text = SvcUpd.SvcUpdateStat;
+ this.Refresh();
- private void pic_splash_logo_Click(object sender, EventArgs e)
- {
+ //Fetch and check Error codes
+ if (SvcUpd.SvcUpdateStat == "Unable to update. [Overall Failure]")
+ {
+ splash_timer.Start();
+ }
+ if (SvcUpd.SvcUpdateStat == "Unable to update. [Get Binary Failed]")
+ {
+ splash_timer.Start();
+ }
+ if (SvcUpd.SvcUpdateStat == "No new Updates")
+ {
+ splash_timer.Start();
+ }
}
}
}
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.resx b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.resx
index 675a0ea..e71d2ad 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.resx
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.resx
@@ -120,6 +120,9 @@
17, 17
+
+ 136, 17
+
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.Designer.cs
deleted file mode 100644
index 560befe..0000000
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.Designer.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-namespace _3DNUS_Material_Edition
-{
- partial class dev_ext_manager
- {
- ///
- /// 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(dev_ext_manager));
- this.SuspendLayout();
- //
- // dev_ext_manager
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(569, 454);
- this.DoubleBuffered = true;
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "dev_ext_manager";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "dev_ext_manager";
- this.ResumeLayout(false);
-
- }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.cs
deleted file mode 100644
index d47eb74..0000000
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System.Windows.Forms;
-
-namespace _3DNUS_Material_Edition
-{
- public partial class dev_ext_manager : Form
- {
- public dev_ext_manager()
- {
- InitializeComponent();
- }
- }
-}
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.resx b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.resx
deleted file mode 100644
index 909e5b6..0000000
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.resx
+++ /dev/null
@@ -1,605 +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
-
-
-
-
- AAABAAEAAAAAAAEAIAA1cAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAEeAAABHggGAAAAXMl61gAAIABJ
- REFUeJzsvWmwLMl1HvZVr7fv/u7bZ5/BzGAhAAIYESIgCiBILAOK4AIusCXalqWgwpTDYf+R+MOiJRKU
- 9UMOCUFFKGzTm0zSoIgAARA0AJoruIEUBqRAAgQwbzDvzfb2u2+9l39UZ+c5J09mVfV+7+sT0d3VWblV
- Ll9+5+RSwFzmMpe5zGUuc5nLaZdo2hmYy1Rl2vUfTzn9uUxJpt3w5jJeOen1OwemUyonvWHOxcqgdTmt
- NjAoqMzB6BTIHHhOpuSpt5Bf7d642oQGGCEQyQMwczA6YTIHnpMhWerJ5yfKeH/S4gOLOOP9QeKey4zI
- HHhmV9LqJsRWIo+/tPt50s8qWQBEA5u0+2nxZ70/lynIHHhmS/KoRSEQiTK4pwHSOCQEMHHgflo4LY1Q
- +nOZssyBZ/qSFWwkOITAJFLcQ/e031GLBAoJOD4A0oDH50Z/5bUvP3OZgsyBZzqSVb0JgQq9pm4FcW38
- FQJhfAxpVBJiMBJcuuLa+OsGwqSBk5aPLO5zGZPMgWdyMgzY+ECDfgppbjHOXh88+3HgEbL5i7D5GPyg
- 0x3CTQMvYA5CMytz4Bm/ZAGcrCxGAxX2G+PsTX9W0sDD3Je/WeIL+dXu8TQibD4ODix5fyU4QXEHXBCa
- A9AUZA4845FhwSYVYAAUYmzcGrwKfUCRldkM4j+LX+snwuaT4ACjfWLlOiszmoPQlGQOPKOVNMDJAzYF
- cV2IcfaWHr2PoeQFkSwyPqBJc4uw9RpYkOn0PHaQHZSygtAcgMYsc+AZjWjlqLGbNNWJfqIYZ++MK8Ou
- 0D41DHgNCnZZ1TsrETZfCws8FICom8aWsqhmNGNaZucyhMyBZzgJAU6I3Ui1qQjLam6HkxzGyOtjRJNg
- SnklnyoYYfNbkAANBR0NlCQg+dQyKNdaZuYygEy7dZ1UyQM4kt1IZlPIx2w0kDBJhYCE+vE9Qpb0fG55
- ZdQqm/UXYfP1sMAjPxoQaUyITuvPAWjEMgeefJIFcKQ65dhqABQTsBm2A+eZddLcRsVsfGA2SuY0yLMC
- ETbfAKCNfEAk2ZBJYA5AI5I58GSTrIATYjbFGGfvjj+r05Bh2AtlacBgoBiyD9l4BRNqi19pHwrZhOYA
- NKTMgScswwJOEYkq1QOcLAbUQTvxqKbHs4bJo7LJfJpww5bDYIwqwua3IgGYFjj4ZGFCcwAagcyBxy+y
- bLIATt9IjL46RSWPmpPWKbUsZu3IWWeQRml0Hp9NZ9D8RNh6Czj4mI8GQllYEOCCzRx8FJkDjyshliP3
- PjmAE+Pslht8XKxD+h0GzPLkZ1jbUtZ8jdsGZqXHgiT4SCCS6pg0QsutGjIzc+nJHHisZFWrfMZiAjiD
- dphRq1m+cBD+R2lk9tlv/LYXfxyjzld6fBE234yEBbWhA5GmhlEAmqtfGWQOPIlkVas0g3EPcLLaPPJO
- Z9Nw4wazQcMPohqN2t41qHhnw4wa1oYLRCE1bK5+ZZB7HXjS1CoNdIzBeDvxNkpAGGZmZ1gZhw0mLcww
- 8eQNGzJq++OKsPkUEuAxnyy2IAo8c/VLkXsZeLKwHLmyuIjgtPgo1YRhmMa4WMSowMMXt5Fh0kirgzT1
- T2U/344EdJqwDIiCkDYbllX9uifB514EHh/LCalVBnA2bZBRsxHZIYY1uI6CwQzKLrLKKNW48UsPgJpw
- QUjagLJMw0u5pwBoNmp0cpKV5UjAyTBTNW5VRQufxmyQwV8ob8MATx4wC6mdGCDtLPnIGsbNb4TNt8Ky
- HgNEWWxAc/bTk3sJeHygQ205EnC2s0U9StUma8fMI5NiLKNIZxDj+yjykR+cI2x+Gzj4mI+2KFGCj8/2
- c0+Az70APCNgOXk6wzg6Y570sqY7KjVqkuEHsTGNt/wjbL4dCfBQFczHgObspyenHXiGZDnjNKbKOGUW
- x21f0fIwDGsLgfPs2GnyS7a8E/sPBSFpA5qzn56c1NaQRTTQ8c1YBWw5PhnUMJqFEWW13eSRQcNp8eRh
- fqNKd/YlwuZ3IAGdBlwVTLP/aDNf9wT4nNbWECnXEnT6U+Qxzu5kM8bO2sg9CjUjL7MatWo1qPqEDPkI
- 2cnGV8cRNt8Gzn586pfcfuFTvU4d+MxSLxqFjNGADIzW4KvFOYwf6R/wA8qojMCTsO1kBQgNjIYB5mGY
- ZYQIm38TCfORDEhTv+451es0AU8a6AypWg0ro5ymNjKMUTZPOB9b8D1T3vzJPA46EzgJyZ5WhM3vRAI6
- BoA0+49P9TrV4HNagCeLPYeynB1/VGmdbRSSNpoO2nkHTTfvMw/L0oadiRtUpqMq92w/lP2EbD+hPV9G
- Tjz4nAbgSQMdud0hh2o1DhmF6jNqENSYRhorGwQkxtXxh52RyxouDyvj9yNsvhOW/VAG5FO9DAM6leBz
- 0oEnBDpybU7JVa2GbVyhePLIpGZ+Bp1ly3Jv3JIFAAcxJmdJI48/v60pwuZ3AajDBR+N/YTW/MjETpyc
- ZODJAjqG5eyOJwuzNsuVR0ahSg4bR167V5rRPEses95Liy/Ls8vnA4jhuQ6uesmZr5DqJRM5cXJSe40P
- dOgbOBXQGYZZTFp1ALJ1xHEYmAdXKQZLb5i4Tgpj40JULwlAmuHZGJvlK3egXJ8ImY1ayCdpoGM+pbAR
- mcqkaHhev2mdapSqIjL6DYUZFJwnZePSyg9KXKM2Yut1EmHzXeCql8/wrB02Rh9AXs+8nDTgiZRrnz1H
- bH2QwUMyiY4wLrYy6jyMmiVOMryJA/Czx6wsK4sqmDWcxYgIW9+NBHwMANF1Pz67j2FAPLITBD4nCXg0
- 0JHnHyugY2RQcNCSzxIuL1MJhR/EzzCdNi9zmZQRPquMG/BGq3ZH2HwPgGNY1Stk9zkV4HNSgGdA0NGA
- Y5hOPc6OM2yao7RtTIthTSuf44gnX5wRNt8Ly3zkzNepA59CupepyxBMh2pjknJnTVKCV1rYQeucxj1I
- GqG8peV7FO00SxxpHVHLp9af0tS/vM+TVd1Mu6c11WwS4+z/B6DW+yz0PlUAFQBlAKXeh767zfSB4RKf
- gsx6BocAnVGrGlniHIchNatksWWAuIdsEcDo8jgLtqxxpDmoQV6WP08/wubTSNQuyn7odotTwXxmmfEM
- adMZVdKau1afoc7uizsrs8nKJijD0/KWBjoynlCefG7yWpZZqF9o+Y4Vf2l5yvPfN8CkiSxPLY5QPHpd
- xTj7OXDWs4CE9ZjPqWA+s5qxnKCTZfSZlRmWUceRxs6yqCWDjvhpnZaO6MMa3PPkIa+fLP4Gt9/klxgR
- tp5GwnYo+zk1zGcWgUfmyQwtKVPmo5BBOoOm4oTi8alEk2zYWr6m5TevZC0nDXDzANWoVc78EmHz/bDA
- Y37TwIeucqYyU+Aza8AzAtDJM7vja1zTsDVklXF2nnE896B2sVF2/FBceZ856/MMMpC4/k4r+MySjScn
- 6IRmcDTRKt9nz5gW6AzLjmUHk8+X1e6Qxe+oJGRPywsIoTSGMSDT68jjbsprmPbk2oxinP0srM3H/KbZ
- fOjBd4NkZOwyS8BDJYILPILp5C3DPKO+9j9kQB0kPk2y2AXzGKe1sCGDqM9vFvEBleyoWrgsbmmS5bkG
- Ka+s16a8Qiw662SBY3AOgU9oqn1mwWdWgEfWJAUd85vDppOngflmVuQIlqURanHnrfc8edfiDoFiqJOn
- dYqsQOUDn1C4rP6zzjal3QvNaoWYnu+eLz7prrUlX9z8WoCPnO2i4CNP3ByU7o1VZiFDIdChTGdn9DaI
- UcUnRzkt3jy2p6z38vgZNGweG8w4nzEko37+YQz9g5ZnNj/E5kNnu7TNpWlHakzV3jNtxhPirBmPKh02
- +ayqUmgklINKXj1/kHtpo3ZamCxph+5rDCekBoZUoTSmliZZ1UcqaRMLgxq38z5LqE5cFtpjPgviI1c4
- m3PFpa0nK1Ufu0wTeLRCoGfp9F49s7GrB0mjvFkbYdaOF1IlBpE8tg2fkdMnNJ8hgMoisfhoafnyIOPJ
- 6j9vPgcBiaxglUYU0sokTdXOMug4Nh+6yLAKDjzmQ4/8NQN5WuYmJtNmPFScBYLJIV4hnVmKLNNxgMSo
- 6iot/740Q+xGCzMs2ETiM4hkrYdBwXiYOvEBwSA2vUFkMGM4AR8JQFn2dU1dSlNKN5NdJxxMk1Ho15oM
- MgIPGyZS3NLCDmqXkDJKm8YgcYbC0WcdV31nlby2PM1fHjXbibsGl5KGXg7YBW8kJpGJ23umQbXSQKeE
- 3Ad5jbKBUR1/mI4cMsqG4s+TVt5Gniec38/tb/wvKO5/EQDQWX4KG+/+aZRevpkh/CAddVjj7rjBJ08a
- o89LhM0fAHDU+/gMzvIkw6kbmycNPGl2nd4M1sbO8CPJKPyNoqFoQJOWzjAjaZb48/u/9dwvobT/DArH
- V2C3AxmJ0F14DJ3lt+DCk//liPMyKhnl4DFMmNGDVITN70MCOgZ8zKFiEnzkGc4mISjXY5VpAw/VPQ3o
- 7I62g4U6fhoojBKcfLMlWfI3SHqhPGSL79bVT6G4/wyKR18Buo1sSURFdBZfi87yU7j4qg+JNCS7H4TB
- jmvAGAf452G9Wpgsg1YiETY/AJ35yJMM6bva6fnNENdjlUkCj6ZisdfQQH33lZSslZVFJsEiBh0BB1UZ
- 8oCo63bzxd9Bcf+LKB78R0SdId8KVFhAZ+kNaC8/hUuPft+AkWTvfLMhej6zt1B+N82Ebu4XsPkj4MBD
- 1/rQfV2+1+ZoSY5NJlWTPhUrYNfJI6Mw8uUJM6xMWm1CMExcreDOlz+C4sGXUGjeGDBfKbkorqCz/BZ0
- lt+CSw+/Z7i4AEQKMMeIFIjSfZs7cNzTWUrcu+9Lw8Zr80TDoX+f58P8i3ohKeDalCMWhqZXwOYPwYIP
- ZT7yzaXyzRUyG2MHn2kBj2LXoYsEs1DtvIxgGHUqr/9hDZzD0vw0Kg8AEW5d+QWUDp5B4fg5TKCt2RyU
- z6O9/BSir5Vw7oP/UHRQmkvuqj9VLDoh7awaSEjFz3R0HnfMfFqhHT3HEzvxDBvGd7eAzR9EGHx89p5T
- BzxpKlbJvnRvEowjH0D5fYdHUt5BYtG88+U17ncn2on0ET5mYc1YaeXW859E8eAZFA//EohbOfIyHulW
- H0Jn+Smcf/WP91y0p7HPHXvLUAN7Gyob3wnXvc/6Amg5NjmNRDgNGiMnHJS61v+7MRaw9X1w1a6QvWfi
- Kte4e7kGOgZ4zFqdUoyNrXD31is4C3zI0vONfKEGRTuzHB3lqAw1rKXL9D6NU1LxCC41lyIbHX8Cm9Kt
- F347AZuDP0PUOQjGOT0poFN7MpkZe+Lv9Nxop5XqjOywVvS6S+5IVYWKxpB4/BYUQqyIpmX9yFxmkZAZ
- wN8Ditj8UbisR7P3SGPzxMBn0sAjVaxyF2e3Q5qzLOA8VFdreNlHy7zqVHbfbkh3pEUwdnc0pyMmEKH9
- wCVs/9ZPobT/RUSt25nzORMSldFZej06y2/B+cc+SG8gH2P11WtoyJFxweNOuYmbBh02bCx+9mVdKTDy
- kPIJpFD3kt/eY8DHbCidiso1TuBJVbG6OLubp5PrPkONKZ08Wy6idX5tVKVjrnxME8Z1l03VSJYGRf1y
- tcstkf0XPor25hdQqH8zJbaTIXFhEZ3lN6Gz/BQuPPJ+6977pewH5NplyJR1uuxJlj5V7iQHTmPKOrO1
- 4jLVMGOVdayzYbdtl7D1gwAOkc3eM1GVa1zAI0EHcLdDlDq9qXOX8Ui1g6s7iVvkuPmbgR/cfOpP+kg4
- yqLTFQa3q9B7Vunbe/ETqEU7qCysIYqKaOz+FRq7X0enfmeEeZy+xKUzvZmxp3DhoXcSEHdVWbfNGLim
- 6g8Pq7mDxQGE610b5iQD8kGlzvr5fRsTjdcFpkRK2PxPkACOAR+qchnwmYrKNSngcVSsTv/40iz6shW/
- miLLJlIrSo8tNOK4IynnO2Fgc8dW2gHoPx4GoMyGNrHk//ZLn8NifAML1SVExaqadqexheb+FTT3rqDb
- PlT9nFTpVi6js/zXsP7un0bx5ZuknAFe97aOuIVHA3mwuyasj0vr3FMCW5gByVYgB0A+tU7DhYDShitj
- 60fAWc8R+JtKp6JyjQN4UlWsTu+oC4r0WbowHzMAt4lYn5wsu6MVb4ru6OGOKG5zjFlFa01QS1trYOZZ
- ZPFxhWLrLz+DxdVNLFQKKJZX1FLSJUbr6Dqae99A6+Aa4u70Z7NGJ3a7xkZ/uwYvS14P1sVe8TLXAEBr
- ldlUpixMCZCtVh8m5TymTy3jAFzB5gfhqlxmW8VUVK5JAI9cKFg2KlaIErsgIQFHSy6kYmnqmBuHHDOp
- 6FSY3uNp8klP65oWXurvxy98FLVSE6XquhMur8TdFloHV9Hcexato+sYw2A2PSHbNc6+6keNI/R2QYcL
- t94oTzLxSBjxDXAcevxKkkxPAw+XTXG2rMVBWVIEoIzN/xQWeKjapU2x+xYWzjTwhNhOCUCp7SwU5MFd
- vTiE6Hx80qixq6zwbLrN0U0ldE/m2n0uH4/zqXeJHLz4q1iMdlFZWAOiIsYh3fYhmntX0Nx7Fp3miF9R
- Nm0h2zXOPvoBcG4tQUcOfoDWie19V6XxDYARa3fo+5O5cSVby+QDGtg/elVJtlRIlYuCT2gXuyycoWVc
- wGN+pUG53MLZTU1Fip1K9Om1MfkvO7sWzt9owuyIA55U5nzx6Avj/RBGl5ntvvQ5LMY3g3abcUmnfgeN
- vWfR3P8m4s7xRNMet9DtGhsPv9sBGzlwcc7j/vMNGFL55rxXghEHDMmd6EDJ2Q6U3PjanpUKtn4MOutJ
- U7loUc0k8GgqVgRiUG7192Lx/MtOrU9iSz5D43FBgmdIGzVk+pIOu8DEIUSzA5g7HCD1Yk7i3Xn597HU
- vYqFchmF8pLib8ISd9E6egnNvWfRPHgBiDvTztFIhW7XWPvgT8DHXrQVxLGocZ8tiHL1LAOl7k7TkYzM
- x4ZsfjW/1WSW6xD+KfaJGZrHATwR+fT3YgEoN7FxV0KKq0+72ixgFSZtXHIrj4bIwop4OBfYbG61Svev
- XdbuJbL97P+B4sEzWDnzKlRWHvfkZboSd5to7n8Tzb1n0T6WB32dfDHbNdZf/ePQmTLgMlYpnA/51SMb
- Z5ibu9MWktugfyXbYGhyPUYVW/8FLPBI8Ant5Rq5yjUq4AmxnRKAUhMb224QX8eW4prxQuE4dwHcctKW
- 8kEN5Vs3wasc5IqOcNxt+5sfS7YuHH2tzySiYhWVlcdRWX0CpYWLyrPPhnRbe4kqtncF3dbetLMzYrHb
- Nc488WOk40s1ig+DpgVRV8rbXXMCAOLu8pU04KN+fAOkFp/1u4DNv40EbA6QgI85QMy3tmcsrGcUwCNB
- xwBP37bT7K9Qtt5cSutSV5di0nuG81jGw//bhuFSYE2Hl0qSrjL586TR3whb1z7b2yf1ZUTdI6fwqBQr
- 66isPIHK2pMolJaDfqcp7eObiSq2/03E3ea0szNaIds11tl2DdUzqFJl3PR2Ya4BjRVJWNMWXFBxWZPL
- nXhrt3BXS/ZyUeYTOrtnLIbmcQCPM33ewMaWvZ2GzoCO5jKrbuXyJXcyFqry6DTa+g/RWAtWvuvtv/gM
- iuUrKO4/g6idcq6ZR0q1y6iuvRrl5UcRFSoDxTF2iTtoHrzQm5p/CYjlkagnW+h2jTOPPK3y8dBWUDqg
- +odQGidtx7ZFunNxcsiGiIG7SItlzRqapcqlbaeg0+szCTwq22ko78WSdn6Lzujdp5XFq5VWEq9uyW14
- lSU+I+FP8i4tV1p4d6SKAew++7+juP8MCo0XMxRbNomiEsrLj6Cy+gTKSw9iNFU2eok7x2juPYfG/pVT
- t1UDANuusf7Qd8Kv6oQGTM3+I9KBVsOcTYf9mHh81tREatj6EFyVy2doHjnrGbYVh9hOGUCp7rAdvlkg
- BD1++urLin/M0Ss9i44sAYmvBtr55q8k5xIffx3jngEqlBZ79qAnUayeHWtaw0inuZ2oYqdwqwZgt2ss
- v/ufIXr5psNoZGuW7YYqR7o6lFy5K4AiJxY515qIvjOeplHD1n8GDjza8RlyH9fIWM+ogEdjO+U6e1uE
- BgLo35O0lNpZLFq7+qq22FBfQapZgmTuNKLqcqqda59Faf+LKBx+GVG3nqWcRi7F6gYqq69GZeVVKJRm
- YBpeFbNV41m0Dq6esq0aAGC3a6w8+Xe9fiQ8UHf3WrtnRPfDe5ObkmYWjwAsYsusaD6AXd8zEdYzDPBk
- YDtnt7Sl3VIlSqsAHdkl0EhfvorVWY9V6lx2FAPYeekPUNp/BsWDLyFqz9Iq3wjlpQdQWXkC5ZVHEUXT
- ekdjWE71Vg0AdLvGyqs+BMnupXrumg7cAc5tiXyWNg2a6F3XehRjyU6vU9ZDp9cbSBhPCyO29YwCeFTb
- zrFj29FVHMk6pBXG3rHuuo4r0+FAl1zrDEqzAZl49r7x88kh6I2X9FKYIYkKFZSXH0V17dUo1S5hVu1B
- p3qrBsC2a6w++gGHNbsKE+D2X828kMXkEBI3/JJlPXKWS06v+1jPRIFHYzsRyGLBI2xsyeXnckm3z1yc
- 3PMvCtd2z9g49LUW2con8bf33C/31tt8A+7L606GFErLqKw9icrKEyhWht9cOi7p1O+gsX8Fzb3nTt1W
- DQC97RpvRmf5Kaw+/G6VpbjC2TZ1pf+yW0X50Er1g2VsGtYjZ7mkrceoXDFGwHqGBZ6IfOgq5coRNjJO
- bYRBwWU3fv9S1+WrfMJhdq/+OkoHX0Lx8MvZX153QqS0cBGV1cdRWXli4nvAMssp36oBoL9dI/5aCcsf
- /AkAkv/IZRsu+GST7MxoGVs/Dq5upbEebTXzRIAnE9txrTGaIUyLmvrzVYM8bIBnTOrFUGIEgL0XP99b
- 3PclRO0hX153EiQqorz0IKqrr06m5se0631YOe1bNeI4RruwiqW3/TJ3hz71Iu8nwsHFz4zC8cYAVlxb
- j2E98ozmka1mHpUlkhqWC25uqEnZn0M5fWj/yaVSMYNbHjoS/mVIKzt/+o+wuFRDbbmGUmk2O+FIJe6g
- dXANrYNrva0aT6Cy+vjMbdWIChVU116L6tpr0W3tobl3BY29Z0/8Vo1Op4NOp4NutwOgrvYD6SZVKN1E
- HY6DunkAqtz7VJCATBkJNhgthvbvGAn4mCgmZuPRjMr9HeiHYk+WazC27jQyzfgmrfq6TSf51jZLUD9a
- es//0pv7firVChaXa6gt1VAsFgKPf/rkxG3VOHgecedkqMPdbqcPOFJWvut32P+wNuD6C/n3Tc3Ye3y+
- eQVb/zl01iM3kNJXIMvxPzMI5WU88jmpjcdhOzw37qIme01VIMpzfHG5cctvXxhfyTQbTTQbTexs7qJa
- qyZMaGkBhcLpB6FOcwfHm1/E8eYzKNUuzexWjVLtEkq1S1i88DeSrRr7V9A6fBGztlWj2+32mU0ch+2X
- QHgOV/NPr2XsdDrHP7jT3tiXsviUyKeNhFgYwDF9fiC2Q/OU1782hV7ex8aOZmfxMRcqmhFZnwXTrfeh
- U3B8pXOVMB5NoihiIBRFszk9PQ6JohLKK4+isvL47G/V2P8mGnvPTnWrRhx3+8wmBDZUlgXj6cWE/GWt
- h8kSE+1Hq8lq5gNw1iMPCwudUjgWxqOxHfNrAEhF65jhMM+hBCXr5rcHSeTnsfusOzy9LBLHMepHddSP
- 6ojuRqgtLqC2XMNCrXrqQSiO2721NldQKC2hsvIqVFZfjWJ1Y9pZYxIVa6iuvx7V9deTrRrPodse/xtT
- 4zgmYJOfdVleQpeuumv3fYO2Gwa9MC4ShFpriq2nBW7nicD7vhzrM3WvYY3L1OjErLOakVjLlQaVBkKj
- /r/ICSMBi5JLn11oGG4YxzGODo9xdHiMQqGA2tICFpdqqNZmdHp6hNJtH6K+/Reob/8FitWzqKw+icrK
- 4yiUFqedNSbFyhnUzv111M69dWxbNeI47tttut3hVTztVHHL4N3+kaX/GF2I9oAuS8lrMy3BVbeK4Ibm
- Dlwjc27JM2wHjcp72CCvIvY/oN9AzN01N+OuAY+8b6/pqfw8X9dSVK0sUiwWUFuqYXGphsrCbNlExisR
- yksPJrvmlx+Z8a0a15JX+wyxVYPPSI1GFr/rtwm/odwlEbfvcNsNQAHGApbLjNIOtbf9Zh1bfxeuunUI
- d2rdZ2QeKeNJNSrbFN2lemHjrn5EtU/FSjMUu8gf9fNlxqdRKkmdThcHe4c42DtEqVRMQGi5hnKlPMJU
- ZlFitA5fROvwRbFV4/K0M8YkKpRRWX0CldUn7FaN/SvoNNLPSUqMxG11RmpEuRNt2D2mN8UgTNy5fwsr
- vuWzUlfowxVlPSXyX6pcPiNzJsVimFktCT4ALEqHVCUq8vAAGo9xcxcR+pkUiH/6PwI8FTA6abc72N89
- wP7uAcrlEmrLCRMqlWeTDYxK4m4Tzb1voLn3jZneqlEoLWFh401Y2HiTd6tG1hmp0Qq148gVb/7zxSOk
- q1CuLZUO9LRP9XuHBByqZhngoX3fPkQOOpl18A+qWbvOecoD5ARAGkjpvnXzmTTZyX9AjBd/6S25cjeo
- VKrlvjpWvBcWKvYk2arxBCorj8/0Vo3G3rM43Pwymoc3Jwg2QK03q+UzG0jR53l1c7PujhS3xP0Mtv8e
- rLolz+uhx6MOrG5lGYrT1CzHqEwR2kVuTQxqu8jtYz42Y5ruyn3oh6GOUuEKS7PRQrPRwu7WHqoLlT4I
- FU75QsV2/Rba9Vs4uvMFslXjISCa/nN3O8doH99BJ+4C5Q0Uag8gPrgx4VxQNYeqTIBrDXXfouIeNRb1
- +wSHFY0RaTDW71sl5aOtYh5Y3Rp0Op3ZdzS9NHK8U0Mv9+/jLbTIY1F4PLzMJq1IHsrd2TVZadSbaNSb
- fRBaXK5hYbGGQmE6+ZmIqFs1nkBp4cJks9FtoXV8C51OCyhgKaQrAAAgAElEQVQtAoWFiabv5Ae0bdt2
- ySGH7kvUfmk494g7SQRsvPI/TVOd3dLAZ2B1axAbD2M8O9i47aK0awimSKwXjNFZQXxaw3DiV75WRj+X
- X3+ZiBwVJkepNYnjGPXjBurHDUTRLhYWq1hcWsTC4uleIxR3GmjsfAWNna8kWzVWn0BldYxbNeIuWvXb
- aLeOEBcXEUUVoDRLs48uA3eZjblK/PBJkySscePh7IDv9hYaO8eOLWz82w1s/X3ojEcDHo31BCUNeNLU
- rIIFhlg8Emcq+h5yc4f64epRCK1lodlc2H+0gjjnmZ3OHccxjg/rOD6so1CIsLCYzIxVFyqnGoQ6zR0c
- 3/0iju8+g9LiZVRXn0R5+TFEheFnBNv1u2g39xAXF4CoBJSWZ6jGrSSAwdUp3ublKYZ82DR+pYrF+0/E
- 3GxIsLisSSQGyDvxoBuah1K3BplukSjHHoSDgf6gfgOYuXJ5CaWlLtREfcCJWHh3OtLGOl3G45NuN8bR
- wRGODo5QKBZ62zUSEDq9EqN9dB3to+uIoj/sbdV4AuWlB5BngOg0d9BqbKMblZN9ZjO84RWgbZsOmbop
- gvp31SSuScTkjjuoxywu2dPIoOyz8WgzW7nVrTzreBw1axsbdyQt1BQZaWLWDccWoW14rmjFThFFjEBa
- hU5jQ7yiZnH0k9Ila4SKpWIfhCrV07tGKO9WjW77EK36XXRiICrWgOLSiahbwAIOHSTldLfxGffaOnXX
- +562T0Bby6OVkg1/Fxv/9lxY3fIB0MhtPDSnPTXLteJolpXYuS9VJiuazul/EnfxIUd7A07+9E6KdMga
- oVK51D9HqHyK1wj5tmpEURGt+m10Ou2ekbh2YsCGCjdF0P8xu89fgGND81/Zd2Qf5MM89aP3B0fdklsn
- 6OyW73weLxCFWq1Wl9SoVKA6pQmidXXq4r5kjDIVlyzSF9q4hW99aewm6sVPU+DAdzKl3Wpjb2cfezv7
- KFfKWFw+/WuEOo1NHNz8Q3Su/z5KC5ewePkdQGlG1wZlFLp5mrZ6aqex7ZSbJdy3tUQsRmon4lyKbr+m
- RmYavp+ez8ZTAGc8ufduZV3HQ3u2SYisVuYKjAYOvEiML37NKwDCP0RYmj1unHPtRwaCLJCdxBFSk1az
- hd2tZI1QZaHSV8dOy2Fm2raF1vGtKeZodKK3RM1cbK7sIEsPBabtmg+sss9xd9tzbdrCFiRVK/qhOECx
- QeukjuRtnX0Quoszt/ijSjZhUdg1ahnsNY9v2Q8tDm7ToaGl4Tgio4ONIybufJl4BKminQZp1pODzG68
- eBN3b27icP9oJDuoJy3dbhetVguNRh3NZmOMe6WmLZT1y/U8idg+QvtR3F920hUAwtu65Pc+YhCxtE2a
- t7Hxb+CqWFLd0gzMqTKocblgqZvEWjgPpxep8eWam6UWKkmjjdFdzamF5j5OH+BoYtYI7WxGWKhVUVuu
- obY4u4eZJWfbtHMdpHUaROM8dIhOxAIOd5EKVezpjdzKA0hwsrlQeiq172iqVpqBWe36PuDxmbzJR6Np
- khqaB+MUTuqt8mF9MNXtF7H1Sdc30PUK7vFJnHHdKxLHMY6P6jg+qiMqJIeZmXOEpg1Coz7b5qSJu1VC
- rjFzTQY2pJxUca2jrq5A+4aNjxuvnTA+VcsHOpkkywJC1b5jH4QWlb5MkC+AksDi4n3kfBufVG2SObCp
- QSlEbdQYt3S7vbKJMPVODgBxN8bRwTGODqZ7mFlytk37ngQbn0j1iNsi5WyXNs0i7T6SHfErE6u9cgfp
- 3i/dEJ4GQCaRVDtP3ul0Yt/h4h5FAXHtri+gBRuyA1H6yCuEIjyfI7BZ5rmxnGl8ABTHMQ6OO9jZb6Ld
- ibG6VMJSrYRSMUKxEM0ECHW7XRzuH+Fw/wjFYjEBoeUaKtXxLFQMvW3hXhXdTJBcu8Oqy15kbG4Yt0f4
- w/O7Jje3cObnLmL7H8C/hmcgO0/eWa0IQMHup5IcRjNbuQyF3tFIorkLSN2UsisOSjYX1K8dIQAX18cl
- h8cdfPX5Pbx8+xitdhe1ahHn1qu4uFHFxmoFy7UiSqUCCjPChDqdDj/MrDc9P+xhZtM52+akibtLXHez
- wo0IUnuQg7oNw/uDNvjT/6znSaNy3n1bquFISgb7jnkYDRJCNhXJQOSRADJETM6P5SEt/5GF7DbwWE1v
- PNLtxri1Vce1G0fY2W8ijoHdgxZubzfw/CtFrK+UceFMFRfOJCC0uFBEsceEZkHa7Q72dw6wv3OAcqXU
- P8Ij62Fmg7xt4d4WzfygtVE7hIP59Jex7550dxmRgxPUoKwtIMxt58mzgJDZd9zN+vYRXKWKnywLce0C
- ldVTXfSlHCpmTypzQ+9Y/+6Or1FKN45xd7eJg6M2eiYexDHQ7cQ4PG7juNHBra06atUizqxUEhDaqOLM
- Shm1ahHFQjQzR2S0mm20mvvY294nLzxcQLHIFyoO+7aFe1WoxVEurOXC9YmY9RIam+vfZ03VWL+0KZE5
- Y5+dpwAXgGgmZMb6MohxOaLFILe0UciQ5jGpUNmCce0yLjOhxmHJlDT9VxYhX885Lul2gcPjNjpdN5UY
- QKcbo9MF2u02Do87uH73GEsLJWysVnBhI2FCa8tlLFQKMwVC7IWHC9XeOUKVe3ZGahSi2158q3nklRxK
- zV1ff/DRBBmf9U3uZwEcaVwOdrM8xuUCgOgWztzUMy4zT/E5yYvcYCHjkNAk0VyODnTmS8bJbT8WJLNQ
- 1GGlk6EfUhDaPWhh/6iNV+4cY3kxAaGLG1WcX69idamESrmAUnE2jNIA0Kg30Kg3cO7ymWln5dSI7Af0
- 2jVQUI1BrpLzr8z3xauFo2ndwJl/fRnb/xXCKpfRiDK9Vz0347GoqalHfq2SPx6Pg6pkmmVIi83ux9Lx
- PTxuTFaMEbnb1cvHglCM5m4TO/stvHTrCKtLZZxdS0Do7FoFK4tlVMqzMzM2l9FJWPXxMxf5Bl0NOGQY
- Gw/teW46YiJGgo7PvuNjPMxtkFktFRxCtM2102hx+JQuWmh8nbSkjTQd7VQT7XCASUilXMDGagX1ZhdH
- 9TZa7TgdhJoxmq0GNnebeOHGEVaXSjh/hsyMLc7W9Pxc8gtt9/Y/Fzm5Iv11BePX1Tcbl0kxuaebA1yA
- AuCuVvbZdzIZmCXw+AL0DcskI47hitps5DSfJYQuyvpYmawYedenI/P//N4kYEfO5lTLRbzu0VUsVAq4
- vd3A7e0GdvZbOG500O7Eqj0IQGKcjmMcNzqoNzu4u9vE1esJCF0wILRWwWI1mZ6flZmxuWQTaRLgfYi7
- yWsQNwh3GU8oDjm4uzag/pAugcYHQpkaYWjLhIZckaZi0WvNhsKtPtziErFQmtiw0noUfm+FSzfJY0wI
- gqwsLhRx//kF3Hd+AYfHHWzuNnFrq447O03sHrTQaHbR7nShYVAPf9jM2O3tBr75ShFnetPzl88t4Nx6
- FbXq6T0a4zRKCFSoJQfQ+1soTk0bSWNEWl/pSQhwVKyAjosABlK1XH0yiVnyGePDPQhDgo2Gzr4cUz/u
- bjHuR4bR1LlJS6lYwNpyAWvLZTx4sYa9wzY2dxu4tdXAne0G9o/aaLa76HRiLwgZhnRw1MZRvYMbm3Vc
- vXGEhy8t4nWPrmB16fSeUHjaxGgH9MV8dtC0LZofz+4uBpF9xndf62Mhf8YNXOsJgc9AqpZP+hH6jFO6
- nupnRlLSUFqjjb7wmh9zqLaht7Mg5VIBZ9cqOLtWwcOXFrF32MadnQZubtaxtZfMdLV6IBS0B3WB7b0m
- Gs1Ei3/j42tYXJgzn1kXy/ylmxUzdNs5J9+wDdK23UUu1E3rY1QM8xEMSG6RCBmXefYVSVtASCOKruPM
- dQ4CsQMKVHRmpCOzzy/NfZb4pfDq4uFmSaqVIs5Xijh/popH71vC7kELt7YauLWVgFCaUbobJ+uHnn3x
- AGfXKnj8gaW50TmjxJ06OvXN6aQNCi5WZL/gpzBYqJHshx+lav+HDNTGNzeiWGstEOMlrP9PD2Lnv4bf
- rsOwAgHQAXKqWmmIqemr/BxZqq+6xUftMlq82goFH0OaRXDJKrVqEbVqERfOVPGq+5ewvd/Era10o3QM
- 4Kjexos3j3D/+dqc9YQk7qJ1dB3NvefROroOTHnFtdydpfcDbcj3++dhZRo0vGRRMn7HziPBxgdA7mP2
- ksn6Xq1AZHQXuabi0BU3NgSf94oYuMgjVHVN12VOPpUsZDOaZSkUIiwvlrC8WMLlc4lRemuv2bcH7fSM
- 0q12t/9c3Ri4u9vE3mFrDjyKdBrbaO5fRXP/GuJOfap5MaqMtOeg91/yGzB/EixsaGoN4v7cQZv3StpT
- VT1DAk3IvhOk2xR4Qijl2HfobV5EhqyF0Dg0H+UWqHYtw2dlYydVqFH6gQs17B+1cXenget367h2/QjH
- jU7/GY/rHRwct6ea31mSuFNHc/8amnvPo9PcmXZ2+hIJYIiIK2BVJW0wjZgfDUIiFhdA+4Bc9UzzpPWV
- fvw+wBmJcdmHWOw/R1b60NrGCBpGPqxr/PKlY918KfAwutmNp3oSpVxKFiQmWysWcNzo4MWbx33VqxvH
- aLbu8f1TM6ZK6cJX8ejqE99jaCCFG36tPYaDF1XLrD++jJZaQWPlVcgmXP8ij4pF3ViXSzv6VPxSkxXl
- Ni4I+A3D9HQc9lDeOGghUjIo3X0MyH2N8emRaqWAsnijRBybT3zPGZhnSZVKE9n+6dkJ5g4/xpfCEwco
- vQ+aMPzFCDZtmj7vsbzf9NOXwBNSsTKrWj7pRxSrcYYnp8MqkMtlku9I/LPP5RqaZUFSXhUJv+6a6pMu
- 8yNvZleVShNNA+AGZOrmhtUGXVcbcNWp2PkXgdtP5cDe/5VsZyDQAQZ4k6jWrbkXaemRFiCLrFJnlexE
- rm3m+iwdFVzliubMxunmeC4nVE6EKhWWmHVq2japfiDbdCR6hGT3roZBe577mmPbC7VBmfYyEkBjOpm3
- SwD5ptP7jxc7hUQfVWdDGlvieij3T8Pws3coNZRsi9+j6XCuMz71Y37q3vgljtvYvfbJmVelsom+2E+y
- f3tfziDTMJYxaedUWRKgtX+pHfAcKaqW9h/Kf1VyvdCvSzLIH9vt5FJcVYtDjH5STuz4pGhNCyXup01j
- pPHy45JOOzycavyL41MCOryFawO5zzTRdQZd3sc0AOmy9s/7Au0rvB85hgkNbOS9VMm7ZUJAAVerqOg7
- umioSBQ01VjdSpDpUtbFqylyRgkOZeNjO3OZSx7hs1CSwfPhlS7842uMzTW10tDeYAdc+gIcbvbgYWTc
- 2tlW4CATAhw1sI/xqJH41Zrkv3l8XxQcb+VDJ/674A/vqm7Wr8uMTEG5QBP3wkpmNJe5TE/iXnuX+oAl
- FXYrhW21XdZ6LWB1IbUF+j8S6XCWJckD3R9GYtGMyJlZDpU8xmVYo7JlK/z0Y3O2sXkImR/XNKZhrqad
- mvTlqBD3K8hXkJGI8fQxnntsxvzUiGyX9og7n0gm797nNhmrD3DewzUSzrY4CCqpZG1tQX8D2HhilqUu
- AT9rA5JsiCMsj8H6MeFdZmVC0crRKKAFIT7TRVU3vcrmMpfpSET6hG/SyO1P7s6ACFp/s340TYHGQYHI
- 1aC6MoDLfnJJ1r1a/T90cZM2aY6eC/+2thr3CC5pTHO5kIQPe/aPZFe28vjO+VjEPQefucyKyB1Vsg9F
- 4lvrRbLXcCblLmihGoSbH1fjGL2ekEvVogYud1GSZoW3d91wtJAj8R/Mj1uY1JxGi5P+0vS46zjlXlsp
- PJfBxQzFFjikuqP1C/+Q6TNxuKeG8m0Ybro8xkSbGW3fyQU8cIqFP6SrKboY7HPheie9z7dk+FZh0nil
- Eqa/9mw8ABFFQKnI4260Orh+5xgLlQJWl8qolHNpuHM5xSJZuLRomiu6lMW2Lo0dyWGYMx/OrujQrwNa
- 5PgcjeRkPDQ7XO3iBiq6VI+esyOLlpumOeJKdmOnEUPKGy1y6sJhTaY1OokiYLlWYgbfZquLr79wgFtb
- DfamiKVaEaXiHITuVaFtlKpSkueDXVH2YnubXAcXiX4CWADhPm2KchiX6tYoJSfj0Q69cB/aXPtx1HfP
- Go9NRVjYkjt5bXp0HKBFRivT+rAzYeOQYiHC+TNVVMsFtDvJu826MXBw3MZRPTna9Or1Is6uVXB+nb++
- eK6m3ZvCIYZrFdKSY/UAGsKdl3IPDeP7AKQGou2TBwk1ajPFQKoWxdPIuWttKj4k5bzFhOTHEPHpcX7F
- r50dtNARW65jGJeqFeHcehXnz1RxdOOI5bQbA/VmF/VmF3uHbVy/U8fKUgnn1hIAOr9emati96DQHgPY
- AVfyj4hduUYGgPdBwDVfSA1DAxgOMRTSRicDGZel2iONX1akcUx7KKsyJSft+wie3KTvX/fAuY++Vnk8
- ilYiSwtFPPHgMnYPWtjZb6lpdboxjhodHDeSUwVfvHWE9eUyzp9J3p+evLRvroqdZpHtgvIZCiDmjBw5
- TyshQbPFaMN7pPQbDmcReM8e/UCdk/H4iJo2Re6HG7DQUp0yd+kvjcUCipY7SRr11Mdn4wGSI0sfubyI
- 40YHX31+D3uH7eCbQ1vtGK12G4fHXBU7t56AkFHFCvMX9p0qcXuSbSFSLXLbq286hpsZdAOFq4WY1HTr
- zuhnhHMyHreIuI2Fu9p3BdHikw+luch1QfaeK3LbP42NLwCwuRz/jq1yqYDXPrKClcUSrt04wq2tBvaP
- WsmramL9aTRVbHmxhHPrFVw4U8X59SpWl0qoVtLPUp6vUzoZ4g6xriYh1+zIENKgYdx0/QKOTwlQbpjR
- t6Xcs1ralBz9placxDVmrnLNgGYJokXmjgRucbppShf+DH6j92ilXCrggQs1XDhTxfZ+Czc367i1lbwP
- /bjRQbfrr1aqim3vN/HSrWOsLZdxfj057tTMigGYb5k4oeKeaSWtnzpU+I+yc5eSSEAz4bkVlvdAPsfm
- pj8KGXBWSxtRNbWG2uDBHtWILCBuOKO6bCLui+dpBfI0uqLYrYwfdo4bHRzV2+h2k9fVnFtPXtz32P2J
- TefG3Tpubzewe9BCs9X1siCpit3daeDajSNsrFZw/kwV68tltNpzdnMyJcxJdIVIsncZ0gcSfFin/cql
- D+PiOVYGXEDIXzNjxJ2aozCgz3ZRHHZVLam8yUlHk6625sBXpeOaz7JyVG/jykuHeOnWEdqdGCuLJVzc
- WMD5MxWsLJbwwIUa7ju3gP2jNu5sN3Fzs447Ow0cHLdzqWI37iaqWKPZnR9AdgpEGhfoge4ac3eHfheS
- 3KEefXct7VjcH1erSgOe2P3jZzYh9HXv+lDVj7aS/bhp+ECFU9juGKGn241xa6uBKy8d4O5OAwBwayvC
- CzeTWasLGwu4dLaKs2vJ1PnachkPXaphZz95c2jy+uIm6s2u1yANcFWsUIhO98Ffp1R4e9WNxdSv9eWP
- z3eVpXmks6bRSe5ZLY1JSB2Ri+vOVyzweLUClsZr6Seki+pW+vEVa6cb99/42X/RZxyj20wA6c5OE8+/
- ksxaXT63gAs9denCRrL257H7l7C5m7Cg29sN7B2mq2LyjaJzOTmiW3G4C23jcvD1D7Z6XHyTqKs5aGt2
- SPw6pxhABtoyoVnQ5SNoxwi50EGvpHlZi1/342Nfflv9+CSOgYOjtvp6YSABicPeKuYbd5MFhOfXq7h8
- bgHn1ipYqpXw0KUaHriwgN2DZHr95mYdd3eaODjuTct7QMhIFCUrqOcy+6KbKnTTgG9QduOIwdf90PRc
- +6p2z5dHJZhPgv58wBMEUnftMYcUvrTPt5ZGMho/40HfTYM4GZc76e/Tc8chcZy80zxkc4mRAFSz3cXW
- bhPbe028cPMIZ1bKuHR2ob+X68xqGWdWy3jk8iI2d5t9VWxnv4VGy6+KlUsFVMuF+RaMGRfNbhNyt9e2
- NUu/7mJDPV0OctqyFzkFFGlZjMknl2RlPKav9P+mzxKZR4odcDB3+ZyXDKlnIs1NGzGG4oQDSBwj6fSx
- BT5f+qZg640ObjQ6uLXVwMpiCWfXKrh0NlHF1paTd6df3FjA4w8s4e5OEze36riz3cDeYTt5d3qPBRUL
- ETZWE/vRXGZbXADgqpBx4SpQ+io00+o493dVNCP0rOZYfBt3TzISgPzZETKAjYfH5gcDl51IP5zxuPd8
- xrXB8japE3lcKZcKWKoVUW920Wx1VZsMVcV2D1rYO2zh5dvJ2p0LZ6o9g3QVS7USlhdLePBiDTsHLdzZ
- buDmZgPb+020OzHWlhOGtLo0cNXOZUISOSAiZ301VhPqARLC+B03LvkqZLud1Kf2IcxyMrOfLK2zH9lr
- sPPY17H+vHEEdNAIo6sbVmM8uknarQhZeX6r/3RABwAWqgW85uEVxABubzWwtZcsIGy1u9DswoYFNVpd
- 3NlOFhxeu8FVsfWVMs6uJWuDHrm8hL3DFurNLpZqRZxZqcw3mp4A6UIuSzFcg2/C1kwLVKjJg3Jss2CF
- p0Hj5QAV9dN2Vbpvwc5PwQUdDYQygU+eYVGoW9Yxj2qj+fP74bHr8VGdNAEhqqnaYk6vwHFJIYr65/Ac
- 3tfB3d1GMsPVU5XqzQ7aHb00YnCD9M2tOpZrxCC9nqwNunR2AeVSMq0+39N1ckTjvu75yH6DMA+jx60x
- Jhlv4ibjcAbr2PMB6AtiMkhWxtP/pbtYdXZBp+vca80i77Paa5PuUPzYX4ruFH7ccJNmP+ZkwvWVMtZX
- ynjwQqIq3d5u4NZmA3d3mziqt9FshVlQtx1jZ7+F3YNWf0f7xbMLuP98DZfPVjPt45rLbIimHWg6BD3U
- F/0wlLlETkjZP3XrjR2eI3FNfZMo6acr/kP59UpoVsvzK9GXb2jTjxmVzETLrb1jD8fgRjYXpGxlmA2p
- FnAyTQ2OTdJWElcrRVzcKOL8ehUPX2pjay/Zy3Vnu4Gdg1bCgtr+2cA4BhrNbn9t0Is3j/DY/Ut43aOr
- WFmc23dOlpjW7BqS6X3OP+TclXYuFU0hUq9dbYLuO3AymfZxM+0RrYX6yEwvctvZqRpjvNBVwdyYq59l
- prEcF621ramALXJq+3cnAd00JrE/PZsUChFWl8pYXSrj/vML2Dts4XZvG8XmbhP7R+1MBumd/Ra+dnUf
- EYA3PL6GWnXOfE6CJJ2K8nTaLjl/N/75W3jT1S9t4QvXQOTb1Pmpzb2wGtB0oTMf/nhKFkvCk8921f+4
- R4lygDAu8tguV1/kyfGt+bwC0gqZgpvvMHheEdMzNIekXCrg7Fqyhuehi7X+jvbb2w1s7yUsqNnSz/uP
- ARw1OvjGiwc4s1rB4w8szdfxzLjQ/sEHRztkJr3C1SP4AE37ElfepJ7gnjxo79jwJiTro13l41O7Bla1
- +FM6ESYZslNx5r/BY2MZlzZ1ehQRtxNpBuqIxaFxI5vFuJeuDMvhUD/pZ9YkiiIs1UpYqpVwcaOKg+N2
- snant4LZzGBpLOio3sFLt45w//kaFhfmrGf2hTOcmLlFrOPpGgPnQjScPPzC+nIHZ7nKPxLxgGOAD4A0
- lUuVPNPpMYDut2Dn8a9i/TmbORcSqJ2FonrU9+MuhuKPHDO30BNQ4xpnNzaHNO5MpTKkjHLDZrlUwJmV
- Cs6sVPDAhRp2D5LNpLe26v1zfRpNy4KSvWIJOM2BZ7ZFLgSJ2RVtu/KEKflPmjQ4q0E/Jmmk1jZ7y5zF
- eAN2/ylcwMmjctFMAAgDj4ZgPXXLF0Cje7IQQdwoCnN+xOHMjUVHdOPqWnponrVqOQlSqxZRqxZx/kwV
- j96XbKO4freOb758iMPjdv+Jjhsd7B22censVLM7lxTh3Z/CDuX4HHr4wGxaMu0r9ORPgPYcIFaO2tBM
- GJJSqGqWD4QgrlXJtWUCfXSjRaI9ogQRHhGllxbdtTP03VU60i5kYuGqWgwXBGk8uvX8pEiRGKTPrlVw
- eNzG1eudvurV7cZotbspscxl2pKAgLTo2HvchfcM29P4hmw+oNt277Ijt5/Jvkl6iWE18ldTs7gm6JEs
- y1udiG3sljtQs3DM3GWOeN7ifhhaTMaP0XGl7guSmk3VNbBRyOFTlCcVdKRUygXnTRRxjNSNqnOZvtDO
- TgFEcnrTB4yr2/ZB7tkeZVPh4c13V/QzE4t7jIwDNh1ks/N4xQc8vgh6ifMNZDzTxhs/GIMWBI/YGKMt
- yEh/tGAptHH1it+PWTVSmmp51WmWOebMvtDB2/znnZ62XVcH4GqUZCo2Dr0fSX/yl9lJs4KOfDwvCEng
- 8TVXRq3egJ0n5TaEuAce9oEo+AAu4Ngikfgas3AQoXhoIEFuPR/Jf/re6RhxvrXdc5nLmISDgZ2DpRqF
- vAb7z5UsXcOQs8oxg7owIMV4E3b+GXS7jgZAmbvWIKpWF0C3Cw4Z3CNfM6NbVOysF0VXzlJk4jJevk6Z
- klKq8vH8Wa40l7lMV2QfsYMoVYmSKw4ndMjuCr/0n+0HFrjMQEx7i42TTr1Exnsa2FDAyaRqZVnHI0GR
- RUwtOhGDAO0cHjc/FJakSsV92d/Y+TXfcobAxtFlkDNLa5fncq+Ku24mubJ8n5oFYnEvuc+1BjnJ4k6b
- uzNhgOypnCn1yUaH/FIA8pMt+bhE8pydIAxMFEkpOzH2FfpA1G7D+UkXUW+bhS0MnmtN7eJ47hqWOR21
- 8diRYw47c5m+cPXJVaWoAZkzEakZoB+WsqLkWs5v+rkRH8h7qVGQkeAjAYgmFWQ9acDjYzzdb8Xua2y3
- t2zDdm5O5fiiQVcBsgVKXaUOSwmnDkecWtK4NYSfy1ymL3SQ9rVrCSl0coXvyZLhuEZBe0PM7tpwJoU3
- Y/en4QJNmnF5aFVLwilhO/0PQNgKt5/Iji6LwZcEj5PSS0o4qV8aC60Y6+5OLs5lLtMWCTFcvaItXoaT
- 7nLg9vU9I3RtkE0nBh36Abj2nd4QPJ4AACAASURBVCwAZJMOdLTQ7nTpRj8EeNyHsSqO9tgxC8OXMGln
- r0lNWLrx4nZfU2+qhKpaeoWeVJnvBT2ZwgdD3vGsDsH98Ol3beGf3q7tXbft883ZTLKoWLnX8AD592pR
- 0OlwdJX8wrfeQN4DaLFK2sjXV8rqSFy7fT/62iG+752mMlkZx27xOeacdLETHdJ07DJ56ir7gq+/uxyI
- pp24uNSg1+co2LQRZj0h8HEyl8e4LMEnfjN2X0t1RVlo7sNJXKVWGHNF/UmJIIvJnQ7kBJKTSApw45Eo
- ilAocJBpd2LsHybn6sxltBIVSqhd/A4sFX5s2lkZQqJe79XUKs14whlK8uGDudR50PPD79PeF7H7TyX2
- HQ1oKODEcEEnk+Q5FsP8Sp0PkhRSduFictTnIxCgIRM1/zQ4k1c+pc66U9LqUMqRSaEALNV4sR43OvjK
- 83vYOWixF/fNZXApVNaxeN+7sXT/+1CorAMADn/3F6ecq3ximUUkWqnkOT4DsLnLe5T0J2fB9NljGdqZ
- zQoBkLaOJ9jF8rzQz6dygRYBLR4JJhr3oUZgUwUUlNwqoByGVwc/fMz4l7AzPtABege7r1dQLkXoNJOU
- Ot0Yd3eS1xFfvX6I8+tV3Hc+eVvE6lIZ5dL8jRBZpbz6OJYeeD8Wzr8dUeHkgzdvr9SGSU8HdCGC20d1
- Rcr2EZfruyDl9J4Y2QFn5IyH5lYDnc5bsPstX8L6Vzmh45AiEdaoQNSNK1/WRT6JW8jSQk+F7ykbJ9Mx
- Uigkb5RYXy7j1lajn143BurNLhrNLg6O27h+t4615TIublRx//kFnF2rYHHh5HekcUhUKGHh/LcjuvMo
- 1p76vmlnZ+QiAUL2GtvOOay4gy8XOX+spSvjA4Bvw+7PwLXttMm1XMUcAh81e3lbugSfXuY0RE6+7dkg
- 1k9yHABVs9yDUu01ZzjWGCdXKVuh6E6ZlkmL5nIcsrJYwiP3LfUObed2nRhAqx2j1W7juNHB5m4DL9w8
- wrm1Sv9toatLpTkLgq5OnSbRzAt+oEjj9nr8bn8C60ueGKR61fZcD2TfAQZ4vQ044zF0jBUDPwFNLgC3
- ChcFDw3rdYM1fT59fVAYcqn/8UipWMCTDy7jqN7Bcy8doN7sqK+s6XRjdJoxGs3kxMBX7tSxvlLGpY0q
- 7jtfw8Zq5Z48RfC0qVM+kYxFs21ooCHVJdkDaDyaG49BlZCKZT4SB0yEmUAozwJCwJAVwXiewu7rn8Ha
- V2xAWjB+M7LdPwVyR5t74pagGDYNc5ePCOkVOk7GAwDLiyW87tEVVEoRXrx1jJ39FjrdGN2uq+5JFnR3
- p4GrN44SW9C5BVzYqGJ1qeScu3Oa5LSrU1kkTR0KMSSfm3GRs17Unfaut2L3w+Dsxnxa0FUtCkCZJe+b
- RE0fdrbIa/omPeHVpXky8hAvoat63PUOWjgJOuPnOa5srFbwrU+s4cGLi7h+9xg37taxtdfCcaOjAhDg
- sqCXbx9jY7WMixsLuHwusQXJV9ec5AWEp12dComlBtphvWlMKBah+H0q/rjly6kAuIsFqW1HqlkScDLZ
- d4B8xmXzq9h4qLpFA8VOYO3XXFNU064pp5E0VMYhM27ElNKk+mry4r4Czq5V8Nj9S7iz3cDLt+u405vl
- 6naRiQXd3m7g2o1DnCMsaGWxNGbeNj65V9SpkFiDsmUjmgVSGheoXwpCbg8wd3nsMQvvAJhkOvTjW8uT
- 284zSI3LhDoAOt+G3Td8EWt/KT26xcCvfRAZopgh87AvTR8oTkIKhQiVQoRyqYyVxRLuP1/D1l4TN+7W
- cXOrga3dJhqtbioLaraa2D1o91hQBRc3qji7VkHH8971WZO5OsXFsA5qv+AAkVz71+YYt4j9RsQPTUdn
- R9b9r/vVLAk6IcDJ1BizLCCUz00ZD11g1PYhsy/CNF7mU8/Sniyd7yUov7B2GY29mxM7mziKIpSKEUq1
- AhaqRVzcWMD+UfK6mut3EhZ0cNxGpxMjjhW2FgPNdhfNdhdH9YQFLS0U0WrHM32+8r2sTvmkUDnrHTiN
- yDVo1C00je72Q8p8XH/EXTIan43HN5Xuy4Yjw0ynU/Ah6padrXJPRk5EqjshJqSBj+8aJJwvDHXb+d5P
- 476rv4fm1V/E8Z2voNNu5ymLoaRYiFAsRNhYrWB1qYwHLy5aFrRZx/Z+C80UFpS8U6uDKIpm8ozlRJ36
- Hiycf9s9q05RiaICoqUn0b34w7j68DtFuzXgYBWvLrlLZ4QBOstjW7bb25I+aKffOQxRJkTsOz5Va2SL
- B4HBjcsq8LwVu6//097sll4MPJqQOkX/uSuB5LVr3eFonty3lWXTf/nRd/ar+tJ/+Fkcv/K7aB7t+kth
- xBJFEcqlCOVSAYsLRVzaqGL3cAm3tuq4fid5c+hhvY1uN1an5LsxMJOoA+DcU/9i2lmYCYlKi8D62/HC
- G38SwG8A+Dlm1wHoyhyrGplvuvbMnvMZM3+U0ch3q4PFYf9bGw/wNuzJRYMt8pHgo53DA+QAn6zreELq
- FrOCc6bCp/FcjVVPiicYkbA8Q9S3BCtacfybx0UbwM23/vcAItz3tX+Pxgsfx/HW1YmqMMVChGKliPPl
- As6slPHwJfvSvlubdewctNBq61Pyc5k1iVCo3Yf4/Pfihcd/GDE+BbcrWb/a4GktkWbQ5LYf6ZfGJVkO
- BS3AGqOJjceACgUajfH4jsPQMuOVURiX2dTbt2P3W/8Ea182XV1DLTlVaHNJEZrb2jXVKfnVoIxPH2qP
- 4B6MYd1eee2PAoiwdP8lrHz0Qzi+9QzazYYa0zjEYUFnF/qvLn7lznH/1cU+FlQqRqiWC2M5hmMuYYkK
- JUQrb8Qrb/8Imo0GgP+L3mXqTSJ8db0+x+VqDK6d1J0k521cpmAHr7dZo7IBGMl0NHVrYDULGMzGI9Ut
- B3zCKhGQDgyJH8t04t65zDYevpnUjUtHe8mo6LwBdU++D1+5iYN3fAQRIlz+859D46XPor5/x5vjcUip
- WECpCFTLyZT8w5cWcXc3MUbf3m5g96CFdidhQUAyg7a8WMLy4tymMkkpVNYRb7wLV1/3E4jwGUfVoUMt
- Z+nuW3A1Q7AVy1R8FlD3pAbqhx8n3PNH7Tot5To0oyUfMJPkGRIj8hshOcun2PuUAVQAVAHUACz9Cdb+
- zOaH23R0xuOepuYWnzRY8wJ39/Gif0+OCNLepPt1i+eB5z6H5rWP4vju19HtdNTUxilxHKPTjdFsxdje
- b+LmZh03NxvY3m+i04mxuFDEo/ct4TUPr4wdfM5dPhO8f/ldHxtr+gAQd9uo3/kTHL78WbT2nh17elSi
- qIBo8VF0L3wQ1x59D/xc3uX8fAikQ3KUoZ9Q8BF5coZjR6ViOfkb2P1ZAA0AdQBHAA4BHPQ+h+RT732a
- SABJAyIgIwANqmqZX8p4KOtp6XqoCcj1UQtMnGRKcOgKHVUWJt+QKkcAS0Hpq24kLGqGbCMRgJcef7p/
- /74v/BTq1/8AzfqB+pzjkP6UfBFYqCzg/HoVj93fxtZuEwfHHSxUCrh0duHU7/HqNndwdP23cPjKb6Db
- 3Jlo2lFxAVh7K55/008haTH/M2k3fCA015ajR+SeNsXt6xv0WzOpuH1I4oF79jkA3aDcFv/N/dArbXLJ
- sEOimShyjkikaKzjMsABwlaIT5/VYMyMHHyHl6vbajoxD+vyIGmik3T4+ts+DAB48Cv/N+ovfgL1nZcn
- aoymCxNXl8p9des072zf+fyngfPXUL/zx4i7k1v+AACFhYuIz70fzz/5twH8GqzqAnAGYluWVRBixZ/1
- y4XzHN/pDVx94t82NB2KVeMEBR1tNivLVoncktf6qKlbRuWS6lbtj7H2ZR5coq3UQ6U/6TdLdiV4yJ0q
- Nk5r4fHbnmilaVVOSexD1/4YzWu/iOPb/xGdVjNDXk+2TErVsurUZ9DauzKSOLNKVCgiWn4dWpX34sU3
- Pt2HD8tuYqWDu5xbDmwkhd43ZdwuOGk2TZkDn01J5sa4fQf2PoxEfTqGX8067n0aSNQsw4Z8r7bJJIMy
- Hp+6xRYgafYZqipxYOCYLA9QtUY4uUJIFrGsbqpEWV98u6kP0GjMUq+2bMz4euGRt/f/P/Clf4n6y7+J
- xsGWrwznkiLTVKcK5RXE6+/A82/47xDjcwD+FePwlC3Lo13sLxVX1TGhLey4apVpe9aM4MbHW6IGNFL6
- 7VgalSnTket3hnqrhJS8jIeGoazHZ2Re/COs/Tn6xaobziRah8GASgjVZXbNHc2K444G1r82Xa8zJG01
- 0cPPfhqNa7+M+uZz6HZP12Hv42I8U1OnogiF2kPonv8BPP+q7wW3nfBOrVlv+tH0vjVzgQ1l/drewe9E
- yj951pVNk+ZVCvWdxPM3E7bTAGc7hvGY6yNwthMyKutJe2QYG08W1tNKvCSF1SVFbAy8kjdoo0RY2XKV
- IBkzZVNa1VBd3KbFSax9CnNNQVRWuk33hSc/0Pf7wB/9Yxzf+AJajWPnKe51YepU9wpwa3JpR4UKorW3
- 4MqbP4ykBn/e3CEchjNeueLG+Df3ZKvhfrgCb0TCET2p006Bu21ZBxrOpfggD0BfoSw/odMGZbK5mM8w
- jMdcF3q/RSRAprGeP+OFoEEJ7dI6DNHkucHMjcP9L9mM71r6t/nk44zUp/0sSo6RD/3F/4r6i78+0Q2q
- 45BRMJ6pqlOVs4jPvQfPvebv9938pl+uRrlqemgWSw/N05B7p3whqUj+I1UxyZsSX+9IFgzKKXSN7cgp
- dANEhmQMxHaAwafTNSuWxnjaAFoGRLLYUmLhj19peO9Wkuai7V8BuG4ck0dxq5mzGheGtMZhfVAgfeGN
- /wAA8OjVz09lg+osyLTUKbpR88rD70SMj5o7fT8UNNw5K16ntOPbri63K/CWy91smrzdaWeKuwM2j0Om
- 5usxKttpwmU7Wc9Xzj16DsJ4ZLgQ61lAj/X8Ida+xPmI1FPl7ICrWGmnN8sVydafrqD572mMh16HGI3b
- 0DiY8gaqgelDf/qzqF//vYluUB1W8jKeqc5O9TZqXnnjT5rc0LvgdazVI/WnhaN+6VDjKmQyHneND8u5
- 0lNsHK5BwPrUpmreaW07ku3Qj7HtGLZjQGokbIc+yyASkV8DPsbQXIJVtwz4LP0BVv/ETdbt1JzeAuFG
- 4sYkw7kTnjYed6KSz7/pschGokOlbBA2fvSvOEmO8cjXfmUqG1QHkazAMz11ym7UvPL4D4lWI6805qoP
- gjoU+ML7Blj0XfXWbFOTA66874KmDnLvxN7/iARIzBS5D3gM6NApdN+u9IEa6SjW1NMMUDR0DhKyzMBl
- A1Q4l5BdlxJgfZWxjZ1blbjKZVOS1aU3Nq5iueY9ny7ufxrNPHj1tT8KAFi+/zLOTGGD6ihl+/OfRnT+
- Kup3vjBZdaq3UfPa2z+CRqMO4P+EWz8S/qkybJu0rsi4V7Z1gLm5QyN6+w55G4n7uXNZF82NxhRc1s9V
- RNjY6O5zqWZROw5VsWif9qlauWUYxkPDa6yn3Psw1vP7WPsTX8f0LZLyjQdyDZBsTJSNUF80ZjcH9i4F
- KDk5Kqc2XW5G+Y0FmLQx0qRGc/DIn/+bqWxQTZM0xjNpMRs1v/G6f0jK3WWVbrOXbFtfzic7tY+puzwq
- +c+Vcm0ingtXo9w+4HJvLabE/TsTtmNYzDGsSmWMyuaash26ZWLoM3iojGoXocZ6+keikk8TrPh5cDvd
- HouidpmPyxU4KzGhNAgyVS+nGuX6IZo+bUxuzl13mRNZUPZa+qAxJfFee/N/AwB47LnfmOoG1VkUulHz
- 64++B8DHYAcDzkU5FPmVGzqUaPqE7P5u/drx2EyWcKsLZbta+m7rdNlO1H8mGY7npx+OMp0m+TTItTwC
- I21f1sDMZ1jGQ+PIauupfR6r/4HvgZL5lzq2JjrPSFeatHTcWCkjkfG5jx4Hw8kniSEZlI2Ldhgbizv2
- PfyF/2HiG1SlTJPxmI2a33jTPwFlvu6gBrhDitum3E4thw1tYlqyVJfFaC1YGpzdtsPrnIel8fI45PMY
- t3dh72eh23aOYKfQzb2xsx1gdIyHZsLHelqwYNRjNxz1XXDg6g6vWNf6w7NBG4yFBmrp1xiTZlPijMi1
- 94CFszYDSbP153KbDh01XftD8nvtbT8DAHjVV35hKhtUpyVmo+Y3nvw7iPFrAq7dOknuSmaL/hW38HD7
- DwcxF3JiEYIr1Jwra2GpuKnogGKkC9pK3LgEAFObjsZ26HR61kWDQzW2UTIec+1jPXR6vfZ7WP2iDeJq
- spKautYZDiISQkK6M88uTdV33xU/H9P1fm3UDbEp6erbVWb8PXHtCxPfoDopxkM3aj73xvfRO0grf+2e
- bGc6u+UiW4nLUPwshPtx4/PFm+Yn7akjAO/i0+fStiM3gprp87SZLMBfyJlkFMAj4zHAE8ECj6ZyLf4e
- Vr9gg7hjBsBZC3XR1SjKRYyL2wh4iWmMiNNcf4Nx9+jwxiYbOgdZF171hp/elbifx575l6i/8ltj36A6
- buAxGzW/9ob/VgXcUP1Ifz5W7apGtM35rUG8fWaTUD0O7t8/eH5XYlCmoEOBh6pYZpWy3IE+snU7UkZp
- XNZUaJNpqXKVwPZxaepGxKKRjUvnARph5Z3bhQlXldJoLqfPVA1yHxowBxUZELS0W4JVFl6mUGenqZn8
- xQCe/2v/CDGAJ07iBlWyUfOvXvW3AHwcgN7SfSUn3cM9RlN7ubscqEK1JjtCKJ9afGEOHp7+UFiE3HuV
- RcVKO8h9JDIqxiPjkqzHN72++LtsUaELLyD/QqMed/MbE+VOMJuaO8JpI6WWJoT/LLTYzZc/DhlWd9eV
- S+P/sT/6yZFvUB0l4zEbNf/qzT/Td/OxF3odYjtUNP++dOQ9J69eP1lVfH/bCvnxXWthvzsxKFO2cwSu
- Ypn/PoPy2NgOzfeoJBK/0tbjHBaGBHz+EOCqSJ6RwNcQtEZq3Wn8mgIWLmGuLuVtavnEpyaE4vR10idG
- uEF1FMBjNmr+1Wv+nnNPqj1GfLkOgXUoXB4JgdQg4ULAqbfb2LmScbzbrlCmKhadyaLbIuSxF5L5mGjp
- 79AyrtPAaZlo6hY9w6coFQipFAHhJ89Cuf0x8msN3LTGQd/kaOBSTpHzcHRcTKfkMg9+HujvcBp/vNLb
- oPrqKW5QpRs1v/rwO4D+Rk0ups749t1wRwW751vry8P72K3r001H82/js+HkRhwfhQjxfMvmE1c6yos8
- +WawzIe6h9Qs7XFHIqNmPDJOo3KZj2E9jsr1O31DcyI+NIfnv9aIfP5kZkOqje/BhuU4g/GfbONt2ugq
- n/fxATeo5mU8ZqPmX73xH7M8AbyusqgSIPcNyITAgfp13fStnP5w+XlPWogs9yHyqfl/t6tihdgOncUy
- ACTPVB4LAE0CeCj4aCrXAoBFALXf7qlceRpemgxKjbXwIRDU3PwjaHr8Yb+uidGXfqhDS/9P5tygmg14
- IhRqlxGf/wC++vgPZfBvZNia88fiU11kGN8g5suVxlh97DbxTxmRBoraxh/px8b/buz9c1h2Q0GHAk5W
- FUsqCTMPPDJeAzwRXEOzWdtjwGfxt7H6eyag25H4birdTzhDIXrOxT3swseWfOn5OnnWGszGxtL4TXoo
- WYar91/G+QwbVEPAYzZqPvf2f43jRsNhJBxG9TLizx0e7d3yMYpJvrKnKhLfkTdM/KMBUT22JMX3YP9f
- wIKOZlA+Ih9jTJ6oQZnKpF432UUCPsY00oEFJLOiudH7DXRmfXuenyHxxi39hkVfs0pF1gyl7b6wfO9O
- GDh9oMOfxe0Yxt1eg/g0HcumavwY171XbmD3HR8BALz6z38O9Zc+l3mDqtmo+ZXX/QSAz/TTdfPJc6m1
- cpvL2OtHF7fe+bWfw8SgZcrjkHVs/esbNWyctKZsjD6bjw+kOf9BP+WeyH1YDeWjHfYVYjljk3ExHhl3
- VpWrBmDxt3oqlzYqht0hfNBvXXzqiAYM+rVshm6Dh9IwadOxo6uN3abBu6a7SICrXFk7ZFhc7vEaZYOq
- YTx0o+ZXH30PeTLtkAd+l+/YdutZdk5/fPJeWB217i6/0YBEU5344EYZkI9XD9vd9BJ4r92LZY4qDalY
- dKHgxFUsI+MEHhl/VpWrBmDxN7HyeTrqmAh86o72C8jGkd4509Ua+Vg8/rBbNh9+pSScC82/y3Y00ON3
- QunFiPHkF/4pjq//AdbPrQBrb8VfvumfeHPGGZcFU84ctLHc5kTm1/+0Wdw1SYM0zk5C4bIMcu7T8oHS
- 5+aaGmK8F/tmdbKmYtGPAR16hvLEVSwjkwYeynzkdgq2lwvA4m9i9XeSoJp1h0qWRpa9IbqNwA3rsh95
- mo87cutxSVDUThnSVRIOkmnPlwZneeLgY76/09pwunXON1y44Xid8BJ3Y+KApq331Z4MsCXsrjHntcLr
- KQy4sn5lbs23HPRkCfPnAd6n23U04PHtxfIdfyGLZeQybhuPprWYa7OuJ4Jd29MEn37vCe8w/gaX3Ocj
- a3gtBxVe8e5Jhb4HpDmTI5YbXgKQ9K/ZMnT7AW/Yere21xIUeaeJlLy4cGDCaOwkYj6MP41BavkxdSWh
- g9Yff94Ysi3QuEO9x92AQ6GN5kuymVjEw8tFQp+bc/NEtGVye6CEdC3/ZPOLb61OnXyofSftAPeJgA7A
- OvfYRD6M+Wh7uExBNgA03oO974j71c0Pm+C7qvg2P1PBIP5lltwStu/9MpmjGeYhtdBR7yPdtcKgDTT5
- prHa542dnHI/Mo8+324aNg7bNWTr4+XubgWIRUe18Ujjup4GrU9zv0vS6fbjp+O+xgO4dPu5dtUgmx8L
- udTNAhqN173SDM+0HVpwlWBmxYAO38vH2zZvRTb+p7H/YejGZAo2mlE5y56ssYIOMBng0cQ8sPo6HJCC
- fC/230kbke0GfLyl/30laDtQRGKz47cc4fXOLTskb5bUSCwbUMy+0c+HVMr489B8J/9s4ekAykGYd34Z
- J39i+dxx/zlsHvxQGGq9seJXtm/bmeUhcRGL24JbLOI1LYOGiZR8SS4C4TcSsUUkDAVV+hQSyGh52Fzx
- PPCysX7cwTLu1TsQ4Wns/yw46NQ9H2lE1tjOVHYPTwp4tPZI+60BIHWp9/uw/y5e8Zb10K5jGw3v4rwx
- 0TEFMA2l24/fD1w2JToSczWKdwj6sG7+ExCRLCZi/mXH4Sna9CDip2DFYY12VenXZZc2T1pnsOUXO6no
- bITWFgVkrSZ5GdJv2UEjknfu07rwu26sFqxpOjYGrRR5e7HPwdsozYVNi1ptbFzWh5azGE8nM1g+piMB
- h65KpqcJus2TF9bYZZKMR2sJFHQk86FGs/r7sP/dPChAuQkvRco2JJugnYI2Dro3nTYP3gBkR5DdxnYM
- OQpz0yKIXwi/iR9u16IqZOzkhjZ0nnv7zwJTlzy128587Y6OyJL5uPnh4BGL8Oa5qWhqGzcJaynYHFOG
- Q1VtWz7UP69fdzDTQIDG5/bbqP+JmV8L4FKZM+2CDoq0fDhnAp7G/j+H0jc8H59dZyrGZCnTUrWMULqn
- 2Xuonlp/H/bew5s4p8IARMUBtinRBiZHR3vFu5SrPkh32sjtHYB2ep6OfWAJDNQfBwdpO9JsWLHIrbQf
- WFbADbvS/mHzRZ/JlhtlOBpzkgBAy4nnQ4Zxy5XXtQRo/ReObxq+KwBdB1POCw1k0ON67TNLcNdaFh8O
- bJwR03NiTwwxIrw/mTZnZgjwdTuaMTlk15nqAU2TBh4NXU19SHuPNDbXARw/jf330vFOg2ju5hr4dJsK
- 7whyhOYdwHYs37howtsRVaZkc0rnb1wDJUSssjNrbM9lURyiNMByO7p9KpkLsP/y6fkd15Wm64KlCySm
- lKSaLOtZKzVZFqZeIJ5fNkzORAA6e2aHMf78xl4ngVU3ZlM4p3ftPdNuv8cec2HsORrbkYsD085QlkWo
- VdbYxFXcJ5+uaQVyF7tvZXMNQO1zWP0NDj2RuDYiO44MQ0NniQuKH5pK5PUr2QaNV4IUjcVea3uo+ZoS
- Dsju86XFQDsAHZ258mjcALfUbPfjTI2mGim59tVTuC55vdFnjiGfwv6X7vK+FhcPb2uMl6ksXfqMsk3J
- 2nZN6sD3JEyH2nMo0Jg1O8fga3U0ozLddc7J14RBB5ieqiUfmrIe+T4u1Xr/NPae1kElEtHKRE0Y2pXs
- jIHNDFXLrEbOY3OnSumHswjeTeWwI3kOHS0584pFHjV3+dScJbichcbA7RQ2dvTvUVduT5GpUldeXjLf
- sj54aF3ljZU8yzR5WUk+JdkwzQG1sdj24pamC9buXVeF4qqh+/RAlAV0qIqlHXExE1PnmkzbxkPFZ+8x
- 4COXhR+/H/tPm8Yfi2rmNhB6V9JeOna5Xcel5W7tUWZgXWSMEvBkY+T5NfG5cctr82QRi4vHS0dqG05y
- mFh1DamqLrujqqgcGGIWggKrcaHqpo2fx8jhgEMMj5sabSORF55fmgIvKQ5YMiyPh3I/OYFB8+a2HGt7
- Mrn5W1y90lYnayzH7Db3gc7MHLw9LVVLS99cy/1cZk+X2VZh1K7+3q7PYOVzcBq61tB4c7XNxEfPudpj
- fUSiccpUJbnmoUxz52cWArxb2iuugtFfWnjWD30GufkRxJWnJJ+fxiE7jBRNhZFuPhXULaVs9QjFXd5z
- Yd/16ZZvcs/epQOWfCcJ9QsRwlf6WjlRl+/lTIceYUr3Ykm2I207dBaLgs7U2Q4wfeABXPAxH20nu7T5
- 9O0+n8HKZ20Urt1BjjuSWSTftAEanzaW5Ep2bh5P5MQN5ldvgBFx0fMW7vQhccFWbmSwnUqCsfsMNrcS
- fPmzaPNwfmAy/rhPej9U5jJ1Fx4oKEtIkqLBrMy9zAMNxwE+X9+O8L0u05Ggo6lZM7k6OSSzADxANvAp
- Qzc4xAS1VwAAD9hJREFU98Hn/8XqZ200Wrm6Kgq/JzkEncuQ/zkbSf7zdSc+BhF2czuqO2LK+zL3nEv5
- ntqFCK1cbIz8rhzlOWDygz40Zucrfw10fbnXy0uKZv7VwYPGbXz5hhHXMK4Z4Cms+/ltIh9IZzppoGPM
- EjMNOsDsAA/gB58i3N3s5sxmeZxG7dcJ8+Hch/MKLq6CIjuQO27ymGSn9ykXegN1mZQ+jlPeJGPWVJPQ
- ffsreYFkMxAheSxcbZPPronGumh4kFg4pEvuSktB7mIH3NriMco2woHYLccQXEpXXUnXQiXXOUCHuhvb
- j2bXMSqWBB2ZmanIrAKP+U9ZTxr41Mzvr2P1sz6lwp+0H05oF/CPkKER3PIWX3j9vsuabBe3wleQ6NxB
- pqdZg2i8Pm7i2oqof53h6PmR4E5hQjKo0BP53KC4W9eI+ZN+ObxqzNf1pbloDEdCUoQPcPXKGImzgI7v
- iIvQiYJTBx1gtoAHyA8+Fbhn+SwAqH26x3zcU1Tc5sa7rUlYa2ia/YdnNmyE1VQQaTDWRmifdYI3ZTqW
- p3W+dLB0x31tpM4mfr+aVUTmWmukGq/T61XGx5mTnzlKd3OXQiI38Wfv0bY8vi/ZBiEXyvqmzU8F6ACz
- BzzA8ODTV7s+3Ve7XGUl6wiap3v54gj5cdWStBE8H6D4gMP/1Jz5mLuS5WhqIVVxNA6kxSDT1wYBfp+q
- Yfo0t49xaU+r/0c/dLhuJN+Tc426mFx9f7Lh0+y9oiuSJds5VaADzCbwADxf5tpMs+cBn4VPY+VzvDu4
- E9FydHcbHNT7PqUL5J5M0005rRNIq4TOOXRglWqMP9d6V5c5HqfIeuDPorELCVKRiAfkvs7afFzHnXu0
- 7nTIAFwOxOP1leL386MtnDVqcAEnC+jEmLFpc5/MKvAAowGfBQC1X8Pq52QXj5yG7nboNJAJZTzdv5aK
- EQ5SdC2JNqJq+bb3tDC2O0gOFSl+NHamqTfSnwuQPsO6y0ikgmmexeU9GnhL8fGosH9/ywjnPjxwRfh+
- 7NFDvLQNn6FVyScedIDZBh4gP/hos1199vMprHwyreNI/Z2OrD5VJ5u6RDsfECN2YtTi8gFgNlDUjMg+
- n/KpQpJNVcnv1y9pLFQPo9uPdH9unWRJMx2MrXx/ckayc9ImdLvOqQUdYPaBBxgMfOg6nyqI0flTWPmk
- iUpnD/r4PGz38YcfTqUJdbwwAOpQmqZigvlxGY4PnkMdWUtL5pWnqLu5CmZILc0ifj6VN74f4MdaaPuv
- pG2HHmOatv/qRIEOcDKABxgOfOQWi4VPYeXXsiSalclkC+u66/xJtwcBbod0wUyuv/Ev2NfyqKlG3L9U
- iNJZlHZ/MM6TXdKYR964fIw0VH5UfsDac+SGZ2lM9h3SfqpABzg5wAMMDj4+9rPwSax8LG2kRsAtiwVA
- ZnwcLWLQjpxXfcnCWHzpUAmVsUxHduY0BpRX6ZPphdLIZuGx8oOJaiVPWPCdHqixnFMJOsDJAh5ABx8K
- PBr4ULuPw34+iZWPjypzWVQVv50hBGb+tS4yvixqlC+eUAcMKYR+hS7cvKxdRTd/Z7FN+dPPloew+Eo4
- Ev/od+L2QXtMqe+1wqHjSuk7zU8d6AAnD3gAN88RXPCRh4lJ1YsB0Cew8olQB/b9D9kxBh11s7ADf5xZ
- V5JkE7fbuR0s1IDS8qzFGgJgLYQvpzKdNKbjq0MKMXJ1E/dvvz+oq1Yh0Am9ikYe4kXf9nkiQQc4mcAD
- pINPBH6kRkj16v9+Aiu/kp70YJ07jVWE2Yf9R603odFY68xa/NJHGsBmZ1gxcc/GA31x+55RAwld7RpW
- ecwGtR+0BmT5miZp05G/1J/c7EmPtTgVoAOcXOAB/OAjbT4hu49Uv6q/2lO90lQVH3hoI7Q2soYeyE2L
- b9TQVRO5oyiU1rAqyKCilxxf3pcOEllgxFfmPkYTk2+5E9+NxwXLHsvx2XOyAE7o/Ve+Xeby8U6MnGTg
- AbKBj8/uQwHIYUC/ipVfHixLunKQbofwcZz0lGz87rFhbk7clPW4XPZiu2Q2pqaXRDaAoKKBvE808Odh
- 3FzlB2nr9kM6y/GpV/JNn/K9V2lbIE4F6AAnH3iAMPgYlUuyH6N+SfBhIPSrWPmYiVSzOfjsAjRTIfXE
- sBeZBvWjMaeQesHzpgFG1sMr0sWCXfLP7eD++LOnriuK+tYX6YsrkO75SWFQpIqoSYGG/iEcfBjuG1FC
- oCNtOU0SXrIceazFqQEd4HQAD5AOPiHVixqeVRD6OFY+aqPmTdM/wrrNmoNEVruD3rn0cDIXWgfz8YEs
- 4TQupB/mwUGCQp8O2PJZ0lYfaefdZFGRNNCluaTx+fjcD1u1KgQ6PrDxGZBDqtWpAh3g9AAPoIMPwNf6
- GAYUMjxr4FMFUP04Vn7RTdbHeyJvB+AZ5XuO9Fh8o246o6K2CAkBYYbCj+vQntp0c2MZ8StXvnTSQNV3
- P60EXNCUZZueiguqP2KnyOUbUMzLCCTT0RiOz4BMjcjmV2ZP+38i5TQBD5AOPj72Q1UvyYAWIMDo41j5
- d4AFBq1RSzjhKokFAKkSuSLBw7r7D9N0w2pdzufidjlp8pVKjE09DCWuYmZAS2NJUkW0ZeYCqilpmRdt
- 77obIjxL+SOJHacDDhih6fKmcm38+lQrynJONegApw94jETKtVS9tCNVNfZDQacPSB/D8v9jO4U8olO3
- E2gdNwwOMj5+4BdnQvJIMe5f2+4K2JxJRcpaRXj3dE/qoenoa11oKXE1lPejiOXDB7gyvJvrdPbEc09h
- TdbTjyR2HAk6TeWjAY7GcrQjSjUDMs3wqQEcI6cVeACd/UjwkaqXtP1I9iNBqPIxLP8itzm4R2JxkHDX
- Ibtn5eiqSCTi4aHD5yv6VBK/ZFGbtDR81hapAGrwKYXzSA6j7nmQLm8C803Tk3Ulwe1HsW8AhzIcc2iX
- BjoN8Z+qYZotR6pWp9aeo8lpBh5gMNVLql8aA5JgVPkYVn7BJpNF9dH+aWHMXX1y3M97krv6EegyBg5j
- JqQUOUWvHbjKVUgfe/GfLMSVU5lbn7qlHWhhn0cezxVSrwTgmI8BkBDT8TEcqVbdk6qVlNMOPIAffCT7
- 8c18UfChv0z1ggWgfyfVBWkgBtwOad04GFFbh3tYqLnS1Dl/q+VxWWVKdnS3Q8uYJZtyoU3atlxDNbXE
- yINNtVKzsWq8ksKWPLMwEndprj6UAA5lJT5bTghwKMuRalXa2px7BnSAewN4jAzDfswMGFW/tJkw5v4x
- rPy8fm6fzA63uGiZ9aktXA0xPnVWYuORah8NZXmFVHJoPmSc+tGfbo7kIkf5DBR+KUDqJzrD8UvZjOaP
- PvOHkmlxykTkFLnGdrQZKqpStUhcc5bjkXsJeIDB2U+IAflUsf79f4+V/812As5h6Ggv79kWaDsMenHo
- Bl/NjkOZhJxKl7Yhv4riP1lYAiGNAf9/O2ey40QQBNGchZv5PgbmWxDLGQkJJISQOLJ9Hz7NHOBgaior
- KjIru92N7XGG1Op9dz9FZHXbWC7uopinQeeDqO1rTu2entWCMQIHXY4Vr+5gvuVw0uUYOjfwiPBzviDd
- CECsCZ65oQen9Es2X9uHo40X7eFg/GEPpp7HaxxVWGnRgQXrR6xlzNufFpZyGc6Ya+PvM7VLtKGsdYqt
- M2IvMNzI9o3sAKDhoOswFnTujT7WcCKxSoOnvXBnpHMET1HU/VxI/9kFawFjEMLhh2V/ytMvfWWiH2No
- 4J+Dep9B9PGGB0ANPAa41oNgy1xdmsfBur0eqS0i+DlwuLZnV6YUON3UYrHncCzo4PCd9FGMORyrxUpf
- UDHGz0LnDB4R2/2ItLUfrP+U//thEUwDaNRdi8j1L9l87h2PiK5f1DFs7fEiixWFWCSx4MAcDV+TAaBd
- s42YrZtiSMVw6lVu6jI3fZTS3b3qM+CMOitSWZ87WLUca9pZ6NzBUxRxPxi/RjUgfB8Im+dxuWvZOaFP
- /I0gHtD0chwTLRZ2Q7iluvW29iPNGvrScAiwfbVHX0OVdOu3CNNh04qRdYnnsn0r1W2wznI5+qVABiK9
- 3KiGY72Tky4HlOCp8twPi19WEzxCyAIRA88TvY0dhETwd8qLz0XsN43+ZOSKenxhpOsvluei+HOGAN1N
- a6tQ7JgKOF/I7zfSPvwWbFgth8UsFqNwG/jGsf62agQc+2KcmRI8vUbxq4xrAJX4xd4D8txQ43ZgGNe/
- +iGbj3X3HB78lcH2IS/r9S1d2mOwGhMr61YE9vUaeVjSq+qI2E+jrv28qMVhDRoLOOhy0LlYEELQsIKx
- /sxB/ytgxqqgEjy2ovFLOyEGIBbF9JfxDEqsw21dfpfNB137wLYx67SwAb2vAjGw4TzmcPBSeTjpI6Qe
- FxG5le1rqQ82xhos5mJLFeuYk7kn61i1m0hLVcaqgBI8vqLxy6oDsdYwfCmRRTMGKb0e6y5F5OqbbN7X
- g+4jmY4wf5qpfQGaOyCMev17wtiMrS9bXzjeTbmV7SvpXQQ+7JbDGTkd1ulCswWbSLN4xqoZSvDEtC+A
- InHMAhKLbRZ8rsi+HiLhN9m82x1w63ls5yMNTphHYutYupXty3+D2Oqjhxl0RsBBeCBQGGBY3YbBJoGz
- ghI80xQFkEj/B2QRJ4QA8uAUgc+FGtfHgIVyPHY8rzliDyY+uB50yrswEehYUYvNizob9odcCZyFlOCZ
- pwiAyrD1PtAUEM2BDnNajQOSHjoIH+tcI2K1DtaNYlXU8YwA44HGev9GQyaBs6ASPPtpCoAQPrrP4MBg
- MgIULqe3xaDngWep3wY+vAw8+PCPCskeUKxh3B5Cz4pRCZwVlOBZRh6AyjCLYZ4T0kBiDmbUH7kdFrn0
- sXrnFhGLWGU4UtfxXI8FJLasBTeEn0gPHjwPb1pqghI8y8q6nhEXxCBkRTNWw/FgY8Usq8bDItdcMQfB
- YhYDhAUhVgOyotOoQBx1N9701EQleNbRCEBlOAohqz+Cywg4x1JcHgHIgxJzTVZ88mCDx8rOJbWQEjzr
- a18IidjRbIm+VdtZo8ZT+lH4TOmPolPC5oiU4Pl/igCojOPDfwnzPGc0Z5q136VkxRkGoDnTEC4aPLhf
- PCbrWFMrKsFzGO0Doag7KsNlOQteuE3v+ObKKzQzaDCARF1MwuYElOA5vLx74NVcPKcycjNetFrrN8HA
- UPoeREZQsfo4bB1P6gBK8ByXohDS4xacRtOXLCRH5cHBalXypuM0Nh6dl/qPSvAcr0b3hs33oBKZP2X/
- UUXizcitWJDxth+dnzqAEjynoch9GgFkbcBM1QhI+9RjEjZHrgTPaWrKfZsS36Zue4qmupUp8EjQnJgS
- PI9Hc+/lsTmetdZLHZESPI9bp35/EzKPVKf+w0ztp0Pf/wRLKpVKpVKpVOqR6i+C+MHS7AjwLwAAAABJ
- RU5ErkJggg==
-
-
-
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.Designer.cs
index e862aa5..4a038f2 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.Designer.cs
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.Designer.cs
@@ -36,19 +36,19 @@ private void InitializeComponent()
this.t_titleid = new MaterialSkin.Controls.MaterialSingleLineTextField();
this.t_log = new System.Windows.Forms.TextBox();
this.materialDivider1 = new MaterialSkin.Controls.MaterialDivider();
- this.old_3ds = new MaterialSkin.Controls.MaterialRadioButton();
- this.check_noerr = new MaterialSkin.Controls.MaterialCheckBox();
- this.new_3ds = new MaterialSkin.Controls.MaterialRadioButton();
- this.c_cia = new MaterialSkin.Controls.MaterialCheckBox();
- this.panel_ctl = new System.Windows.Forms.Panel();
this.materialFlatButton1 = new MaterialSkin.Controls.MaterialFlatButton();
- this.label1 = new System.Windows.Forms.Label();
+ this.lbl_dump = new System.Windows.Forms.Label();
this.dev_look_forum = new System.Windows.Forms.Timer(this.components);
this.lbl_upd_chck = new System.Windows.Forms.Label();
this.lbl_ver = new System.Windows.Forms.Label();
this.dev_repeat_msc = new System.Windows.Forms.Timer(this.components);
this.lbl_settings = new System.Windows.Forms.Label();
- this.panel_ctl.SuspendLayout();
+ this.c_cia = new MaterialSkin.Controls.MaterialCheckBox();
+ this.new_3ds = new MaterialSkin.Controls.MaterialRadioButton();
+ this.check_noerr = new MaterialSkin.Controls.MaterialCheckBox();
+ this.old_3ds = new MaterialSkin.Controls.MaterialRadioButton();
+ this.tmr_get_upd_stat = new System.Windows.Forms.Timer(this.components);
+ this.tmr_upd_timeout = new System.Windows.Forms.Timer(this.components);
this.SuspendLayout();
//
// b_download
@@ -57,14 +57,15 @@ private void InitializeComponent()
| System.Windows.Forms.AnchorStyles.Right)));
this.b_download.AutoSize = true;
this.b_download.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
- this.b_download.BackColor = System.Drawing.SystemColors.ActiveBorder;
+ this.b_download.BackColor = System.Drawing.Color.Transparent;
this.b_download.Depth = 0;
+ this.b_download.Icon = null;
this.b_download.Location = new System.Drawing.Point(193, 422);
this.b_download.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6);
this.b_download.MouseState = MaterialSkin.MouseState.HOVER;
this.b_download.Name = "b_download";
this.b_download.Primary = false;
- this.b_download.Size = new System.Drawing.Size(130, 36);
+ this.b_download.Size = new System.Drawing.Size(139, 36);
this.b_download.TabIndex = 0;
this.b_download.Text = "Begin Download";
this.b_download.UseVisualStyleBackColor = false;
@@ -106,7 +107,7 @@ private void InitializeComponent()
this.t_titleid.SelectedText = "";
this.t_titleid.SelectionLength = 0;
this.t_titleid.SelectionStart = 0;
- this.t_titleid.Size = new System.Drawing.Size(511, 23);
+ this.t_titleid.Size = new System.Drawing.Size(484, 23);
this.t_titleid.TabIndex = 3;
this.t_titleid.TabStop = false;
this.t_titleid.UseSystemPasswordChar = false;
@@ -139,120 +140,38 @@ private void InitializeComponent()
this.materialDivider1.TabIndex = 9;
this.materialDivider1.Text = "materialDivider1";
//
- // old_3ds
- //
- this.old_3ds.AutoSize = true;
- this.old_3ds.Checked = true;
- this.old_3ds.Depth = 0;
- this.old_3ds.Font = new System.Drawing.Font("Roboto", 10F);
- this.old_3ds.Location = new System.Drawing.Point(278, -1);
- this.old_3ds.Margin = new System.Windows.Forms.Padding(0);
- this.old_3ds.MouseLocation = new System.Drawing.Point(-1, -1);
- this.old_3ds.MouseState = MaterialSkin.MouseState.HOVER;
- this.old_3ds.Name = "old_3ds";
- this.old_3ds.Ripple = true;
- this.old_3ds.Size = new System.Drawing.Size(78, 30);
- this.old_3ds.TabIndex = 7;
- this.old_3ds.TabStop = true;
- this.old_3ds.Text = "Old 3DS";
- this.old_3ds.UseVisualStyleBackColor = true;
- this.old_3ds.CheckedChanged += new System.EventHandler(this.materialRadioButton2_CheckedChanged);
- //
- // check_noerr
- //
- this.check_noerr.AutoSize = true;
- this.check_noerr.Depth = 0;
- this.check_noerr.Font = new System.Drawing.Font("Roboto", 10F);
- this.check_noerr.Location = new System.Drawing.Point(0, 0);
- this.check_noerr.Margin = new System.Windows.Forms.Padding(0);
- this.check_noerr.MouseLocation = new System.Drawing.Point(-1, -1);
- this.check_noerr.MouseState = MaterialSkin.MouseState.HOVER;
- this.check_noerr.Name = "check_noerr";
- this.check_noerr.Ripple = true;
- this.check_noerr.Size = new System.Drawing.Size(65, 30);
- this.check_noerr.TabIndex = 10;
- this.check_noerr.Text = "Silent";
- this.check_noerr.UseVisualStyleBackColor = true;
- //
- // new_3ds
- //
- this.new_3ds.AutoSize = true;
- this.new_3ds.Depth = 0;
- this.new_3ds.Font = new System.Drawing.Font("Roboto", 10F);
- this.new_3ds.Location = new System.Drawing.Point(185, -1);
- this.new_3ds.Margin = new System.Windows.Forms.Padding(0);
- this.new_3ds.MouseLocation = new System.Drawing.Point(-1, -1);
- this.new_3ds.MouseState = MaterialSkin.MouseState.HOVER;
- this.new_3ds.Name = "new_3ds";
- this.new_3ds.Ripple = true;
- this.new_3ds.Size = new System.Drawing.Size(85, 30);
- this.new_3ds.TabIndex = 6;
- this.new_3ds.Text = "New 3DS";
- this.new_3ds.UseVisualStyleBackColor = true;
- this.new_3ds.CheckedChanged += new System.EventHandler(this.materialRadioButton1_CheckedChanged);
- //
- // c_cia
- //
- this.c_cia.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.c_cia.AutoSize = true;
- this.c_cia.BackColor = System.Drawing.Color.Transparent;
- this.c_cia.Checked = true;
- this.c_cia.CheckState = System.Windows.Forms.CheckState.Checked;
- this.c_cia.Depth = 0;
- this.c_cia.Font = new System.Drawing.Font("Roboto", 10F);
- this.c_cia.Location = new System.Drawing.Point(73, 0);
- this.c_cia.Margin = new System.Windows.Forms.Padding(0);
- this.c_cia.MouseLocation = new System.Drawing.Point(-1, -1);
- this.c_cia.MouseState = MaterialSkin.MouseState.HOVER;
- this.c_cia.Name = "c_cia";
- this.c_cia.Ripple = true;
- this.c_cia.Size = new System.Drawing.Size(104, 30);
- this.c_cia.TabIndex = 1;
- this.c_cia.Text = "Pack as CIA";
- this.c_cia.UseVisualStyleBackColor = false;
- //
- // panel_ctl
- //
- this.panel_ctl.BackColor = System.Drawing.Color.White;
- this.panel_ctl.Controls.Add(this.c_cia);
- this.panel_ctl.Controls.Add(this.new_3ds);
- this.panel_ctl.Controls.Add(this.check_noerr);
- this.panel_ctl.Controls.Add(this.old_3ds);
- this.panel_ctl.Location = new System.Drawing.Point(53, 110);
- this.panel_ctl.Name = "panel_ctl";
- this.panel_ctl.Size = new System.Drawing.Size(363, 24);
- this.panel_ctl.TabIndex = 11;
- //
// materialFlatButton1
//
this.materialFlatButton1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.materialFlatButton1.AutoSize = true;
this.materialFlatButton1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.materialFlatButton1.Depth = 0;
- this.materialFlatButton1.Location = new System.Drawing.Point(515, 68);
+ this.materialFlatButton1.Icon = null;
+ this.materialFlatButton1.Location = new System.Drawing.Point(503, 68);
this.materialFlatButton1.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6);
this.materialFlatButton1.MouseState = MaterialSkin.MouseState.HOVER;
this.materialFlatButton1.Name = "materialFlatButton1";
this.materialFlatButton1.Primary = false;
- this.materialFlatButton1.Size = new System.Drawing.Size(19, 36);
+ this.materialFlatButton1.Size = new System.Drawing.Size(28, 36);
this.materialFlatButton1.TabIndex = 12;
this.materialFlatButton1.Text = "?";
this.materialFlatButton1.UseVisualStyleBackColor = true;
this.materialFlatButton1.Click += new System.EventHandler(this.materialFlatButton1_Click_1);
//
- // label1
- //
- this.label1.Cursor = System.Windows.Forms.Cursors.Hand;
- this.label1.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.label1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label1.Location = new System.Drawing.Point(0, 534);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(535, 15);
- this.label1.TabIndex = 13;
- this.label1.Text = "Dump Log";
- this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
- this.label1.Click += new System.EventHandler(this.label1_Click);
+ // lbl_dump
+ //
+ this.lbl_dump.BackColor = System.Drawing.Color.Transparent;
+ this.lbl_dump.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.lbl_dump.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.lbl_dump.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lbl_dump.ForeColor = System.Drawing.Color.Black;
+ this.lbl_dump.Location = new System.Drawing.Point(0, 534);
+ this.lbl_dump.Name = "lbl_dump";
+ this.lbl_dump.Size = new System.Drawing.Size(535, 15);
+ this.lbl_dump.TabIndex = 13;
+ this.lbl_dump.Text = "Dump Log";
+ this.lbl_dump.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ this.lbl_dump.Click += new System.EventHandler(this.label1_Click);
//
// dev_look_forum
//
@@ -260,9 +179,11 @@ private void InitializeComponent()
//
// lbl_upd_chck
//
+ this.lbl_upd_chck.BackColor = System.Drawing.Color.Transparent;
this.lbl_upd_chck.Cursor = System.Windows.Forms.Cursors.Hand;
this.lbl_upd_chck.Dock = System.Windows.Forms.DockStyle.Bottom;
this.lbl_upd_chck.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lbl_upd_chck.ForeColor = System.Drawing.Color.Black;
this.lbl_upd_chck.Location = new System.Drawing.Point(0, 504);
this.lbl_upd_chck.Name = "lbl_upd_chck";
this.lbl_upd_chck.Size = new System.Drawing.Size(535, 15);
@@ -273,9 +194,11 @@ private void InitializeComponent()
//
// lbl_ver
//
+ this.lbl_ver.BackColor = System.Drawing.Color.Transparent;
this.lbl_ver.Cursor = System.Windows.Forms.Cursors.Arrow;
this.lbl_ver.Dock = System.Windows.Forms.DockStyle.Bottom;
this.lbl_ver.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lbl_ver.ForeColor = System.Drawing.Color.Black;
this.lbl_ver.Location = new System.Drawing.Point(0, 519);
this.lbl_ver.Name = "lbl_ver";
this.lbl_ver.Size = new System.Drawing.Size(535, 15);
@@ -289,9 +212,11 @@ private void InitializeComponent()
//
// lbl_settings
//
+ this.lbl_settings.BackColor = System.Drawing.Color.Transparent;
this.lbl_settings.Cursor = System.Windows.Forms.Cursors.Hand;
this.lbl_settings.Dock = System.Windows.Forms.DockStyle.Bottom;
this.lbl_settings.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lbl_settings.ForeColor = System.Drawing.Color.Black;
this.lbl_settings.Location = new System.Drawing.Point(0, 489);
this.lbl_settings.Name = "lbl_settings";
this.lbl_settings.Size = new System.Drawing.Size(535, 15);
@@ -300,16 +225,105 @@ private void InitializeComponent()
this.lbl_settings.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.lbl_settings.Click += new System.EventHandler(this.lbl_settings_Click);
//
- // FmMain
+ // c_cia
+ //
+ this.c_cia.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)));
+ this.c_cia.AutoSize = true;
+ this.c_cia.BackColor = System.Drawing.Color.Transparent;
+ this.c_cia.Checked = true;
+ this.c_cia.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.c_cia.Depth = 0;
+ this.c_cia.Font = new System.Drawing.Font("Roboto", 10F);
+ this.c_cia.Location = new System.Drawing.Point(143, 107);
+ this.c_cia.Margin = new System.Windows.Forms.Padding(0);
+ this.c_cia.MouseLocation = new System.Drawing.Point(-1, -1);
+ this.c_cia.MouseState = MaterialSkin.MouseState.HOVER;
+ this.c_cia.Name = "c_cia";
+ this.c_cia.Ripple = true;
+ this.c_cia.Size = new System.Drawing.Size(104, 30);
+ this.c_cia.TabIndex = 18;
+ this.c_cia.Text = "Pack as CIA";
+ this.c_cia.UseVisualStyleBackColor = false;
+ //
+ // new_3ds
+ //
+ this.new_3ds.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)));
+ this.new_3ds.AutoSize = true;
+ this.new_3ds.BackColor = System.Drawing.Color.Transparent;
+ this.new_3ds.Depth = 0;
+ this.new_3ds.Font = new System.Drawing.Font("Roboto", 10F);
+ this.new_3ds.Location = new System.Drawing.Point(255, 106);
+ this.new_3ds.Margin = new System.Windows.Forms.Padding(0);
+ this.new_3ds.MouseLocation = new System.Drawing.Point(-1, -1);
+ this.new_3ds.MouseState = MaterialSkin.MouseState.HOVER;
+ this.new_3ds.Name = "new_3ds";
+ this.new_3ds.Ripple = true;
+ this.new_3ds.Size = new System.Drawing.Size(85, 30);
+ this.new_3ds.TabIndex = 19;
+ this.new_3ds.Text = "New 3DS";
+ this.new_3ds.UseVisualStyleBackColor = false;
+ //
+ // check_noerr
+ //
+ this.check_noerr.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)));
+ this.check_noerr.AutoSize = true;
+ this.check_noerr.BackColor = System.Drawing.Color.Transparent;
+ this.check_noerr.Depth = 0;
+ this.check_noerr.Font = new System.Drawing.Font("Roboto", 10F);
+ this.check_noerr.Location = new System.Drawing.Point(70, 107);
+ this.check_noerr.Margin = new System.Windows.Forms.Padding(0);
+ this.check_noerr.MouseLocation = new System.Drawing.Point(-1, -1);
+ this.check_noerr.MouseState = MaterialSkin.MouseState.HOVER;
+ this.check_noerr.Name = "check_noerr";
+ this.check_noerr.Ripple = true;
+ this.check_noerr.Size = new System.Drawing.Size(65, 30);
+ this.check_noerr.TabIndex = 21;
+ this.check_noerr.Text = "Silent";
+ this.check_noerr.UseVisualStyleBackColor = false;
+ //
+ // old_3ds
+ //
+ this.old_3ds.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)));
+ this.old_3ds.AutoSize = true;
+ this.old_3ds.BackColor = System.Drawing.Color.Transparent;
+ this.old_3ds.Checked = true;
+ this.old_3ds.Depth = 0;
+ this.old_3ds.Font = new System.Drawing.Font("Roboto", 10F);
+ this.old_3ds.Location = new System.Drawing.Point(348, 106);
+ this.old_3ds.Margin = new System.Windows.Forms.Padding(0);
+ this.old_3ds.MouseLocation = new System.Drawing.Point(-1, -1);
+ this.old_3ds.MouseState = MaterialSkin.MouseState.HOVER;
+ this.old_3ds.Name = "old_3ds";
+ this.old_3ds.Ripple = true;
+ this.old_3ds.Size = new System.Drawing.Size(78, 30);
+ this.old_3ds.TabIndex = 20;
+ this.old_3ds.TabStop = true;
+ this.old_3ds.Text = "Old 3DS";
+ this.old_3ds.UseVisualStyleBackColor = false;
+ //
+ // tmr_get_upd_stat
+ //
+ this.tmr_get_upd_stat.Interval = 10;
+ this.tmr_get_upd_stat.Tick += new System.EventHandler(this.tmr_get_upd_stat_Tick);
+ //
+ // tmr_upd_timeout
+ //
+ this.tmr_upd_timeout.Interval = 3500;
+ this.tmr_upd_timeout.Tick += new System.EventHandler(this.tmr_upd_timeout_Tick);
+ //
+ // MnMain
//
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(535, 549);
+ this.Controls.Add(this.c_cia);
+ this.Controls.Add(this.new_3ds);
+ this.Controls.Add(this.check_noerr);
+ this.Controls.Add(this.old_3ds);
this.Controls.Add(this.lbl_settings);
this.Controls.Add(this.lbl_upd_chck);
this.Controls.Add(this.lbl_ver);
- this.Controls.Add(this.label1);
+ this.Controls.Add(this.lbl_dump);
this.Controls.Add(this.materialFlatButton1);
- this.Controls.Add(this.panel_ctl);
this.Controls.Add(this.materialDivider1);
this.Controls.Add(this.t_log);
this.Controls.Add(this.t_titleid);
@@ -318,15 +332,13 @@ private void InitializeComponent()
this.Controls.Add(this.b_download);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MinimumSize = new System.Drawing.Size(400, 300);
- this.Name = "FmMain";
+ this.Name = "MnMain";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "3DNUS: Main";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormMain_FormClosing);
this.Load += new System.EventHandler(this.Form1_Load);
this.ResizeEnd += new System.EventHandler(this.FormMain_ResizeEnd);
this.Resize += new System.EventHandler(this.FormMain_ResizeEnd);
- this.panel_ctl.ResumeLayout(false);
- this.panel_ctl.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@@ -339,18 +351,19 @@ private void InitializeComponent()
private MaterialSkin.Controls.MaterialSingleLineTextField t_titleid;
private System.Windows.Forms.TextBox t_log;
private MaterialSkin.Controls.MaterialDivider materialDivider1;
- private MaterialSkin.Controls.MaterialRadioButton old_3ds;
- private MaterialSkin.Controls.MaterialCheckBox check_noerr;
- private MaterialSkin.Controls.MaterialRadioButton new_3ds;
- private MaterialSkin.Controls.MaterialCheckBox c_cia;
- private System.Windows.Forms.Panel panel_ctl;
private MaterialSkin.Controls.MaterialFlatButton materialFlatButton1;
- private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label lbl_dump;
private System.Windows.Forms.Timer dev_look_forum;
private System.Windows.Forms.Label lbl_upd_chck;
private System.Windows.Forms.Label lbl_ver;
private System.Windows.Forms.Timer dev_repeat_msc;
private System.Windows.Forms.Label lbl_settings;
+ private MaterialSkin.Controls.MaterialCheckBox c_cia;
+ private MaterialSkin.Controls.MaterialRadioButton new_3ds;
+ private MaterialSkin.Controls.MaterialCheckBox check_noerr;
+ private MaterialSkin.Controls.MaterialRadioButton old_3ds;
+ private System.Windows.Forms.Timer tmr_get_upd_stat;
+ private System.Windows.Forms.Timer tmr_upd_timeout;
}
}
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.cs
index f27ec7b..9a921b8 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.cs
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.cs
@@ -108,6 +108,24 @@ public MnMain()
private void Form1_Load(object sender, EventArgs e)
{
+ if (Properties.Settings.Default.dev_dark_theme == "1")
+ {
+ lbl_settings.ForeColor = System.Drawing.Color.White;
+ lbl_upd_chck.ForeColor = System.Drawing.Color.White;
+ lbl_ver.ForeColor = System.Drawing.Color.White;
+ lbl_dump.ForeColor = System.Drawing.Color.White;
+ t_log.BackColor = System.Drawing.Color.DimGray;
+ t_log.ForeColor = System.Drawing.Color.White;
+ }
+ else
+ {
+ lbl_settings.ForeColor = System.Drawing.Color.Black;
+ lbl_upd_chck.ForeColor = System.Drawing.Color.Black;
+ lbl_ver.ForeColor = System.Drawing.Color.Black;
+ lbl_dump.ForeColor = System.Drawing.Color.Black;
+ t_log.BackColor = System.Drawing.Color.White;
+ t_log.ForeColor = System.Drawing.Color.Black;
+ }
lbl_ver.Text = "Version: " + Application.ProductVersion + " - BETA";
if (Properties.Settings.Default.dev_def_titlelist == "old")
{
@@ -124,7 +142,7 @@ private void Form1_Load(object sender, EventArgs e)
if (Properties.Settings.Default.eula_read != "yiss")
{
- DialogResult dialogResult = MessageBox.Show("All components that are used in 3DNUS are either created by Me, or other users; these components are Open-Source, and can not be distributed for any cost. \r\nThis also includes 3DNUS, and/or it's Components. \r\n \r\nIF you paid for 3DNUS or any other of its components, please demand your Money back Immediately! \r\nAlso, report where you Purchased 3DNUS or as a Bundle. \r\nWe are NOT affiliated with Nintendo, or any other Company. \r\n \r\nThis project is Non-Profit, meaning it will always be Free, and is maintained by Volunteers. \r\nBy using this Program, you agree to these Terms. \r\n \r\nDo you agree to these Terms?", "Legal Terms:", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
+ DialogResult dialogResult = MessageBox.Show("All components that are used in 3DNUS are either created by Me, or other users; these components are Open-Source, and can not be distributed for any cost. \r\nThis also includes 3DNUS, and/or it's Components. \r\n \r\nIf you paid for 3DNUS or any other of its components, please demand your Money back Immediately! \r\nAlso, report where you Purchased 3DNUS or as a Bundle. \r\nWe are NOT affiliated with Nintendo, or any other Company. \r\n \r\nThis project is Non-Profit, meaning it will always be Free, and is maintained by Volunteers. \r\nBy using this Program, you agree to these Terms. \r\n \r\nDo you agree to these Terms?", "Legal Terms:", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
if (dialogResult == DialogResult.Yes)
{
Properties.Settings.Default.eula_read = "yiss";
@@ -211,28 +229,29 @@ private void firmwdownload(YLS_Sysver sys, char region)
sd.op.setSubValue(0);
sd.op.setProgMax(1);
sd.op.setSubMax(1);
- }
- private void log(string msg)
- {
- t_log.AppendText("\r\n" + msg);
- }
-
- private void extensionManagerToolStripMenuItem_Click(object sender, EventArgs e)
- {
- try
- {
- Process.Start(Application.StartupPath + "\\Extension Manager.exe");
- }
- catch
+ if (Properties.Settings.Default.dev_auto_dump_log == "1")
{
- MessageBox.Show("We're unable to locate the Executable, please make sure it's there!", "3DNUS: Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ if (Properties.Settings.Default.dev_dump_info == "1")
+ {
+ if (!File.Exists("LOG_DUMP.log")) File.Delete(cd + "LOG_DUMP.log");
+ File.WriteAllText(cd + "\\LOG_DUMP_" + DateTime.Now.ToString("M_d_yyyy_HH_mm_ss",
+ CultureInfo.InvariantCulture) + ".log", "--Log Dump Start--" + "\r\n" + "\r\nSystemOS: " + Environment.OSVersion.VersionString + "\r\n" + "\r\nProgram Version: " + Application.ProductVersion + "\r\n" + "\r\nDebug State: " + "Unknown" + "\r\n" + "\r\nTime Dumped: " + DateTime.Now + "\r\n" + "\r\n---------------------------------------" + "\r\n" + t_log.Text);
+ t_log.Text += "\r\n\r\nThe Log was Dumped Sucessfully!";
+ }
+ else
+ {
+ if (!File.Exists("LOG_DUMP.log")) File.Delete(cd + "LOG_DUMP.log");
+ File.WriteAllText(cd + "\\LOG_DUMP_" + DateTime.Now.ToString("M_d_yyyy_HH_mm_ss",
+ CultureInfo.InvariantCulture) + ".log", t_log.Text);
+ t_log.Text += "\r\n\r\nThe Log was Dumped Sucessfully!";
+ }
}
}
- private void exitToolStripMenuItem_Click(object sender, EventArgs e)
+ private void log(string msg)
{
- Application.Exit();
+ t_log.AppendText("\r\n" + msg);
}
private void materialRadioButton2_CheckedChanged(object sender, EventArgs e)
@@ -479,7 +498,10 @@ private static String printstack(Exception wat, Boolean inner = true)
private void FormMain_ResizeEnd(object sender, EventArgs e)
{
- panel_ctl.Left = (this.Width / 2) - (panel_ctl.Width / 2);
+ //new_3ds.Left = (this.Location.X / 2) - (new_3ds.Location.X / 2);
+ //old_3ds.Left = (this.Location.X / 2) - (old_3ds.Location.X / 2);
+ //c_cia.Left = (this.Location.X / 2) - (c_cia.Location.X / 2);
+ //check_noerr.Left = (this.Location.X / 2) - (check_noerr.Location.X / 2);
b_download.Left = (this.Width / 2) - (b_download.Width / 2);
}
@@ -498,28 +520,13 @@ private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
Application.Exit();
}
- //private void FormMain_FormClosed(object sender, FormClosedEventArgs e)
- //{
- // try
- // {
- // foreach (var process in Process.GetProcessesByName("3DNUS Upd - Lite.exe"))
- // {
- // process.Kill();
- // }
- // }
- // catch
- // {
- // MessageBox.Show("Unable to Kill the Process Specified; Please try again.", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
- // }
- //}
-
private void label1_Click(object sender, EventArgs e)
{
if (Properties.Settings.Default.dev_dump_info == "1")
{
if (!File.Exists("LOG_DUMP.log")) File.Delete(cd + "LOG_DUMP.log");
File.WriteAllText(cd + "\\LOG_DUMP_" + DateTime.Now.ToString("M_d_yyyy_HH_mm_ss",
- CultureInfo.InvariantCulture) + ".log", "--Log Dump Start--" + "\r\n" + "\r\nSystemOS: " + Environment.OSVersion.VersionString + "\r\n" + "\r\nProgram Version: " + Application.ProductVersion + "\r\n" + "\r\nDebug State: " + "Uknown" + "\r\n" + "\r\nTime Dumped: " + DateTime.Now + "\r\n" + "\r\n---------------------------------------" + "\r\n" + t_log.Text);
+ CultureInfo.InvariantCulture) + ".log", "--Log Dump Start--" + "\r\n" + "\r\nSystemOS: " + Environment.OSVersion.VersionString + "\r\n" + "\r\nProgram Version: " + Application.ProductVersion + "\r\n" + "\r\nDebug State: " + "Unknown" + "\r\n" + "\r\nTime Dumped: " + DateTime.Now + "\r\n" + "\r\n---------------------------------------" + "\r\n" + t_log.Text);
MessageBox.Show("The Log was Dumped Sucessfully!", "Log Dump:", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
@@ -539,73 +546,8 @@ private void settingsToolStripMenuItem_Click(object sender, EventArgs e)
private void lbl_upd_chck_Click(object sender, EventArgs e)
{
- try
- {
- lbl_upd_chck.Text = "Checking for Updates...";
- try
- {
- File.Delete(Path.Combine(cd, "Update_Info.txt"));
- File.Delete(Path.Combine(cd, "Update_URI.txt"));
- File.Delete(Path.Combine(cd, "3DNUS_old.exe"));
- File.Delete(Path.Combine(cd, "3DNUS_new.exe"));
- File.Delete(Path.Combine(cd, "upd_fin.exe"));
- }
- catch
- {
- lbl_upd_chck.Text = "Unable to update. [Cleanup Failed]";
- return;
- }
- WebClient get_info = new WebClient();
- get_info.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/Update_Info.txt"), cd + "\\Update_Info.txt");
- WebClient upd_dwld = new WebClient();
- using (Stream upd = File.Open(cd + "\\Update_Info.txt", FileMode.Open))
- {
- using (StreamReader reader = new StreamReader(upd))
- {
- string rd_upd = null;
-
- rd_upd = reader.ReadToEnd();
-
- if (rd_upd == Application.ProductVersion)
- {
- lbl_upd_chck.Text = "No new Updates";
- }
- else
- {
- try
- {
- lbl_upd_chck.Text = "Downloading New update...";
- if (is64 == true)
- {
- upd_dwld.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/x64/3DNUS.exe"), cd + "\\3DNUS_new.exe");
- WebClient get_fin = new WebClient();
- get_fin.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/upd_fin.exe"), cd + "\\upd_fin.exe");
- Process.Start(cd + "\\upd_fin.exe");
- lbl_upd_chck.Text = "Preparing...";
- Application.Exit();
- }
- if (is64 == false)
- {
- upd_dwld.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/x32/3DNUS.exe"), cd + "\\3DNUS_new.exe");
- WebClient get_fin = new WebClient();
- get_fin.DownloadFile(new Uri("https://raw.githubusercontent.comD/rHacknik/3DNUS/master/Updates/upd_fin.exe"), cd + "\\upd_fin.exe");
- Process.Start(cd + "\\upd_fin.exe");
- lbl_upd_chck.Text = "Preparing...";
- Application.Exit();
- }
- }
- catch
- {
- lbl_upd_chck.Text = "Unable to update. [Get Binary Failed]";
- }
- }
- }
- }
- }
- catch
- {
- lbl_upd_chck.Text = "Unable to update. [Overall Failure]";
- }
+ tmr_get_upd_stat.Start();
+ SvcUpd.SvcUpdate();
}
private void devtourToolStripMenuItem_Click(object sender, EventArgs e)
@@ -620,5 +562,34 @@ private void lbl_settings_Click(object sender, EventArgs e)
Form f = new dev_settings();
f.Show();
}
+
+ private void tmr_get_upd_stat_Tick(object sender, EventArgs e)
+ {
+ //Fetch Svc Status
+ lbl_upd_chck.Text = SvcUpd.SvcUpdateStat;
+ this.Refresh();
+
+ //Fetch and check Error codes
+ if (SvcUpd.SvcUpdateStat == "Unable to update. [Overall Failure]")
+ {
+ tmr_upd_timeout.Start();
+ tmr_get_upd_stat.Stop();
+ }
+ if (SvcUpd.SvcUpdateStat == "Unable to update. [Get Binary Failed]")
+ {
+ tmr_upd_timeout.Start();
+ tmr_get_upd_stat.Stop();
+ }
+ if (SvcUpd.SvcUpdateStat == "No new Updates")
+ {
+ tmr_upd_timeout.Start();
+ tmr_get_upd_stat.Stop();
+ }
+ }
+
+ private void tmr_upd_timeout_Tick(object sender, EventArgs e)
+ {
+
+ }
}
}
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.resx b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.resx
index d1eb87e..290c31f 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.resx
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.resx
@@ -123,6 +123,12 @@
362, 19
+
+ 500, 19
+
+
+ 645, 19
+
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.Designer.cs
index 2fd3a13..4291aca 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.Designer.cs
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.Designer.cs
@@ -36,6 +36,9 @@ private void InitializeComponent()
this.old_3ds = new MaterialSkin.Controls.MaterialRadioButton();
this.lbl_sys_type = new MaterialSkin.Controls.MaterialLabel();
this.btn_reset_settings = new MaterialSkin.Controls.MaterialFlatButton();
+ this.chck_darktheme = new MaterialSkin.Controls.MaterialCheckBox();
+ this.btn_cancel = new MaterialSkin.Controls.MaterialFlatButton();
+ this.chck_auto_dump = new MaterialSkin.Controls.MaterialCheckBox();
this.SuspendLayout();
//
// btn_save
@@ -43,14 +46,15 @@ private void InitializeComponent()
this.btn_save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btn_save.AutoSize = true;
this.btn_save.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
- this.btn_save.BackColor = System.Drawing.Color.White;
+ this.btn_save.BackColor = System.Drawing.Color.Transparent;
this.btn_save.Depth = 0;
- this.btn_save.Location = new System.Drawing.Point(349, 349);
+ this.btn_save.Icon = null;
+ this.btn_save.Location = new System.Drawing.Point(287, 325);
this.btn_save.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6);
this.btn_save.MouseState = MaterialSkin.MouseState.HOVER;
this.btn_save.Name = "btn_save";
this.btn_save.Primary = false;
- this.btn_save.Size = new System.Drawing.Size(104, 36);
+ this.btn_save.Size = new System.Drawing.Size(113, 36);
this.btn_save.TabIndex = 0;
this.btn_save.Text = "Save & Close";
this.btn_save.UseVisualStyleBackColor = false;
@@ -59,7 +63,7 @@ private void InitializeComponent()
// chck_dump_info
//
this.chck_dump_info.AutoSize = true;
- this.chck_dump_info.BackColor = System.Drawing.Color.White;
+ this.chck_dump_info.BackColor = System.Drawing.Color.Transparent;
this.chck_dump_info.Depth = 0;
this.chck_dump_info.Font = new System.Drawing.Font("Roboto", 10F);
this.chck_dump_info.Location = new System.Drawing.Point(9, 84);
@@ -76,10 +80,10 @@ private void InitializeComponent()
// chck_auto_upd
//
this.chck_auto_upd.AutoSize = true;
- this.chck_auto_upd.BackColor = System.Drawing.Color.White;
+ this.chck_auto_upd.BackColor = System.Drawing.Color.Transparent;
this.chck_auto_upd.Depth = 0;
this.chck_auto_upd.Font = new System.Drawing.Font("Roboto", 10F);
- this.chck_auto_upd.Location = new System.Drawing.Point(9, 137);
+ this.chck_auto_upd.Location = new System.Drawing.Point(9, 140);
this.chck_auto_upd.Margin = new System.Windows.Forms.Padding(0);
this.chck_auto_upd.MouseLocation = new System.Drawing.Point(-1, -1);
this.chck_auto_upd.MouseState = MaterialSkin.MouseState.HOVER;
@@ -93,10 +97,10 @@ private void InitializeComponent()
// new_3ds
//
this.new_3ds.AutoSize = true;
- this.new_3ds.BackColor = System.Drawing.Color.White;
+ this.new_3ds.BackColor = System.Drawing.Color.Transparent;
this.new_3ds.Depth = 0;
this.new_3ds.Font = new System.Drawing.Font("Roboto", 10F);
- this.new_3ds.Location = new System.Drawing.Point(9, 216);
+ this.new_3ds.Location = new System.Drawing.Point(9, 244);
this.new_3ds.Margin = new System.Windows.Forms.Padding(0);
this.new_3ds.MouseLocation = new System.Drawing.Point(-1, -1);
this.new_3ds.MouseState = MaterialSkin.MouseState.HOVER;
@@ -110,10 +114,10 @@ private void InitializeComponent()
// old_3ds
//
this.old_3ds.AutoSize = true;
- this.old_3ds.BackColor = System.Drawing.Color.White;
+ this.old_3ds.BackColor = System.Drawing.Color.Transparent;
this.old_3ds.Depth = 0;
this.old_3ds.Font = new System.Drawing.Font("Roboto", 10F);
- this.old_3ds.Location = new System.Drawing.Point(9, 256);
+ this.old_3ds.Location = new System.Drawing.Point(9, 274);
this.old_3ds.Margin = new System.Windows.Forms.Padding(0);
this.old_3ds.MouseLocation = new System.Drawing.Point(-1, -1);
this.old_3ds.MouseState = MaterialSkin.MouseState.HOVER;
@@ -127,11 +131,11 @@ private void InitializeComponent()
// lbl_sys_type
//
this.lbl_sys_type.AutoSize = true;
- this.lbl_sys_type.BackColor = System.Drawing.Color.White;
+ this.lbl_sys_type.BackColor = System.Drawing.Color.Transparent;
this.lbl_sys_type.Depth = 0;
this.lbl_sys_type.Font = new System.Drawing.Font("Roboto", 11F);
this.lbl_sys_type.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(222)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
- this.lbl_sys_type.Location = new System.Drawing.Point(12, 187);
+ this.lbl_sys_type.Location = new System.Drawing.Point(5, 216);
this.lbl_sys_type.MouseState = MaterialSkin.MouseState.HOVER;
this.lbl_sys_type.Name = "lbl_sys_type";
this.lbl_sys_type.Size = new System.Drawing.Size(120, 19);
@@ -143,26 +147,84 @@ private void InitializeComponent()
this.btn_reset_settings.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btn_reset_settings.AutoSize = true;
this.btn_reset_settings.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
- this.btn_reset_settings.BackColor = System.Drawing.Color.White;
+ this.btn_reset_settings.BackColor = System.Drawing.Color.Transparent;
this.btn_reset_settings.Depth = 0;
- this.btn_reset_settings.Location = new System.Drawing.Point(221, 349);
+ this.btn_reset_settings.Icon = null;
+ this.btn_reset_settings.Location = new System.Drawing.Point(3, 325);
this.btn_reset_settings.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6);
this.btn_reset_settings.MouseState = MaterialSkin.MouseState.HOVER;
this.btn_reset_settings.Name = "btn_reset_settings";
this.btn_reset_settings.Primary = false;
- this.btn_reset_settings.Size = new System.Drawing.Size(120, 36);
+ this.btn_reset_settings.Size = new System.Drawing.Size(129, 36);
this.btn_reset_settings.TabIndex = 17;
this.btn_reset_settings.Text = "Reset settings";
this.btn_reset_settings.UseVisualStyleBackColor = false;
this.btn_reset_settings.Click += new System.EventHandler(this.btn_reset_settings_Click);
//
+ // chck_darktheme
+ //
+ this.chck_darktheme.AutoSize = true;
+ this.chck_darktheme.BackColor = System.Drawing.Color.Transparent;
+ this.chck_darktheme.Depth = 0;
+ this.chck_darktheme.Font = new System.Drawing.Font("Roboto", 10F);
+ this.chck_darktheme.Location = new System.Drawing.Point(9, 112);
+ this.chck_darktheme.Margin = new System.Windows.Forms.Padding(0);
+ this.chck_darktheme.MouseLocation = new System.Drawing.Point(-1, -1);
+ this.chck_darktheme.MouseState = MaterialSkin.MouseState.HOVER;
+ this.chck_darktheme.Name = "chck_darktheme";
+ this.chck_darktheme.Ripple = true;
+ this.chck_darktheme.Size = new System.Drawing.Size(300, 30);
+ this.chck_darktheme.TabIndex = 18;
+ this.chck_darktheme.Text = "Use the Dark theme? (Requires App Restart)";
+ this.chck_darktheme.UseVisualStyleBackColor = false;
+ this.chck_darktheme.CheckedChanged += new System.EventHandler(this.chck_darktheme_CheckedChanged);
+ //
+ // btn_cancel
+ //
+ this.btn_cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.btn_cancel.AutoSize = true;
+ this.btn_cancel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
+ this.btn_cancel.BackColor = System.Drawing.Color.Transparent;
+ this.btn_cancel.Depth = 0;
+ this.btn_cancel.Icon = null;
+ this.btn_cancel.Location = new System.Drawing.Point(217, 325);
+ this.btn_cancel.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6);
+ this.btn_cancel.MouseState = MaterialSkin.MouseState.HOVER;
+ this.btn_cancel.Name = "btn_cancel";
+ this.btn_cancel.Primary = false;
+ this.btn_cancel.Size = new System.Drawing.Size(73, 36);
+ this.btn_cancel.TabIndex = 19;
+ this.btn_cancel.Text = "Cancel";
+ this.btn_cancel.UseVisualStyleBackColor = false;
+ this.btn_cancel.Click += new System.EventHandler(this.btn_cancel_Click);
+ //
+ // chck_auto_dump
+ //
+ this.chck_auto_dump.AutoSize = true;
+ this.chck_auto_dump.BackColor = System.Drawing.Color.Transparent;
+ this.chck_auto_dump.Depth = 0;
+ this.chck_auto_dump.Font = new System.Drawing.Font("Roboto", 10F);
+ this.chck_auto_dump.Location = new System.Drawing.Point(9, 170);
+ this.chck_auto_dump.Margin = new System.Windows.Forms.Padding(0);
+ this.chck_auto_dump.MouseLocation = new System.Drawing.Point(-1, -1);
+ this.chck_auto_dump.MouseState = MaterialSkin.MouseState.HOVER;
+ this.chck_auto_dump.Name = "chck_auto_dump";
+ this.chck_auto_dump.Ripple = true;
+ this.chck_auto_dump.Size = new System.Drawing.Size(207, 30);
+ this.chck_auto_dump.TabIndex = 20;
+ this.chck_auto_dump.Text = "Automatically Dump the log?";
+ this.chck_auto_dump.UseVisualStyleBackColor = false;
+ //
// dev_settings
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
- this.ClientSize = new System.Drawing.Size(457, 387);
+ this.ClientSize = new System.Drawing.Size(413, 363);
+ this.Controls.Add(this.chck_auto_dump);
+ this.Controls.Add(this.btn_cancel);
+ this.Controls.Add(this.chck_darktheme);
this.Controls.Add(this.btn_reset_settings);
this.Controls.Add(this.lbl_sys_type);
this.Controls.Add(this.old_3ds);
@@ -194,5 +256,8 @@ private void InitializeComponent()
private MaterialSkin.Controls.MaterialRadioButton old_3ds;
private MaterialSkin.Controls.MaterialLabel lbl_sys_type;
private MaterialSkin.Controls.MaterialFlatButton btn_reset_settings;
+ private MaterialSkin.Controls.MaterialCheckBox chck_darktheme;
+ private MaterialSkin.Controls.MaterialFlatButton btn_cancel;
+ private MaterialSkin.Controls.MaterialCheckBox chck_auto_dump;
}
}
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.cs
index 1c76ab1..8fcc87a 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.cs
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.cs
@@ -14,6 +14,8 @@ public partial class dev_settings : MaterialForm
private bool is64 = System.Environment.Is64BitOperatingSystem;
+ private string chck_drk = null;
+
public dev_settings()
{
InitializeComponent();
@@ -24,6 +26,22 @@ private void dev_settings_Load(object sender, EventArgs e)
{
Properties.Settings.Default.Reload();
+ if (Properties.Settings.Default.dev_auto_dump_log == "1")
+ {
+ chck_auto_dump.Checked = true;
+ }
+ else
+ {
+ chck_auto_dump.Checked = false;
+ }
+ if (Properties.Settings.Default.dev_dark_theme == "1")
+ {
+ chck_darktheme.Checked = true;
+ }
+ else
+ {
+ chck_darktheme.Checked = false;
+ }
if (Properties.Settings.Default.dev_auto_upd == "1")
{
chck_auto_upd.Checked = true;
@@ -54,6 +72,22 @@ private void dev_settings_Load(object sender, EventArgs e)
private void btn_save_Click(object sender, EventArgs e)
{
+ if (chck_auto_dump.Checked == true)
+ {
+ Properties.Settings.Default.dev_auto_dump_log = "1";
+ }
+ else
+ {
+ Properties.Settings.Default.dev_auto_dump_log = "0";
+ }
+ if (chck_darktheme.Checked == true)
+ {
+ Properties.Settings.Default.dev_dark_theme = "1";
+ }
+ else
+ {
+ Properties.Settings.Default.dev_dark_theme = "0";
+ }
if (chck_auto_upd.Checked == true)
{
Properties.Settings.Default.dev_auto_upd = "1";
@@ -83,6 +117,27 @@ private void btn_save_Click(object sender, EventArgs e)
Properties.Settings.Default.dev_def_titlelist = "new";
}
+ //if (chck_darktheme.Checked == true)
+ //{
+ // DialogResult dialogResult = MessageBox.Show("Enabling the dark theme will require the application. By clicking Ok, the Application will restart automatically.", "3DNUS Settings: Dialog", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
+
+ // if (dialogResult == DialogResult.OK)
+ // {
+ // Properties.Settings.Default.Save();
+ // Application.Restart();
+ // }
+
+ // if (dialogResult == DialogResult.Cancel)
+ // {
+ // Properties.Settings.Default.Save();
+ // Close();
+ // }
+ //}
+ //else
+ //{
+ // Properties.Settings.Default.Save();
+ // Close();
+ //}
Properties.Settings.Default.Save();
Close();
}
@@ -101,5 +156,16 @@ private void btn_reset_settings_Click(object sender, EventArgs e)
Properties.Settings.Default.Save();
Application.Restart();
}
+
+ private void chck_darktheme_CheckedChanged(object sender, EventArgs e)
+ {
+ //chck_drk = "1";
+ //return;
+ }
+
+ private void btn_cancel_Click(object sender, EventArgs e)
+ {
+ Close();
+ }
}
}
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTour.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTour.Designer.cs
index 7047487..8a4ad2d 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTour.Designer.cs
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTour.Designer.cs
@@ -41,14 +41,15 @@ private void InitializeComponent()
this.b_next.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.b_next.AutoSize = true;
this.b_next.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
- this.b_next.BackColor = System.Drawing.Color.White;
+ this.b_next.BackColor = System.Drawing.Color.Transparent;
this.b_next.Depth = 0;
- this.b_next.Location = new System.Drawing.Point(531, 413);
+ this.b_next.Icon = null;
+ this.b_next.Location = new System.Drawing.Point(522, 413);
this.b_next.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6);
this.b_next.MouseState = MaterialSkin.MouseState.HOVER;
this.b_next.Name = "b_next";
this.b_next.Primary = false;
- this.b_next.Size = new System.Drawing.Size(46, 36);
+ this.b_next.Size = new System.Drawing.Size(55, 36);
this.b_next.TabIndex = 1;
this.b_next.Text = "next";
this.b_next.UseVisualStyleBackColor = false;
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.Designer.cs
index 8418f05..e284193 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.Designer.cs
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.Designer.cs
@@ -37,6 +37,8 @@ private void InitializeComponent()
this.new_3ds = new MaterialSkin.Controls.MaterialRadioButton();
this.chck_auto_upd = new MaterialSkin.Controls.MaterialCheckBox();
this.chck_dump_info = new MaterialSkin.Controls.MaterialCheckBox();
+ this.chck_auto_dump = new MaterialSkin.Controls.MaterialCheckBox();
+ this.chck_darktheme = new MaterialSkin.Controls.MaterialCheckBox();
this.SuspendLayout();
//
// lbl_body
@@ -67,14 +69,15 @@ private void InitializeComponent()
this.b_fin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.b_fin.AutoSize = true;
this.b_fin.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
- this.b_fin.BackColor = System.Drawing.SystemColors.ActiveBorder;
+ this.b_fin.BackColor = System.Drawing.Color.Transparent;
this.b_fin.Depth = 0;
- this.b_fin.Location = new System.Drawing.Point(523, 413);
+ this.b_fin.Icon = null;
+ this.b_fin.Location = new System.Drawing.Point(513, 413);
this.b_fin.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6);
this.b_fin.MouseState = MaterialSkin.MouseState.HOVER;
this.b_fin.Name = "b_fin";
this.b_fin.Primary = false;
- this.b_fin.Size = new System.Drawing.Size(55, 36);
+ this.b_fin.Size = new System.Drawing.Size(64, 36);
this.b_fin.TabIndex = 4;
this.b_fin.Text = "finish";
this.b_fin.UseVisualStyleBackColor = false;
@@ -87,7 +90,7 @@ private void InitializeComponent()
this.lbl_sys_type.Depth = 0;
this.lbl_sys_type.Font = new System.Drawing.Font("Roboto", 11F);
this.lbl_sys_type.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(222)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
- this.lbl_sys_type.Location = new System.Drawing.Point(3, 238);
+ this.lbl_sys_type.Location = new System.Drawing.Point(3, 302);
this.lbl_sys_type.MouseState = MaterialSkin.MouseState.HOVER;
this.lbl_sys_type.Name = "lbl_sys_type";
this.lbl_sys_type.Size = new System.Drawing.Size(120, 19);
@@ -97,10 +100,11 @@ private void InitializeComponent()
// old_3ds
//
this.old_3ds.AutoSize = true;
+ this.old_3ds.BackColor = System.Drawing.Color.Transparent;
this.old_3ds.Checked = true;
this.old_3ds.Depth = 0;
this.old_3ds.Font = new System.Drawing.Font("Roboto", 10F);
- this.old_3ds.Location = new System.Drawing.Point(4, 297);
+ this.old_3ds.Location = new System.Drawing.Point(4, 361);
this.old_3ds.Margin = new System.Windows.Forms.Padding(0);
this.old_3ds.MouseLocation = new System.Drawing.Point(-1, -1);
this.old_3ds.MouseState = MaterialSkin.MouseState.HOVER;
@@ -110,14 +114,15 @@ private void InitializeComponent()
this.old_3ds.TabIndex = 20;
this.old_3ds.TabStop = true;
this.old_3ds.Text = "Old 3DS";
- this.old_3ds.UseVisualStyleBackColor = true;
+ this.old_3ds.UseVisualStyleBackColor = false;
//
// new_3ds
//
this.new_3ds.AutoSize = true;
+ this.new_3ds.BackColor = System.Drawing.Color.Transparent;
this.new_3ds.Depth = 0;
this.new_3ds.Font = new System.Drawing.Font("Roboto", 10F);
- this.new_3ds.Location = new System.Drawing.Point(4, 267);
+ this.new_3ds.Location = new System.Drawing.Point(4, 331);
this.new_3ds.Margin = new System.Windows.Forms.Padding(0);
this.new_3ds.MouseLocation = new System.Drawing.Point(-1, -1);
this.new_3ds.MouseState = MaterialSkin.MouseState.HOVER;
@@ -126,7 +131,7 @@ private void InitializeComponent()
this.new_3ds.Size = new System.Drawing.Size(85, 30);
this.new_3ds.TabIndex = 19;
this.new_3ds.Text = "New 3DS";
- this.new_3ds.UseVisualStyleBackColor = true;
+ this.new_3ds.UseVisualStyleBackColor = false;
//
// chck_auto_upd
//
@@ -164,6 +169,40 @@ private void InitializeComponent()
this.chck_dump_info.Text = "When dumping log, Dump System Info? ";
this.chck_dump_info.UseVisualStyleBackColor = false;
//
+ // chck_auto_dump
+ //
+ this.chck_auto_dump.AutoSize = true;
+ this.chck_auto_dump.BackColor = System.Drawing.Color.Transparent;
+ this.chck_auto_dump.Depth = 0;
+ this.chck_auto_dump.Font = new System.Drawing.Font("Roboto", 10F);
+ this.chck_auto_dump.Location = new System.Drawing.Point(5, 249);
+ this.chck_auto_dump.Margin = new System.Windows.Forms.Padding(0);
+ this.chck_auto_dump.MouseLocation = new System.Drawing.Point(-1, -1);
+ this.chck_auto_dump.MouseState = MaterialSkin.MouseState.HOVER;
+ this.chck_auto_dump.Name = "chck_auto_dump";
+ this.chck_auto_dump.Ripple = true;
+ this.chck_auto_dump.Size = new System.Drawing.Size(207, 30);
+ this.chck_auto_dump.TabIndex = 23;
+ this.chck_auto_dump.Text = "Automatically Dump the log?";
+ this.chck_auto_dump.UseVisualStyleBackColor = false;
+ //
+ // chck_darktheme
+ //
+ this.chck_darktheme.AutoSize = true;
+ this.chck_darktheme.BackColor = System.Drawing.Color.Transparent;
+ this.chck_darktheme.Depth = 0;
+ this.chck_darktheme.Font = new System.Drawing.Font("Roboto", 10F);
+ this.chck_darktheme.Location = new System.Drawing.Point(5, 219);
+ this.chck_darktheme.Margin = new System.Windows.Forms.Padding(0);
+ this.chck_darktheme.MouseLocation = new System.Drawing.Point(-1, -1);
+ this.chck_darktheme.MouseState = MaterialSkin.MouseState.HOVER;
+ this.chck_darktheme.Name = "chck_darktheme";
+ this.chck_darktheme.Ripple = true;
+ this.chck_darktheme.Size = new System.Drawing.Size(157, 30);
+ this.chck_darktheme.TabIndex = 22;
+ this.chck_darktheme.Text = "Use the Dark theme?";
+ this.chck_darktheme.UseVisualStyleBackColor = false;
+ //
// dev_tour_setup
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -171,6 +210,8 @@ private void InitializeComponent()
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(579, 451);
this.ControlBox = false;
+ this.Controls.Add(this.chck_auto_dump);
+ this.Controls.Add(this.chck_darktheme);
this.Controls.Add(this.lbl_sys_type);
this.Controls.Add(this.old_3ds);
this.Controls.Add(this.new_3ds);
@@ -200,5 +241,7 @@ private void InitializeComponent()
private MaterialSkin.Controls.MaterialRadioButton new_3ds;
private MaterialSkin.Controls.MaterialCheckBox chck_auto_upd;
private MaterialSkin.Controls.MaterialCheckBox chck_dump_info;
+ private MaterialSkin.Controls.MaterialCheckBox chck_auto_dump;
+ private MaterialSkin.Controls.MaterialCheckBox chck_darktheme;
}
}
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.cs
index 878ac3e..28fa81e 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.cs
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.cs
@@ -17,6 +17,22 @@ private void dev_tour_setup_Load(object sender, EventArgs e)
private void b_fin_Click(object sender, EventArgs e)
{
+ if (chck_auto_dump.Checked == true)
+ {
+ Properties.Settings.Default.dev_auto_dump_log = "1";
+ }
+ else
+ {
+ Properties.Settings.Default.dev_auto_dump_log = "0";
+ }
+ if (chck_darktheme.Checked == true)
+ {
+ Properties.Settings.Default.dev_dark_theme = "1";
+ }
+ else
+ {
+ Properties.Settings.Default.dev_dark_theme = "0";
+ }
if (chck_auto_upd.Checked == true)
{
Properties.Settings.Default.dev_auto_upd = "1";
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Program.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Program.cs
index 538e467..af70d55 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Program.cs
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Program.cs
@@ -16,9 +16,18 @@ private static void Main()
Application.SetCompatibleTextRenderingDefault(false);
System.Net.ServicePointManager.ServerCertificateValidationCallback = (_dmy_sndr_, _dmy_cert_, _dmy_chain_, _dmy_ejjoj_) => true;
- MaterialSkinManager skinmgr = MaterialSkinManager.Instance;
- skinmgr.Theme = MaterialSkinManager.Themes.LIGHT;
- skinmgr.ColorScheme = new ColorScheme(Primary.Red800, Primary.Red900, Primary.Red500, Accent.Red200, TextShade.WHITE);
+ if (Properties.Settings.Default.dev_dark_theme == "0")
+ {
+ MaterialSkinManager skinmgr = MaterialSkinManager.Instance;
+ skinmgr.Theme = MaterialSkinManager.Themes.LIGHT;
+ skinmgr.ColorScheme = new ColorScheme(Primary.Red800, Primary.Red900, Primary.Red500, Accent.Red200, TextShade.BLACK);
+ }
+ else
+ {
+ MaterialSkinManager skinmgr = MaterialSkinManager.Instance;
+ skinmgr.Theme = MaterialSkinManager.Themes.DARK;
+ skinmgr.ColorScheme = new ColorScheme(Primary.Red800, Primary.Red900, Primary.Red500, Accent.Red200, TextShade.WHITE);
+ }
Application.Run(new FmLoad());
}
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/AssemblyInfo.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/AssemblyInfo.cs
index ab3a919..28eef7f 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/AssemblyInfo.cs
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/AssemblyInfo.cs
@@ -31,5 +31,5 @@
// 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("3.2.3")]
-[assembly: AssemblyFileVersion("3.2.3")]
\ No newline at end of file
+[assembly: AssemblyVersion("3.3")]
+[assembly: AssemblyFileVersion("3.3")]
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.Designer.cs
index 6b96ec9..49b5404 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.Designer.cs
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.Designer.cs
@@ -118,5 +118,29 @@ internal sealed partial class Settings : global::System.Configuration.Applicatio
this["dev_tour"] = value;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("0")]
+ public string dev_dark_theme {
+ get {
+ return ((string)(this["dev_dark_theme"]));
+ }
+ set {
+ this["dev_dark_theme"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("")]
+ public string dev_auto_dump_log {
+ get {
+ return ((string)(this["dev_auto_dump_log"]));
+ }
+ set {
+ this["dev_auto_dump_log"] = value;
+ }
+ }
}
}
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.settings b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.settings
index 0d75bfa..c89040a 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.settings
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.settings
@@ -26,5 +26,11 @@
+
+ 0
+
+
+
+
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Services/SvcUpd.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Services/SvcUpd.cs
index 708f70e..63cd69d 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Services/SvcUpd.cs
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Services/SvcUpd.cs
@@ -1,27 +1,138 @@
-/*using System.IO;
+/* ==============================================================================
+
+ This is the Update service.
+ Any form can call this Service by
+ simply doing "SvcUpd.SvcUpdate();"
+
+ You may then pass through String
+ data from "SvcUpdateStat."
+
+ For example:
+
+ lbl_upd.Text = SvcUpd.SvcUpdateStat;
+
+ This will allow you to display current
+ Update information in any way you wish.
+
+ ----------------------------------------------------------------------------
+
+ You may also get Error codes by passing
+ through the same information. Simply do something
+ like the following:
+
+ if (SvcUpd.SvcUpdateStat == "Unable to update. [Overall Failure]")
+ {
+ //Code
+ }
+ if (SvcUpd.SvcUpdateStat == "Unable to update. [Get Binary Failed]")
+ {
+ //Code
+ }
+ if (SvcUpd.SvcUpdateStat == "No new Updates")
+ {
+ //Code
+ }
+
+ ==============================================================================
+*/
+
+using System;
+using System.Diagnostics;
+using System.IO;
+using System.Net;
+using System.Windows.Forms;
namespace _3DNUS_Material_Edition
{
internal class SvcUpd
{
- private static bool TryToDelete(string f)
+ private static bool is64 = System.Environment.Is64BitOperatingSystem;
+ private static string cd = Application.StartupPath;
+ public static string SvcUpdateStat = null;
+
+ //public static System.Windows.Forms.Timer tm = new System.Windows.Forms.Timer
+ //{
+ // Interval = 5000
+ //};
+
+ public static void SvcUpdate()
{
try
{
- // A.
- // Try to delete the file.
- File.Delete("3DNUS.old.exe");
- return true;
+ try
+ {
+ File.Delete(Path.Combine(cd, "Update_Info.txt"));
+ File.Delete(Path.Combine(cd, "Update_URI.txt"));
+ File.Delete(Path.Combine(cd, "3DNUS_old.exe"));
+ File.Delete(Path.Combine(cd, "3DNUS_new.exe"));
+ File.Delete(Path.Combine(cd, "upd_fin.exe"));
+ }
+ catch
+ {
+ SvcUpdateStat = "Unable to update. [Cleanup Failed]";
+ return;
+ }
+
+ WebClient get_info = new WebClient();
+ get_info.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/Update_Info.txt"), cd + "\\Update_Info.txt");
+ WebClient upd_dwld = new WebClient();
+ using (Stream upd = File.Open(cd + "\\Update_Info.txt", FileMode.Open))
+ {
+ using (StreamReader reader = new StreamReader(upd))
+ {
+ string rd_upd = null;
+
+ rd_upd = reader.ReadToEnd();
+
+ if (rd_upd == Application.ProductVersion)
+ {
+ SvcUpdateStat = "No new Updates";
+ }
+ else
+ {
+ try
+ {
+ SvcUpdateStat = "Downloading New update...";
+ if (is64 == true)
+ {
+ upd_dwld.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/x64/3DNUS.exe"), cd + "\\3DNUS_new.exe");
+ WebClient get_fin = new WebClient();
+ get_fin.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/upd_fin.exe"), cd + "\\upd_fin.exe");
+ Process.Start(cd + "\\upd_fin.exe");
+ SvcUpdateStat = "Preparing...";
+ Application.Exit();
+ }
+ if (is64 == false)
+ {
+ upd_dwld.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/x32/3DNUS.exe"), cd + "\\3DNUS_new.exe");
+ WebClient get_fin = new WebClient();
+ get_fin.DownloadFile(new Uri("https://raw.githubusercontent.comD/rHacknik/3DNUS/master/Updates/upd_fin.exe"), cd + "\\upd_fin.exe");
+ Process.Start(cd + "\\upd_fin.exe");
+ SvcUpdateStat = "Preparing...";
+ Application.Exit();
+ }
+ }
+ catch
+ {
+ SvcUpdateStat = "Unable to update. [Get Binary Failed]";
+ }
+ }
+ }
+ }
}
- catch (IOException)
+ catch
{
- // B.
- // We could not delete the file.
- return false;
+ SvcUpdateStat = "Unable to update. [Overall Failure]";
}
}
- }
-}*/
-//This code has been deprecated.
\ No newline at end of file
+ //private static void Tm_Tick(object sender, EventArgs e)
+ //{
+ // tm.Stop();
+ // Form dm = new MnMain();
+ // dm.Show();
+ // return;
+ //}
+ }
+}
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/3DNUS Material Edition.exe.config b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/3DNUS Material Edition.exe.config
index 925e30a..32660ab 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/3DNUS Material Edition.exe.config
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/3DNUS Material Edition.exe.config
@@ -11,28 +11,34 @@
<_3DNUS_Material_Edition.Properties.Settings>
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+ 0
+
+
+
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/LOG_DUMP_7_3_2018_18_48_26.log b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/LOG_DUMP_7_3_2018_18_48_26.log
deleted file mode 100644
index 7c36802..0000000
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/LOG_DUMP_7_3_2018_18_48_26.log
+++ /dev/null
@@ -1,12 +0,0 @@
---Log Dump Start--
-
-SystemOS: Microsoft Windows NT 6.2.9200.0
-
-Program Version: 3.2.2
-
-Debug State: Uknown
-
-Time Dumped: 7/3/2018 6:48:26 PM
-
----------------------------------------
-Console: 7/3/2018 6:48:25 PM
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/Update_Info.txt b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/Update_Info.txt
deleted file mode 100644
index 0444f32..0000000
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/Update_Info.txt
+++ /dev/null
@@ -1 +0,0 @@
-3.2.1
\ No newline at end of file
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/ctr.csv b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/ctr.csv
new file mode 100644
index 0000000..e69de29
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/3DNUS Material Edition.csproj.FileListAbsolute.txt b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/3DNUS Material Edition.csproj.FileListAbsolute.txt
index 8d34639..0a63353 100644
--- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/3DNUS Material Edition.csproj.FileListAbsolute.txt
+++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/3DNUS Material Edition.csproj.FileListAbsolute.txt
@@ -31,7 +31,6 @@ C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Materia
C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\Interop.WMPLib.dll
C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\AxInterop.WMPLib.dll
C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\3DNUS Material Edition.csproj.ResolveComReference.cache
-C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\_3DNUS_Material_Edition.dev_ext_manager.resources
C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\_3DNUS_Material_Edition.dev_settings.resources
C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\_3DNUS_Material_Edition.dev_tour.resources
C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\_3DNUS_Material_Edition.dev_tour_setup.resources
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
index 652b9e4..3bc8382 100644
Binary files a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll and b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ
diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/_3DNUS_Material_Edition.dev_ext_manager.resources b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/_3DNUS_Material_Edition.dev_ext_manager.resources
deleted file mode 100644
index ad18918..0000000
Binary files a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/_3DNUS_Material_Edition.dev_ext_manager.resources and /dev/null differ