aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS Launcher
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS Launcher')
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher.sln20
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/App.config6
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/FirstBootSetup.Designer.vb108
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/FirstBootSetup.resx760
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/FirstBootSetup.vb36
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/Main_Launcher.Designer.vb114
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/Main_Launcher.resx760
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/Main_Launcher.vb123
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/My Project/Application.Designer.vb38
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/My Project/Application.myapp10
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/My Project/AssemblyInfo.vb35
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/My Project/Resources.Designer.vb62
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/My Project/Resources.resx117
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/My Project/Settings.Designer.vb73
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/My Project/Settings.settings7
-rw-r--r--ShiftOS Launcher/ShiftOS Launcher/ShiftOS Launcher.vbproj136
16 files changed, 2405 insertions, 0 deletions
diff --git a/ShiftOS Launcher/ShiftOS Launcher.sln b/ShiftOS Launcher/ShiftOS Launcher.sln
new file mode 100644
index 0000000..989ca71
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Express 2012 for Windows Desktop
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ShiftOS Launcher", "ShiftOS Launcher\ShiftOS Launcher.vbproj", "{E9A73EB3-3CFE-4FC1-ABB3-FB93DACA5BE6}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {E9A73EB3-3CFE-4FC1-ABB3-FB93DACA5BE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E9A73EB3-3CFE-4FC1-ABB3-FB93DACA5BE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E9A73EB3-3CFE-4FC1-ABB3-FB93DACA5BE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E9A73EB3-3CFE-4FC1-ABB3-FB93DACA5BE6}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/ShiftOS Launcher/ShiftOS Launcher/App.config b/ShiftOS Launcher/ShiftOS Launcher/App.config
new file mode 100644
index 0000000..bc3672d
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/App.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <startup>
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
+ </startup>
+</configuration> \ No newline at end of file
diff --git a/ShiftOS Launcher/ShiftOS Launcher/FirstBootSetup.Designer.vb b/ShiftOS Launcher/ShiftOS Launcher/FirstBootSetup.Designer.vb
new file mode 100644
index 0000000..f26f248
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/FirstBootSetup.Designer.vb
@@ -0,0 +1,108 @@
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class FirstBootSetup
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ <System.Diagnostics.DebuggerNonUserCode()> _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ <System.Diagnostics.DebuggerStepThrough()> _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FirstBootSetup))
+ Me.RadioButton1 = New System.Windows.Forms.RadioButton()
+ Me.RadioButton2 = New System.Windows.Forms.RadioButton()
+ Me.TextBox1 = New System.Windows.Forms.TextBox()
+ Me.Button1 = New System.Windows.Forms.Button()
+ Me.TextBox2 = New System.Windows.Forms.TextBox()
+ Me.SuspendLayout()
+ '
+ 'RadioButton1
+ '
+ Me.RadioButton1.AutoSize = True
+ Me.RadioButton1.Checked = True
+ Me.RadioButton1.Location = New System.Drawing.Point(12, 12)
+ Me.RadioButton1.Name = "RadioButton1"
+ Me.RadioButton1.Size = New System.Drawing.Size(124, 17)
+ Me.RadioButton1.TabIndex = 0
+ Me.RadioButton1.TabStop = True
+ Me.RadioButton1.Text = "Use Stable Releases"
+ Me.RadioButton1.UseVisualStyleBackColor = True
+ '
+ 'RadioButton2
+ '
+ Me.RadioButton2.AutoSize = True
+ Me.RadioButton2.Location = New System.Drawing.Point(12, 35)
+ Me.RadioButton2.Name = "RadioButton2"
+ Me.RadioButton2.Size = New System.Drawing.Size(131, 17)
+ Me.RadioButton2.TabIndex = 1
+ Me.RadioButton2.Text = "Use Unstable releases"
+ Me.RadioButton2.UseVisualStyleBackColor = True
+ '
+ 'TextBox1
+ '
+ Me.TextBox1.Location = New System.Drawing.Point(12, 73)
+ Me.TextBox1.Name = "TextBox1"
+ Me.TextBox1.Size = New System.Drawing.Size(515, 20)
+ Me.TextBox1.TabIndex = 2
+ Me.TextBox1.Text = "Where do you want your ShiftOS executables to be save to? Nothing = C:\ShiftOS\La" & _
+ "uncher\ShiftOSEXE\"
+ '
+ 'Button1
+ '
+ Me.Button1.Location = New System.Drawing.Point(164, 146)
+ Me.Button1.Name = "Button1"
+ Me.Button1.Size = New System.Drawing.Size(205, 103)
+ Me.Button1.TabIndex = 3
+ Me.Button1.Text = "Finish First Boot Setup!"
+ Me.Button1.UseVisualStyleBackColor = True
+ '
+ 'TextBox2
+ '
+ Me.TextBox2.Location = New System.Drawing.Point(12, 100)
+ Me.TextBox2.Name = "TextBox2"
+ Me.TextBox2.Size = New System.Drawing.Size(212, 20)
+ Me.TextBox2.TabIndex = 4
+ Me.TextBox2.Text = "Type in a nickname here"
+ '
+ 'FirstBootSetup
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(536, 261)
+ Me.Controls.Add(Me.TextBox2)
+ Me.Controls.Add(Me.Button1)
+ Me.Controls.Add(Me.TextBox1)
+ Me.Controls.Add(Me.RadioButton2)
+ Me.Controls.Add(Me.RadioButton1)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "FirstBootSetup"
+ Me.ShowInTaskbar = False
+ Me.Text = "First Boot Setup"
+ Me.TopMost = True
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents RadioButton1 As System.Windows.Forms.RadioButton
+ Friend WithEvents RadioButton2 As System.Windows.Forms.RadioButton
+ Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
+ Friend WithEvents Button1 As System.Windows.Forms.Button
+ Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
+End Class
diff --git a/ShiftOS Launcher/ShiftOS Launcher/FirstBootSetup.resx b/ShiftOS Launcher/ShiftOS Launcher/FirstBootSetup.resx
new file mode 100644
index 0000000..b620454
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/FirstBootSetup.resx
@@ -0,0 +1,760 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAEAYGAAAAAAIAColAAAFgAAACgAAABgAAAAwAAAAAEAIAAAAAAAACABAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAwODg4SDAwMFgsLCxcLCwsXCwsLFwsL
+ CxcLCwsXCwsLFwsLCxcLCwsXCwsLFwwMDBYAAAASAAAADAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAMDg4OEgwMDBYLCwsXEhISHBUV
+ FSQZGRkpHBwcLRwcHC4cHBwuFhYWLhYWFi4WFhYuFhYWLhYWFi4WFhYuFhYWLhcXFy0TExMpDg4OJAkJ
+ CRwLCwsXDAwMFgAAABIAAAAMAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAMDg4OEhIS
+ EhwVFRUkGRkZKRwcHC0cHBwuIyMjMyMjIzsoKChAJSUlRCUlJUUlJSVFISEhRSEhIUUhISFFISEhRSEh
+ IUUhISFFISEhRSIiIkQgICBAGhoaOxkZGTMREREuFxcXLRMTEykODg4kCQkJHAAAABIAAAAMAAAABQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAFAAAAEBISEhwcHBwkGRkZKSMjIzMnJyc7KCgoQCUlJUQlJSVFLS0tSi8vL1IuLi5YMDAwWy8v
+ L1wsLCxcLCwsXCwsLFwsLCxcLCwsXCwsLFwqKipcKioqXCcnJ1smJiZYIiIiUiIiIkoeHh5FHh4eRBwc
+ HEAaGho7GRkZMxMTEykODg4kCQkJHAAAABAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAABASEhIcGhoaJygoKDMrKys7LCwsQDQ0NEoyMjJSMTExWDAw
+ MFssLCxcMTExYjMzM2k1NTVvNjY2cjMzM3MxMTFzMTExczExMXMxMTFzMTExczExMXMvLy9zLy8vcy0t
+ LXIsLCxvJycnaScnJ2IhISFcJCQkWyYmJlgiIiJSIiIiShwcHEAaGho7FBQUMw0NDScJCQkcAAAAEAAA
+ AAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQEBAQGxsbHBoaGicoKCgzKSkpPjQ0
+ NEo1NTVSNDQ0WDw8PGI9PT1pOTk5bzY2NnIxMTFzNzc3eTg4OIA3NzeGODg4iTc3N4s1NTWLMzMzizMz
+ M4sxMTGLMTExizExMYsxMTGLMDAwiy4uLokuLi6GLCwsgCoqKnkmJiZzKCgocikpKW8pKSlpJycnYiAg
+ IFgfHx9SHx8fShkZGT4UFBQzDQ0NJwkJCRwAAAAQAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEBAQEBsb
+ GxwaGhonKCgoMykpKT40NDRKNjY2VT4+PmI/Pz9pPDw8b0FBQXlAQECAPT09hjo6Ook1NTWLOjo6kDs7
+ O5g6OjqdOzs7oTo6OqI5OTmiNzc3ojU1NaI1NTWiNTU1ojU1NaI1NTWiNDQ0ojExMaExMTGdLS0tmCws
+ LJAoKCiLLS0tiSwsLIYsLCyAKioqeSUlJW8kJCRpJCQkYh4eHlUcHBxKFRUVPhQUFDMNDQ0nCQkJHAAA
+ ABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAgcHBwbISEhJygoKDMtLS0+Nzc3SjY2NlU+Pj5iPz8/bUVFRXlERESAQUFBhkVF
+ RZBDQ0OYPz8/nT4+PqE6OjqiPj4+p0BAQK9BQUG0QkJCuEFBQbk/Pz+5Pj4+uTw8PLk8PDy5PDw8uTw8
+ PLk8PDy5Ozs7uTc3N7g0NDS0MjIyry8vL6cuLi6iLy8voS8vL50tLS2YLCwskCgoKIYoKCiAKCgoeSMj
+ I20iIiJiGxsbVRwcHEoVFRU+FBQUMw0NDScJCQkbAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBkZGR8pKSkyLS0tPjc3N0o5OTlVPj4+Yj09
+ PW1FRUV5REREhElJSZBISEiYREREnUlJSadHR0evRUVFtEVFRbhDQ0O5SkpKvk1NTcZPT0/MUVFRz09P
+ T9BPT0/QTU1N0ExMTNBMTEzQTExM0ExMTNBLS0vQSUlJ0EdHR89DQ0PMPj4+xjw8PL42Nja5NjY2uDQ0
+ NLQyMjKvLy8vpyoqKp0qKiqYKioqkCUlJYQkJCR5ISEhbSIiImIbGxtVHBwcShUVFT4PDw8yCAgIHwAA
+ AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQEBAQGRkZHy8v
+ LzY7OztJPDw8VURERGJBQUFtRUVFeUJCQoRJSUmQRUVFm0xMTKdMTEyvSkpKtFJSUr5RUVHGUlJSzFRU
+ VM9UVFTQZmZm229vb+p0dHT1eHh4/Hh4eP92dnb/dXV1/3Nzc/9zc3P/c3Nz/3Nzc/9ycnL/cXFx/2xs
+ bPxnZ2f1XV1d6lZWVttHR0fQREREz0BAQMw8PDzGODg4vi8vL7QtLS2vLCwspyYmJpslJSWQIyMjhCQk
+ JHkhISFtHx8fYhsbG1UYGBhJExMTNggICB8AAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAACBwcHBshISEnLy8vNj4+Pk5ISEhgRkZGbUpKSnlFRUWESUlJkEVFRZtLS0unSkpKslNT
+ U75VVVXGVVVVzGpqattwcHDqdHR09Xt7e/x8fHz/eXl5/3Fxcf9xcXH/bW1t/2tra/9paWn/aGho/2dn
+ Z/9nZ2f/Z2dn/2dnZ/9mZmb/ZGRk/2JiYv9kZGT/Y2Nj/2pqav9sbGz/aWlp/GBgYPVWVlbqTU1N2zs7
+ O8w2NjbGMjIyvikpKbIoKCinJCQkmyUlJZAjIyOEIiIieR4eHm0dHR1gGhoaThMTEzYNDQ0nCQkJGwAA
+ AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIISEhHy4uLjIxMTE+Ozs7TklJSWVPT094S0tLhE5O
+ TpBISEibTExMp0lJSbJQUFC+UlJSyWpqattycnLqdnZ29Xx8fP97e3v/d3d3/3Nzc/9ubm7/bW1t/2Zm
+ Zv9lZWX/YWFh/19fX/9eXl7/XV1d/1xcXP9cXFz/XFxc/1xcXP9bW1v/Wlpa/1lZWf9cXFz/W1tb/2Fh
+ Yf9gYGD/Y2Nj/2VlZf9lZWX/YmJi/1lZWfVPT0/qRUVF2zMzM8kuLi6+JycnsiYmJqcjIyObIyMjkCEh
+ IYQgICB4Hh4eZRcXF04VFRU+Dw8PMggICB8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAghISEfNDQ0Nj8/
+ P0k/Pz9VR0dHZVBQUHxVVVWPUVFRm1FRUadMTEyyUFBQvlBQUMloaGjbcXFx8Xh4eP97e3v/fn5+/3R0
+ dP9wcHD/bGxs/2dnZ/9jY2P/YmJi/1tbW/9bW1v/V1dX/1VVVf9VVVX/VFRU/1NTU/9UVFT/U1NT/1NT
+ U/9TU1P/UlJS/1FRUf9UVFT/VFRU/1paWv9ZWVn/W1tb/15eXv9eXl7/X19f/2VlZf9dXV3/VlZW/0tL
+ S/E/Pz/bLi4uySoqKr4lJSWyJSUlpyMjI5skJCSPISEhfBwcHGUYGBhVFRUVSRMTEzYICAgfAAAACAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAACCEhIR80NDQ2RUVFTk1NTWBLS0ttUFBQfFVVVZNYWFimUVFRslRUVL5SUlLJZWVl221t
+ bfFzc3P/eHh4/3x8fP90dHT/cnJy/2hoaP9lZWX/YmJi/11dXf9aWlr/WVlZ/1JSUv9PT0//SUlJ/0ZG
+ Rv9DQ0P/QkJC/0BAQP9CQkL/QkJC/0VFRf9JSUn/SkpK/0pKSv9NTU3/TU1N/1NTU/9SUlL/VFRU/1dX
+ V/9XV1f/WFhY/19fX/9cXFz/YGBg/1lZWf9QUFD/RUVF8To6OtsqKirJJycnviQkJLIjIyOmIyMjkx8f
+ H3wcHBxtGxsbYBcXF04TExM2CAgIHwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIISEhHzQ0NDZFRUVOU1NTZVlZWXhRUVGEU1NTk1hY
+ WKpaWlq9VlZWyWhoaNttbW3xbm5u/3Fxcf93d3f/cXFx/3BwcP9paWn/aGho/19fX/9cXFz/WVlZ/1JS
+ Uv9JSUn/RUVF/z4+Pv87Ozv/NTU1/zExMf8sLCz/IyMj/x4eHv8oKCj/MjIy/zs7O/9AQED/Q0ND/0VF
+ Rf9JSUn/SkpK/09PT/9NTU3/Tk5O/1BQUP9RUVH/UlJS/1lZWf9XV1f/W1tb/1paWv9cXFz/UlJS/0hI
+ SP8+Pj7xMjIy2yYmJskmJia9JCQkqiMjI5MfHx+EICAgeBwcHGUXFxdOExMTNggICB8AAAAIAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQhISEfOTk5NkVF
+ RU5TU1NlX19ffGBgYI9XV1ebV1dXqltbW8JpaWnZb29v8W1tbf9ubm7/cHBw/29vb/9ra2v/Z2dn/2Zm
+ Zv9gYGD/YGBg/1ZWVv9MTEz/RUVF/z4+Pv80NDT/JSUl/x0dHf8bGxv/FRUV/w4ODv8KCgr/DAwM/w8P
+ D/8UFBT/Ghoa/yEhIf8pKSn/MDAw/zY2Nv87Ozv/SUlJ/1BQUP9MTEz/TExM/01NTf9MTEz/TU1N/1NT
+ U/9RUVH/VVVV/1VVVf9XV1f/Wlpa/1RUVP9HR0f/PT09/zc3N/EuLi7ZJiYmwiIiIqohISGbJCQkjyEh
+ IXwcHBxlFxcXThMTEzYICAgfAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAABkZGRQ5OTk2SEhITlZWVmVfX198ZmZmk2VlZaZZWVmyWVlZwm9vb+Fubm7/a2tr/2xs
+ bP9wcHD/ZWVl/2BgYP9dXV3/XFxc/19fX/9ZWVn/V1dX/0ZGRv87Ozv/NTU1/ywsLP8mJib/Hx8f/xYW
+ Fv8PDw//CQkJ/wMDA/8AAAD/AQEB/wEBAf8CAgL/BgYG/wwMDP8TExP/Gxsb/yUlJf8wMDD/OTk5/0hI
+ SP9KSkr/TExM/05OTv9MTEz/S0tL/1FRUf9NTU3/UVFR/1FRUf9TU1P/VlZW/1RUVP9VVVX/RkZG/zw8
+ PP82Njb/MTEx4SUlJcIiIiKyIyMjpiQkJJMhISF8HBwcZRcXF04TExM2AAAAFAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDU1NStLS0tOWFhYZWNjY3xoaGiTampqqmho
+ aL1cXFzJbW1t4Wtra/9oaGj/ampq/29vb/9jY2P/U1NT/1NTU/9TU1P/V1dX/1lZWf9QUFD/S0tL/0BA
+ QP85OTn/MjIy/ysrK/8jIyP/Gxsb/xEREf8ICAj/AwMD/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB
+ Af8BAQH/BAQE/wwMDP8WFhb/JSUl/zU1Nf8/Pz//SEhI/1FRUf9PT0//TU1N/1JSUv9NTU3/UFBQ/05O
+ Tv9QUFD/U1NT/1FRUf9RUVH/VVVV/0dHR/87Ozv/NDQ0/y4uLuEjIyPJJiYmvSUlJaokJCSTISEhfB4e
+ HmUaGhpOEhISKwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEISEhH01N
+ TUJdXV1lZ2dnfG1tbZNtbW2qbm5uwnZ2dtlycnLxampq/2NjY/9lZWX/ampq/19fX/9OTk7/SUlJ/0xM
+ TP9QUFD/UlJS/09PT/9HR0f/RUVF/z09Pf84ODj/MzMz/yoqKv8gICD/FxcX/wwMDP8DAwP/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8CAgL/CAgI/xQUFP8nJyf/ODg4/0lJ
+ Sf9SUlL/UlJS/1ZWVv9QUFD/UVFR/09PT/9PT0//UVFR/05OTv9OTk7/UlJS/1RUVP9HR0f/ODg4/zIy
+ Mv8vLy/xKysr2SYmJsIlJSWqJCQkkyMjI3whISFlGxsbQggICB8AAAAEAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAZGRkUOTk5Nl1dXVptbW18cnJyk3Nzc6pycnLCgYGB4Xd3d/9qamr/YWFh/2Ji
+ Yv9mZmb/Wlpa/0tLS/9DQ0P/RERE/0tLS/9PT0//T09P/0pKSv9CQkL/Pj4+/zQ0NP8wMDD/Kioq/yEh
+ If8YGBj/DQ0N/wMDA/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8FBQX/FBQU/yoqKv9AQED/Tk5O/1xcXP9WVlb/VlZW/1JSUv9RUVH/UVFR/01N
+ Tf9MTEz/UFBQ/1JSUv9UVFT/RUVF/zY2Nv8vLy//Li4u/y4uLuEnJyfCKCgoqioqKpMnJyd8IiIiWhMT
+ EzYNDQ0UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg1NTUrTk5OTm5ubnF5eXmTe3t7qnd3
+ d8KGhobheXl5/2tra/9gYGD/X19f/2JiYv9XV1f/RkZG/z4+Pv8/Pz//Q0ND/0tLS/9MTEz/SUlJ/0RE
+ RP85OTn/MTEx/ygoKP8hISH/FxcX/w8PD/8JCQn/BAQE/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBP8YGBj/ODg4/1RU
+ VP9ZWVn/W1tb/1hYWP9VVVX/VVVV/09PT/9NTU3/T09P/1BQUP9SUlL/UlJS/0NDQ/80NDT/LS0t/yws
+ LP8uLi7hKSkpwisrK6orKyuTKSkpcR0dHU4SEhIrAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCEh
+ IR9NTU1CYGBgZX5+foiCgoKqgYGBwouLi+F9fX3/bW1t/2FhYf9dXV3/YGBg/1VVVf9GRkb/OTk5/zs7
+ O/8+Pj7/RERE/0pKSv9ISEj/QUFB/zY2Nv8sLCz/ISEh/xISEv8MDAz/BQUF/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8BAQH/CAgI/yoqKv9LS0v/W1tb/1paWv9bW1v/Wlpa/1NTU/9PT0//UFBQ/1BQ
+ UP9SUlL/UVFR/1RUVP9AQED/MTEx/ykpKf8sLCz/MTEx4S0tLcIuLi6qLS0tiCMjI2UbGxtCCAgIHwAA
+ AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAJiYmFD09PTZgYGBab29vfIqKip+KiorClpaW4YODg/9vb2//YWFh/1xc
+ XP9fX1//VlZW/0hISP85OTn/NTU1/zo6Ov8+Pj7/QEBA/0VFRf8/Pz//NDQ0/yYmJv8UFBT/DQ0N/wQE
+ BP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wEBAf8CAgL/AQEB/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUFBf8XFxf/Q0ND/1dX
+ V/9aWlr/XFxc/1hYWP9UVFT/U1NT/1JSUv9TU1P/UVFR/1RUVP9RUVH/Ojo6/ysrK/8nJyf/Li4u/zU1
+ NeEyMjLCMjIynykpKXwlJSVaGBgYNg0NDRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFOzs7K1JSUk5zc3Nxf39/k5OT
+ k7ahoaHhjIyM/3R0dP9iYmL/WVlZ/1xcXP9YWFj/S0tL/zo6Ov8zMzP/NTU1/zk5Of85OTn/PT09/0BA
+ QP8xMTH/ICAg/xISEv8ICAj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgIC/wwMDP8XFxf/Hx8f/yEh
+ If8bGxv/EBAQ/wcHB/8EBAT/AgIC/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8EBAT/EhIS/zIyMv9RUVH/Wlpa/1lZWf9YWFj/WVlZ/1ZWVv9VVVX/UlJS/1VV
+ Vf9WVlb/S0tL/zIyMv8oKCj/KCgo/zIyMv86OjrhNTU1ti8vL5MrKytxHR0dThISEisAAAAFAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAkJCQVUVFRQmVlZWWFhYWIioqKqqurq9KXl5f/fHx8/2RkZP9ZWVn/V1dX/1tbW/9OTk7/QEBA/zU1
+ Nf8yMjL/Ly8v/zAwMP8zMzP/MzMz/y8vL/8cHBz/ERER/wMDA/8AAAD/AAAA/wAAAP8AAAD/AQEB/wgI
+ CP8eHh7/Ojo6/0pKSv9UVFT/UVFR/1FRUf9PT0//SkpK/0JCQv8uLi7/FxcX/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQE/xMTE/8oKCj/R0dH/1RU
+ VP9YWFj/XV1d/1xcXP9ZWVn/VVVV/1ZWVv9XV1f/W1tb/0BAQP8tLS3/Jycn/ywsLP84ODj/PT090jQ0
+ NKoxMTGIJiYmZR8fH0IMDAwVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAQEAsZmZmWnl5eXySkpKfk5OTwqKiovGGhob/a2tr/1lZ
+ Wf9TU1P/WFhY/1VVVf9ERET/ODg4/zQ0NP8wMDD/Jycn/ygoKP8nJyf/IiIi/xwcHP8PDw//AgIC/wAA
+ AP8AAAD/AAAA/wAAAP8HBwf/JSUl/0RERP9kZGT/hISE/5ycnP+SkpL/hISE/3V1df9sbGz/bW1t/3R0
+ dP9NTU3/LS0t/xkZGf8NDQ3/BQUF/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AgIC/wgICP8WFhb/KSkp/zQ0NP9PT0//W1tb/1xcXP9eXl7/Wlpa/1lZWf9ZWVn/XFxc/1JS
+ Uv84ODj/KSkp/ygoKP8xMTH/Pj4+8Tc3N8I2NjafLy8vfCgoKFoXFxcsAAAABQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoqKhJUVFRDfHx8cYmJ
+ iZOfn5+2rq6u4ZSUlP90dHT/XV1d/1BQUP9TU1P/VVVV/01NTf89PT3/Nzc3/zIyMv8jIyP/HR0d/xsb
+ G/8XFxf/GBgY/xAQEP8CAgL/AAAA/wAAAP8AAAD/AwMD/xcXF/8+Pj7/ZWVl/4WFhf+bm5v/rq6u/7a2
+ tv+4uLj/uLi4/7Gxsf+ysrL/tLS0/6Wlpf+SkpL/e3t7/1tbW/86Ojr/JiYm/xUVFf8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wcHB/8ODg7/Ghoa/ysrK/8rKyv/T09P/1lZ
+ Wf9eXl7/Xl5e/15eXv9cXFz/X19f/19fX/9HR0f/MDAw/ygoKP8sLCz/OTk5/0JCQuE8PDy2NjY2kzIy
+ MnEiIiJDDg4OEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAEBAQCRqampbkJCQiJmZmaq8vLzSpKSk/4SEhP9kZGT/UlJS/0xMTP9WVlb/UVFR/0VF
+ Rf87Ozv/ODg4/ysrK/8ZGRn/EBAQ/wwMDP8VFRX/FBQU/wkJCf8FBQX/AwMD/wAAAP8EBAT/Jycn/0dH
+ R/9lZWX/fX19/5SUlP+urq7/vb29/7+/v//BwcH/wsLC/8LCwv/CwsL/wsLC/8LCwv+9vb3/vLy8/6ys
+ rP+Pj4//Z2dn/z4+Pv8ODg7/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wUF
+ Bf8NDQ3/FBQU/yAgIP8rKyv/Kioq/0lJSf9aWlr/X19f/2JiYv9hYWH/YmJi/2FhYf9bW1v/Ozs7/ysr
+ K/8oKCj/MTEx/z8/P/9FRUXSPT09qjg4OIgqKipbFRUVJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVZWVjuCgoJyo6Ojn6ioqMK1tbXxlJSU/3Fx
+ cf9XV1f/S0tL/05OTv9VVVX/TExM/0FBQf86Ojr/MTEx/x0dHf8SEhL/BAQE/wwMDP8TExP/FxcX/xQU
+ FP8QEBD/CwsL/wcHB/8bGxv/PDw8/1ZWVv9vb2//iIiI/6Kiov+8vLz/xMTE/8TExP/FxcX/xsbG/8jI
+ yP/IyMj/yMjI/8nJyf/IyMj/x8fH/8fHx//FxcX/uLi4/5ycnP9mZmb/ISEh/wUFBf8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBP8NDQ3/FBQU/xsbG/8mJib/Kioq/ykpKf9JSUn/W1tb/2Nj
+ Y/9lZWX/Z2dn/2VlZf9oaGj/S0tL/zIyMv8oKCj/Kysr/zg4OP9ISEjxQ0NDwkBAQJ82NjZyIyMjOwAA
+ AAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKioqEm9v
+ b1OXl5eJtLS0tsnJyeGqqqr/g4OD/2JiYv9MTEz/R0dH/1FRUf9WVlb/SkpK/0JCQv87Ozv/Kioq/yAg
+ IP8LCwv/BgYG/xEREf8aGhr/IiIi/yEhIf8dHR3/GRkZ/x8fH/85OTn/S0tL/2BgYP9zc3P/kZGR/6qq
+ qv/FxcX/x8fH/8nJyf/FxcX/tra2/6qqqv+tra3/tLS0/7e3t/+9vb3/ycnJ/8rKyv/Jycn/yMjI/8bG
+ xv/BwcH/mpqa/0tLS/8ICAj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUFBf8ODg7/FhYW/xsb
+ G/8iIiL/Kioq/ykpKf8oKCj/SkpK/15eXv9lZWX/a2tr/2lpaf9ra2v/X19f/zw8PP8qKir/Jycn/zIy
+ Mv9ERET/T09P4UlJSbY/Pz+JLi4uUw4ODhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAQEBAJISEhGqsrKyg2NjY0sLCwv+bm5v/c3Nz/1VVVf9GRkb/SUlJ/1dX
+ V/9XV1f/TU1N/0xMTP9AQED/Li4u/yEhIf8JCQn/EhIS/xUVFf8qKir/LS0t/y8vL/8sLCz/Kysr/zo6
+ Ov9QUFD/Z2dn/3V1df+Hh4f/oaGh/7a2tv/Gxsb/vLy8/4+Pj/9gYGD/VVVV/1paWv9gYGD/WVlZ/0RE
+ RP+JiYn/wcHB/8rKyv/Ly8v/y8vL/8rKyv/Jycn/x8fH/7m5uf9ycnL/Dg4O/wEBAf8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wUFBf8ODg7/GBgY/x4eHv8iIiL/KSkp/ysrK/8oKCj/KSkp/1FRUf9hYWH/a2tr/21t
+ bf9vb2//cXFx/0xMTP8wMDD/JiYm/y0tLf89PT3/UFBQ/1VVVdJISEigOjo6ahwcHCQAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFhYOpycnIG/v7+31tbW8bW1
+ tf+Kior/ZWVl/0xMTP9ERET/UVFR/2FhYf9eXl7/V1dX/1ZWVv9CQkL/MjIy/x4eHv8cHBz/EhIS/yMj
+ I/8wMDD/Pj4+/z4+Pv88PDz/PT09/09PT/9kZGT/eXl5/42Njf+lpaX/t7e3/8DAwP+YmJj/UlJS/x0d
+ Hf8AAAD/AAAA/wUFBf8RERH/BwcH/w4ODv8rKyv/VFRU/4WFhf+qqqr/vb29/8vLy//Ly8v/ysrK/8nJ
+ yf/ExMT/lJSU/x4eHv8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8TExP/Gxsb/yIiIv8mJib/KCgo/y0t
+ Lf8pKSn/KCgo/ywsLP9WVlb/aGho/29vb/90dHT/eXl5/2BgYP86Ojr/Jycn/ykpKf83Nzf/SkpK/1tb
+ W/FRUVG3Q0NDgSgoKDoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAcXFxUbKyspjl5eXU0NDQ/6ioqP96enr/WFhY/0VFRf9FRUX/W1tb/2tra/9kZGT/ZGRk/1tb
+ W/9ERET/Nzc3/x8fH/8lJSX/ICAg/y0tLf83Nzf/SEhI/09PT/9OTk7/Tk5O/2NjY/96enr/jY2N/6en
+ p/+9vb3/vb29/4KCgv89PT3/ExMT/wICAv8AAAD/AAAA/wYGBv8NDQ3/FBQU/xMTE/8RERH/FRUV/zIy
+ Mv9mZmb/lJSU/8LCwv/Ly8v/y8vL/8vLy//Kysr/ycnJ/6Ghof8iIiL/AQEB/wAAAP8AAAD/AAAA/wIC
+ Av8VFRX/ICAg/ycnJ/8sLCz/LCws/y0tLf8sLCz/KCgo/ygoKP82Njb/YWFh/25ubv94eHj/fX19/3Z2
+ dv9HR0f/Kysr/yYmJv8yMjL/RUVF/1paWv9fX1/UTU1NmDU1NVEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFiIiIacbGxq/i4uLxxcXF/5aWlv9sbGz/Tk5O/0ND
+ Q/9LS0v/ZmZm/3Z2dv9ycnL/cHBw/1tbW/9NTU3/NjY2/zMzM/8lJSX/Li4u/zExMf9FRUX/TU1N/1RU
+ VP9ZWVn/X19f/3V1df+MjIz/qKio/76+vv+9vb3/j4+P/1RUVP8nJyf/AgIC/wICAv8RERH/FxcX/x4e
+ Hv8uLi7/UVFR/35+fv8yMjL/BAQE/woKCv8iIiL/Wlpa/5mZmf/Gxsb/y8vL/8vLy//Ly8v/ysrK/8rK
+ yv+ZmZn/FhYW/wAAAP8AAAD/AAAA/wYGBv8RERH/KCgo/y4uLv8zMzP/MzMz/zIyMv8wMDD/Kioq/ycn
+ J/8pKSn/TExM/2lpaf94eHj/goKC/4uLi/9YWFj/MjIy/yQkJP8tLS3/Pz8//1VVVf9kZGTxV1dXr0FB
+ QWkAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKioSoaGhgPDw
+ 8Mze3t7/uLi4/4aGhv9eXl7/RkZG/0RERP9TU1P/c3Nz/4GBgf+AgID/dnZ2/11dXf9SUlL/OTk5/0BA
+ QP82Njb/PT09/zk5Of9LS0v/U1NT/1ZWVv9fX1//YWFh/3R0dP+Xl5f/tbW1/8fHx/+rq6v/c3Nz/0FB
+ Qf8QEBD/AgIC/woKCv8mJib/R0dH/11dXf9gYGD/ZGRk/2tra/+Dg4P/aGho/ywsLP8RERH/Kioq/2Fh
+ Yf+ioqL/yMjI/8vLy//Ly8v/y8vL/8vLy//ExMT/eXl5/wgICP8AAAD/AAAA/wcHB/8TExP/Li4u/zk5
+ Of87Ozv/PDw8/zg4OP81NTX/LS0t/ygoKP8nJyf/Kioq/11dXf90dHT/hYWF/5mZmf9sbGz/PDw8/yMj
+ I/8oKCj/Ojo6/1BQUP9kZGT/ZmZmzE5OToAODg4SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABAQEAkuLi4l+3t7eXX19f/qamp/3h4eP9SUlL/QkJC/0hISP9eXl7/gYGB/4uL
+ i/+Ojo7/d3d3/2RkZP9TU1P/S0tL/z8/P/9JSUn/SkpK/1JSUv9SUlL/UlJS/1paWv9iYmL/Z2dn/3R0
+ dP+UlJT/q6ur/7Gxsf+Li4v/XV1d/yoqKv8GBgb/AgIC/wsLC/8ICAj/BAQE/xISEv8rKyv/NDQ0/xAQ
+ EP9SUlL/dnZ2/2tra/87Ozv/Ghoa/zIyMv99fX3/tLS0/8zMzP/MzMz/y8vL/8vLy//Kysr/tLS0/zw8
+ PP8CAgL/AAAA/wEBAf8gICD/Ly8v/0RERP9FRUX/RUVF/0JCQv87Ozv/MTEx/yoqKv8nJyf/KCgo/0JC
+ Qv9sbGz/hISE/6Kiov+CgoL/R0dH/yUlJf8kJCT/NDQ0/0tLS/9gYGD/bW1t5VlZWZccHBwkAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWFg6z8/Prurq6vXQ0ND/m5ub/2lp
+ af9ISEj/Pz8//01NTf9qamr/kZGR/5qamv+YmJj/fX19/2xsbP9UVFT/WFhY/0xMTP9WVlb/WFhY/2Vl
+ Zf9iYmL/ZGRk/2VlZf9lZWX/Z2dn/21tbf+Li4v/l5eX/42Njf9nZ2f/LCws/wsLC/8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/xgYGP8pKSn/IiIi/xEREf9RUVH/nZ2d/8jI
+ yP/MzMz/zMzM/8vLy//Ly8v/vr6+/3l5ef8NDQ3/AAAA/wgICP8pKSn/NjY2/05OTv9QUFD/UFBQ/01N
+ Tf9ERET/NjY2/ywsLP8oKCj/Jycn/yoqKv9eXl7/f39//6Wlpf+YmJj/VFRU/ygoKP8hISH/Ly8v/0VF
+ Rf9eXl7/bm5u9WVlZa4sLCw6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABxcXFR/Pz8y+np6f/IyMj/jo6O/11dXf9AQED/Pj4+/1JSUv92dnb/paWl/6mpqf+enp7/goKC/3Nz
+ c/9YWFj/YGBg/11dXf9oaGj/aWlp/2xsbP9zc3P/eXl5/3t7e/99fX3/f39//4KCgv+AgID/f39//3Nz
+ c/8+Pj7/Dg4O/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/CQkJ/wYGBv80NDT/fn5+/8PDw//MzMz/zMzM/8zMzP/Ly8v/wcHB/5GRkf81NTX/AgIC/xQU
+ FP8jIyP/RUVF/1RUVP9hYWH/X19f/1tbW/9OTk7/PT09/zAwMP8pKSn/Jycn/ykpKf9DQ0P/d3d3/6Sk
+ pP+urq7/YmJi/ywsLP8fHx//Kioq/0FBQf9cXFz/bm5u/3d3d8s5OTlRAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKiopp/v7+5OXl5f/AwMD/goKC/1JSUv87Ozv/Pj4+/1dX
+ V/+BgYH/ubm5/7i4uP+pqan/iYmJ/3l5ef9lZWX/ZGRk/25ubv91dXX/gYGB/4SEhP+IiIj/j4+P/4+P
+ j/+Li4v/iYmJ/3R0dP9oaGj/ZmZm/1VVVf8ZGRn/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8cHBz/ampq/7i4uP/MzMz/zMzM/8zM
+ zP/MzMz/xMTE/6SkpP9MTEz/BgYG/wQEBP8qKir/VFRU/1tbW/9wcHD/bm5u/2pqav9ZWVn/RERE/zQ0
+ NP8rKyv/Jycn/ygoKP8rKyv/aGho/5+fn//BwcH/b29v/zIyMv8eHh7/JiYm/z09Pf9aWlr/bW1t/39/
+ f+RJSUlpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChoaGA/f399OHh
+ 4f+4uLj/dnZ2/0hISP83Nzf/Pz8//1tbW/+Kior/xsbG/7+/v/+qqqr/kZGR/3x8fP90dHT/a2tr/3d3
+ d/+BgYH/j4+P/5SUlP+UlJT/lJSU/5OTk/+SkpL/d3d3/1RUVP9OTk7/Tk5O/z09Pf8SEhL/AgIC/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8KCgr/TExM/62trf/MzMz/zMzM/8zMzP/MzMz/zMzM/6Wlpf9UVFT/EhIS/w8PD/88PDz/X19f/2Zm
+ Zv9/f3//f39//3d3d/9kZGT/TExM/zo6Ov8uLi7/KCgo/ycnJ/8qKir/UVFR/5iYmP/S0tL/fHx8/zc3
+ N/8eHh7/IiIi/zg4OP9YWFj/bGxs/4ODg/RaWlqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAC4uLiX/v7+/Nzc3P+ysrL/bW1t/0FBQf81NTX/QEBA/15eXv+RkZH/09PT/8jI
+ yP+wsLD/m5ub/4GBgf94eHj/cHBw/3p6ev+BgYH/k5OT/5aWlv+Tk5P/lZWV/5OTk/+IiIj/YmJi/zw8
+ PP81NTX/NjY2/y0tLf8ZGRn/FBQU/wkJCf8CAgL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/PT09/6Wlpf/MzMz/zMzM/8zMzP/MzMz/zMzM/5qa
+ mv9WVlb/EhIS/yEhIf9OTk7/ZGRk/3V1df+Pj4//kpKS/4aGhv9ubm7/VFRU/0BAQP8xMTH/Kioq/ycn
+ J/8oKCj/Nzc3/42Njf/g4OD/iYmJ/z09Pf8fHx//Hx8f/zQ0NP9XV1f/bGxs/4WFhfxnZ2eXAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPz8+u/////9fX1/+tra3/ZGRk/zw8
+ PP80NDT/QEBA/2BgYP+Xl5f/29vb/8nJyf+0tLT/oaGh/4aGhv99fX3/cnJy/319ff+CgoL/jIyM/5OT
+ k/+UlJT/k5OT/5CQkP95eXn/SkpK/yIiIv8aGhr/LCws/zQ0NP83Nzf/NTU1/ykpKf8VFRX/BgYG/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/QkJC/6Ki
+ ov/Ly8v/zMzM/8zMzP/MzMz/y8vL/4mJif9UVFT/FRUV/zMzM/9dXV3/Z2dn/4eHh/+bm5v/o6Oj/5OT
+ k/95eXn/XV1d/0ZGRv81NTX/LCws/ygoKP8oKCj/LS0t/3t7e//s7Oz/kpKS/0FBQf8gICD/Hh4e/zEx
+ Mf9VVVX/a2tr/4WFhf93d3euAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD9/f3L/////9TU1P+oqKj/XV1d/zk5Of8zMzP/QUFB/2JiYv+enp7/4eHh/8TExP+1tbX/qamp/46O
+ jv+Hh4f/fHx8/4CAgP+FhYX/jIyM/5GRkf+VlZX/k5OT/3t7e/9hYWH/IiIi/w4ODv8NDQ3/NDQ0/0xM
+ TP9VVVX/VlZW/0xMTP8+Pj7/Jycn/xISEv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8CAgL/VFRU/6SkpP/MzMz/zMzM/8zMzP/MzMz/w8PD/3t7e/9PT0//EBAQ/z09
+ Pf9lZWX/cXFx/5mZmf+qqqr/r6+v/52dnf+CgoL/ZmZm/0xMTP85OTn/Li4u/ygoKP8nJyf/LCws/2ho
+ aP/19fX/mpqa/0VFRf8hISH/HBwc/y8vL/9VVVX/a2tr/4ODg/+Ojo7LAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7k/////9LS0v+mpqb/WVlZ/zc3N/8zMzP/QEBA/2Fh
+ Yf+hoaH/6enp/8DAwP+0tLT/qqqq/5eXl/+RkZH/iIiI/4SEhP+Li4v/jo6O/5OTk/+Wlpb/kpKS/1xc
+ XP9CQkL/BgYG/yAgIP81NTX/UlJS/3Fxcf92dnb/cnJy/2lpaf9mZmb/V1dX/0NDQ/8iIiL/CwsL/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8ODg7/YGBg/6Ojo//MzMz/zMzM/8zM
+ zP/MzMz/ysrK/4CAgP9GRkb/AgIC/z4+Pv9nZ2f/g4OD/6urq/+7u7v/ubm5/6Wlpf+Li4v/bW1t/1NT
+ U/89PT3/MDAw/ykpKf8nJyf/Kysr/09PT//7+/v/np6e/0hISP8iIiL/HBwc/y4uLv9VVVX/bGxs/4SE
+ hP+amprkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9/f30/////9HR
+ 0f+lpaX/V1dX/zc3N/8zMzP/Pz8//15eXv+jo6P/8PDw/76+vv+0tLT/qamp/6CgoP+bm5v/k5OT/4+P
+ j/+NjY3/kZGR/5SUlP+ampr/lpaW/1BQUP8mJib/AwMD/zY2Nv9oaGj/gYGB/46Ojv+Wlpb/lZWV/4+P
+ j/+Dg4P/eXl5/2NjY/9MTEz/JCQk/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8ODg7/RERE/6+vr//MzMz/zMzM/8zMzP/MzMz/vr6+/46Ojv8+Pj7/DAwM/zg4OP9ra2v/lJSU/729
+ vf/Gxsb/vb29/6urq/+SkpL/dHR0/1hYWP9BQUH/MzMz/yoqKv8nJyf/Kioq/0FBQf/+/v7/oqKi/0xM
+ TP8jIyP/HR0d/y0tLf9WVlb/bm5u/4aGhv+hoaH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAD+/v77/////9DQ0P+kpKT/VlZW/zY2Nv8yMjL/PT09/1tbW/+hoaH/8/Pz/76+
+ vv+0tLT/qamp/6Ojo/+hoaH/n5+f/52dnf+bm5v/nZ2d/6Wlpf+qqqr/oqKi/1hYWP9FRUX/BgYG/01N
+ Tf9mZmb/hYWF/6qqqv+2trb/tra2/7a2tv++vr7/urq6/7CwsP+lpaX/m5ub/3l5ef9AQED/JiYm/wAA
+ AP8NDQ3/AAAA/wAAAP8ICAj/GBgY/yYmJv9OTk7/tra2/8XFxf/MzMz/zMzM/8zMzP/FxcX/pKSk/1JS
+ Uv8mJib/FRUV/19fX/+IiIj/pqam/8bGxv/Jycn/wcHB/7CwsP+Xl5f/enp6/15eXv9FRUX/NTU1/yws
+ LP8nJyf/KSkp/zw8PP//////pKSk/05OTv8lJSX/HR0d/y4uLv9YWFj/cHBw/4mJif+lpaX7AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v75/////9HR0f+lpaX/V1dX/zc3
+ N/8yMjL/PT09/1paWv+enp7/8vLy/76+vv+0tLT/qamp/6Ojo/+hoaH/pKSk/6mpqf+qqqr/q6ur/7Ky
+ sv+5ubn/paWl/2JiYv9ZWVn/JCQk/1tbW/9vb2//nJyc/7u7u//Jycn/zMzM/8zMzP/MzMz/ysrK/8zM
+ zP/Kysr/xcXF/8zMzP/Gxsb/pqam/zIyMv9mZmb/YGBg/01NTf9OTk7/VFRU/21tbf+goKD/ysrK/8zM
+ zP/MzMz/zMzM/8rKyv+xsbH/goKC/yIiIv8KCgr/GBgY/3R0dP+ioqL/tbW1/8rKyv/Jycn/w8PD/7Oz
+ s/+cnJz/f39//2NjY/9ISEj/ODg4/y0tLf8oKCj/KSkp/z09Pf/+/v7/o6Oj/05OTv8lJSX/Hh4e/y8v
+ L/9aWlr/c3Nz/4yMjP+np6f5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD+/v7u/////9HR0f+lpaX/WFhY/zc3N/8zMzP/Pj4+/1lZWf+ZmZn/7e3t/7+/v/+0tLT/qqqq/6Oj
+ o/+hoaH/paWl/6ysrP+0tLT/urq6/8PDw//IyMj/oqKi/2ZmZv9GRkb/LS0t/2RkZP9/f3//tra2/8vL
+ y//Kysr/zMzM/8jIyP/Hx8f/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/Gxsb/srKy/7Ky
+ sv+jo6P/oaGh/6qqqv/ExMT/zMzM/8zMzP/MzMz/y8vL/7q6uv+VlZX/VFRU/w4ODv8AAAD/ISEh/4GB
+ gf+pqan/u7u7/8rKyv/Jycn/w8PD/7S0tP+enp7/goKC/2ZmZv9LS0v/Ojo6/y4uLv8oKCj/Kioq/0ZG
+ Rv/9/f3/oaGh/0xMTP8lJSX/Hx8f/zExMf9dXV3/dXV1/4+Pj/+mpqbuAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7d/////9LS0v+np6f/W1tb/zg4OP8zMzP/Pz8//1lZ
+ Wf+SkpL/5OTk/8LCwv+1tbX/qqqq/6Ojo/+hoaH/pKSk/6urq/+1tbX/vr6+/8XFxf/IyMj/l5eX/2Zm
+ Zv8wMDD/Li4u/2ZmZv+VlZX/ysrK/8fHx/+6urr/srKy/7W1tf+zs7P/tLS0/7e3t//AwMD/zMzM/8zM
+ zP/MzMz/zMzM/8zMzP/MzMz/zMzM/8vLy//Gxsb/x8fH/8zMzP/MzMz/zMzM/8zMzP/Jycn/v7+//5eX
+ l/9qamr/Ly8v/wUFBf8CAgL/MDAw/4SEhP+hoaH/q6ur/7q6uv/FxcX/wcHB/7W1tf+fn5//hYWF/2lp
+ af9NTU3/Ozs7/zAwMP8oKCj/Kioq/1dXV//5+fn/nZ2d/0pKSv8lJSX/ICAg/zQ0NP9fX1//eHh4/5GR
+ kf+goKDdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5eXF/////9XV
+ 1f+qqqr/X19f/zo6Ov8zMzP/Pz8//1dXV/+Kior/29vb/8bGxv+2trb/q6ur/6SkpP+hoaH/o6Oj/6mp
+ qf+zs7P/vLy8/8PDw//BwcH/kZGR/2VlZf8hISH/MjIy/2ZmZv+rq6v/zMzM/7Ozs/+mpqb/lpaW/46O
+ jv+JiYn/gYGB/4aGhv+NjY3/oaGh/66urv+6urr/yMjI/8zMzP/Kysr/zMzM/8zMzP/MzMz/wMDA/8DA
+ wP/FxcX/xsbG/7i4uP+mpqb/jo6O/2xsbP9AQED/Ghoa/wICAv8MDAz/Ojo6/35+fv+Xl5f/m5ub/6qq
+ qv+2trb/t7e3/7CwsP+fn5//hYWF/2tra/9PT0//PT09/zExMf8pKSn/Kysr/2lpaf/y8vL/mJiY/0dH
+ R/8kJCT/IiIi/zc3N/9iYmL/e3t7/5WVlf+RkZHFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADPz8+u/v7+/dnZ2f+urq7/ZmZm/z4+Pv80NDT/Pj4+/1VVVf+CgoL/0NDQ/8nJ
+ yf+3t7f/rKys/6SkpP+hoaH/oqKi/6enp/+wsLD/ubm5/8HBwf+9vb3/kJCQ/2BgYP8ZGRn/PT09/2Zm
+ Zv+wsLD/ubm5/6Ghof+Pj4//eHh4/2lpaf9mZmb/W1tb/0xMTP9GRkb/QkJC/zk5Of8+Pj7/SkpK/76+
+ vv9mZmb/dHR0/4aGhv+Tk5P/mZmZ/5mZmf+bm5v/lJSU/4mJif99fX3/Xl5e/zw8PP8QEBD/AgIC/wAA
+ AP8WFhb/SkpK/3BwcP+Hh4f/k5OT/5iYmP+np6f/rKys/6Wlpf+bm5v/hYWF/2xsbP9QUFD/Pj4+/zIy
+ Mv8qKir/MTEx/3t7e//p6en/kZGR/0RERP8kJCT/JCQk/zw8PP9mZmb/f39//5iYmP2CgoKuAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4uLiX/v7++d3d3f+zs7P/bm5u/0ND
+ Q/82Njb/Pj4+/1NTU/96enr/wsLC/8bGxv+7u7v/rq6u/6Wlpf+hoaH/oaGh/6Wlpf+tra3/tra2/76+
+ vv+8vLz/k5OT/1xcXP81NTX/OTk5/2xsbP+ioqL/tLS0/5KSkv94eHj/ZmZm/1VVVf9CQkL/Nzc3/yYm
+ Jv8WFhb/Dg4O/wcHB/8AAAD/AgIC/w4ODv8gICD/LS0t/0JCQv9SUlL/XV1d/2ZmZv9mZmb/YmJi/15e
+ Xv9XV1f/MTEx/wsLC/8AAAD/AAAA/wUFBf8vLy//X19f/2ZmZv91dXX/iIiI/4+Pj/+Xl5f/oKCg/5iY
+ mP+Pj4//gICA/2pqav9RUVH/Pz8//zIyMv8sLCz/QEBA/4mJif/e3t7/h4eH/0BAQP8lJSX/KCgo/0JC
+ Qv9qamr/g4OD/5ycnPlzc3OXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAChoaGA/v7+7uHh4f+5ubn/eHh4/0tLS/85OTn/PT09/1BQUP9xcXH/srKy/8HBwf/AwMD/sLCw/6en
+ p/+hoaH/oKCg/6Ojo/+qqqr/s7Oz/7u7u/+7u7v/lpaW/11dXf86Ojr/NjY2/2lpaf+YmJj/s7Oz/42N
+ jf9qamr/VlZW/z4+Pv8pKSn/ERER/wQEBP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wsL
+ C/8bGxv/Kioq/zIyMv8zMzP/Ozs7/1tbW/82Njb/GRkZ/wICAv8AAAD/AAAA/xISEv82Njb/TExM/2Nj
+ Y/9nZ2f/eXl5/4WFhf+IiIj/kJCQ/46Ojv+CgoL/d3d3/2ZmZv9OTk7/Pz8//zMzM/8sLCz/U1NT/5OT
+ k//Pz8//fX19/zs7O/8mJib/Li4u/0lJSf9wcHD/iIiI/5ycnO5kZGSAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKiopp/v7+3eXl5f/BwcH/g4OD/1RUVP89PT3/PT09/01N
+ Tf9nZ2f/oqKi/7i4uP/AwMD/tLS0/6mpqf+ioqL/oKCg/6Ghof+np6f/r6+v/7i4uP+4uLj/l5eX/2ho
+ aP86Ojr/NDQ0/19fX/+Tk5P/sbGx/4qKiv9mZmb/R0dH/zAwMP8UFBT/BwcH/wEBAf8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBP8XFxf/Tk5O/0dHR/82Njb/ICAg/w4O
+ Dv8EBAT/AQEB/w8PD/80NDT/Pj4+/1JSUv9lZWX/aGho/3Z2dv9+fn7/gICA/4KCgv93d3f/a2tr/19f
+ X/9LS0v/PT09/zQ0NP84ODj/Y2Nj/5ubm/+/v7//cXFx/zg4OP8oKCj/NTU1/1JSUv93d3f/jY2N/5qa
+ mt1VVVVpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwcHBQ5eXlxefn
+ 5/rJycn/j4+P/19fX/9DQ0P/Pj4+/0pKSv9cXFz/kZGR/62trf+7u7v/urq6/6ysrP+kpKT/oKCg/6Cg
+ oP+lpaX/rKys/7S0tP+3t7f/m5ub/3BwcP88PDz/OTk5/1lZWf+IiIj/p6en/46Ojv9mZmb/RERE/yEh
+ If8NDQ3/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yIi
+ Iv9kZGT/ZmZm/1paWv9GRkb/MTEx/yYmJv8NDQ3/Dw8P/w4ODv8iIiL/PDw8/0NDQ/9WVlb/Y2Nj/2Zm
+ Zv90dHT/dXV1/3Nzc/9wcHD/YmJi/1hYWP9HR0f/OTk5/zIyMv9ISEj/b29v/6CgoP+srKz/ZWVl/zQ0
+ NP8sLCz/PT09/1paWv9+fn7/kZGR+o6OjsVDQ0NQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABYWFg3z8/Pru3t7fDS0tL/np6e/21tbf9MTEz/QUFB/0hISP9UVFT/f39//6Gh
+ of+zs7P/urq6/7CwsP+mpqb/oaGh/6CgoP+ioqL/qKio/7CwsP+3t7f/oqKi/3d3d/9NTU3/PT09/1NT
+ U/9+fn7/oqKi/5KSkv9tbW3/RkZG/yAgIP8DAwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wcHB/8WFhb/XFxc/4SEhP+Ojo7/enp6/2ZmZv9TU1P/RkZG/y8vL/8nJyf/EhIS/xUV
+ Ff8cHBz/Kysr/0FBQf9FRUX/Wlpa/19fX/9jY2P/bGxs/2dnZ/9kZGT/Xl5e/1BQUP9BQUH/Nzc3/zg4
+ OP9TU1P/cXFx/6Ojo/+YmJj/WFhY/zIyMv8xMTH/RkZG/2VlZf+FhYX/lZWV8H9/f64zMzM3AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCQkIfuLi4l/Dw8N7a2tr/rq6u/3x8
+ fP9WVlb/RUVF/0VFRf9MTEz/bW1t/5eXl/+qqqr/tLS0/7e3t/+qqqr/o6Oj/6CgoP+hoaH/paWl/6ys
+ rP+0tLT/pqam/4CAgP9WVlb/QkJC/0lJSf9zc3P/l5eX/6Ghof93d3f/UVFR/ykpKf8EBAT/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv8LCwv/Hh4e/z4+Pv94eHj/mpqa/7Ozs/+bm5v/hoaG/29v
+ b/9lZWX/TExM/0RERP8xMTH/JCQk/xkZGf8cHBz/Jycn/zMzM/9CQkL/SUlJ/1hYWP9aWlr/Xl5e/2Bg
+ YP9ZWVn/VFRU/0tLS/88PDz/NTU1/0RERP9ZWVn/dnZ2/6Ojo/+Dg4P/Tk5O/zIyMv85OTn/UVFR/3Bw
+ cP+MjIz/lZWV3nFxcZchISEfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAZGRkKoaGhgN7e3sfh4eH4vb29/4yMjP9jY2P/S0tL/0NDQ/9FRUX/XV1d/42Njf+goKD/q6ur/7S0
+ tP+wsLD/pqam/6Ghof+goKD/o6Oj/6ioqP+wsLD/qKio/4uLi/9gYGD/RkZG/0JCQv9mZmb/j4+P/6Sk
+ pP+IiIj/XFxc/zk5Of8TExP/AAAA/wAAAP8AAAD/AAAA/wAAAP8NDQ3/BAQE/xYWFv8yMjL/Wlpa/4iI
+ iP+np6f/wMDA/729vf+mpqb/kpKS/35+fv9kZGT/X19f/0xMTP8+Pj7/MzMz/yUlJf8jIyP/KSkp/zMz
+ M/81NTX/Q0ND/0pKSv9UVFT/U1NT/1VVVf9UVFT/SkpK/0RERP84ODj/PDw8/0tLS/9aWlr/eXl5/6Cg
+ oP9ubm7/RUVF/zY2Nv9DQ0P/XV1d/3x8fP+SkpL4iYmJx2RkZIAAAAAKAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAioqKacvLy6/p6enmzMzM/5+fn/9ycnL/U1NT/0ND
+ Q/9BQUH/UlJS/39/f/+Wlpb/oaGh/66urv+0tLT/q6ur/6Ojo/+hoaH/oaGh/6Wlpf+srKz/rKys/5OT
+ k/9sbGz/T09P/0JCQv9XV1f/fX19/6ioqP+ysrL/iYmJ/0dHR/8lJSX/DAwM/w0NDf8DAwP/Dg4O/yIi
+ Iv87Ozv/R0dH/0JCQv95eXn/np6e/7a2tv/Gxsb/y8vL/8LCwv+2trb/m5ub/4GBgf9ra2v/UFBQ/1RU
+ VP9KSkr/PT09/zQ0NP8pKSn/Li4u/zExMf82Njb/Ojo6/0JCQv9HR0f/T09P/0pKSv9LS0v/RUVF/z09
+ Pf84ODj/QkJC/01NTf9dXV3/enp6/46Ojv9dXV3/Pz8//zw8PP9OTk7/a2tr/4iIiP+UlJTmfX19r1dX
+ V2kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBwULe3
+ t5jZ2dnP19fX+LCwsP+Dg4P/X19f/0lJSf9AQED/SEhI/2tra/+Kior/mJiY/6Wlpf+urq7/sbGx/6en
+ p/+ioqL/oaGh/6Ojo/+oqKj/ra2t/5+fn/97e3v/V1dX/0hISP9JSUn/aGho/5CQkP+4uLj/wMDA/5mZ
+ mf9xcXH/PT09/x8fH/8tLS3/Q0ND/1dXV/9kZGT/ZmZm/2xsbP+UlJT/vr6+/8vLy//MzMz/zMzM/8jI
+ yP+xsbH/np6e/3Z2dv9OTk7/TExM/05OTv9MTEz/SkpK/zs7O/80NDT/MjIy/zY2Nv87Ozv/ODg4/z09
+ Pf9AQED/Q0ND/0dHR/9BQUH/Pj4+/zk5Of89PT3/RkZG/0tLS/9iYmL/f39//3p6ev9QUFD/Pj4+/0VF
+ Rf9bW1v/eXl5/5GRkfiKiorPcHBwmEZGRlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAWFhYN6CgoIHFxcW34uLi5cDAwP+VlZX/bm5u/1JSUv9ERET/QEBA/1VV
+ Vf9+fn7/jo6O/52dnf+mpqb/rq6u/66urv+kpKT/oaGh/6Kiov+mpqb/qqqq/6SkpP+Li4v/aWlp/0lJ
+ Sf9ISEj/UVFR/3x8fP+goKD/v7+//8nJyf+5ubn/l5eX/3t7e/9oaGj/ZmZm/2hoaP9ycnL/hYWF/5qa
+ mv+vr6//xcXF/8rKyv/Gxsb/xsbG/76+vv+mpqb/dnZ2/2VlZf9OTk7/TExM/0VFRf9MTEz/Q0ND/0hI
+ SP87Ozv/NTU1/zo6Ov85OTn/Pz8//zk5Of9AQED/Pj4+/z09Pf89PT3/Nzc3/zs7O/8+Pj7/RkZG/0xM
+ TP9oaGj/g4OD/2RkZP9HR0f/QEBA/09PT/9paWn/hoaG/5WVleWAgIC3Y2NjgTMzMzcAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQkJCH4mJiWq0tLSg0tLSzc/P
+ z/Cnp6f/fn5+/15eXv9JSUn/Pz8//0pKSv9wcHD/g4OD/5OTk/+cnJz/p6en/6ysrP+qqqr/o6Oj/6Ki
+ ov+kpKT/p6en/6urq/+Wlpb/eHh4/1dXV/9JSUn/TU1N/2JiYv+Hh4f/p6en/8LCwv/IyMj/ycnJ/8DA
+ wP+srKz/o6Oj/6Wlpf+ysrL/xMTE/8nJyf/Hx8f/wcHB/7i4uP+wsLD/paWl/5aWlv+Ojo7/ZmZm/1JS
+ Uv9MTEz/RUVF/0lJSf88PDz/RkZG/z8/P/9AQED/Ojo6/zc3N/8+Pj7/Ozs7/0JCQv88PDz/Pj4+/zg4
+ OP83Nzf/OTk5/zs7O/8+Pj7/QkJC/1JSUv9ra2v/d3d3/1RUVP9DQ0P/R0dH/1xcXP94eHj/j4+P8IuL
+ i810dHSgVFRUaiEhIR8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAGRkZCnJyclOgoKCJwcHBtsPDw9m4uLj4kZGR/21tbf9TU1P/RERE/0JCQv9ZWVn/dnZ2/4iI
+ iP+Tk5P/np6e/6Wlpf+oqKj/qKio/6SkpP+kpKT/pqam/6qqqv+lpaX/hYWF/2lpaf9MTEz/S0tL/1BQ
+ UP9sbGz/iIiI/6+vr//Dw8P/x8fH/8jIyP/Jycn/ycnJ/8jIyP/Hx8f/ysrK/8TExP+wsLD/nZ2d/5KS
+ kv+QkJD/gYGB/319ff9ycnL/Wlpa/0VFRf9JSUn/S0tL/0ZGRv9DQ0P/Ozs7/z8/P/88PDz/PDw8/0FB
+ Qf89PT3/RERE/z09Pf9BQUH/OTk5/zo6Ov85OTn/Ojo6/zo6Ov86Ojr/Q0ND/1paWv92dnb/ZGRk/0tL
+ S/9FRUX/UlJS/2pqav+FhYX4iIiI2YGBgbZoaGiJR0dHUwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhYWDeIiIhyr6+vn7a2tsLHx8flpKSk/39/
+ f/9hYWH/TU1N/0FBQf9KSkr/aWlp/3t7e/+JiYn/lZWV/5ycnP+hoaH/pqam/6mpqf+mpqb/pqam/6io
+ qP+qqqr/m5ub/3p6ev9cXFz/R0dH/0dHR/9SUlL/b29v/5GRkf+tra3/wsLC/8XFxf/Gxsb/x8fH/8jI
+ yP/Jycn/v7+//62trf+cnJz/iIiI/3l5ef9qamr/a2tr/2ZmZv9UVFT/T09P/05OTv9ISEj/V1dX/1hY
+ WP9JSUn/Pz8//zo6Ov84ODj/Ozs7/zg4OP9BQUH/QEBA/0VFRf87Ozv/Pz8//zo6Ov89PT3/Ozs7/zo6
+ Ov82Njb/SEhI/19fX/9ycnL/VFRU/0hISP9LS0v/X19f/3l5ef+MjIzlgYGBwnV1dZ9ZWVlyODg4NwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJC
+ Qh9wcHBbnZ2diKioqKq/v7/Ntra28JOTk/9xcXH/Wlpa/0lJSf9GRkb/U1NT/29vb/98fHz/i4uL/5SU
+ lP+Xl5f/np6e/6SkpP+srKz/qKio/6ioqP+qqqr/pqam/5CQkP9ubm7/UVFR/z4+Pv9AQED/VlZW/3Fx
+ cf+Ojo7/rKys/7y8vP/Dw8P/w8PD/7a2tv+5ubn/q6ur/5qamv+JiYn/dnZ2/1lZWf9QUFD/U1NT/1FR
+ Uf9FRUX/S0tL/1paWv9hYWH/ZGRk/1xcXP9PT0//RERE/zk5Of85OTn/Nzc3/zg4OP83Nzf/RUVF/0BA
+ QP9CQkL/Pj4+/0JCQv89PT3/Ojo6/zMzM/86Ojr/VFRU/25ubv9hYWH/TExM/0pKSv9WVlb/bm5u/4WF
+ hfCGhobNdnZ2qmlpaYhJSUlbISEhHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZGQpbW1tDiYmJcZeXl5O0tLS2sLCw2aSkpPiEhIT/aWlp/1dX
+ V/9KSkr/RkZG/2NjY/9wcHD/f39//4qKiv+Pj4//lZWV/5ubm/+kpKT/q6ur/6urq/+pqan/qqqq/6Oj
+ o/+Hh4f/aGho/0tLS/80NDT/Pj4+/0hISP9nZ2f/fX19/6Kiov+ysrL/rKys/6Ghof+UlJT/kZGR/4OD
+ g/9zc3P/XFxc/05OTv9ERET/RERE/0hISP9JSUn/YGBg/2lpaf9ubm7/b29v/2FhYf9ZWVn/SEhI/0ND
+ Q/83Nzf/NjY2/zQ0NP85OTn/OTk5/0NDQ/9ERET/RERE/0BAQP89PT3/Ly8v/zIyMv9HR0f/Wlpa/21t
+ bf9VVVX/TExM/1JSUv9kZGT/fHx8+IGBgdl/f3+2bGxsk1xcXHE5OTlDAAAACgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Pj4lcXFxWoaG
+ hnynp6efqKiowrm5ueWYmJj/e3t7/2VlZf9VVVX/SUlJ/0xMTP9mZmb/c3Nz/39/f/+Ghob/jY2N/5SU
+ lP+cnJz/o6Oj/6ioqP+tra3/q6ur/6qqqv+hoaH/hYWF/2dnZ/9MTEz/Ly8v/xgYGP8ZGRn/QUFB/15e
+ Xv9tbW3/dXV1/3h4eP9vb2//ampq/3t7e/9fX1//Tk5O/0JCQv84ODj/Pz8//0pKSv9UVFT/a2tr/3t7
+ e/97e3v/eXl5/2RkZP9cXFz/VFRU/0hISP9AQED/NTU1/zk5Of80NDT/Ojo6/z09Pf9ERET/QUFB/0FB
+ Qf8uLi7/KSkp/zs7O/9OTk7/cXFx/19fX/9RUVH/UFBQ/15eXv90dHT/hoaG5Xt7e8J1dXWfX19ffExM
+ TFopKSklAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAZGRkKWVlZQnJycmWYmJiIn5+fqrOzs82rq6vwjY2N/3R0dP9iYmL/U1NT/01N
+ Tf9ZWVn/ampq/3Jycv97e3v/hYWF/42Njf+Wlpb/mpqa/6CgoP+np6f/rKys/6ysrP+qqqr/o6Oj/4uL
+ i/9sbGz/UFBQ/zc3N/8dHR3/CwsL/wUFBf8LCwv/HBwc/y4uLv9BQUH/V1dX/2BgYP9jY2P/UlJS/zg4
+ OP8zMzP/RkZG/1JSUv9dXV3/f39//4+Pj/+Dg4P/enp6/3Jycv9fX1//XFxc/1BQUP9JSUn/Pz8//zg4
+ OP83Nzf/MzMz/zk5Of87Ozv/Ojo6/ysrK/8gICD/MDAw/0dHR/9eXl7/a2tr/1dXV/9TU1P/W1tb/21t
+ bf9/f3/wgYGBzXNzc6pra2uIUVFRZTo6OkIAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAJFtbW06FhYVxkJCQk6ys
+ rLampqbZn5+f8IWFhf9ycnL/Y2Nj/1RUVP9MTEz/YmJi/2lpaf9vb2//eXl5/4SEhP+Pj4//k5OT/5eX
+ l/+enp7/paWl/6enp/+srKz/ra2t/6qqqv+cnJz/fHx8/1xcXP9AQED/KSkp/xQUFP8ICAj/DQ0N/xER
+ Ef8TExP/Hh4e/y0tLf86Ojr/QEBA/0lJSf9RUVH/Wlpa/2dnZ/9wcHD/jIyM/46Ojv+Li4v/fHx8/3R0
+ dP9paWn/W1tb/1xcXP9PT0//S0tL/0BAQP84ODj/NTU1/zAwMP8xMTH/JSUl/xoaGv8oKCj/Pj4+/1VV
+ Vf9wcHD/YGBg/1hYWP9cXFz/aWlp/3p6evB9fX3ZfHx8tmxsbJNcXFxxQUFBTioqKiQAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAICAgCEJCQjZxcXFaf39/fKKiop+hoaHCnZ2d2ZiYmPCDg4P/c3Nz/2FhYf9SUlL/UVFR/2Rk
+ ZP9nZ2f/b29v/3l5ef+FhYX/ioqK/4+Pj/+Wlpb/nJyc/56env+lpaX/p6en/66urv+vr6//rq6u/6am
+ pv+Pj4//W1tb/05OTv9DQ0P/Ojo6/zw8PP9AQED/Pz8//0BAQP9ZWVn/bm5u/3Fxcf9ubm7/cHBw/319
+ ff+JiYn/kJCQ/42Njf+Ojo7/hISE/3p6ev92dnb/Z2dn/1tbW/9YWFj/TU1N/0hISP8/Pz//Nzc3/y8v
+ L/8eHh7/FRUV/yMjI/84ODj/T09P/3Jycv9nZ2f/X19f/2BgYP9paWn/dnZ28Hh4eNl6enrCdXV1n19f
+ X3xPT09aLy8vNgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLRFZWVlCb29vZZSUlIiZmZmqmpqawpWV
+ ldmUlJTwgoKC/3Fxcf9fX1//VVVV/1VVVf9jY2P/aGho/3BwcP97e3v/gICA/4aGhv+Ojo7/lZWV/5eX
+ l/+cnJz/n5+f/6enp/+qqqr/q6ur/6+vr/+xsbH/sLCw/6ysrP+mpqb/nJyc/42Njf9/f3//dHR0/2tr
+ a/99fX3/jY2N/5qamv+fn5//k5OT/46Ojv+Pj4//jY2N/4+Pj/+Pj4//j4+P/4KCgv95eXn/c3Nz/2Nj
+ Y/9ZWVn/U1NT/0lJSf9DQ0P/MDAw/xwcHP8VFRX/Jycn/zs7O/9RUVH/b29v/2pqav9jY2P/ZGRk/2tr
+ a/91dXXwdHR02XZ2dsJzc3Oqa2triFFRUWU+Pj5CDw8PEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABAQEAkW1tbToWFhXGQkJCTlJSUqpOTk8KQkJDZkpKS8IGBgf9xcXH/YGBg/1ZWVv9WVlb/ZmZm/2pq
+ av9ycnL/d3d3/3x8fP+FhYX/jY2N/4+Pj/+VlZX/l5eX/56env+goKD/o6Oj/6mpqf+srKz/rKys/66u
+ rv+wsLD/tbW1/7e3t/+4uLj/ubm5/7q6uv+6urr/urq6/7Kysv+mpqb/nJyc/5OTk/+Ojo7/kpKS/5GR
+ kf+Ojo7/ioqK/4iIiP97e3v/cXFx/2lpaf9cXFz/VVVV/0lJSf82Njb/ISEh/xkZGf8sLCz/QkJC/1ZW
+ Vv9vb2//bGxs/2VlZf9nZ2f/bm5u/3h4ePB0dHTZcnJywnJycqpsbGyTX19fcUFBQU4qKiokAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAIQkJCNnFxcVp/f398i4uLk42NjaqPj4/Cj4+P2ZCQ
+ kOyAgID4cnJy/2JiYv9YWFj/W1tb/2pqav9vb2//cHBw/3Nzc/97e3v/g4OD/4aGhv+NjY3/j4+P/5aW
+ lv+YmJj/mpqa/5+fn/+jo6P/o6Oj/6ampv+pqan/rq6u/7Kysv+0tLT/tbW1/7a2tv+2trb/tra2/7S0
+ tP+qqqr/n5+f/5OTk/+NjY3/i4uL/46Ojv+Pj4//iIiI/4CAgP98fHz/dHR0/2lpaf9fX1//UFBQ/zk5
+ Of8nJyf/ISEh/zY2Nv9HR0f/XV1d/3Jycv9ubm7/Z2dn/2lpaf9vb2/4eHh47HV1ddlycnLCb29vqmpq
+ apNhYWF8T09PWi8vLzYAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tEVlZ
+ WUJvb29lfX19fIeHh5OLi4uqjIyMwo6OjtR6enrggoKC8HV1df9nZ2f/Xl5e/1xcXP9vb2//bm5u/25u
+ bv90dHT/e3t7/35+fv+EhIT/hoaG/42Njf+Pj4//kpKS/5eXl/+ampr/m5ub/56env+hoaH/pKSk/6en
+ p/+qqqr/q6ur/6ysrP+srKz/rKys/6qqqv+jo6P/mpqa/5KSkv+MjIz/iIiI/4iIiP+JiYn/h4eH/39/
+ f/96enr/c3Nz/2VlZf9RUVH/PT09/ywsLP8vLy//QEBA/1JSUv9oaGj/eXl5/3Jycv9sbGz/bGxs/3Bw
+ cPBpaWngdHR01HNzc8Jvb2+qampqk2FhYXxTU1NlPj4+Qg8PDxEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQCRbW1tObW1tZXt7e3yGhoaTioqKqoyMjL13d3fJe3t72YWF
+ hfB6enr/bW1t/2RkZP9gYGD/bW1t/29vb/9ycnL/dnZ2/3h4eP99fX3/fn5+/4WFhf+Ghob/iYmJ/42N
+ jf+RkZH/kpKS/5WVlf+YmJj/mpqa/5ycnP+enp7/n5+f/6CgoP+goKD/oKCg/6Ghof+bm5v/kpKS/4mJ
+ if+IiIj/hoaG/4ODg/+CgoL/gICA/3t7e/9ycnL/YGBg/0tLS/89PT3/NTU1/z09Pf9NTU3/YGBg/3Bw
+ cP99fX3/dnZ2/3Fxcf9ycnL/dHR08GhoaNllZWXJdXV1vXJycqpsbGyTYWFhfFNTU2VFRUVOKioqJAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAhCQkI2W1tbTm1t
+ bWV7e3t8hoaGk4qKiqZ1dXWyd3d3wn19fdmKiorsf39/+Hd3d/9vb2//ZWVl/2lpaf92dnb/eHh4/3d3
+ d/97e3v/enp6/39/f/9/f3//gYGB/4WFhf+IiIj/iYmJ/4yMjP+Ojo7/kJCQ/5GRkf+Tk5P/lJSU/5WV
+ lf+VlZX/lZWV/5WVlf+VlZX/jo6O/4WFhf+BgYH/f39//319ff94eHj/cHBw/2RkZP9YWFj/TExM/0RE
+ RP9ERET/TExM/1tbW/9ycnL/enp6/4CAgP98fHz/d3d3/3d3d/h4eHjsbW1t2WZmZsJkZGSyc3Nzpm1t
+ bZNjY2N8U1NTZUVFRU4vLy82AAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAtLS0RQkJCNltbW05tbW1le3t7fIaGho9zc3ObdnZ2qnp6esKDg4PUeHh44IeH
+ h+1/f3/4c3Nz/2xsbP9tbW3/eXl5/3x8fP9+fn7/e3t7/39/f/9+fn7/fX19/4CAgP+BgYH/gYGB/4SE
+ hP+FhYX/hoaG/4eHh/+JiYn/ioqK/4uLi/+Li4v/i4uL/4uLi/+MjIz/ioqK/4ODg/96enr/dHR0/29v
+ b/9qamr/YGBg/1hYWP9VVVX/UlJS/1RUVP9dXV3/cnJy/3x8fP+EhIT/gICA/319ff99fX34fHx87W1t
+ beBycnLUampqwmRkZKpkZGSbbm5uj2dnZ3xYWFhlRUVFTjQ0NDYeHh4RAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tEUJCQjZbW1tObW1tZXt7
+ e3hubm6EdHR0k3l5eaqAgIC9cnJyyX5+ftV3d3fghISE7Xl5efh1dXX/dHR0/3V1df+CgoL/gYGB/4OD
+ g/+AgID/f39//4CAgP+AgID/fn5+/39/f/9/f3//gICA/4GBgf+Dg4P/g4OD/4SEhP+EhIT/hISE/4WF
+ hf+FhYX/hoaG/4ODg/97e3v/c3Nz/2xsbP9nZ2f/ZGRk/2JiYv9iYmL/ZmZm/3t7e/+FhYX/h4eH/4eH
+ h/+Dg4P/f39/+ICAgO1vb2/gcnJy1WdnZ8lvb2+9aWlpqmNjY5NgYGCEZmZmeFtbW2VISEhONDQ0Nh4e
+ HhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAC0tLRFCQkI2W1tbTm1tbWBkZGRtb29vfHh4eJN/f3+mcHBwsnd3d75ubm7JfHx81XR0
+ dOCFhYXtf39/+H19ff99fX3/e3t7/4mJif+JiYn/hYWF/4SEhP+Dg4P/f39//4CAgP+AgID/gYGB/4KC
+ gv+Dg4P/hISE/4WFhf+FhYX/hYWF/4WFhf+Ghob/hoaG/4SEhP+AgID/e3t7/3d3d/93d3f/dXV1/3p6
+ ev+Ghob/jo6O/42Njf+Ojo7/ioqK/4WFhfiFhYXtcXFx4HR0dNVlZWXJbW1tvmRkZLJtbW2maGhok19f
+ X3xWVlZtWlpaYEtLS040NDQ2Hh4eEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0RQkJCNltbW0lUVFRVZWVlZXFx
+ cXx9fX2Pbm5um3V1dadoaGiydXV1vm1tbcl/f3/VeHh44IyMjO2Hh4f0gYGB+oKCgv+BgYH/g4OD/4uL
+ i/+Li4v/hoaG/4WFhf+EhIT/hISE/4WFhf+Hh4f/h4eH/4iIiP+IiIj/iIiI/4mJif+JiYn/ioqK/4qK
+ iv+IiIj/iIiI/4iIiP+Ojo7/kJCQ/4yMjP+RkZH/kpKS/46OjvqNjY30jY2N7Xd3d+B5eXnVZ2dnyW1t
+ bb5hYWGya2trp2RkZJtra2uPY2NjfFZWVmVISEhVSUlJSTk5OTYeHh4RAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAALS0tEUJCQjJCQkI+VVVVTmdnZ2V3d3d4bGxshHV1dZBoaGibcnJyp2dnZ7J3d3e+cXFxyYWF
+ hdWAgIDdenp644uLi+2FhYX0hISE+oSEhP2EhIT/g4OD/4iIiP+Kior/jo6O/5CQkP+SkpL/kpKS/5OT
+ k/+Tk5P/k5OT/5SUlP+UlJT/lZWV/5SUlP+RkZH/j4+P/4yMjP+Ojo7/j4+P/Y+Pj/qRkZH0k5OT7Xx8
+ fON/f3/dgICA1WxsbMlvb2++YWFhsmtra6dhYWGbampqkGBgYIRmZmZ4WFhYZUhISE46Ojo+ODg4Mh4e
+ HhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAgoKCggQkJCNlhYWE5qampgZGRkbXBw
+ cHlmZmaEcXFxkGRkZJtycnKna2trsnt7e754eHjGcnJyzIWFhdV/f3/denp643V1deZwcHDnhYWF7YWF
+ hfSGhob6hYWF/YiIiP+Kior/i4uL/4yMjP+NjY3/jY2N/42Njf+Pj4//j4+P/42Njf2Pj4/6jo6O9I6O
+ ju13d3fne3t75n9/f+OCgoLdhYWF1XBwcMx0dHTGd3d3vmZmZrJsbGynX19fm2pqapBfX1+EZ2dneVtb
+ W21dXV1gS0tLTjk5OTYgICAgICAgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAALS0tEUJCQjZbW1tJVFRUVWhoaGJgYGBtbW1teWRkZIRxcXGQaGhom3d3d6dycnKvampqtH5+
+ fr54eHjGc3NzzG5ubs9paWnQfHx81Xt7e916enrjdXV15nNzc+d0dHTndXV153Z2dud2dnbndnZ253Z2
+ dud3d3fnd3d353h4eOZ8fHzjf39/3X9/f9VqamrQb29vz3Nzc8x4eHjGfX19vmlpabRvb2+vdHR0p2Nj
+ Y5tqamqQXV1dhGdnZ3lZWVltXl5eYk5OTlVNTU1JOTk5Nh4eHhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLRFCQkIyQkJCPlZWVkpUVFRVZWVlYl1d
+ XW1tbW15ZmZmhHV1dZBwcHCYZmZmnXh4eKdycnKvampqtGZmZrhgYGC5c3NzvnFxccZvb2/MbGxsz2pq
+ atBqamrQampq0GpqatBqamrQampq0GpqatBqamrQbGxs0GxsbM9vb2/McXFxxnNzc75gYGC5ZmZmuGpq
+ arRycnKvd3d3p2VlZZ1ra2uYcXFxkGJiYoRpaWl5WVlZbV5eXmJOTk5VT09PSj4+Pj44ODgyHh4eEQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAgICAIKCgoIEFBQTNCQkI+VlZWSlRUVFVlZWViYmJibXR0dHlubm6AZWVlhnV1dZBvb2+YZmZmnWJi
+ YqFbW1uibGxsp2lpaa9mZma0ZWVluGRkZLlkZGS5ZGRkuWRkZLlkZGS5ZGRkuWRkZLlkZGS5ZGRkuWVl
+ ZbhmZma0aWlpr2xsbKdbW1uiYmJioWZmZp1vb2+YdXV1kGNjY4ZsbGyAbW1teV1dXW1gYGBiTk5OVU9P
+ T0o+Pj4+PDw8MygoKCAgICAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZGQooKCggQUFBM0JCQj5WVlZKVFRUVWho
+ aGJmZmZpYGBgb3R0dHlubm6AZWVlhl9fX4lYWFiLaGhokGNjY5hhYWGdYWFhoWFhYaJhYWGiYWFhomFh
+ YaJhYWGiYWFhomFhYaJhYWGiYWFhomFhYaFhYWGdY2NjmGhoaJBYWFiLX19fiWVlZYZubm6AcnJyeWBg
+ YG9jY2NpZWVlYlFRUVVTU1NKPj4+Pjw8PDMoKCggGRkZCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAGRkZCigoKCBBQUEzQkJCPlpaWkpXV1dSVFRUWGhoaGJmZmZpYGBgb1xcXHJWVlZzZWVleWRk
+ ZIBfX1+GXV1diV9fX4tfX1+LX19fi19fX4tfX1+LX19fi19fX4tfX1+LX19fi11dXYlfX1+GZGRkgGVl
+ ZXlWVlZzXFxccmBgYG9mZmZpaGhoYlRUVFhUVFRSVlZWSj4+Pj48PDwzKCgoIBkZGQoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGRkKKCgoIEFBQTNBQUE7REREQFpa
+ WkpXV1dSVFRUWFFRUVtOTk5cYGBgYl9fX2leXl5vXl5ecl1dXXNdXV1zXV1dc11dXXNdXV1zXV1dc11d
+ XXNdXV1zXV1dc15eXnJeXl5vX19faWBgYGJOTk5cUVFRW1RUVFhXV1dSWlpaSkREREBBQUE7QUFBMygo
+ KCAZGRkKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAABkZGQopKSkZKSkpJUFBQTNBQUE7REREQENDQ0Q/Pz9FU1NTSlRUVFJRUVFYUVFRW1NT
+ U1xTU1NcU1NTXFNTU1xTU1NcU1NTXFNTU1xTU1NcU1NTXFFRUVtRUVFYVFRUUlNTU0o/Pz9FQ0NDRERE
+ REBBQUE7QUFBMykpKSUpKSkZGRkZCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZGQopKSkZKSkpJSkp
+ KSwsLCwuQUFBM0FBQTtERERAQ0NDRENDQ0VDQ0NFQ0NDRUNDQ0VDQ0NFQ0NDRUNDQ0VDQ0NFQ0NDRUND
+ Q0RERERAQUFBO0FBQTMsLCwuKSkpLCkpKSUpKSkZGRkZCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRkZCikpKRkpKSklKSkpLCwsLC4sLCwuLCwsLiws
+ LC4sLCwuLCwsLiwsLC4sLCwuLCwsLikpKSwpKSklKSkpGRkZGQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////4AA////
+ ////////8AAAB///////////gAAAAP/////////+AAAAAD/////////4AAAAAA/////////gAAAAAAP/
+ //////+AAAAAAAD///////8AAAAAAAB///////4AAAAAAAA///////gAAAAAAAAP//////AAAAAAAAAH
+ /////+AAAAAAAAAD/////8AAAAAAAAAB/////4AAAAAAAAAA/////wAAAAAAAAAAf////gAAAAAAAAAA
+ P////AAAAAAAAAAAH////AAAAAAAAAAAH///+AAAAAAAAAAAD///8AAAAAAAAAAAB///8AAAAAAAAAAA
+ B///4AAAAAAAAAAAA///wAAAAAAAAAAAAf//wAAAAAAAAAAAAf//gAAAAAAAAAAAAP//gAAAAAAAAAAA
+ AP//AAAAAAAAAAAAAH//AAAAAAAAAAAAAH//AAAAAAAAAAAAAH/+AAAAAAAAAAAAAD/+AAAAAAAAAAAA
+ AD/+AAAAAAAAAAAAAD/+AAAAAAAAAAAAAD/+AAAAAAAAAAAAAD/8AAAAAAAAAAAAAB/8AAAAAAAAAAAA
+ AB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAA
+ AB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAA
+ AB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/+AAAAAAAAAAAAAD/+AAAAAAAAAAAAAD/+AAAAAAAAAAAA
+ AD/+AAAAAAAAAAAAAD/+AAAAAAAAAAAAAD//AAAAAAAAAAAAAH//AAAAAAAAAAAAAH//AAAAAAAAAAAA
+ AH//gAAAAAAAAAAAAP//gAAAAAAAAAAAAP//wAAAAAAAAAAAAf//wAAAAAAAAAAAAf//4AAAAAAAAAAA
+ A///8AAAAAAAAAAAB///8AAAAAAAAAAAB///+AAAAAAAAAAAD////AAAAAAAAAAAH////AAAAAAAAAAA
+ H////gAAAAAAAAAAP////wAAAAAAAAAAf////4AAAAAAAAAA/////8AAAAAAAAAB/////+AAAAAAAAAD
+ //////AAAAAAAAAH//////gAAAAAAAAP//////4AAAAAAAA///////8AAAAAAAB///////+AAAAAAAD/
+ ///////gAAAAAAP////////4AAAAAA/////////+AAAAAD//////////gAAAAP//////////8AAAB///
+ /////////4AA////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////8=
+</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ShiftOS Launcher/ShiftOS Launcher/FirstBootSetup.vb b/ShiftOS Launcher/ShiftOS Launcher/FirstBootSetup.vb
new file mode 100644
index 0000000..cbf2b79
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/FirstBootSetup.vb
@@ -0,0 +1,36 @@
+Public Class FirstBootSetup
+
+ Public FinishedFirstBoot As Boolean = False
+
+ Private Sub FirstBootSetup_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
+ If FinishedFirstBoot = False Then
+ e.Cancel = True
+ MsgBox("You need to finish the first boot setup!")
+ End If
+ End Sub
+
+ Private Sub TextBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles TextBox1.MouseDown
+ If TextBox1.Text = "Where do you want your ShiftOS executables to be save to? Nothing = C:\ShiftOS\SoftwareData\Launcher\ShiftOSEXE\" Then TextBox1.Text = Nothing
+ End Sub
+
+ Private Sub TextBox2_MouseDown(sender As Object, e As MouseEventArgs) Handles TextBox2.MouseDown
+ If TextBox2.Text = "Type in a nickname here" Then TextBox2.Text = Nothing
+ End Sub
+
+ Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
+ If RadioButton1.Checked = True Then My.Computer.FileSystem.WriteAllText("C:\ShiftOS\SoftwareData\Launcher\UserPreferences\BuildOption.dat", "Stable", False)
+ If RadioButton2.Checked = True Then My.Computer.FileSystem.WriteAllText("C:\ShiftOS\SoftwareData\Launcher\UserPreferences\BuildOption.dat", "Unstable", False)
+
+ If TextBox1.Text = Nothing Then My.Computer.FileSystem.WriteAllText("C:\ShiftOS\SoftwareData\Launcher\UserPreferences\ExecFolder.dat", "C:\ShiftOS\SoftwareData\Launcher\ShiftOSEXE", False)
+ If Not TextBox1.Text = Nothing Then My.Computer.FileSystem.WriteAllText("C:\ShiftOS\SoftwareData\Launcher\UserPreferences\ExecFolder.dat", TextBox1.Text, False)
+
+ If TextBox2.Text = Nothing Then My.Computer.FileSystem.WriteAllText("C:\ShiftOS\SoftwareData\Launcher\UserPreferences\Nickname.dat", "ShiftOS User", False)
+ If Not TextBox2.Text = Nothing Then My.Computer.FileSystem.WriteAllText("C:\ShiftOS\SoftwareData\Launcher\UserPreferences\Nickname.dat", TextBox2.Text, False)
+
+ MsgBox("Completed!")
+ FinishedFirstBoot = True
+ Me.Close()
+
+ Main_Launcher.UpdateOptions()
+ End Sub
+End Class \ No newline at end of file
diff --git a/ShiftOS Launcher/ShiftOS Launcher/Main_Launcher.Designer.vb b/ShiftOS Launcher/ShiftOS Launcher/Main_Launcher.Designer.vb
new file mode 100644
index 0000000..22d2635
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/Main_Launcher.Designer.vb
@@ -0,0 +1,114 @@
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class Main_Launcher
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ <System.Diagnostics.DebuggerNonUserCode()> _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ <System.Diagnostics.DebuggerStepThrough()> _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Main_Launcher))
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.WebBrowser1 = New System.Windows.Forms.WebBrowser()
+ Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
+ Me.Button1 = New System.Windows.Forms.Button()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.Button2 = New System.Windows.Forms.Button()
+ Me.SuspendLayout()
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 24.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label1.Location = New System.Drawing.Point(12, 9)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(382, 37)
+ Me.Label1.TabIndex = 0
+ Me.Label1.Text = "Greetings, ShiftOS User"
+ '
+ 'WebBrowser1
+ '
+ Me.WebBrowser1.Location = New System.Drawing.Point(3, 49)
+ Me.WebBrowser1.MinimumSize = New System.Drawing.Size(20, 20)
+ Me.WebBrowser1.Name = "WebBrowser1"
+ Me.WebBrowser1.Size = New System.Drawing.Size(1097, 480)
+ Me.WebBrowser1.TabIndex = 1
+ Me.WebBrowser1.Url = New System.Uri("http://shiftos.net", System.UriKind.Absolute)
+ '
+ 'ProgressBar1
+ '
+ Me.ProgressBar1.Location = New System.Drawing.Point(3, 535)
+ Me.ProgressBar1.Name = "ProgressBar1"
+ Me.ProgressBar1.Size = New System.Drawing.Size(906, 23)
+ Me.ProgressBar1.TabIndex = 2
+ '
+ 'Button1
+ '
+ Me.Button1.Location = New System.Drawing.Point(915, 535)
+ Me.Button1.Name = "Button1"
+ Me.Button1.Size = New System.Drawing.Size(185, 42)
+ Me.Button1.TabIndex = 3
+ Me.Button1.Text = "Play"
+ Me.Button1.UseVisualStyleBackColor = True
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Location = New System.Drawing.Point(12, 564)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(79, 13)
+ Me.Label2.TabIndex = 4
+ Me.Label2.Text = "Status: Waiting"
+ '
+ 'Button2
+ '
+ Me.Button2.Location = New System.Drawing.Point(927, 1)
+ Me.Button2.Name = "Button2"
+ Me.Button2.Size = New System.Drawing.Size(173, 45)
+ Me.Button2.TabIndex = 5
+ Me.Button2.Text = "Options"
+ Me.Button2.UseVisualStyleBackColor = True
+ '
+ 'Main_Launcher
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(1104, 580)
+ Me.Controls.Add(Me.Button2)
+ Me.Controls.Add(Me.Label2)
+ Me.Controls.Add(Me.Button1)
+ Me.Controls.Add(Me.ProgressBar1)
+ Me.Controls.Add(Me.WebBrowser1)
+ Me.Controls.Add(Me.Label1)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.MaximizeBox = False
+ Me.Name = "Main_Launcher"
+ Me.Text = "ShiftOS Launcher [VersionHere]"
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents WebBrowser1 As System.Windows.Forms.WebBrowser
+ Friend WithEvents ProgressBar1 As System.Windows.Forms.ProgressBar
+ Friend WithEvents Button1 As System.Windows.Forms.Button
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents Button2 As System.Windows.Forms.Button
+
+End Class
diff --git a/ShiftOS Launcher/ShiftOS Launcher/Main_Launcher.resx b/ShiftOS Launcher/ShiftOS Launcher/Main_Launcher.resx
new file mode 100644
index 0000000..b620454
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/Main_Launcher.resx
@@ -0,0 +1,760 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAEAYGAAAAAAIAColAAAFgAAACgAAABgAAAAwAAAAAEAIAAAAAAAACABAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAwODg4SDAwMFgsLCxcLCwsXCwsLFwsL
+ CxcLCwsXCwsLFwsLCxcLCwsXCwsLFwwMDBYAAAASAAAADAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAMDg4OEgwMDBYLCwsXEhISHBUV
+ FSQZGRkpHBwcLRwcHC4cHBwuFhYWLhYWFi4WFhYuFhYWLhYWFi4WFhYuFhYWLhcXFy0TExMpDg4OJAkJ
+ CRwLCwsXDAwMFgAAABIAAAAMAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAMDg4OEhIS
+ EhwVFRUkGRkZKRwcHC0cHBwuIyMjMyMjIzsoKChAJSUlRCUlJUUlJSVFISEhRSEhIUUhISFFISEhRSEh
+ IUUhISFFISEhRSIiIkQgICBAGhoaOxkZGTMREREuFxcXLRMTEykODg4kCQkJHAAAABIAAAAMAAAABQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAFAAAAEBISEhwcHBwkGRkZKSMjIzMnJyc7KCgoQCUlJUQlJSVFLS0tSi8vL1IuLi5YMDAwWy8v
+ L1wsLCxcLCwsXCwsLFwsLCxcLCwsXCwsLFwqKipcKioqXCcnJ1smJiZYIiIiUiIiIkoeHh5FHh4eRBwc
+ HEAaGho7GRkZMxMTEykODg4kCQkJHAAAABAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAABASEhIcGhoaJygoKDMrKys7LCwsQDQ0NEoyMjJSMTExWDAw
+ MFssLCxcMTExYjMzM2k1NTVvNjY2cjMzM3MxMTFzMTExczExMXMxMTFzMTExczExMXMvLy9zLy8vcy0t
+ LXIsLCxvJycnaScnJ2IhISFcJCQkWyYmJlgiIiJSIiIiShwcHEAaGho7FBQUMw0NDScJCQkcAAAAEAAA
+ AAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQEBAQGxsbHBoaGicoKCgzKSkpPjQ0
+ NEo1NTVSNDQ0WDw8PGI9PT1pOTk5bzY2NnIxMTFzNzc3eTg4OIA3NzeGODg4iTc3N4s1NTWLMzMzizMz
+ M4sxMTGLMTExizExMYsxMTGLMDAwiy4uLokuLi6GLCwsgCoqKnkmJiZzKCgocikpKW8pKSlpJycnYiAg
+ IFgfHx9SHx8fShkZGT4UFBQzDQ0NJwkJCRwAAAAQAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEBAQEBsb
+ GxwaGhonKCgoMykpKT40NDRKNjY2VT4+PmI/Pz9pPDw8b0FBQXlAQECAPT09hjo6Ook1NTWLOjo6kDs7
+ O5g6OjqdOzs7oTo6OqI5OTmiNzc3ojU1NaI1NTWiNTU1ojU1NaI1NTWiNDQ0ojExMaExMTGdLS0tmCws
+ LJAoKCiLLS0tiSwsLIYsLCyAKioqeSUlJW8kJCRpJCQkYh4eHlUcHBxKFRUVPhQUFDMNDQ0nCQkJHAAA
+ ABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAgcHBwbISEhJygoKDMtLS0+Nzc3SjY2NlU+Pj5iPz8/bUVFRXlERESAQUFBhkVF
+ RZBDQ0OYPz8/nT4+PqE6OjqiPj4+p0BAQK9BQUG0QkJCuEFBQbk/Pz+5Pj4+uTw8PLk8PDy5PDw8uTw8
+ PLk8PDy5Ozs7uTc3N7g0NDS0MjIyry8vL6cuLi6iLy8voS8vL50tLS2YLCwskCgoKIYoKCiAKCgoeSMj
+ I20iIiJiGxsbVRwcHEoVFRU+FBQUMw0NDScJCQkbAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBkZGR8pKSkyLS0tPjc3N0o5OTlVPj4+Yj09
+ PW1FRUV5REREhElJSZBISEiYREREnUlJSadHR0evRUVFtEVFRbhDQ0O5SkpKvk1NTcZPT0/MUVFRz09P
+ T9BPT0/QTU1N0ExMTNBMTEzQTExM0ExMTNBLS0vQSUlJ0EdHR89DQ0PMPj4+xjw8PL42Nja5NjY2uDQ0
+ NLQyMjKvLy8vpyoqKp0qKiqYKioqkCUlJYQkJCR5ISEhbSIiImIbGxtVHBwcShUVFT4PDw8yCAgIHwAA
+ AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQEBAQGRkZHy8v
+ LzY7OztJPDw8VURERGJBQUFtRUVFeUJCQoRJSUmQRUVFm0xMTKdMTEyvSkpKtFJSUr5RUVHGUlJSzFRU
+ VM9UVFTQZmZm229vb+p0dHT1eHh4/Hh4eP92dnb/dXV1/3Nzc/9zc3P/c3Nz/3Nzc/9ycnL/cXFx/2xs
+ bPxnZ2f1XV1d6lZWVttHR0fQREREz0BAQMw8PDzGODg4vi8vL7QtLS2vLCwspyYmJpslJSWQIyMjhCQk
+ JHkhISFtHx8fYhsbG1UYGBhJExMTNggICB8AAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAACBwcHBshISEnLy8vNj4+Pk5ISEhgRkZGbUpKSnlFRUWESUlJkEVFRZtLS0unSkpKslNT
+ U75VVVXGVVVVzGpqattwcHDqdHR09Xt7e/x8fHz/eXl5/3Fxcf9xcXH/bW1t/2tra/9paWn/aGho/2dn
+ Z/9nZ2f/Z2dn/2dnZ/9mZmb/ZGRk/2JiYv9kZGT/Y2Nj/2pqav9sbGz/aWlp/GBgYPVWVlbqTU1N2zs7
+ O8w2NjbGMjIyvikpKbIoKCinJCQkmyUlJZAjIyOEIiIieR4eHm0dHR1gGhoaThMTEzYNDQ0nCQkJGwAA
+ AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIISEhHy4uLjIxMTE+Ozs7TklJSWVPT094S0tLhE5O
+ TpBISEibTExMp0lJSbJQUFC+UlJSyWpqattycnLqdnZ29Xx8fP97e3v/d3d3/3Nzc/9ubm7/bW1t/2Zm
+ Zv9lZWX/YWFh/19fX/9eXl7/XV1d/1xcXP9cXFz/XFxc/1xcXP9bW1v/Wlpa/1lZWf9cXFz/W1tb/2Fh
+ Yf9gYGD/Y2Nj/2VlZf9lZWX/YmJi/1lZWfVPT0/qRUVF2zMzM8kuLi6+JycnsiYmJqcjIyObIyMjkCEh
+ IYQgICB4Hh4eZRcXF04VFRU+Dw8PMggICB8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAghISEfNDQ0Nj8/
+ P0k/Pz9VR0dHZVBQUHxVVVWPUVFRm1FRUadMTEyyUFBQvlBQUMloaGjbcXFx8Xh4eP97e3v/fn5+/3R0
+ dP9wcHD/bGxs/2dnZ/9jY2P/YmJi/1tbW/9bW1v/V1dX/1VVVf9VVVX/VFRU/1NTU/9UVFT/U1NT/1NT
+ U/9TU1P/UlJS/1FRUf9UVFT/VFRU/1paWv9ZWVn/W1tb/15eXv9eXl7/X19f/2VlZf9dXV3/VlZW/0tL
+ S/E/Pz/bLi4uySoqKr4lJSWyJSUlpyMjI5skJCSPISEhfBwcHGUYGBhVFRUVSRMTEzYICAgfAAAACAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAACCEhIR80NDQ2RUVFTk1NTWBLS0ttUFBQfFVVVZNYWFimUVFRslRUVL5SUlLJZWVl221t
+ bfFzc3P/eHh4/3x8fP90dHT/cnJy/2hoaP9lZWX/YmJi/11dXf9aWlr/WVlZ/1JSUv9PT0//SUlJ/0ZG
+ Rv9DQ0P/QkJC/0BAQP9CQkL/QkJC/0VFRf9JSUn/SkpK/0pKSv9NTU3/TU1N/1NTU/9SUlL/VFRU/1dX
+ V/9XV1f/WFhY/19fX/9cXFz/YGBg/1lZWf9QUFD/RUVF8To6OtsqKirJJycnviQkJLIjIyOmIyMjkx8f
+ H3wcHBxtGxsbYBcXF04TExM2CAgIHwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIISEhHzQ0NDZFRUVOU1NTZVlZWXhRUVGEU1NTk1hY
+ WKpaWlq9VlZWyWhoaNttbW3xbm5u/3Fxcf93d3f/cXFx/3BwcP9paWn/aGho/19fX/9cXFz/WVlZ/1JS
+ Uv9JSUn/RUVF/z4+Pv87Ozv/NTU1/zExMf8sLCz/IyMj/x4eHv8oKCj/MjIy/zs7O/9AQED/Q0ND/0VF
+ Rf9JSUn/SkpK/09PT/9NTU3/Tk5O/1BQUP9RUVH/UlJS/1lZWf9XV1f/W1tb/1paWv9cXFz/UlJS/0hI
+ SP8+Pj7xMjIy2yYmJskmJia9JCQkqiMjI5MfHx+EICAgeBwcHGUXFxdOExMTNggICB8AAAAIAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQhISEfOTk5NkVF
+ RU5TU1NlX19ffGBgYI9XV1ebV1dXqltbW8JpaWnZb29v8W1tbf9ubm7/cHBw/29vb/9ra2v/Z2dn/2Zm
+ Zv9gYGD/YGBg/1ZWVv9MTEz/RUVF/z4+Pv80NDT/JSUl/x0dHf8bGxv/FRUV/w4ODv8KCgr/DAwM/w8P
+ D/8UFBT/Ghoa/yEhIf8pKSn/MDAw/zY2Nv87Ozv/SUlJ/1BQUP9MTEz/TExM/01NTf9MTEz/TU1N/1NT
+ U/9RUVH/VVVV/1VVVf9XV1f/Wlpa/1RUVP9HR0f/PT09/zc3N/EuLi7ZJiYmwiIiIqohISGbJCQkjyEh
+ IXwcHBxlFxcXThMTEzYICAgfAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAABkZGRQ5OTk2SEhITlZWVmVfX198ZmZmk2VlZaZZWVmyWVlZwm9vb+Fubm7/a2tr/2xs
+ bP9wcHD/ZWVl/2BgYP9dXV3/XFxc/19fX/9ZWVn/V1dX/0ZGRv87Ozv/NTU1/ywsLP8mJib/Hx8f/xYW
+ Fv8PDw//CQkJ/wMDA/8AAAD/AQEB/wEBAf8CAgL/BgYG/wwMDP8TExP/Gxsb/yUlJf8wMDD/OTk5/0hI
+ SP9KSkr/TExM/05OTv9MTEz/S0tL/1FRUf9NTU3/UVFR/1FRUf9TU1P/VlZW/1RUVP9VVVX/RkZG/zw8
+ PP82Njb/MTEx4SUlJcIiIiKyIyMjpiQkJJMhISF8HBwcZRcXF04TExM2AAAAFAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDU1NStLS0tOWFhYZWNjY3xoaGiTampqqmho
+ aL1cXFzJbW1t4Wtra/9oaGj/ampq/29vb/9jY2P/U1NT/1NTU/9TU1P/V1dX/1lZWf9QUFD/S0tL/0BA
+ QP85OTn/MjIy/ysrK/8jIyP/Gxsb/xEREf8ICAj/AwMD/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB
+ Af8BAQH/BAQE/wwMDP8WFhb/JSUl/zU1Nf8/Pz//SEhI/1FRUf9PT0//TU1N/1JSUv9NTU3/UFBQ/05O
+ Tv9QUFD/U1NT/1FRUf9RUVH/VVVV/0dHR/87Ozv/NDQ0/y4uLuEjIyPJJiYmvSUlJaokJCSTISEhfB4e
+ HmUaGhpOEhISKwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEISEhH01N
+ TUJdXV1lZ2dnfG1tbZNtbW2qbm5uwnZ2dtlycnLxampq/2NjY/9lZWX/ampq/19fX/9OTk7/SUlJ/0xM
+ TP9QUFD/UlJS/09PT/9HR0f/RUVF/z09Pf84ODj/MzMz/yoqKv8gICD/FxcX/wwMDP8DAwP/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8CAgL/CAgI/xQUFP8nJyf/ODg4/0lJ
+ Sf9SUlL/UlJS/1ZWVv9QUFD/UVFR/09PT/9PT0//UVFR/05OTv9OTk7/UlJS/1RUVP9HR0f/ODg4/zIy
+ Mv8vLy/xKysr2SYmJsIlJSWqJCQkkyMjI3whISFlGxsbQggICB8AAAAEAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAZGRkUOTk5Nl1dXVptbW18cnJyk3Nzc6pycnLCgYGB4Xd3d/9qamr/YWFh/2Ji
+ Yv9mZmb/Wlpa/0tLS/9DQ0P/RERE/0tLS/9PT0//T09P/0pKSv9CQkL/Pj4+/zQ0NP8wMDD/Kioq/yEh
+ If8YGBj/DQ0N/wMDA/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8FBQX/FBQU/yoqKv9AQED/Tk5O/1xcXP9WVlb/VlZW/1JSUv9RUVH/UVFR/01N
+ Tf9MTEz/UFBQ/1JSUv9UVFT/RUVF/zY2Nv8vLy//Li4u/y4uLuEnJyfCKCgoqioqKpMnJyd8IiIiWhMT
+ EzYNDQ0UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg1NTUrTk5OTm5ubnF5eXmTe3t7qnd3
+ d8KGhobheXl5/2tra/9gYGD/X19f/2JiYv9XV1f/RkZG/z4+Pv8/Pz//Q0ND/0tLS/9MTEz/SUlJ/0RE
+ RP85OTn/MTEx/ygoKP8hISH/FxcX/w8PD/8JCQn/BAQE/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBP8YGBj/ODg4/1RU
+ VP9ZWVn/W1tb/1hYWP9VVVX/VVVV/09PT/9NTU3/T09P/1BQUP9SUlL/UlJS/0NDQ/80NDT/LS0t/yws
+ LP8uLi7hKSkpwisrK6orKyuTKSkpcR0dHU4SEhIrAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCEh
+ IR9NTU1CYGBgZX5+foiCgoKqgYGBwouLi+F9fX3/bW1t/2FhYf9dXV3/YGBg/1VVVf9GRkb/OTk5/zs7
+ O/8+Pj7/RERE/0pKSv9ISEj/QUFB/zY2Nv8sLCz/ISEh/xISEv8MDAz/BQUF/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8BAQH/CAgI/yoqKv9LS0v/W1tb/1paWv9bW1v/Wlpa/1NTU/9PT0//UFBQ/1BQ
+ UP9SUlL/UVFR/1RUVP9AQED/MTEx/ykpKf8sLCz/MTEx4S0tLcIuLi6qLS0tiCMjI2UbGxtCCAgIHwAA
+ AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAJiYmFD09PTZgYGBab29vfIqKip+KiorClpaW4YODg/9vb2//YWFh/1xc
+ XP9fX1//VlZW/0hISP85OTn/NTU1/zo6Ov8+Pj7/QEBA/0VFRf8/Pz//NDQ0/yYmJv8UFBT/DQ0N/wQE
+ BP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wEBAf8CAgL/AQEB/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUFBf8XFxf/Q0ND/1dX
+ V/9aWlr/XFxc/1hYWP9UVFT/U1NT/1JSUv9TU1P/UVFR/1RUVP9RUVH/Ojo6/ysrK/8nJyf/Li4u/zU1
+ NeEyMjLCMjIynykpKXwlJSVaGBgYNg0NDRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFOzs7K1JSUk5zc3Nxf39/k5OT
+ k7ahoaHhjIyM/3R0dP9iYmL/WVlZ/1xcXP9YWFj/S0tL/zo6Ov8zMzP/NTU1/zk5Of85OTn/PT09/0BA
+ QP8xMTH/ICAg/xISEv8ICAj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgIC/wwMDP8XFxf/Hx8f/yEh
+ If8bGxv/EBAQ/wcHB/8EBAT/AgIC/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8EBAT/EhIS/zIyMv9RUVH/Wlpa/1lZWf9YWFj/WVlZ/1ZWVv9VVVX/UlJS/1VV
+ Vf9WVlb/S0tL/zIyMv8oKCj/KCgo/zIyMv86OjrhNTU1ti8vL5MrKytxHR0dThISEisAAAAFAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAkJCQVUVFRQmVlZWWFhYWIioqKqqurq9KXl5f/fHx8/2RkZP9ZWVn/V1dX/1tbW/9OTk7/QEBA/zU1
+ Nf8yMjL/Ly8v/zAwMP8zMzP/MzMz/y8vL/8cHBz/ERER/wMDA/8AAAD/AAAA/wAAAP8AAAD/AQEB/wgI
+ CP8eHh7/Ojo6/0pKSv9UVFT/UVFR/1FRUf9PT0//SkpK/0JCQv8uLi7/FxcX/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQE/xMTE/8oKCj/R0dH/1RU
+ VP9YWFj/XV1d/1xcXP9ZWVn/VVVV/1ZWVv9XV1f/W1tb/0BAQP8tLS3/Jycn/ywsLP84ODj/PT090jQ0
+ NKoxMTGIJiYmZR8fH0IMDAwVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAQEAsZmZmWnl5eXySkpKfk5OTwqKiovGGhob/a2tr/1lZ
+ Wf9TU1P/WFhY/1VVVf9ERET/ODg4/zQ0NP8wMDD/Jycn/ygoKP8nJyf/IiIi/xwcHP8PDw//AgIC/wAA
+ AP8AAAD/AAAA/wAAAP8HBwf/JSUl/0RERP9kZGT/hISE/5ycnP+SkpL/hISE/3V1df9sbGz/bW1t/3R0
+ dP9NTU3/LS0t/xkZGf8NDQ3/BQUF/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AgIC/wgICP8WFhb/KSkp/zQ0NP9PT0//W1tb/1xcXP9eXl7/Wlpa/1lZWf9ZWVn/XFxc/1JS
+ Uv84ODj/KSkp/ygoKP8xMTH/Pj4+8Tc3N8I2NjafLy8vfCgoKFoXFxcsAAAABQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoqKhJUVFRDfHx8cYmJ
+ iZOfn5+2rq6u4ZSUlP90dHT/XV1d/1BQUP9TU1P/VVVV/01NTf89PT3/Nzc3/zIyMv8jIyP/HR0d/xsb
+ G/8XFxf/GBgY/xAQEP8CAgL/AAAA/wAAAP8AAAD/AwMD/xcXF/8+Pj7/ZWVl/4WFhf+bm5v/rq6u/7a2
+ tv+4uLj/uLi4/7Gxsf+ysrL/tLS0/6Wlpf+SkpL/e3t7/1tbW/86Ojr/JiYm/xUVFf8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wcHB/8ODg7/Ghoa/ysrK/8rKyv/T09P/1lZ
+ Wf9eXl7/Xl5e/15eXv9cXFz/X19f/19fX/9HR0f/MDAw/ygoKP8sLCz/OTk5/0JCQuE8PDy2NjY2kzIy
+ MnEiIiJDDg4OEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAEBAQCRqampbkJCQiJmZmaq8vLzSpKSk/4SEhP9kZGT/UlJS/0xMTP9WVlb/UVFR/0VF
+ Rf87Ozv/ODg4/ysrK/8ZGRn/EBAQ/wwMDP8VFRX/FBQU/wkJCf8FBQX/AwMD/wAAAP8EBAT/Jycn/0dH
+ R/9lZWX/fX19/5SUlP+urq7/vb29/7+/v//BwcH/wsLC/8LCwv/CwsL/wsLC/8LCwv+9vb3/vLy8/6ys
+ rP+Pj4//Z2dn/z4+Pv8ODg7/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wUF
+ Bf8NDQ3/FBQU/yAgIP8rKyv/Kioq/0lJSf9aWlr/X19f/2JiYv9hYWH/YmJi/2FhYf9bW1v/Ozs7/ysr
+ K/8oKCj/MTEx/z8/P/9FRUXSPT09qjg4OIgqKipbFRUVJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVZWVjuCgoJyo6Ojn6ioqMK1tbXxlJSU/3Fx
+ cf9XV1f/S0tL/05OTv9VVVX/TExM/0FBQf86Ojr/MTEx/x0dHf8SEhL/BAQE/wwMDP8TExP/FxcX/xQU
+ FP8QEBD/CwsL/wcHB/8bGxv/PDw8/1ZWVv9vb2//iIiI/6Kiov+8vLz/xMTE/8TExP/FxcX/xsbG/8jI
+ yP/IyMj/yMjI/8nJyf/IyMj/x8fH/8fHx//FxcX/uLi4/5ycnP9mZmb/ISEh/wUFBf8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBP8NDQ3/FBQU/xsbG/8mJib/Kioq/ykpKf9JSUn/W1tb/2Nj
+ Y/9lZWX/Z2dn/2VlZf9oaGj/S0tL/zIyMv8oKCj/Kysr/zg4OP9ISEjxQ0NDwkBAQJ82NjZyIyMjOwAA
+ AAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKioqEm9v
+ b1OXl5eJtLS0tsnJyeGqqqr/g4OD/2JiYv9MTEz/R0dH/1FRUf9WVlb/SkpK/0JCQv87Ozv/Kioq/yAg
+ IP8LCwv/BgYG/xEREf8aGhr/IiIi/yEhIf8dHR3/GRkZ/x8fH/85OTn/S0tL/2BgYP9zc3P/kZGR/6qq
+ qv/FxcX/x8fH/8nJyf/FxcX/tra2/6qqqv+tra3/tLS0/7e3t/+9vb3/ycnJ/8rKyv/Jycn/yMjI/8bG
+ xv/BwcH/mpqa/0tLS/8ICAj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUFBf8ODg7/FhYW/xsb
+ G/8iIiL/Kioq/ykpKf8oKCj/SkpK/15eXv9lZWX/a2tr/2lpaf9ra2v/X19f/zw8PP8qKir/Jycn/zIy
+ Mv9ERET/T09P4UlJSbY/Pz+JLi4uUw4ODhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAQEBAJISEhGqsrKyg2NjY0sLCwv+bm5v/c3Nz/1VVVf9GRkb/SUlJ/1dX
+ V/9XV1f/TU1N/0xMTP9AQED/Li4u/yEhIf8JCQn/EhIS/xUVFf8qKir/LS0t/y8vL/8sLCz/Kysr/zo6
+ Ov9QUFD/Z2dn/3V1df+Hh4f/oaGh/7a2tv/Gxsb/vLy8/4+Pj/9gYGD/VVVV/1paWv9gYGD/WVlZ/0RE
+ RP+JiYn/wcHB/8rKyv/Ly8v/y8vL/8rKyv/Jycn/x8fH/7m5uf9ycnL/Dg4O/wEBAf8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wUFBf8ODg7/GBgY/x4eHv8iIiL/KSkp/ysrK/8oKCj/KSkp/1FRUf9hYWH/a2tr/21t
+ bf9vb2//cXFx/0xMTP8wMDD/JiYm/y0tLf89PT3/UFBQ/1VVVdJISEigOjo6ahwcHCQAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFhYOpycnIG/v7+31tbW8bW1
+ tf+Kior/ZWVl/0xMTP9ERET/UVFR/2FhYf9eXl7/V1dX/1ZWVv9CQkL/MjIy/x4eHv8cHBz/EhIS/yMj
+ I/8wMDD/Pj4+/z4+Pv88PDz/PT09/09PT/9kZGT/eXl5/42Njf+lpaX/t7e3/8DAwP+YmJj/UlJS/x0d
+ Hf8AAAD/AAAA/wUFBf8RERH/BwcH/w4ODv8rKyv/VFRU/4WFhf+qqqr/vb29/8vLy//Ly8v/ysrK/8nJ
+ yf/ExMT/lJSU/x4eHv8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8TExP/Gxsb/yIiIv8mJib/KCgo/y0t
+ Lf8pKSn/KCgo/ywsLP9WVlb/aGho/29vb/90dHT/eXl5/2BgYP86Ojr/Jycn/ykpKf83Nzf/SkpK/1tb
+ W/FRUVG3Q0NDgSgoKDoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAcXFxUbKyspjl5eXU0NDQ/6ioqP96enr/WFhY/0VFRf9FRUX/W1tb/2tra/9kZGT/ZGRk/1tb
+ W/9ERET/Nzc3/x8fH/8lJSX/ICAg/y0tLf83Nzf/SEhI/09PT/9OTk7/Tk5O/2NjY/96enr/jY2N/6en
+ p/+9vb3/vb29/4KCgv89PT3/ExMT/wICAv8AAAD/AAAA/wYGBv8NDQ3/FBQU/xMTE/8RERH/FRUV/zIy
+ Mv9mZmb/lJSU/8LCwv/Ly8v/y8vL/8vLy//Kysr/ycnJ/6Ghof8iIiL/AQEB/wAAAP8AAAD/AAAA/wIC
+ Av8VFRX/ICAg/ycnJ/8sLCz/LCws/y0tLf8sLCz/KCgo/ygoKP82Njb/YWFh/25ubv94eHj/fX19/3Z2
+ dv9HR0f/Kysr/yYmJv8yMjL/RUVF/1paWv9fX1/UTU1NmDU1NVEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFiIiIacbGxq/i4uLxxcXF/5aWlv9sbGz/Tk5O/0ND
+ Q/9LS0v/ZmZm/3Z2dv9ycnL/cHBw/1tbW/9NTU3/NjY2/zMzM/8lJSX/Li4u/zExMf9FRUX/TU1N/1RU
+ VP9ZWVn/X19f/3V1df+MjIz/qKio/76+vv+9vb3/j4+P/1RUVP8nJyf/AgIC/wICAv8RERH/FxcX/x4e
+ Hv8uLi7/UVFR/35+fv8yMjL/BAQE/woKCv8iIiL/Wlpa/5mZmf/Gxsb/y8vL/8vLy//Ly8v/ysrK/8rK
+ yv+ZmZn/FhYW/wAAAP8AAAD/AAAA/wYGBv8RERH/KCgo/y4uLv8zMzP/MzMz/zIyMv8wMDD/Kioq/ycn
+ J/8pKSn/TExM/2lpaf94eHj/goKC/4uLi/9YWFj/MjIy/yQkJP8tLS3/Pz8//1VVVf9kZGTxV1dXr0FB
+ QWkAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKioSoaGhgPDw
+ 8Mze3t7/uLi4/4aGhv9eXl7/RkZG/0RERP9TU1P/c3Nz/4GBgf+AgID/dnZ2/11dXf9SUlL/OTk5/0BA
+ QP82Njb/PT09/zk5Of9LS0v/U1NT/1ZWVv9fX1//YWFh/3R0dP+Xl5f/tbW1/8fHx/+rq6v/c3Nz/0FB
+ Qf8QEBD/AgIC/woKCv8mJib/R0dH/11dXf9gYGD/ZGRk/2tra/+Dg4P/aGho/ywsLP8RERH/Kioq/2Fh
+ Yf+ioqL/yMjI/8vLy//Ly8v/y8vL/8vLy//ExMT/eXl5/wgICP8AAAD/AAAA/wcHB/8TExP/Li4u/zk5
+ Of87Ozv/PDw8/zg4OP81NTX/LS0t/ygoKP8nJyf/Kioq/11dXf90dHT/hYWF/5mZmf9sbGz/PDw8/yMj
+ I/8oKCj/Ojo6/1BQUP9kZGT/ZmZmzE5OToAODg4SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABAQEAkuLi4l+3t7eXX19f/qamp/3h4eP9SUlL/QkJC/0hISP9eXl7/gYGB/4uL
+ i/+Ojo7/d3d3/2RkZP9TU1P/S0tL/z8/P/9JSUn/SkpK/1JSUv9SUlL/UlJS/1paWv9iYmL/Z2dn/3R0
+ dP+UlJT/q6ur/7Gxsf+Li4v/XV1d/yoqKv8GBgb/AgIC/wsLC/8ICAj/BAQE/xISEv8rKyv/NDQ0/xAQ
+ EP9SUlL/dnZ2/2tra/87Ozv/Ghoa/zIyMv99fX3/tLS0/8zMzP/MzMz/y8vL/8vLy//Kysr/tLS0/zw8
+ PP8CAgL/AAAA/wEBAf8gICD/Ly8v/0RERP9FRUX/RUVF/0JCQv87Ozv/MTEx/yoqKv8nJyf/KCgo/0JC
+ Qv9sbGz/hISE/6Kiov+CgoL/R0dH/yUlJf8kJCT/NDQ0/0tLS/9gYGD/bW1t5VlZWZccHBwkAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWFg6z8/Prurq6vXQ0ND/m5ub/2lp
+ af9ISEj/Pz8//01NTf9qamr/kZGR/5qamv+YmJj/fX19/2xsbP9UVFT/WFhY/0xMTP9WVlb/WFhY/2Vl
+ Zf9iYmL/ZGRk/2VlZf9lZWX/Z2dn/21tbf+Li4v/l5eX/42Njf9nZ2f/LCws/wsLC/8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/xgYGP8pKSn/IiIi/xEREf9RUVH/nZ2d/8jI
+ yP/MzMz/zMzM/8vLy//Ly8v/vr6+/3l5ef8NDQ3/AAAA/wgICP8pKSn/NjY2/05OTv9QUFD/UFBQ/01N
+ Tf9ERET/NjY2/ywsLP8oKCj/Jycn/yoqKv9eXl7/f39//6Wlpf+YmJj/VFRU/ygoKP8hISH/Ly8v/0VF
+ Rf9eXl7/bm5u9WVlZa4sLCw6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABxcXFR/Pz8y+np6f/IyMj/jo6O/11dXf9AQED/Pj4+/1JSUv92dnb/paWl/6mpqf+enp7/goKC/3Nz
+ c/9YWFj/YGBg/11dXf9oaGj/aWlp/2xsbP9zc3P/eXl5/3t7e/99fX3/f39//4KCgv+AgID/f39//3Nz
+ c/8+Pj7/Dg4O/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/CQkJ/wYGBv80NDT/fn5+/8PDw//MzMz/zMzM/8zMzP/Ly8v/wcHB/5GRkf81NTX/AgIC/xQU
+ FP8jIyP/RUVF/1RUVP9hYWH/X19f/1tbW/9OTk7/PT09/zAwMP8pKSn/Jycn/ykpKf9DQ0P/d3d3/6Sk
+ pP+urq7/YmJi/ywsLP8fHx//Kioq/0FBQf9cXFz/bm5u/3d3d8s5OTlRAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKiopp/v7+5OXl5f/AwMD/goKC/1JSUv87Ozv/Pj4+/1dX
+ V/+BgYH/ubm5/7i4uP+pqan/iYmJ/3l5ef9lZWX/ZGRk/25ubv91dXX/gYGB/4SEhP+IiIj/j4+P/4+P
+ j/+Li4v/iYmJ/3R0dP9oaGj/ZmZm/1VVVf8ZGRn/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8cHBz/ampq/7i4uP/MzMz/zMzM/8zM
+ zP/MzMz/xMTE/6SkpP9MTEz/BgYG/wQEBP8qKir/VFRU/1tbW/9wcHD/bm5u/2pqav9ZWVn/RERE/zQ0
+ NP8rKyv/Jycn/ygoKP8rKyv/aGho/5+fn//BwcH/b29v/zIyMv8eHh7/JiYm/z09Pf9aWlr/bW1t/39/
+ f+RJSUlpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChoaGA/f399OHh
+ 4f+4uLj/dnZ2/0hISP83Nzf/Pz8//1tbW/+Kior/xsbG/7+/v/+qqqr/kZGR/3x8fP90dHT/a2tr/3d3
+ d/+BgYH/j4+P/5SUlP+UlJT/lJSU/5OTk/+SkpL/d3d3/1RUVP9OTk7/Tk5O/z09Pf8SEhL/AgIC/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8KCgr/TExM/62trf/MzMz/zMzM/8zMzP/MzMz/zMzM/6Wlpf9UVFT/EhIS/w8PD/88PDz/X19f/2Zm
+ Zv9/f3//f39//3d3d/9kZGT/TExM/zo6Ov8uLi7/KCgo/ycnJ/8qKir/UVFR/5iYmP/S0tL/fHx8/zc3
+ N/8eHh7/IiIi/zg4OP9YWFj/bGxs/4ODg/RaWlqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAC4uLiX/v7+/Nzc3P+ysrL/bW1t/0FBQf81NTX/QEBA/15eXv+RkZH/09PT/8jI
+ yP+wsLD/m5ub/4GBgf94eHj/cHBw/3p6ev+BgYH/k5OT/5aWlv+Tk5P/lZWV/5OTk/+IiIj/YmJi/zw8
+ PP81NTX/NjY2/y0tLf8ZGRn/FBQU/wkJCf8CAgL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/PT09/6Wlpf/MzMz/zMzM/8zMzP/MzMz/zMzM/5qa
+ mv9WVlb/EhIS/yEhIf9OTk7/ZGRk/3V1df+Pj4//kpKS/4aGhv9ubm7/VFRU/0BAQP8xMTH/Kioq/ycn
+ J/8oKCj/Nzc3/42Njf/g4OD/iYmJ/z09Pf8fHx//Hx8f/zQ0NP9XV1f/bGxs/4WFhfxnZ2eXAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPz8+u/////9fX1/+tra3/ZGRk/zw8
+ PP80NDT/QEBA/2BgYP+Xl5f/29vb/8nJyf+0tLT/oaGh/4aGhv99fX3/cnJy/319ff+CgoL/jIyM/5OT
+ k/+UlJT/k5OT/5CQkP95eXn/SkpK/yIiIv8aGhr/LCws/zQ0NP83Nzf/NTU1/ykpKf8VFRX/BgYG/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/QkJC/6Ki
+ ov/Ly8v/zMzM/8zMzP/MzMz/y8vL/4mJif9UVFT/FRUV/zMzM/9dXV3/Z2dn/4eHh/+bm5v/o6Oj/5OT
+ k/95eXn/XV1d/0ZGRv81NTX/LCws/ygoKP8oKCj/LS0t/3t7e//s7Oz/kpKS/0FBQf8gICD/Hh4e/zEx
+ Mf9VVVX/a2tr/4WFhf93d3euAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD9/f3L/////9TU1P+oqKj/XV1d/zk5Of8zMzP/QUFB/2JiYv+enp7/4eHh/8TExP+1tbX/qamp/46O
+ jv+Hh4f/fHx8/4CAgP+FhYX/jIyM/5GRkf+VlZX/k5OT/3t7e/9hYWH/IiIi/w4ODv8NDQ3/NDQ0/0xM
+ TP9VVVX/VlZW/0xMTP8+Pj7/Jycn/xISEv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8CAgL/VFRU/6SkpP/MzMz/zMzM/8zMzP/MzMz/w8PD/3t7e/9PT0//EBAQ/z09
+ Pf9lZWX/cXFx/5mZmf+qqqr/r6+v/52dnf+CgoL/ZmZm/0xMTP85OTn/Li4u/ygoKP8nJyf/LCws/2ho
+ aP/19fX/mpqa/0VFRf8hISH/HBwc/y8vL/9VVVX/a2tr/4ODg/+Ojo7LAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7k/////9LS0v+mpqb/WVlZ/zc3N/8zMzP/QEBA/2Fh
+ Yf+hoaH/6enp/8DAwP+0tLT/qqqq/5eXl/+RkZH/iIiI/4SEhP+Li4v/jo6O/5OTk/+Wlpb/kpKS/1xc
+ XP9CQkL/BgYG/yAgIP81NTX/UlJS/3Fxcf92dnb/cnJy/2lpaf9mZmb/V1dX/0NDQ/8iIiL/CwsL/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8ODg7/YGBg/6Ojo//MzMz/zMzM/8zM
+ zP/MzMz/ysrK/4CAgP9GRkb/AgIC/z4+Pv9nZ2f/g4OD/6urq/+7u7v/ubm5/6Wlpf+Li4v/bW1t/1NT
+ U/89PT3/MDAw/ykpKf8nJyf/Kysr/09PT//7+/v/np6e/0hISP8iIiL/HBwc/y4uLv9VVVX/bGxs/4SE
+ hP+amprkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9/f30/////9HR
+ 0f+lpaX/V1dX/zc3N/8zMzP/Pz8//15eXv+jo6P/8PDw/76+vv+0tLT/qamp/6CgoP+bm5v/k5OT/4+P
+ j/+NjY3/kZGR/5SUlP+ampr/lpaW/1BQUP8mJib/AwMD/zY2Nv9oaGj/gYGB/46Ojv+Wlpb/lZWV/4+P
+ j/+Dg4P/eXl5/2NjY/9MTEz/JCQk/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8ODg7/RERE/6+vr//MzMz/zMzM/8zMzP/MzMz/vr6+/46Ojv8+Pj7/DAwM/zg4OP9ra2v/lJSU/729
+ vf/Gxsb/vb29/6urq/+SkpL/dHR0/1hYWP9BQUH/MzMz/yoqKv8nJyf/Kioq/0FBQf/+/v7/oqKi/0xM
+ TP8jIyP/HR0d/y0tLf9WVlb/bm5u/4aGhv+hoaH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAD+/v77/////9DQ0P+kpKT/VlZW/zY2Nv8yMjL/PT09/1tbW/+hoaH/8/Pz/76+
+ vv+0tLT/qamp/6Ojo/+hoaH/n5+f/52dnf+bm5v/nZ2d/6Wlpf+qqqr/oqKi/1hYWP9FRUX/BgYG/01N
+ Tf9mZmb/hYWF/6qqqv+2trb/tra2/7a2tv++vr7/urq6/7CwsP+lpaX/m5ub/3l5ef9AQED/JiYm/wAA
+ AP8NDQ3/AAAA/wAAAP8ICAj/GBgY/yYmJv9OTk7/tra2/8XFxf/MzMz/zMzM/8zMzP/FxcX/pKSk/1JS
+ Uv8mJib/FRUV/19fX/+IiIj/pqam/8bGxv/Jycn/wcHB/7CwsP+Xl5f/enp6/15eXv9FRUX/NTU1/yws
+ LP8nJyf/KSkp/zw8PP//////pKSk/05OTv8lJSX/HR0d/y4uLv9YWFj/cHBw/4mJif+lpaX7AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v75/////9HR0f+lpaX/V1dX/zc3
+ N/8yMjL/PT09/1paWv+enp7/8vLy/76+vv+0tLT/qamp/6Ojo/+hoaH/pKSk/6mpqf+qqqr/q6ur/7Ky
+ sv+5ubn/paWl/2JiYv9ZWVn/JCQk/1tbW/9vb2//nJyc/7u7u//Jycn/zMzM/8zMzP/MzMz/ysrK/8zM
+ zP/Kysr/xcXF/8zMzP/Gxsb/pqam/zIyMv9mZmb/YGBg/01NTf9OTk7/VFRU/21tbf+goKD/ysrK/8zM
+ zP/MzMz/zMzM/8rKyv+xsbH/goKC/yIiIv8KCgr/GBgY/3R0dP+ioqL/tbW1/8rKyv/Jycn/w8PD/7Oz
+ s/+cnJz/f39//2NjY/9ISEj/ODg4/y0tLf8oKCj/KSkp/z09Pf/+/v7/o6Oj/05OTv8lJSX/Hh4e/y8v
+ L/9aWlr/c3Nz/4yMjP+np6f5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD+/v7u/////9HR0f+lpaX/WFhY/zc3N/8zMzP/Pj4+/1lZWf+ZmZn/7e3t/7+/v/+0tLT/qqqq/6Oj
+ o/+hoaH/paWl/6ysrP+0tLT/urq6/8PDw//IyMj/oqKi/2ZmZv9GRkb/LS0t/2RkZP9/f3//tra2/8vL
+ y//Kysr/zMzM/8jIyP/Hx8f/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/Gxsb/srKy/7Ky
+ sv+jo6P/oaGh/6qqqv/ExMT/zMzM/8zMzP/MzMz/y8vL/7q6uv+VlZX/VFRU/w4ODv8AAAD/ISEh/4GB
+ gf+pqan/u7u7/8rKyv/Jycn/w8PD/7S0tP+enp7/goKC/2ZmZv9LS0v/Ojo6/y4uLv8oKCj/Kioq/0ZG
+ Rv/9/f3/oaGh/0xMTP8lJSX/Hx8f/zExMf9dXV3/dXV1/4+Pj/+mpqbuAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7d/////9LS0v+np6f/W1tb/zg4OP8zMzP/Pz8//1lZ
+ Wf+SkpL/5OTk/8LCwv+1tbX/qqqq/6Ojo/+hoaH/pKSk/6urq/+1tbX/vr6+/8XFxf/IyMj/l5eX/2Zm
+ Zv8wMDD/Li4u/2ZmZv+VlZX/ysrK/8fHx/+6urr/srKy/7W1tf+zs7P/tLS0/7e3t//AwMD/zMzM/8zM
+ zP/MzMz/zMzM/8zMzP/MzMz/zMzM/8vLy//Gxsb/x8fH/8zMzP/MzMz/zMzM/8zMzP/Jycn/v7+//5eX
+ l/9qamr/Ly8v/wUFBf8CAgL/MDAw/4SEhP+hoaH/q6ur/7q6uv/FxcX/wcHB/7W1tf+fn5//hYWF/2lp
+ af9NTU3/Ozs7/zAwMP8oKCj/Kioq/1dXV//5+fn/nZ2d/0pKSv8lJSX/ICAg/zQ0NP9fX1//eHh4/5GR
+ kf+goKDdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5eXF/////9XV
+ 1f+qqqr/X19f/zo6Ov8zMzP/Pz8//1dXV/+Kior/29vb/8bGxv+2trb/q6ur/6SkpP+hoaH/o6Oj/6mp
+ qf+zs7P/vLy8/8PDw//BwcH/kZGR/2VlZf8hISH/MjIy/2ZmZv+rq6v/zMzM/7Ozs/+mpqb/lpaW/46O
+ jv+JiYn/gYGB/4aGhv+NjY3/oaGh/66urv+6urr/yMjI/8zMzP/Kysr/zMzM/8zMzP/MzMz/wMDA/8DA
+ wP/FxcX/xsbG/7i4uP+mpqb/jo6O/2xsbP9AQED/Ghoa/wICAv8MDAz/Ojo6/35+fv+Xl5f/m5ub/6qq
+ qv+2trb/t7e3/7CwsP+fn5//hYWF/2tra/9PT0//PT09/zExMf8pKSn/Kysr/2lpaf/y8vL/mJiY/0dH
+ R/8kJCT/IiIi/zc3N/9iYmL/e3t7/5WVlf+RkZHFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADPz8+u/v7+/dnZ2f+urq7/ZmZm/z4+Pv80NDT/Pj4+/1VVVf+CgoL/0NDQ/8nJ
+ yf+3t7f/rKys/6SkpP+hoaH/oqKi/6enp/+wsLD/ubm5/8HBwf+9vb3/kJCQ/2BgYP8ZGRn/PT09/2Zm
+ Zv+wsLD/ubm5/6Ghof+Pj4//eHh4/2lpaf9mZmb/W1tb/0xMTP9GRkb/QkJC/zk5Of8+Pj7/SkpK/76+
+ vv9mZmb/dHR0/4aGhv+Tk5P/mZmZ/5mZmf+bm5v/lJSU/4mJif99fX3/Xl5e/zw8PP8QEBD/AgIC/wAA
+ AP8WFhb/SkpK/3BwcP+Hh4f/k5OT/5iYmP+np6f/rKys/6Wlpf+bm5v/hYWF/2xsbP9QUFD/Pj4+/zIy
+ Mv8qKir/MTEx/3t7e//p6en/kZGR/0RERP8kJCT/JCQk/zw8PP9mZmb/f39//5iYmP2CgoKuAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4uLiX/v7++d3d3f+zs7P/bm5u/0ND
+ Q/82Njb/Pj4+/1NTU/96enr/wsLC/8bGxv+7u7v/rq6u/6Wlpf+hoaH/oaGh/6Wlpf+tra3/tra2/76+
+ vv+8vLz/k5OT/1xcXP81NTX/OTk5/2xsbP+ioqL/tLS0/5KSkv94eHj/ZmZm/1VVVf9CQkL/Nzc3/yYm
+ Jv8WFhb/Dg4O/wcHB/8AAAD/AgIC/w4ODv8gICD/LS0t/0JCQv9SUlL/XV1d/2ZmZv9mZmb/YmJi/15e
+ Xv9XV1f/MTEx/wsLC/8AAAD/AAAA/wUFBf8vLy//X19f/2ZmZv91dXX/iIiI/4+Pj/+Xl5f/oKCg/5iY
+ mP+Pj4//gICA/2pqav9RUVH/Pz8//zIyMv8sLCz/QEBA/4mJif/e3t7/h4eH/0BAQP8lJSX/KCgo/0JC
+ Qv9qamr/g4OD/5ycnPlzc3OXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAChoaGA/v7+7uHh4f+5ubn/eHh4/0tLS/85OTn/PT09/1BQUP9xcXH/srKy/8HBwf/AwMD/sLCw/6en
+ p/+hoaH/oKCg/6Ojo/+qqqr/s7Oz/7u7u/+7u7v/lpaW/11dXf86Ojr/NjY2/2lpaf+YmJj/s7Oz/42N
+ jf9qamr/VlZW/z4+Pv8pKSn/ERER/wQEBP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wsL
+ C/8bGxv/Kioq/zIyMv8zMzP/Ozs7/1tbW/82Njb/GRkZ/wICAv8AAAD/AAAA/xISEv82Njb/TExM/2Nj
+ Y/9nZ2f/eXl5/4WFhf+IiIj/kJCQ/46Ojv+CgoL/d3d3/2ZmZv9OTk7/Pz8//zMzM/8sLCz/U1NT/5OT
+ k//Pz8//fX19/zs7O/8mJib/Li4u/0lJSf9wcHD/iIiI/5ycnO5kZGSAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKiopp/v7+3eXl5f/BwcH/g4OD/1RUVP89PT3/PT09/01N
+ Tf9nZ2f/oqKi/7i4uP/AwMD/tLS0/6mpqf+ioqL/oKCg/6Ghof+np6f/r6+v/7i4uP+4uLj/l5eX/2ho
+ aP86Ojr/NDQ0/19fX/+Tk5P/sbGx/4qKiv9mZmb/R0dH/zAwMP8UFBT/BwcH/wEBAf8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBP8XFxf/Tk5O/0dHR/82Njb/ICAg/w4O
+ Dv8EBAT/AQEB/w8PD/80NDT/Pj4+/1JSUv9lZWX/aGho/3Z2dv9+fn7/gICA/4KCgv93d3f/a2tr/19f
+ X/9LS0v/PT09/zQ0NP84ODj/Y2Nj/5ubm/+/v7//cXFx/zg4OP8oKCj/NTU1/1JSUv93d3f/jY2N/5qa
+ mt1VVVVpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwcHBQ5eXlxefn
+ 5/rJycn/j4+P/19fX/9DQ0P/Pj4+/0pKSv9cXFz/kZGR/62trf+7u7v/urq6/6ysrP+kpKT/oKCg/6Cg
+ oP+lpaX/rKys/7S0tP+3t7f/m5ub/3BwcP88PDz/OTk5/1lZWf+IiIj/p6en/46Ojv9mZmb/RERE/yEh
+ If8NDQ3/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yIi
+ Iv9kZGT/ZmZm/1paWv9GRkb/MTEx/yYmJv8NDQ3/Dw8P/w4ODv8iIiL/PDw8/0NDQ/9WVlb/Y2Nj/2Zm
+ Zv90dHT/dXV1/3Nzc/9wcHD/YmJi/1hYWP9HR0f/OTk5/zIyMv9ISEj/b29v/6CgoP+srKz/ZWVl/zQ0
+ NP8sLCz/PT09/1paWv9+fn7/kZGR+o6OjsVDQ0NQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABYWFg3z8/Pru3t7fDS0tL/np6e/21tbf9MTEz/QUFB/0hISP9UVFT/f39//6Gh
+ of+zs7P/urq6/7CwsP+mpqb/oaGh/6CgoP+ioqL/qKio/7CwsP+3t7f/oqKi/3d3d/9NTU3/PT09/1NT
+ U/9+fn7/oqKi/5KSkv9tbW3/RkZG/yAgIP8DAwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wcHB/8WFhb/XFxc/4SEhP+Ojo7/enp6/2ZmZv9TU1P/RkZG/y8vL/8nJyf/EhIS/xUV
+ Ff8cHBz/Kysr/0FBQf9FRUX/Wlpa/19fX/9jY2P/bGxs/2dnZ/9kZGT/Xl5e/1BQUP9BQUH/Nzc3/zg4
+ OP9TU1P/cXFx/6Ojo/+YmJj/WFhY/zIyMv8xMTH/RkZG/2VlZf+FhYX/lZWV8H9/f64zMzM3AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCQkIfuLi4l/Dw8N7a2tr/rq6u/3x8
+ fP9WVlb/RUVF/0VFRf9MTEz/bW1t/5eXl/+qqqr/tLS0/7e3t/+qqqr/o6Oj/6CgoP+hoaH/paWl/6ys
+ rP+0tLT/pqam/4CAgP9WVlb/QkJC/0lJSf9zc3P/l5eX/6Ghof93d3f/UVFR/ykpKf8EBAT/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv8LCwv/Hh4e/z4+Pv94eHj/mpqa/7Ozs/+bm5v/hoaG/29v
+ b/9lZWX/TExM/0RERP8xMTH/JCQk/xkZGf8cHBz/Jycn/zMzM/9CQkL/SUlJ/1hYWP9aWlr/Xl5e/2Bg
+ YP9ZWVn/VFRU/0tLS/88PDz/NTU1/0RERP9ZWVn/dnZ2/6Ojo/+Dg4P/Tk5O/zIyMv85OTn/UVFR/3Bw
+ cP+MjIz/lZWV3nFxcZchISEfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAZGRkKoaGhgN7e3sfh4eH4vb29/4yMjP9jY2P/S0tL/0NDQ/9FRUX/XV1d/42Njf+goKD/q6ur/7S0
+ tP+wsLD/pqam/6Ghof+goKD/o6Oj/6ioqP+wsLD/qKio/4uLi/9gYGD/RkZG/0JCQv9mZmb/j4+P/6Sk
+ pP+IiIj/XFxc/zk5Of8TExP/AAAA/wAAAP8AAAD/AAAA/wAAAP8NDQ3/BAQE/xYWFv8yMjL/Wlpa/4iI
+ iP+np6f/wMDA/729vf+mpqb/kpKS/35+fv9kZGT/X19f/0xMTP8+Pj7/MzMz/yUlJf8jIyP/KSkp/zMz
+ M/81NTX/Q0ND/0pKSv9UVFT/U1NT/1VVVf9UVFT/SkpK/0RERP84ODj/PDw8/0tLS/9aWlr/eXl5/6Cg
+ oP9ubm7/RUVF/zY2Nv9DQ0P/XV1d/3x8fP+SkpL4iYmJx2RkZIAAAAAKAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAioqKacvLy6/p6enmzMzM/5+fn/9ycnL/U1NT/0ND
+ Q/9BQUH/UlJS/39/f/+Wlpb/oaGh/66urv+0tLT/q6ur/6Ojo/+hoaH/oaGh/6Wlpf+srKz/rKys/5OT
+ k/9sbGz/T09P/0JCQv9XV1f/fX19/6ioqP+ysrL/iYmJ/0dHR/8lJSX/DAwM/w0NDf8DAwP/Dg4O/yIi
+ Iv87Ozv/R0dH/0JCQv95eXn/np6e/7a2tv/Gxsb/y8vL/8LCwv+2trb/m5ub/4GBgf9ra2v/UFBQ/1RU
+ VP9KSkr/PT09/zQ0NP8pKSn/Li4u/zExMf82Njb/Ojo6/0JCQv9HR0f/T09P/0pKSv9LS0v/RUVF/z09
+ Pf84ODj/QkJC/01NTf9dXV3/enp6/46Ojv9dXV3/Pz8//zw8PP9OTk7/a2tr/4iIiP+UlJTmfX19r1dX
+ V2kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBwULe3
+ t5jZ2dnP19fX+LCwsP+Dg4P/X19f/0lJSf9AQED/SEhI/2tra/+Kior/mJiY/6Wlpf+urq7/sbGx/6en
+ p/+ioqL/oaGh/6Ojo/+oqKj/ra2t/5+fn/97e3v/V1dX/0hISP9JSUn/aGho/5CQkP+4uLj/wMDA/5mZ
+ mf9xcXH/PT09/x8fH/8tLS3/Q0ND/1dXV/9kZGT/ZmZm/2xsbP+UlJT/vr6+/8vLy//MzMz/zMzM/8jI
+ yP+xsbH/np6e/3Z2dv9OTk7/TExM/05OTv9MTEz/SkpK/zs7O/80NDT/MjIy/zY2Nv87Ozv/ODg4/z09
+ Pf9AQED/Q0ND/0dHR/9BQUH/Pj4+/zk5Of89PT3/RkZG/0tLS/9iYmL/f39//3p6ev9QUFD/Pj4+/0VF
+ Rf9bW1v/eXl5/5GRkfiKiorPcHBwmEZGRlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAWFhYN6CgoIHFxcW34uLi5cDAwP+VlZX/bm5u/1JSUv9ERET/QEBA/1VV
+ Vf9+fn7/jo6O/52dnf+mpqb/rq6u/66urv+kpKT/oaGh/6Kiov+mpqb/qqqq/6SkpP+Li4v/aWlp/0lJ
+ Sf9ISEj/UVFR/3x8fP+goKD/v7+//8nJyf+5ubn/l5eX/3t7e/9oaGj/ZmZm/2hoaP9ycnL/hYWF/5qa
+ mv+vr6//xcXF/8rKyv/Gxsb/xsbG/76+vv+mpqb/dnZ2/2VlZf9OTk7/TExM/0VFRf9MTEz/Q0ND/0hI
+ SP87Ozv/NTU1/zo6Ov85OTn/Pz8//zk5Of9AQED/Pj4+/z09Pf89PT3/Nzc3/zs7O/8+Pj7/RkZG/0xM
+ TP9oaGj/g4OD/2RkZP9HR0f/QEBA/09PT/9paWn/hoaG/5WVleWAgIC3Y2NjgTMzMzcAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQkJCH4mJiWq0tLSg0tLSzc/P
+ z/Cnp6f/fn5+/15eXv9JSUn/Pz8//0pKSv9wcHD/g4OD/5OTk/+cnJz/p6en/6ysrP+qqqr/o6Oj/6Ki
+ ov+kpKT/p6en/6urq/+Wlpb/eHh4/1dXV/9JSUn/TU1N/2JiYv+Hh4f/p6en/8LCwv/IyMj/ycnJ/8DA
+ wP+srKz/o6Oj/6Wlpf+ysrL/xMTE/8nJyf/Hx8f/wcHB/7i4uP+wsLD/paWl/5aWlv+Ojo7/ZmZm/1JS
+ Uv9MTEz/RUVF/0lJSf88PDz/RkZG/z8/P/9AQED/Ojo6/zc3N/8+Pj7/Ozs7/0JCQv88PDz/Pj4+/zg4
+ OP83Nzf/OTk5/zs7O/8+Pj7/QkJC/1JSUv9ra2v/d3d3/1RUVP9DQ0P/R0dH/1xcXP94eHj/j4+P8IuL
+ i810dHSgVFRUaiEhIR8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAGRkZCnJyclOgoKCJwcHBtsPDw9m4uLj4kZGR/21tbf9TU1P/RERE/0JCQv9ZWVn/dnZ2/4iI
+ iP+Tk5P/np6e/6Wlpf+oqKj/qKio/6SkpP+kpKT/pqam/6qqqv+lpaX/hYWF/2lpaf9MTEz/S0tL/1BQ
+ UP9sbGz/iIiI/6+vr//Dw8P/x8fH/8jIyP/Jycn/ycnJ/8jIyP/Hx8f/ysrK/8TExP+wsLD/nZ2d/5KS
+ kv+QkJD/gYGB/319ff9ycnL/Wlpa/0VFRf9JSUn/S0tL/0ZGRv9DQ0P/Ozs7/z8/P/88PDz/PDw8/0FB
+ Qf89PT3/RERE/z09Pf9BQUH/OTk5/zo6Ov85OTn/Ojo6/zo6Ov86Ojr/Q0ND/1paWv92dnb/ZGRk/0tL
+ S/9FRUX/UlJS/2pqav+FhYX4iIiI2YGBgbZoaGiJR0dHUwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhYWDeIiIhyr6+vn7a2tsLHx8flpKSk/39/
+ f/9hYWH/TU1N/0FBQf9KSkr/aWlp/3t7e/+JiYn/lZWV/5ycnP+hoaH/pqam/6mpqf+mpqb/pqam/6io
+ qP+qqqr/m5ub/3p6ev9cXFz/R0dH/0dHR/9SUlL/b29v/5GRkf+tra3/wsLC/8XFxf/Gxsb/x8fH/8jI
+ yP/Jycn/v7+//62trf+cnJz/iIiI/3l5ef9qamr/a2tr/2ZmZv9UVFT/T09P/05OTv9ISEj/V1dX/1hY
+ WP9JSUn/Pz8//zo6Ov84ODj/Ozs7/zg4OP9BQUH/QEBA/0VFRf87Ozv/Pz8//zo6Ov89PT3/Ozs7/zo6
+ Ov82Njb/SEhI/19fX/9ycnL/VFRU/0hISP9LS0v/X19f/3l5ef+MjIzlgYGBwnV1dZ9ZWVlyODg4NwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJC
+ Qh9wcHBbnZ2diKioqKq/v7/Ntra28JOTk/9xcXH/Wlpa/0lJSf9GRkb/U1NT/29vb/98fHz/i4uL/5SU
+ lP+Xl5f/np6e/6SkpP+srKz/qKio/6ioqP+qqqr/pqam/5CQkP9ubm7/UVFR/z4+Pv9AQED/VlZW/3Fx
+ cf+Ojo7/rKys/7y8vP/Dw8P/w8PD/7a2tv+5ubn/q6ur/5qamv+JiYn/dnZ2/1lZWf9QUFD/U1NT/1FR
+ Uf9FRUX/S0tL/1paWv9hYWH/ZGRk/1xcXP9PT0//RERE/zk5Of85OTn/Nzc3/zg4OP83Nzf/RUVF/0BA
+ QP9CQkL/Pj4+/0JCQv89PT3/Ojo6/zMzM/86Ojr/VFRU/25ubv9hYWH/TExM/0pKSv9WVlb/bm5u/4WF
+ hfCGhobNdnZ2qmlpaYhJSUlbISEhHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZGQpbW1tDiYmJcZeXl5O0tLS2sLCw2aSkpPiEhIT/aWlp/1dX
+ V/9KSkr/RkZG/2NjY/9wcHD/f39//4qKiv+Pj4//lZWV/5ubm/+kpKT/q6ur/6urq/+pqan/qqqq/6Oj
+ o/+Hh4f/aGho/0tLS/80NDT/Pj4+/0hISP9nZ2f/fX19/6Kiov+ysrL/rKys/6Ghof+UlJT/kZGR/4OD
+ g/9zc3P/XFxc/05OTv9ERET/RERE/0hISP9JSUn/YGBg/2lpaf9ubm7/b29v/2FhYf9ZWVn/SEhI/0ND
+ Q/83Nzf/NjY2/zQ0NP85OTn/OTk5/0NDQ/9ERET/RERE/0BAQP89PT3/Ly8v/zIyMv9HR0f/Wlpa/21t
+ bf9VVVX/TExM/1JSUv9kZGT/fHx8+IGBgdl/f3+2bGxsk1xcXHE5OTlDAAAACgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Pj4lcXFxWoaG
+ hnynp6efqKiowrm5ueWYmJj/e3t7/2VlZf9VVVX/SUlJ/0xMTP9mZmb/c3Nz/39/f/+Ghob/jY2N/5SU
+ lP+cnJz/o6Oj/6ioqP+tra3/q6ur/6qqqv+hoaH/hYWF/2dnZ/9MTEz/Ly8v/xgYGP8ZGRn/QUFB/15e
+ Xv9tbW3/dXV1/3h4eP9vb2//ampq/3t7e/9fX1//Tk5O/0JCQv84ODj/Pz8//0pKSv9UVFT/a2tr/3t7
+ e/97e3v/eXl5/2RkZP9cXFz/VFRU/0hISP9AQED/NTU1/zk5Of80NDT/Ojo6/z09Pf9ERET/QUFB/0FB
+ Qf8uLi7/KSkp/zs7O/9OTk7/cXFx/19fX/9RUVH/UFBQ/15eXv90dHT/hoaG5Xt7e8J1dXWfX19ffExM
+ TFopKSklAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAZGRkKWVlZQnJycmWYmJiIn5+fqrOzs82rq6vwjY2N/3R0dP9iYmL/U1NT/01N
+ Tf9ZWVn/ampq/3Jycv97e3v/hYWF/42Njf+Wlpb/mpqa/6CgoP+np6f/rKys/6ysrP+qqqr/o6Oj/4uL
+ i/9sbGz/UFBQ/zc3N/8dHR3/CwsL/wUFBf8LCwv/HBwc/y4uLv9BQUH/V1dX/2BgYP9jY2P/UlJS/zg4
+ OP8zMzP/RkZG/1JSUv9dXV3/f39//4+Pj/+Dg4P/enp6/3Jycv9fX1//XFxc/1BQUP9JSUn/Pz8//zg4
+ OP83Nzf/MzMz/zk5Of87Ozv/Ojo6/ysrK/8gICD/MDAw/0dHR/9eXl7/a2tr/1dXV/9TU1P/W1tb/21t
+ bf9/f3/wgYGBzXNzc6pra2uIUVFRZTo6OkIAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAJFtbW06FhYVxkJCQk6ys
+ rLampqbZn5+f8IWFhf9ycnL/Y2Nj/1RUVP9MTEz/YmJi/2lpaf9vb2//eXl5/4SEhP+Pj4//k5OT/5eX
+ l/+enp7/paWl/6enp/+srKz/ra2t/6qqqv+cnJz/fHx8/1xcXP9AQED/KSkp/xQUFP8ICAj/DQ0N/xER
+ Ef8TExP/Hh4e/y0tLf86Ojr/QEBA/0lJSf9RUVH/Wlpa/2dnZ/9wcHD/jIyM/46Ojv+Li4v/fHx8/3R0
+ dP9paWn/W1tb/1xcXP9PT0//S0tL/0BAQP84ODj/NTU1/zAwMP8xMTH/JSUl/xoaGv8oKCj/Pj4+/1VV
+ Vf9wcHD/YGBg/1hYWP9cXFz/aWlp/3p6evB9fX3ZfHx8tmxsbJNcXFxxQUFBTioqKiQAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAICAgCEJCQjZxcXFaf39/fKKiop+hoaHCnZ2d2ZiYmPCDg4P/c3Nz/2FhYf9SUlL/UVFR/2Rk
+ ZP9nZ2f/b29v/3l5ef+FhYX/ioqK/4+Pj/+Wlpb/nJyc/56env+lpaX/p6en/66urv+vr6//rq6u/6am
+ pv+Pj4//W1tb/05OTv9DQ0P/Ojo6/zw8PP9AQED/Pz8//0BAQP9ZWVn/bm5u/3Fxcf9ubm7/cHBw/319
+ ff+JiYn/kJCQ/42Njf+Ojo7/hISE/3p6ev92dnb/Z2dn/1tbW/9YWFj/TU1N/0hISP8/Pz//Nzc3/y8v
+ L/8eHh7/FRUV/yMjI/84ODj/T09P/3Jycv9nZ2f/X19f/2BgYP9paWn/dnZ28Hh4eNl6enrCdXV1n19f
+ X3xPT09aLy8vNgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLRFZWVlCb29vZZSUlIiZmZmqmpqawpWV
+ ldmUlJTwgoKC/3Fxcf9fX1//VVVV/1VVVf9jY2P/aGho/3BwcP97e3v/gICA/4aGhv+Ojo7/lZWV/5eX
+ l/+cnJz/n5+f/6enp/+qqqr/q6ur/6+vr/+xsbH/sLCw/6ysrP+mpqb/nJyc/42Njf9/f3//dHR0/2tr
+ a/99fX3/jY2N/5qamv+fn5//k5OT/46Ojv+Pj4//jY2N/4+Pj/+Pj4//j4+P/4KCgv95eXn/c3Nz/2Nj
+ Y/9ZWVn/U1NT/0lJSf9DQ0P/MDAw/xwcHP8VFRX/Jycn/zs7O/9RUVH/b29v/2pqav9jY2P/ZGRk/2tr
+ a/91dXXwdHR02XZ2dsJzc3Oqa2triFFRUWU+Pj5CDw8PEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABAQEAkW1tbToWFhXGQkJCTlJSUqpOTk8KQkJDZkpKS8IGBgf9xcXH/YGBg/1ZWVv9WVlb/ZmZm/2pq
+ av9ycnL/d3d3/3x8fP+FhYX/jY2N/4+Pj/+VlZX/l5eX/56env+goKD/o6Oj/6mpqf+srKz/rKys/66u
+ rv+wsLD/tbW1/7e3t/+4uLj/ubm5/7q6uv+6urr/urq6/7Kysv+mpqb/nJyc/5OTk/+Ojo7/kpKS/5GR
+ kf+Ojo7/ioqK/4iIiP97e3v/cXFx/2lpaf9cXFz/VVVV/0lJSf82Njb/ISEh/xkZGf8sLCz/QkJC/1ZW
+ Vv9vb2//bGxs/2VlZf9nZ2f/bm5u/3h4ePB0dHTZcnJywnJycqpsbGyTX19fcUFBQU4qKiokAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAIQkJCNnFxcVp/f398i4uLk42NjaqPj4/Cj4+P2ZCQ
+ kOyAgID4cnJy/2JiYv9YWFj/W1tb/2pqav9vb2//cHBw/3Nzc/97e3v/g4OD/4aGhv+NjY3/j4+P/5aW
+ lv+YmJj/mpqa/5+fn/+jo6P/o6Oj/6ampv+pqan/rq6u/7Kysv+0tLT/tbW1/7a2tv+2trb/tra2/7S0
+ tP+qqqr/n5+f/5OTk/+NjY3/i4uL/46Ojv+Pj4//iIiI/4CAgP98fHz/dHR0/2lpaf9fX1//UFBQ/zk5
+ Of8nJyf/ISEh/zY2Nv9HR0f/XV1d/3Jycv9ubm7/Z2dn/2lpaf9vb2/4eHh47HV1ddlycnLCb29vqmpq
+ apNhYWF8T09PWi8vLzYAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tEVlZ
+ WUJvb29lfX19fIeHh5OLi4uqjIyMwo6OjtR6enrggoKC8HV1df9nZ2f/Xl5e/1xcXP9vb2//bm5u/25u
+ bv90dHT/e3t7/35+fv+EhIT/hoaG/42Njf+Pj4//kpKS/5eXl/+ampr/m5ub/56env+hoaH/pKSk/6en
+ p/+qqqr/q6ur/6ysrP+srKz/rKys/6qqqv+jo6P/mpqa/5KSkv+MjIz/iIiI/4iIiP+JiYn/h4eH/39/
+ f/96enr/c3Nz/2VlZf9RUVH/PT09/ywsLP8vLy//QEBA/1JSUv9oaGj/eXl5/3Jycv9sbGz/bGxs/3Bw
+ cPBpaWngdHR01HNzc8Jvb2+qampqk2FhYXxTU1NlPj4+Qg8PDxEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQCRbW1tObW1tZXt7e3yGhoaTioqKqoyMjL13d3fJe3t72YWF
+ hfB6enr/bW1t/2RkZP9gYGD/bW1t/29vb/9ycnL/dnZ2/3h4eP99fX3/fn5+/4WFhf+Ghob/iYmJ/42N
+ jf+RkZH/kpKS/5WVlf+YmJj/mpqa/5ycnP+enp7/n5+f/6CgoP+goKD/oKCg/6Ghof+bm5v/kpKS/4mJ
+ if+IiIj/hoaG/4ODg/+CgoL/gICA/3t7e/9ycnL/YGBg/0tLS/89PT3/NTU1/z09Pf9NTU3/YGBg/3Bw
+ cP99fX3/dnZ2/3Fxcf9ycnL/dHR08GhoaNllZWXJdXV1vXJycqpsbGyTYWFhfFNTU2VFRUVOKioqJAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAhCQkI2W1tbTm1t
+ bWV7e3t8hoaGk4qKiqZ1dXWyd3d3wn19fdmKiorsf39/+Hd3d/9vb2//ZWVl/2lpaf92dnb/eHh4/3d3
+ d/97e3v/enp6/39/f/9/f3//gYGB/4WFhf+IiIj/iYmJ/4yMjP+Ojo7/kJCQ/5GRkf+Tk5P/lJSU/5WV
+ lf+VlZX/lZWV/5WVlf+VlZX/jo6O/4WFhf+BgYH/f39//319ff94eHj/cHBw/2RkZP9YWFj/TExM/0RE
+ RP9ERET/TExM/1tbW/9ycnL/enp6/4CAgP98fHz/d3d3/3d3d/h4eHjsbW1t2WZmZsJkZGSyc3Nzpm1t
+ bZNjY2N8U1NTZUVFRU4vLy82AAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAtLS0RQkJCNltbW05tbW1le3t7fIaGho9zc3ObdnZ2qnp6esKDg4PUeHh44IeH
+ h+1/f3/4c3Nz/2xsbP9tbW3/eXl5/3x8fP9+fn7/e3t7/39/f/9+fn7/fX19/4CAgP+BgYH/gYGB/4SE
+ hP+FhYX/hoaG/4eHh/+JiYn/ioqK/4uLi/+Li4v/i4uL/4uLi/+MjIz/ioqK/4ODg/96enr/dHR0/29v
+ b/9qamr/YGBg/1hYWP9VVVX/UlJS/1RUVP9dXV3/cnJy/3x8fP+EhIT/gICA/319ff99fX34fHx87W1t
+ beBycnLUampqwmRkZKpkZGSbbm5uj2dnZ3xYWFhlRUVFTjQ0NDYeHh4RAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tEUJCQjZbW1tObW1tZXt7
+ e3hubm6EdHR0k3l5eaqAgIC9cnJyyX5+ftV3d3fghISE7Xl5efh1dXX/dHR0/3V1df+CgoL/gYGB/4OD
+ g/+AgID/f39//4CAgP+AgID/fn5+/39/f/9/f3//gICA/4GBgf+Dg4P/g4OD/4SEhP+EhIT/hISE/4WF
+ hf+FhYX/hoaG/4ODg/97e3v/c3Nz/2xsbP9nZ2f/ZGRk/2JiYv9iYmL/ZmZm/3t7e/+FhYX/h4eH/4eH
+ h/+Dg4P/f39/+ICAgO1vb2/gcnJy1WdnZ8lvb2+9aWlpqmNjY5NgYGCEZmZmeFtbW2VISEhONDQ0Nh4e
+ HhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAC0tLRFCQkI2W1tbTm1tbWBkZGRtb29vfHh4eJN/f3+mcHBwsnd3d75ubm7JfHx81XR0
+ dOCFhYXtf39/+H19ff99fX3/e3t7/4mJif+JiYn/hYWF/4SEhP+Dg4P/f39//4CAgP+AgID/gYGB/4KC
+ gv+Dg4P/hISE/4WFhf+FhYX/hYWF/4WFhf+Ghob/hoaG/4SEhP+AgID/e3t7/3d3d/93d3f/dXV1/3p6
+ ev+Ghob/jo6O/42Njf+Ojo7/ioqK/4WFhfiFhYXtcXFx4HR0dNVlZWXJbW1tvmRkZLJtbW2maGhok19f
+ X3xWVlZtWlpaYEtLS040NDQ2Hh4eEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0RQkJCNltbW0lUVFRVZWVlZXFx
+ cXx9fX2Pbm5um3V1dadoaGiydXV1vm1tbcl/f3/VeHh44IyMjO2Hh4f0gYGB+oKCgv+BgYH/g4OD/4uL
+ i/+Li4v/hoaG/4WFhf+EhIT/hISE/4WFhf+Hh4f/h4eH/4iIiP+IiIj/iIiI/4mJif+JiYn/ioqK/4qK
+ iv+IiIj/iIiI/4iIiP+Ojo7/kJCQ/4yMjP+RkZH/kpKS/46OjvqNjY30jY2N7Xd3d+B5eXnVZ2dnyW1t
+ bb5hYWGya2trp2RkZJtra2uPY2NjfFZWVmVISEhVSUlJSTk5OTYeHh4RAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAALS0tEUJCQjJCQkI+VVVVTmdnZ2V3d3d4bGxshHV1dZBoaGibcnJyp2dnZ7J3d3e+cXFxyYWF
+ hdWAgIDdenp644uLi+2FhYX0hISE+oSEhP2EhIT/g4OD/4iIiP+Kior/jo6O/5CQkP+SkpL/kpKS/5OT
+ k/+Tk5P/k5OT/5SUlP+UlJT/lZWV/5SUlP+RkZH/j4+P/4yMjP+Ojo7/j4+P/Y+Pj/qRkZH0k5OT7Xx8
+ fON/f3/dgICA1WxsbMlvb2++YWFhsmtra6dhYWGbampqkGBgYIRmZmZ4WFhYZUhISE46Ojo+ODg4Mh4e
+ HhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAgoKCggQkJCNlhYWE5qampgZGRkbXBw
+ cHlmZmaEcXFxkGRkZJtycnKna2trsnt7e754eHjGcnJyzIWFhdV/f3/denp643V1deZwcHDnhYWF7YWF
+ hfSGhob6hYWF/YiIiP+Kior/i4uL/4yMjP+NjY3/jY2N/42Njf+Pj4//j4+P/42Njf2Pj4/6jo6O9I6O
+ ju13d3fne3t75n9/f+OCgoLdhYWF1XBwcMx0dHTGd3d3vmZmZrJsbGynX19fm2pqapBfX1+EZ2dneVtb
+ W21dXV1gS0tLTjk5OTYgICAgICAgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAALS0tEUJCQjZbW1tJVFRUVWhoaGJgYGBtbW1teWRkZIRxcXGQaGhom3d3d6dycnKvampqtH5+
+ fr54eHjGc3NzzG5ubs9paWnQfHx81Xt7e916enrjdXV15nNzc+d0dHTndXV153Z2dud2dnbndnZ253Z2
+ dud3d3fnd3d353h4eOZ8fHzjf39/3X9/f9VqamrQb29vz3Nzc8x4eHjGfX19vmlpabRvb2+vdHR0p2Nj
+ Y5tqamqQXV1dhGdnZ3lZWVltXl5eYk5OTlVNTU1JOTk5Nh4eHhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLRFCQkIyQkJCPlZWVkpUVFRVZWVlYl1d
+ XW1tbW15ZmZmhHV1dZBwcHCYZmZmnXh4eKdycnKvampqtGZmZrhgYGC5c3NzvnFxccZvb2/MbGxsz2pq
+ atBqamrQampq0GpqatBqamrQampq0GpqatBqamrQbGxs0GxsbM9vb2/McXFxxnNzc75gYGC5ZmZmuGpq
+ arRycnKvd3d3p2VlZZ1ra2uYcXFxkGJiYoRpaWl5WVlZbV5eXmJOTk5VT09PSj4+Pj44ODgyHh4eEQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAgICAIKCgoIEFBQTNCQkI+VlZWSlRUVFVlZWViYmJibXR0dHlubm6AZWVlhnV1dZBvb2+YZmZmnWJi
+ YqFbW1uibGxsp2lpaa9mZma0ZWVluGRkZLlkZGS5ZGRkuWRkZLlkZGS5ZGRkuWRkZLlkZGS5ZGRkuWVl
+ ZbhmZma0aWlpr2xsbKdbW1uiYmJioWZmZp1vb2+YdXV1kGNjY4ZsbGyAbW1teV1dXW1gYGBiTk5OVU9P
+ T0o+Pj4+PDw8MygoKCAgICAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZGQooKCggQUFBM0JCQj5WVlZKVFRUVWho
+ aGJmZmZpYGBgb3R0dHlubm6AZWVlhl9fX4lYWFiLaGhokGNjY5hhYWGdYWFhoWFhYaJhYWGiYWFhomFh
+ YaJhYWGiYWFhomFhYaJhYWGiYWFhomFhYaFhYWGdY2NjmGhoaJBYWFiLX19fiWVlZYZubm6AcnJyeWBg
+ YG9jY2NpZWVlYlFRUVVTU1NKPj4+Pjw8PDMoKCggGRkZCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAGRkZCigoKCBBQUEzQkJCPlpaWkpXV1dSVFRUWGhoaGJmZmZpYGBgb1xcXHJWVlZzZWVleWRk
+ ZIBfX1+GXV1diV9fX4tfX1+LX19fi19fX4tfX1+LX19fi19fX4tfX1+LX19fi11dXYlfX1+GZGRkgGVl
+ ZXlWVlZzXFxccmBgYG9mZmZpaGhoYlRUVFhUVFRSVlZWSj4+Pj48PDwzKCgoIBkZGQoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGRkKKCgoIEFBQTNBQUE7REREQFpa
+ WkpXV1dSVFRUWFFRUVtOTk5cYGBgYl9fX2leXl5vXl5ecl1dXXNdXV1zXV1dc11dXXNdXV1zXV1dc11d
+ XXNdXV1zXV1dc15eXnJeXl5vX19faWBgYGJOTk5cUVFRW1RUVFhXV1dSWlpaSkREREBBQUE7QUFBMygo
+ KCAZGRkKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAABkZGQopKSkZKSkpJUFBQTNBQUE7REREQENDQ0Q/Pz9FU1NTSlRUVFJRUVFYUVFRW1NT
+ U1xTU1NcU1NTXFNTU1xTU1NcU1NTXFNTU1xTU1NcU1NTXFFRUVtRUVFYVFRUUlNTU0o/Pz9FQ0NDRERE
+ REBBQUE7QUFBMykpKSUpKSkZGRkZCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZGQopKSkZKSkpJSkp
+ KSwsLCwuQUFBM0FBQTtERERAQ0NDRENDQ0VDQ0NFQ0NDRUNDQ0VDQ0NFQ0NDRUNDQ0VDQ0NFQ0NDRUND
+ Q0RERERAQUFBO0FBQTMsLCwuKSkpLCkpKSUpKSkZGRkZCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRkZCikpKRkpKSklKSkpLCwsLC4sLCwuLCwsLiws
+ LC4sLCwuLCwsLiwsLC4sLCwuLCwsLikpKSwpKSklKSkpGRkZGQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////4AA////
+ ////////8AAAB///////////gAAAAP/////////+AAAAAD/////////4AAAAAA/////////gAAAAAAP/
+ //////+AAAAAAAD///////8AAAAAAAB///////4AAAAAAAA///////gAAAAAAAAP//////AAAAAAAAAH
+ /////+AAAAAAAAAD/////8AAAAAAAAAB/////4AAAAAAAAAA/////wAAAAAAAAAAf////gAAAAAAAAAA
+ P////AAAAAAAAAAAH////AAAAAAAAAAAH///+AAAAAAAAAAAD///8AAAAAAAAAAAB///8AAAAAAAAAAA
+ B///4AAAAAAAAAAAA///wAAAAAAAAAAAAf//wAAAAAAAAAAAAf//gAAAAAAAAAAAAP//gAAAAAAAAAAA
+ AP//AAAAAAAAAAAAAH//AAAAAAAAAAAAAH//AAAAAAAAAAAAAH/+AAAAAAAAAAAAAD/+AAAAAAAAAAAA
+ AD/+AAAAAAAAAAAAAD/+AAAAAAAAAAAAAD/+AAAAAAAAAAAAAD/8AAAAAAAAAAAAAB/8AAAAAAAAAAAA
+ AB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAA
+ AB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAA
+ AB/8AAAAAAAAAAAAAB/8AAAAAAAAAAAAAB/+AAAAAAAAAAAAAD/+AAAAAAAAAAAAAD/+AAAAAAAAAAAA
+ AD/+AAAAAAAAAAAAAD/+AAAAAAAAAAAAAD//AAAAAAAAAAAAAH//AAAAAAAAAAAAAH//AAAAAAAAAAAA
+ AH//gAAAAAAAAAAAAP//gAAAAAAAAAAAAP//wAAAAAAAAAAAAf//wAAAAAAAAAAAAf//4AAAAAAAAAAA
+ A///8AAAAAAAAAAAB///8AAAAAAAAAAAB///+AAAAAAAAAAAD////AAAAAAAAAAAH////AAAAAAAAAAA
+ H////gAAAAAAAAAAP////wAAAAAAAAAAf////4AAAAAAAAAA/////8AAAAAAAAAB/////+AAAAAAAAAD
+ //////AAAAAAAAAH//////gAAAAAAAAP//////4AAAAAAAA///////8AAAAAAAB///////+AAAAAAAD/
+ ///////gAAAAAAP////////4AAAAAA/////////+AAAAAD//////////gAAAAP//////////8AAAB///
+ /////////4AA////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////8=
+</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ShiftOS Launcher/ShiftOS Launcher/Main_Launcher.vb b/ShiftOS Launcher/ShiftOS Launcher/Main_Launcher.vb
new file mode 100644
index 0000000..44feaa5
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/Main_Launcher.vb
@@ -0,0 +1,123 @@
+Imports System.IO
+
+
+Public Class Main_Launcher
+
+ Public FirstBoot As Boolean = False
+ Public Stable As Boolean = True
+ Dim loaddata(100) As String
+ Dim lateststable As String
+ Dim latestunstable As String
+ Dim doneversionsetup As Boolean = False
+ Dim currentlydownloading As Boolean = False
+ Dim currentversion As String = "0.0.8 RC2"
+ Dim exepath As String = "C:\ShiftOS\SoftwareData\Launcher\ShiftOSVersion\ShiftOS 0.0.8 RC2"
+
+ Private Sub Main_Launcher_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ If Directory.Exists("C:\ShiftOS\SoftwareData\Launcher") Then Else Directory.CreateDirectory("C:\ShiftOS\SoftwareData\Launcher")
+
+ If File.Exists("C:\ShiftOS\SoftwareData\Launcher\Log.txt") Then File.Delete("C:\ShiftOS\SoftwareData\Launcher\Log.txt")
+ File.Create("C:\ShiftOS\SoftwareData\Launcher\Log.txt")
+
+ If Directory.Exists("C:\ShiftOS\SoftwareData\Launcher\UserPreferences") Then Else FirstBoot = True
+ If FirstBoot = True Then Directory.CreateDirectory("C:\ShiftOS\SoftwareData\Launcher\UserPreferences")
+
+ If FirstBoot = True Then
+ FirstBootSetup.Show()
+ Me.Text = "ShiftOS Launcher [Setting Up]"
+ Else
+ UpdateOptions()
+ End If
+ End Sub
+
+ Public Sub UpdateOptions()
+ If Me.Text = "ShiftOS Launcher [Setting Up]" Then Me.Text = "ShiftOS Launcher [Downloading]"
+
+ Dim fileContents As String
+ fileContents = My.Computer.FileSystem.ReadAllText("C:\ShiftOS\SoftwareData\Launcher\UserPreferences\Nickname.dat")
+
+ Label1.Text = ("Greetings, " + fileContents)
+
+ Dim fileContents1 As String
+ fileContents1 = My.Computer.FileSystem.ReadAllText("C:\ShiftOS\SoftwareData\Launcher\UserPreferences\BuildOption.dat")
+
+ If currentlydownloading = True Then
+ If fileContents1 = "Stable" Then
+ Me.Text = "ShiftOS Launcher [Downloading: Stable]"
+ Label2.Text = "Status: Downloading [Stable]"
+ Stable = True
+ End If
+ If fileContents1 = "Unstable" Then
+ Me.Text = "ShiftOS Launcher [Downloading: Unstable]"
+ Label2.Text = "Status: Downloading [Unstable]"
+ Stable = False
+ End If
+ Else
+ If fileContents1 = "Stable" Then
+ Me.Text = "ShiftOS Launcher"
+ Label2.Text = "Status: Ready to play ShiftOS " & currentversion
+ Stable = True
+ End If
+ If fileContents1 = "Unstable" Then
+ Me.Text = "ShiftOS Launcher"
+ Label2.Text = "Status: Ready to play ShiftOS " & currentversion
+ Stable = False
+ End If
+ End If
+ End Sub
+
+ Private Sub readversiondata()
+ Dim sr As New StreamReader("C:\ShiftOS\SoftwareData\Launcher\ShiftOSVersion\versiondata.dat", True)
+ If File.Exists("C:\ShiftOS\SoftwareData\Launcher\ShiftOSVersion\versiondata.dat") Then
+ For i As Integer = 0 To 4 Step 1
+ loaddata(i) = sr.ReadLine
+ If i = 4 Then
+ sr.Close()
+ Exit For
+ End If
+ Next
+ lateststable = loaddata(3)
+ latestunstable = loaddata(4)
+ doneversionsetup = True
+ DownloadLatestVersion(Stable)
+ Else : MessageBox.Show("Unable to read version data. This error has occured because you are either not connected to a network with internet access or our servers are down. We apologize for any inconvenience.", "Can't read version information")
+ End If
+ End Sub
+
+ Private Sub DownloadLatestVersion(ByVal BuildOption As Boolean)
+ If My.Computer.Network.IsAvailable Then
+ If File.Exists("C:\ShiftOS\SoftwareData\Launcher\ShiftOSVersion\versiondata.dat") Then File.Delete("C:\ShiftOS\SoftwareData\Launcher\ShiftOSVersion\versiondata.dat")
+ My.Computer.Network.DownloadFile("http://shiftos.bitbucket.org/downloads/versiondata.dat", "C:\ShiftOS\SoftwareData\Launcher\ShiftOSVersion\versiondata.dat")
+ readversiondata()
+ If doneversionsetup = True Then
+ If BuildOption = True Then
+ My.Computer.Network.DownloadFile("http://shiftos.bitbucket.org/downloads/ShiftOS" & lateststable & ".exe", "C:\ShiftOS\SoftwareData\Launcher\ShiftOSVersion\ShiftOS" & lateststable & ".exe")
+ exepath = "C:\ShiftOS\SoftwareData\Launcher\ShiftOSVersion\ShiftOS" & lateststable & ".exe"
+ launchshiftos()
+ ' Detect when finished, do fancy progress bar stuff and run
+ Else
+ My.Computer.Network.DownloadFile("http://shiftos.bitbucket.org/downloads/ShiftOS" & latestunstable & ".exe", "C:\ShiftOS\SoftwareData\Launcher\ShiftOSVersion\ShiftOS" & latestunstable & ".exe")
+ End If
+ End If
+ Else 'Offlinemode()
+ End If ' No idea how to do this, we need a dedicated server
+ ' This also needs to check if they have the latest unstable / stable
+ ' But it cant do that here, it has to do it at the end of updateoptions
+ ' Where the little green text is on updateoptions is where it needs
+ ' to check, if you read the code - it should be obvious what does
+ ' what, once this is done, i will add backups to this and an
+ ' offline mode option
+ End Sub
+
+ Private Sub launchshiftos()
+ Process.Start("F:\william\Documents\Visual Studio\ShiftOS 0.0.8 RCs\ShiftOS 0.0.8 RC2.exe") ' For some reason ShiftOS dosen't auto-extract it's dll when started like this, therefore producing an error.
+ End Sub
+
+ Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
+ If Button1.Text = "Play" Then
+ launchshiftos()
+ ElseIf Button1.Text = "Download" Then
+ DownloadLatestVersion(Stable)
+ End If
+ End Sub
+End Class
diff --git a/ShiftOS Launcher/ShiftOS Launcher/My Project/Application.Designer.vb b/ShiftOS Launcher/ShiftOS Launcher/My Project/Application.Designer.vb
new file mode 100644
index 0000000..0c50e20
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/My Project/Application.Designer.vb
@@ -0,0 +1,38 @@
+'------------------------------------------------------------------------------
+' <auto-generated>
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.34209
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+' </auto-generated>
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ 'NOTE: This file is auto-generated; do not modify it directly. To make changes,
+ ' or if you encounter build errors in this file, go to the Project Designer
+ ' (go to Project Properties or double-click the My Project node in
+ ' Solution Explorer), and make changes on the Application tab.
+ '
+ Partial Friend Class MyApplication
+
+ <Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
+ Public Sub New()
+ MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
+ Me.IsSingleInstance = false
+ Me.EnableVisualStyles = true
+ Me.SaveMySettingsOnExit = true
+ Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
+ End Sub
+
+ <Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
+ Protected Overrides Sub OnCreateMainForm()
+ Me.MainForm = Global.ShiftOS_Launcher.Main_Launcher
+ End Sub
+ End Class
+End Namespace
diff --git a/ShiftOS Launcher/ShiftOS Launcher/My Project/Application.myapp b/ShiftOS Launcher/ShiftOS Launcher/My Project/Application.myapp
new file mode 100644
index 0000000..4f0ca28
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/My Project/Application.myapp
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-16"?>
+<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <MySubMain>true</MySubMain>
+ <MainForm>Main_Launcher</MainForm>
+ <SingleInstance>false</SingleInstance>
+ <ShutdownMode>0</ShutdownMode>
+ <EnableVisualStyles>true</EnableVisualStyles>
+ <AuthenticationMode>0</AuthenticationMode>
+ <SaveMySettingsOnExit>true</SaveMySettingsOnExit>
+</MyApplicationData> \ No newline at end of file
diff --git a/ShiftOS Launcher/ShiftOS Launcher/My Project/AssemblyInfo.vb b/ShiftOS Launcher/ShiftOS Launcher/My Project/AssemblyInfo.vb
new file mode 100644
index 0000000..d9411ba
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/My Project/AssemblyInfo.vb
@@ -0,0 +1,35 @@
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' General Information about an assembly is controlled through the following
+' set of attributes. Change these attribute values to modify the information
+' associated with an assembly.
+
+' Review the values of the assembly attributes
+
+<Assembly: AssemblyTitle("ShiftOS Launcher")>
+<Assembly: AssemblyDescription("")>
+<Assembly: AssemblyCompany("")>
+<Assembly: AssemblyProduct("ShiftOS Launcher")>
+<Assembly: AssemblyCopyright("Copyright © 2015")>
+<Assembly: AssemblyTrademark("")>
+
+<Assembly: ComVisible(False)>
+
+'The following GUID is for the ID of the typelib if this project is exposed to COM
+<Assembly: Guid("f9605e2f-85d0-46f6-b316-81a3ec9cbbb0")>
+
+' Version information for an assembly consists of the following four values:
+'
+' Major Version
+' Minor Version
+' Build Number
+' Revision
+'
+' You can specify all the values or you can default the Build and Revision Numbers
+' by using the '*' as shown below:
+' <Assembly: AssemblyVersion("1.0.*")>
+
+<Assembly: AssemblyVersion("1.0.0.0")>
+<Assembly: AssemblyFileVersion("1.0.0.0")>
diff --git a/ShiftOS Launcher/ShiftOS Launcher/My Project/Resources.Designer.vb b/ShiftOS Launcher/ShiftOS Launcher/My Project/Resources.Designer.vb
new file mode 100644
index 0000000..cf4a7d9
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/My Project/Resources.Designer.vb
@@ -0,0 +1,62 @@
+'------------------------------------------------------------------------------
+' <auto-generated>
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.34209
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+' </auto-generated>
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My.Resources
+
+ 'This class was auto-generated by the StronglyTypedResourceBuilder
+ 'class via a tool like ResGen or Visual Studio.
+ 'To add or remove a member, edit your .ResX file then rerun ResGen
+ 'with the /str option, or rebuild your VS project.
+ '''<summary>
+ ''' A strongly-typed resource class, for looking up localized strings, etc.
+ '''</summary>
+ <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
+ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
+ Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
+ Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
+ Friend Module Resources
+
+ Private resourceMan As Global.System.Resources.ResourceManager
+
+ Private resourceCulture As Global.System.Globalization.CultureInfo
+
+ '''<summary>
+ ''' Returns the cached ResourceManager instance used by this class.
+ '''</summary>
+ <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
+ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
+ Get
+ If Object.ReferenceEquals(resourceMan, Nothing) Then
+ Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ShiftOS_Launcher.Resources", GetType(Resources).Assembly)
+ resourceMan = temp
+ End If
+ Return resourceMan
+ End Get
+ End Property
+
+ '''<summary>
+ ''' Overrides the current thread's CurrentUICulture property for all
+ ''' resource lookups using this strongly typed resource class.
+ '''</summary>
+ <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
+ Friend Property Culture() As Global.System.Globalization.CultureInfo
+ Get
+ Return resourceCulture
+ End Get
+ Set(ByVal value As Global.System.Globalization.CultureInfo)
+ resourceCulture = value
+ End Set
+ End Property
+ End Module
+End Namespace
diff --git a/ShiftOS Launcher/ShiftOS Launcher/My Project/Resources.resx b/ShiftOS Launcher/ShiftOS Launcher/My Project/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/My Project/Resources.resx
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root> \ No newline at end of file
diff --git a/ShiftOS Launcher/ShiftOS Launcher/My Project/Settings.Designer.vb b/ShiftOS Launcher/ShiftOS Launcher/My Project/Settings.Designer.vb
new file mode 100644
index 0000000..68a629e
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/My Project/Settings.Designer.vb
@@ -0,0 +1,73 @@
+'------------------------------------------------------------------------------
+' <auto-generated>
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.34209
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+' </auto-generated>
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ <Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
+ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0"), _
+ Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
+ Partial Friend NotInheritable Class MySettings
+ Inherits Global.System.Configuration.ApplicationSettingsBase
+
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
+
+#Region "My.Settings Auto-Save Functionality"
+#If _MyType = "WindowsForms" Then
+ Private Shared addedHandler As Boolean
+
+ Private Shared addedHandlerLockObject As New Object
+
+ <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
+ Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
+#End If
+#End Region
+
+ Public Shared ReadOnly Property [Default]() As MySettings
+ Get
+
+#If _MyType = "WindowsForms" Then
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
+#End If
+ Return defaultInstance
+ End Get
+ End Property
+ End Class
+End Namespace
+
+Namespace My
+
+ <Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
+ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
+ Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
+ Friend Module MySettingsProperty
+
+ <Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
+ Friend ReadOnly Property Settings() As Global.ShiftOS_Launcher.My.MySettings
+ Get
+ Return Global.ShiftOS_Launcher.My.MySettings.Default
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/ShiftOS Launcher/ShiftOS Launcher/My Project/Settings.settings b/ShiftOS Launcher/ShiftOS Launcher/My Project/Settings.settings
new file mode 100644
index 0000000..85b890b
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/My Project/Settings.settings
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
+ <Profiles>
+ <Profile Name="(Default)" />
+ </Profiles>
+ <Settings />
+</SettingsFile>
diff --git a/ShiftOS Launcher/ShiftOS Launcher/ShiftOS Launcher.vbproj b/ShiftOS Launcher/ShiftOS Launcher/ShiftOS Launcher.vbproj
new file mode 100644
index 0000000..7479615
--- /dev/null
+++ b/ShiftOS Launcher/ShiftOS Launcher/ShiftOS Launcher.vbproj
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{E9A73EB3-3CFE-4FC1-ABB3-FB93DACA5BE6}</ProjectGuid>
+ <OutputType>WinExe</OutputType>
+ <StartupObject>ShiftOS_Launcher.My.MyApplication</StartupObject>
+ <RootNamespace>ShiftOS_Launcher</RootNamespace>
+ <AssemblyName>ShiftOS Launcher</AssemblyName>
+ <FileAlignment>512</FileAlignment>
+ <MyType>WindowsForms</MyType>
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <DefineDebug>true</DefineDebug>
+ <DefineTrace>true</DefineTrace>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DocumentationFile>ShiftOS Launcher.xml</DocumentationFile>
+ <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugType>pdbonly</DebugType>
+ <DefineDebug>false</DefineDebug>
+ <DefineTrace>true</DefineTrace>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DocumentationFile>ShiftOS Launcher.xml</DocumentationFile>
+ <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
+ </PropertyGroup>
+ <PropertyGroup>
+ <OptionExplicit>On</OptionExplicit>
+ </PropertyGroup>
+ <PropertyGroup>
+ <OptionCompare>Binary</OptionCompare>
+ </PropertyGroup>
+ <PropertyGroup>
+ <OptionStrict>Off</OptionStrict>
+ </PropertyGroup>
+ <PropertyGroup>
+ <OptionInfer>On</OptionInfer>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Deployment" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.Xml" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ </ItemGroup>
+ <ItemGroup>
+ <Import Include="Microsoft.VisualBasic" />
+ <Import Include="System" />
+ <Import Include="System.Collections" />
+ <Import Include="System.Collections.Generic" />
+ <Import Include="System.Data" />
+ <Import Include="System.Drawing" />
+ <Import Include="System.Diagnostics" />
+ <Import Include="System.Windows.Forms" />
+ <Import Include="System.Linq" />
+ <Import Include="System.Xml.Linq" />
+ <Import Include="System.Threading.Tasks" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="FirstBootSetup.Designer.vb">
+ <DependentUpon>FirstBootSetup.vb</DependentUpon>
+ </Compile>
+ <Compile Include="FirstBootSetup.vb">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="Main_Launcher.vb">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="Main_Launcher.Designer.vb">
+ <DependentUpon>Main_Launcher.vb</DependentUpon>
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="My Project\AssemblyInfo.vb" />
+ <Compile Include="My Project\Application.Designer.vb">
+ <AutoGen>True</AutoGen>
+ <DependentUpon>Application.myapp</DependentUpon>
+ </Compile>
+ <Compile Include="My Project\Resources.Designer.vb">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>Resources.resx</DependentUpon>
+ </Compile>
+ <Compile Include="My Project\Settings.Designer.vb">
+ <AutoGen>True</AutoGen>
+ <DependentUpon>Settings.settings</DependentUpon>
+ <DesignTimeSharedInput>True</DesignTimeSharedInput>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="FirstBootSetup.resx">
+ <DependentUpon>FirstBootSetup.vb</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Main_Launcher.resx">
+ <DependentUpon>Main_Launcher.vb</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="My Project\Resources.resx">
+ <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
+ <LastGenOutput>Resources.Designer.vb</LastGenOutput>
+ <CustomToolNamespace>My.Resources</CustomToolNamespace>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="My Project\Application.myapp">
+ <Generator>MyApplicationCodeGenerator</Generator>
+ <LastGenOutput>Application.Designer.vb</LastGenOutput>
+ </None>
+ <None Include="My Project\Settings.settings">
+ <Generator>SettingsSingleFileGenerator</Generator>
+ <CustomToolNamespace>My</CustomToolNamespace>
+ <LastGenOutput>Settings.Designer.vb</LastGenOutput>
+ </None>
+ <None Include="App.config" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project> \ No newline at end of file