diff --git a/.vs/QuickInput/v15/.suo b/.vs/QuickInput/v15/.suo
index 78d2eb8..f96e876 100644
Binary files a/.vs/QuickInput/v15/.suo and b/.vs/QuickInput/v15/.suo differ
diff --git a/.vs/QuickInput/v15/Server/sqlite3/storage.ide b/.vs/QuickInput/v15/Server/sqlite3/storage.ide
index 515ce6a..5e046f7 100644
Binary files a/.vs/QuickInput/v15/Server/sqlite3/storage.ide and b/.vs/QuickInput/v15/Server/sqlite3/storage.ide differ
diff --git a/.vs/QuickInput/v15/Server/sqlite3/storage.ide-shm b/.vs/QuickInput/v15/Server/sqlite3/storage.ide-shm
index 429b2b9..eb432cf 100644
Binary files a/.vs/QuickInput/v15/Server/sqlite3/storage.ide-shm and b/.vs/QuickInput/v15/Server/sqlite3/storage.ide-shm differ
diff --git a/.vs/QuickInput/v15/Server/sqlite3/storage.ide-wal b/.vs/QuickInput/v15/Server/sqlite3/storage.ide-wal
index e70a4d0..ce371bc 100644
Binary files a/.vs/QuickInput/v15/Server/sqlite3/storage.ide-wal and b/.vs/QuickInput/v15/Server/sqlite3/storage.ide-wal differ
diff --git a/PS/QC.jpg b/PS/QC.jpg
new file mode 100644
index 0000000..8c889ea
Binary files /dev/null and b/PS/QC.jpg differ
diff --git a/PS/QC.png b/PS/QC.png
new file mode 100644
index 0000000..f248adc
Binary files /dev/null and b/PS/QC.png differ
diff --git a/PS/QC.psd b/PS/QC.psd
new file mode 100644
index 0000000..e821cce
Binary files /dev/null and b/PS/QC.psd differ
diff --git a/QuickInput/Form1.Designer.cs b/QuickInput/Form1.Designer.cs
index 302c5e2..7fd69fb 100644
--- a/QuickInput/Form1.Designer.cs
+++ b/QuickInput/Form1.Designer.cs
@@ -31,120 +31,285 @@ private void InitializeComponent()
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.timer1 = new System.Windows.Forms.Timer(this.components);
- this.button1 = new System.Windows.Forms.Button();
- this.checkBox1 = new System.Windows.Forms.CheckBox();
- this.textBox1 = new System.Windows.Forms.TextBox();
- this.label1 = new System.Windows.Forms.Label();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
- this.button2 = new System.Windows.Forms.Button();
- this.button3 = new System.Windows.Forms.Button();
+ this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
+ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.打开ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.设置ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.官网ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.退出ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuStrip1 = new System.Windows.Forms.MenuStrip();
+ this.开始ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.托盘模式ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.打开设置文件ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
+ this.另存为设置文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.退出ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
+ this.设置ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
+ this.打开设置文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.打开设置文件目录ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.读取设置文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.启动不显示窗体ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.设置开机启动ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.测试模式ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.关于ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.帮助ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.网站ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.按键码查询ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.转移查询ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.textBox3 = new System.Windows.Forms.TextBox();
+ this.textBox1 = new System.Windows.Forms.TextBox();
+ this.placeHolderTextBox2 = new RevitDevelopment.CustomControls.PlaceHolderTextBox();
+ this.placeHolderTextBox1 = new RevitDevelopment.CustomControls.PlaceHolderTextBox();
+ this.contextMenuStrip1.SuspendLayout();
+ this.menuStrip1.SuspendLayout();
this.SuspendLayout();
//
// timer1
//
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
- //
- // button1
- //
- this.button1.Location = new System.Drawing.Point(611, 19);
- this.button1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
- this.button1.Name = "button1";
- this.button1.Size = new System.Drawing.Size(175, 52);
- this.button1.TabIndex = 0;
- this.button1.Text = "重新读取设置";
- this.button1.UseVisualStyleBackColor = true;
- this.button1.Click += new System.EventHandler(this.button1_Click);
- //
- // checkBox1
- //
- this.checkBox1.AutoSize = true;
- this.checkBox1.Location = new System.Drawing.Point(689, 310);
- this.checkBox1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
- this.checkBox1.Name = "checkBox1";
- this.checkBox1.Size = new System.Drawing.Size(89, 19);
- this.checkBox1.TabIndex = 1;
- this.checkBox1.Text = "测试模式";
- this.checkBox1.UseVisualStyleBackColor = true;
- this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
- //
- // textBox1
- //
- this.textBox1.Location = new System.Drawing.Point(59, 222);
- this.textBox1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
- this.textBox1.Name = "textBox1";
- this.textBox1.Size = new System.Drawing.Size(593, 25);
- this.textBox1.TabIndex = 2;
- this.textBox1.Text = "更多说明访问软件网站:https://github.com/alittelboy/QuickInput";
- this.textBox1.Click += new System.EventHandler(this.textBox1_Click);
- //
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(56, 19);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(615, 165);
- this.label1.TabIndex = 3;
- this.label1.Text = "使用说明:\r\n快捷输入\r\n空格 + 字母/数字/其他键盘按键:根据设置自动发送对应编队存储的按键。\r\n\r\n快捷编队\r\nCtrl + 数字: 将当前选中内容复制,并" +
- "添加到数字对应的编队。\r\n\r\n增加到编队\r\nCtrl + Shift + 数字: 将当前选中内容复制到剪切板,并添加到编队保存的内容的后面。\r\n\r\n编辑Quic" +
- "kInputSet.ini文件以快速修改词库。";
//
// textBox2
//
- this.textBox2.Location = new System.Drawing.Point(59, 304);
- this.textBox2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+ resources.ApplyResources(this.textBox2, "textBox2");
this.textBox2.Name = "textBox2";
- this.textBox2.Size = new System.Drawing.Size(593, 25);
- this.textBox2.TabIndex = 4;
this.textBox2.TextChanged += new System.EventHandler(this.textBox2_TextChanged);
//
// label2
//
- this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(55, 272);
+ resources.ApplyResources(this.label2, "label2");
this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(278, 15);
- this.label2.TabIndex = 5;
- this.label2.Text = "QuickInputSet.ini配置文件存储地址:";
- //
- // button2
- //
- this.button2.Location = new System.Drawing.Point(486, 272);
- this.button2.Name = "button2";
- this.button2.Size = new System.Drawing.Size(142, 48);
- this.button2.TabIndex = 6;
- this.button2.Text = "打开配置文件";
- this.button2.UseVisualStyleBackColor = true;
- this.button2.Click += new System.EventHandler(this.button2_Click);
- //
- // button3
- //
- this.button3.Location = new System.Drawing.Point(668, 202);
- this.button3.Name = "button3";
- this.button3.Size = new System.Drawing.Size(141, 44);
- this.button3.TabIndex = 7;
- this.button3.Text = "打开网站";
- this.button3.UseVisualStyleBackColor = true;
- this.button3.Click += new System.EventHandler(this.button3_Click);
+ //
+ // notifyIcon1
+ //
+ this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip1;
+ resources.ApplyResources(this.notifyIcon1, "notifyIcon1");
+ this.notifyIcon1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseClick);
+ this.notifyIcon1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseDoubleClick);
+ //
+ // contextMenuStrip1
+ //
+ this.contextMenuStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
+ this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.打开ToolStripMenuItem,
+ this.设置ToolStripMenuItem,
+ this.官网ToolStripMenuItem,
+ this.退出ToolStripMenuItem});
+ this.contextMenuStrip1.Name = "contextMenuStrip1";
+ resources.ApplyResources(this.contextMenuStrip1, "contextMenuStrip1");
+ //
+ // 打开ToolStripMenuItem
+ //
+ this.打开ToolStripMenuItem.Name = "打开ToolStripMenuItem";
+ resources.ApplyResources(this.打开ToolStripMenuItem, "打开ToolStripMenuItem");
+ this.打开ToolStripMenuItem.Click += new System.EventHandler(this.打开ToolStripMenuItem_Click);
+ //
+ // 设置ToolStripMenuItem
+ //
+ this.设置ToolStripMenuItem.Name = "设置ToolStripMenuItem";
+ resources.ApplyResources(this.设置ToolStripMenuItem, "设置ToolStripMenuItem");
+ this.设置ToolStripMenuItem.Click += new System.EventHandler(this.设置ToolStripMenuItem_Click);
+ //
+ // 官网ToolStripMenuItem
+ //
+ this.官网ToolStripMenuItem.Name = "官网ToolStripMenuItem";
+ resources.ApplyResources(this.官网ToolStripMenuItem, "官网ToolStripMenuItem");
+ this.官网ToolStripMenuItem.Click += new System.EventHandler(this.官网ToolStripMenuItem_Click);
+ //
+ // 退出ToolStripMenuItem
+ //
+ this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem";
+ resources.ApplyResources(this.退出ToolStripMenuItem, "退出ToolStripMenuItem");
+ this.退出ToolStripMenuItem.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click);
+ //
+ // menuStrip1
+ //
+ this.menuStrip1.BackColor = System.Drawing.SystemColors.ControlLight;
+ this.menuStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
+ this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.开始ToolStripMenuItem,
+ this.设置ToolStripMenuItem1,
+ this.关于ToolStripMenuItem});
+ resources.ApplyResources(this.menuStrip1, "menuStrip1");
+ this.menuStrip1.Name = "menuStrip1";
+ //
+ // 开始ToolStripMenuItem
+ //
+ this.开始ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.托盘模式ToolStripMenuItem,
+ this.打开设置文件ToolStripMenuItem1,
+ this.另存为设置文件ToolStripMenuItem,
+ this.退出ToolStripMenuItem1});
+ this.开始ToolStripMenuItem.Name = "开始ToolStripMenuItem";
+ resources.ApplyResources(this.开始ToolStripMenuItem, "开始ToolStripMenuItem");
+ //
+ // 托盘模式ToolStripMenuItem
+ //
+ this.托盘模式ToolStripMenuItem.Name = "托盘模式ToolStripMenuItem";
+ resources.ApplyResources(this.托盘模式ToolStripMenuItem, "托盘模式ToolStripMenuItem");
+ this.托盘模式ToolStripMenuItem.Click += new System.EventHandler(this.托盘模式ToolStripMenuItem_Click);
+ //
+ // 打开设置文件ToolStripMenuItem1
+ //
+ this.打开设置文件ToolStripMenuItem1.Name = "打开设置文件ToolStripMenuItem1";
+ resources.ApplyResources(this.打开设置文件ToolStripMenuItem1, "打开设置文件ToolStripMenuItem1");
+ this.打开设置文件ToolStripMenuItem1.Click += new System.EventHandler(this.打开设置文件ToolStripMenuItem1_Click);
+ //
+ // 另存为设置文件ToolStripMenuItem
+ //
+ this.另存为设置文件ToolStripMenuItem.Name = "另存为设置文件ToolStripMenuItem";
+ resources.ApplyResources(this.另存为设置文件ToolStripMenuItem, "另存为设置文件ToolStripMenuItem");
+ this.另存为设置文件ToolStripMenuItem.Click += new System.EventHandler(this.另存为设置文件ToolStripMenuItem_Click);
+ //
+ // 退出ToolStripMenuItem1
+ //
+ this.退出ToolStripMenuItem1.Name = "退出ToolStripMenuItem1";
+ resources.ApplyResources(this.退出ToolStripMenuItem1, "退出ToolStripMenuItem1");
+ this.退出ToolStripMenuItem1.Click += new System.EventHandler(this.退出ToolStripMenuItem1_Click);
+ //
+ // 设置ToolStripMenuItem1
+ //
+ this.设置ToolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.打开设置文件ToolStripMenuItem,
+ this.打开设置文件目录ToolStripMenuItem,
+ this.读取设置文件ToolStripMenuItem,
+ this.启动不显示窗体ToolStripMenuItem,
+ this.设置开机启动ToolStripMenuItem,
+ this.测试模式ToolStripMenuItem});
+ this.设置ToolStripMenuItem1.Name = "设置ToolStripMenuItem1";
+ resources.ApplyResources(this.设置ToolStripMenuItem1, "设置ToolStripMenuItem1");
+ //
+ // 打开设置文件ToolStripMenuItem
+ //
+ this.打开设置文件ToolStripMenuItem.Name = "打开设置文件ToolStripMenuItem";
+ resources.ApplyResources(this.打开设置文件ToolStripMenuItem, "打开设置文件ToolStripMenuItem");
+ this.打开设置文件ToolStripMenuItem.Click += new System.EventHandler(this.打开设置文件ToolStripMenuItem_Click);
+ //
+ // 打开设置文件目录ToolStripMenuItem
+ //
+ this.打开设置文件目录ToolStripMenuItem.Name = "打开设置文件目录ToolStripMenuItem";
+ resources.ApplyResources(this.打开设置文件目录ToolStripMenuItem, "打开设置文件目录ToolStripMenuItem");
+ this.打开设置文件目录ToolStripMenuItem.Click += new System.EventHandler(this.打开设置文件目录ToolStripMenuItem_Click);
+ //
+ // 读取设置文件ToolStripMenuItem
+ //
+ this.读取设置文件ToolStripMenuItem.Name = "读取设置文件ToolStripMenuItem";
+ resources.ApplyResources(this.读取设置文件ToolStripMenuItem, "读取设置文件ToolStripMenuItem");
+ this.读取设置文件ToolStripMenuItem.Click += new System.EventHandler(this.读取设置文件ToolStripMenuItem_Click);
+ //
+ // 启动不显示窗体ToolStripMenuItem
+ //
+ this.启动不显示窗体ToolStripMenuItem.Checked = true;
+ this.启动不显示窗体ToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.启动不显示窗体ToolStripMenuItem.Name = "启动不显示窗体ToolStripMenuItem";
+ resources.ApplyResources(this.启动不显示窗体ToolStripMenuItem, "启动不显示窗体ToolStripMenuItem");
+ this.启动不显示窗体ToolStripMenuItem.Click += new System.EventHandler(this.启动不显示窗体ToolStripMenuItem_Click);
+ //
+ // 设置开机启动ToolStripMenuItem
+ //
+ this.设置开机启动ToolStripMenuItem.Name = "设置开机启动ToolStripMenuItem";
+ resources.ApplyResources(this.设置开机启动ToolStripMenuItem, "设置开机启动ToolStripMenuItem");
+ this.设置开机启动ToolStripMenuItem.Click += new System.EventHandler(this.设置开机启动ToolStripMenuItem_Click);
+ //
+ // 测试模式ToolStripMenuItem
+ //
+ this.测试模式ToolStripMenuItem.Name = "测试模式ToolStripMenuItem";
+ resources.ApplyResources(this.测试模式ToolStripMenuItem, "测试模式ToolStripMenuItem");
+ this.测试模式ToolStripMenuItem.Click += new System.EventHandler(this.测试模式ToolStripMenuItem_Click);
+ //
+ // 关于ToolStripMenuItem
+ //
+ this.关于ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.帮助ToolStripMenuItem,
+ this.网站ToolStripMenuItem,
+ this.按键码查询ToolStripMenuItem,
+ this.转移查询ToolStripMenuItem,
+ this.englishToolStripMenuItem});
+ this.关于ToolStripMenuItem.Name = "关于ToolStripMenuItem";
+ resources.ApplyResources(this.关于ToolStripMenuItem, "关于ToolStripMenuItem");
+ //
+ // 帮助ToolStripMenuItem
+ //
+ this.帮助ToolStripMenuItem.Name = "帮助ToolStripMenuItem";
+ resources.ApplyResources(this.帮助ToolStripMenuItem, "帮助ToolStripMenuItem");
+ this.帮助ToolStripMenuItem.Click += new System.EventHandler(this.帮助ToolStripMenuItem_Click);
+ //
+ // 网站ToolStripMenuItem
+ //
+ this.网站ToolStripMenuItem.Name = "网站ToolStripMenuItem";
+ resources.ApplyResources(this.网站ToolStripMenuItem, "网站ToolStripMenuItem");
+ this.网站ToolStripMenuItem.Click += new System.EventHandler(this.网站ToolStripMenuItem_Click);
+ //
+ // 按键码查询ToolStripMenuItem
+ //
+ this.按键码查询ToolStripMenuItem.Name = "按键码查询ToolStripMenuItem";
+ resources.ApplyResources(this.按键码查询ToolStripMenuItem, "按键码查询ToolStripMenuItem");
+ this.按键码查询ToolStripMenuItem.Click += new System.EventHandler(this.按键码查询ToolStripMenuItem_Click);
+ //
+ // 转移查询ToolStripMenuItem
+ //
+ this.转移查询ToolStripMenuItem.Name = "转移查询ToolStripMenuItem";
+ resources.ApplyResources(this.转移查询ToolStripMenuItem, "转移查询ToolStripMenuItem");
+ this.转移查询ToolStripMenuItem.Click += new System.EventHandler(this.转移查询ToolStripMenuItem_Click);
+ //
+ // englishToolStripMenuItem
+ //
+ this.englishToolStripMenuItem.Name = "englishToolStripMenuItem";
+ resources.ApplyResources(this.englishToolStripMenuItem, "englishToolStripMenuItem");
+ this.englishToolStripMenuItem.Click += new System.EventHandler(this.englishToolStripMenuItem_Click);
+ //
+ // textBox3
+ //
+ this.textBox3.ForeColor = System.Drawing.SystemColors.WindowText;
+ resources.ApplyResources(this.textBox3, "textBox3");
+ this.textBox3.Name = "textBox3";
+ this.textBox3.TextChanged += new System.EventHandler(this.textBox3_TextChanged);
+ //
+ // textBox1
+ //
+ resources.ApplyResources(this.textBox1, "textBox1");
+ this.textBox1.Name = "textBox1";
+ //
+ // placeHolderTextBox2
+ //
+ resources.ApplyResources(this.placeHolderTextBox2, "placeHolderTextBox2");
+ this.placeHolderTextBox2.ForeColor = System.Drawing.Color.Gray;
+ this.placeHolderTextBox2.Name = "placeHolderTextBox2";
+ this.placeHolderTextBox2.PlaceHolderText = "修改快捷键,替换空格键,输入按键码";
+ this.placeHolderTextBox2.TextChanged += new System.EventHandler(this.placeHolderTextBox2_TextChanged);
+ //
+ // placeHolderTextBox1
+ //
+ resources.ApplyResources(this.placeHolderTextBox1, "placeHolderTextBox1");
+ this.placeHolderTextBox1.ForeColor = System.Drawing.Color.Gray;
+ this.placeHolderTextBox1.Name = "placeHolderTextBox1";
+ this.placeHolderTextBox1.PlaceHolderText = "检测时间间隔(ms)";
+ this.placeHolderTextBox1.TextChanged += new System.EventHandler(this.placeHolderTextBox1_TextChanged);
//
// Form1
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
+ resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(853, 372);
- this.Controls.Add(this.button3);
- this.Controls.Add(this.button2);
- this.Controls.Add(this.button1);
+ this.Controls.Add(this.placeHolderTextBox2);
+ this.Controls.Add(this.textBox1);
+ this.Controls.Add(this.textBox3);
+ this.Controls.Add(this.menuStrip1);
+ this.Controls.Add(this.placeHolderTextBox1);
this.Controls.Add(this.label2);
this.Controls.Add(this.textBox2);
- this.Controls.Add(this.label1);
- this.Controls.Add(this.textBox1);
- this.Controls.Add(this.checkBox1);
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
+ this.MainMenuStrip = this.menuStrip1;
+ this.MaximizeBox = false;
this.Name = "Form1";
- this.Text = "QuickInput 1.1 by ljtd";
+ this.Opacity = 0D;
+ this.TopMost = true;
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
this.Load += new System.EventHandler(this.Form1_Load);
+ this.Resize += new System.EventHandler(this.Form1_Resize);
+ this.contextMenuStrip1.ResumeLayout(false);
+ this.menuStrip1.ResumeLayout(false);
+ this.menuStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@@ -153,14 +318,37 @@ private void InitializeComponent()
#endregion
private System.Windows.Forms.Timer timer1;
- private System.Windows.Forms.Button button1;
- private System.Windows.Forms.CheckBox checkBox1;
- private System.Windows.Forms.TextBox textBox1;
- private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Button button2;
- private System.Windows.Forms.Button button3;
+ private System.Windows.Forms.NotifyIcon notifyIcon1;
+ private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
+ private System.Windows.Forms.ToolStripMenuItem 打开ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 设置ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 官网ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 退出ToolStripMenuItem;
+ private RevitDevelopment.CustomControls.PlaceHolderTextBox placeHolderTextBox1;
+ private System.Windows.Forms.MenuStrip menuStrip1;
+ private System.Windows.Forms.ToolStripMenuItem 开始ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 设置ToolStripMenuItem1;
+ private System.Windows.Forms.ToolStripMenuItem 关于ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 网站ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 托盘模式ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 退出ToolStripMenuItem1;
+ private System.Windows.Forms.ToolStripMenuItem 启动不显示窗体ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 打开设置文件ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 读取设置文件ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 设置开机启动ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 测试模式ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 帮助ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 按键码查询ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 转移查询ToolStripMenuItem;
+ private System.Windows.Forms.TextBox textBox3;
+ private System.Windows.Forms.TextBox textBox1;
+ private System.Windows.Forms.ToolStripMenuItem 打开设置文件ToolStripMenuItem1;
+ private System.Windows.Forms.ToolStripMenuItem 另存为设置文件ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 打开设置文件目录ToolStripMenuItem;
+ private RevitDevelopment.CustomControls.PlaceHolderTextBox placeHolderTextBox2;
+ private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem;
}
}
diff --git a/QuickInput/Form1.cs b/QuickInput/Form1.cs
index b272a39..81d99fe 100644
--- a/QuickInput/Form1.cs
+++ b/QuickInput/Form1.cs
@@ -1,20 +1,22 @@
using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
using System.Runtime.InteropServices;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
using System.Windows.Forms;
+using IWshRuntimeLibrary;
+using System.Diagnostics;
using System.IO;
+using File = System.IO.File;
namespace QuickInput
{
public partial class Form1 : Form
{
+ static string myPath = Application.ExecutablePath;
+ static string appData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
+ static string startupPath = Environment.GetFolderPath(Environment.SpecialFolder.Startup);
+ static string startupFullPath = startupPath + "\\QuickInput.lnk";
+ static string quickInputSet = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\quickInputSet";
+ private string iniPath = quickInputSet + "\\QuickInputSet.ini";
+
public Form1()
{
InitializeComponent();
@@ -29,15 +31,17 @@ public Form1()
string[] values = new String[255];
private string splitChar = "";
- private string iniPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\QuickInputSet.ini";
private bool testMode = false;
string initial_title = "";
+ int hotKeyOut = 32;//空格
+
+ int[] press_test = new int[255];
+
- int[] press_test = new int[255];
void timer_Tick()
{
-
+
GetPressedKey();
if (testMode)
@@ -55,21 +59,25 @@ void timer_Tick()
// output快捷键 空格32+编队
- if (keys[32] && keys_before[32])
+ if (keys[hotKeyOut] && keys_before[hotKeyOut])
{
for (int i = 0; i < 255; i++)
{
if (keys[i] && !keys_before[i])
{
- SendKeys.SendWait("{BKSP}");
- SendKeys.SendWait("{BKSP}");
- SendKeys.SendWait(values[i]);
- return;
+ if (!values[i].Equals(""))//为空不输出
+ {
+ SendKeys.SendWait("{BKSP}");
+ SendKeys.SendWait("{BKSP}");
+ SendKeys.SendWait(values[i]);
+ return;
+ }
+
}
}
}
//ctrl 17 编队,只能0-9,48-57
- if(keys[17] && keys_before[17] && !keys[16])
+ if (keys[17] && keys_before[17] && !keys[16])
{
for (int i = 48; i < 58; i++)
{
@@ -93,7 +101,7 @@ void timer_Tick()
string tmp = values[i];
SendKeys.SendWait("^c");
string tmp2 = Clipboard.GetText();
- setValue(i,tmp + splitChar + tmp2);
+ setValue(i, tmp + splitChar + tmp2);
SendKeys.SendWait("^");//释放ctrl
SendKeys.SendWait("+");//释放shift
return;
@@ -116,13 +124,24 @@ private void GetPressedKey()
private void Form1_Load(object sender, EventArgs e)
{
+ if (!File.Exists(quickInputSet))
+ {
+ Directory.CreateDirectory(quickInputSet);
+ }
+ // 用于解决文件移动以后,快捷方式可能的问题
+ if (File.Exists(startupFullPath))
+ {
+ File.Delete(startupFullPath);
+ setStartUp(0,false);
+ }
+
//设置timer
- timer1.Interval = 10; //设置刷新的间隔时间
+ timer1.Interval = 3; //设置刷新的间隔时间
timer1.Enabled = true;
- this.textBox1.BackColor = System.Drawing.SystemColors.Control;
- this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox1.ReadOnly = true;
+ this.textBox3.BackColor = System.Drawing.SystemColors.Control;
+ this.textBox3.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox3.ReadOnly = true;
this.textBox2.BackColor = System.Drawing.SystemColors.Control;
this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.None;
@@ -130,6 +149,7 @@ private void Form1_Load(object sender, EventArgs e)
this.textBox2.Text = iniPath;
initial_title = this.Text;
+ Size = new System.Drawing.Size(480, 180);
if (testMode)
{
@@ -138,11 +158,29 @@ private void Form1_Load(object sender, EventArgs e)
values[i] = "test";
}
}
-
+
read();
+ 设置开机启动ToolStripMenuItem.Checked = System.IO.File.Exists(startupFullPath);
+
+ //判断是否隐藏窗体,托盘启动
+ string tmp = IniManager.Read("initialization", "openshow", "", iniPath);
+ 启动不显示窗体ToolStripMenuItem.Checked = !tmp.Equals("no");
+
+ if (tmp.Equals("no"))
+ {
+ this.BeginInvoke(new Action(() =>
+ {
+ this.Hide();
+ }));
+ }
+ //这里取消透明,本来窗体是透明的,以此防止闪一下
+ this.BeginInvoke(new Action(() =>
+ {
+ this.Opacity = 1;
+ }));
}
-
+
private void timer1_Tick(object sender, EventArgs e)
{
@@ -161,7 +199,7 @@ private void save()
private void read()
{
-
+
for (int i = 0; i < 255; i++)
{
values[i] = IniManager.Read("words", "" + i, "", iniPath, true);
@@ -170,7 +208,7 @@ private void read()
private void setValue(int index, String val, Boolean needsave = true)
{
- Console.WriteLine("Set " + index + ": " + val);
+ Console.WriteLine("Set " + index + ": " + val);
//做一些反转义的处理
values[index] = val.Replace("\r\n", "{ENTER}");
values[index] = val.Replace("\n", "{ENTER}");
@@ -179,7 +217,7 @@ private void setValue(int index, String val, Boolean needsave = true)
{
save();
}
-
+
}
private void button1_Click(object sender, EventArgs e)
@@ -188,37 +226,14 @@ private void button1_Click(object sender, EventArgs e)
read();
}
- private void checkBox1_CheckedChanged(object sender, EventArgs e)
+ private void openSetIni()
{
- testMode = checkBox1.Checked;
- if (testMode)
- {
- this.textBox1.BackColor = System.Drawing.SystemColors.Window;
- this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
- this.textBox1.ReadOnly = false;
-
- this.textBox2.BackColor = System.Drawing.SystemColors.Window;
- this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
- this.textBox2.ReadOnly = false;
- }
- else
- {
- this.textBox1.BackColor = System.Drawing.SystemColors.Control;
- this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox1.ReadOnly = true;
-
- this.textBox2.BackColor = System.Drawing.SystemColors.Control;
- this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox2.ReadOnly = true;
-
- this.Text = initial_title;
- }
+ System.Diagnostics.Process.Start("explorer.exe", iniPath); //直接打开文件Readme.txt
}
-
private void button2_Click(object sender, EventArgs e)
{
- System.Diagnostics.Process.Start("explorer.exe", iniPath); //直接打开文件Readme.txt
+ openSetIni();
}
private void textBox1_Click(object sender, EventArgs e)
@@ -226,9 +241,9 @@ private void textBox1_Click(object sender, EventArgs e)
}
- private void button3_Click(object sender, EventArgs e)
+ private void openAppWeb(string url = "")
{
- string target = "https://github.com/alittelboy/QuickInput";
+ string target = url.Equals("") ? "https://github.com/alittelboy/QuickInput" : url;
//Use no more than one assignment when you test this code.
//string target = "ftp://ftp.microsoft.com";
//string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";
@@ -250,115 +265,368 @@ private void button3_Click(object sender, EventArgs e)
}
}
+ private void button3_Click(object sender, EventArgs e)
+ {
+ openAppWeb();
+ }
+
private void textBox2_TextChanged(object sender, EventArgs e)
{
iniPath = textBox2.Text;
}
- }
- class IniManager
- {
- ///
- /// 为INI文件中指定的节点取得字符串
- ///
- /// 欲在其中查找关键字的节点名称
- /// 欲获取的项名
- /// 指定的项没有找到时返回的默认值
- /// 指定一个字串缓冲区,长度至少为nSize
- /// 指定装载到lpReturnedString缓冲区的最大字符数量
- /// INI文件完整路径
- /// 复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符
- [DllImport("kernel32")]
- private static extern int GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);
///
- /// 修改INI文件中内容
+ /// This method creates a shortcut
///
- /// 欲在其中写入的节点名称
- /// 欲设置的项名
- /// 要写入的新字符串
- /// INI文件完整路径
- /// 非零表示成功,零表示失败
- [DllImport("kernel32")]
- private static extern int WritePrivateProfileString(string lpApplicationName, string lpKeyName, string lpString, string lpFileName);
+ /// The name of the shortcut
+ /// The location of the shortcut
+ /// What should be linked
+ /// Require "using IWshRuntimeLibrary;", and a reference to Windows Script Host Model
+ public static void createShortcut(string shortcutName, string shortcutPath, string targetFileLocation)
+ {
+ string shortcutLocation = System.IO.Path.Combine(shortcutPath, shortcutName + ".lnk");
+ WshShell shell = new WshShell();
+ IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutLocation);
+ shortcut.Description = "Keys";
+ shortcut.TargetPath = targetFileLocation;
+ shortcut.Save();
+ }
- ///
- /// 读取INI文件值
- ///
- /// 节点名
- /// 键
- /// 未取到值时返回的默认值
- /// INI文件完整路径
- /// 读取的值
- public static string Read(string section, string key, string def, string filePath, bool check = false)
+ private void setStartUp(int code = 0,bool show = true)
{
- if (check)
+ if (code == 0)
+ {
+ // 设置开机启动
+ if (!System.IO.File.Exists(startupFullPath))
+ {
+ createShortcut("QuickInput", startupPath, myPath);
+ if (show) MessageBox.Show("设置成功" + startupFullPath);
+
+ 设置开机启动ToolStripMenuItem.Checked = true;
+ }
+ else
+ {
+ if(show)MessageBox.Show("设置失败,文件已经存在:" + startupFullPath);
+ }
+ }
+ else
{
- CheckPath(filePath);
+ // 取消开机启动
+ if (System.IO.File.Exists(startupFullPath))
+ {
+ System.IO.File.Delete(startupFullPath);
+ if(show)MessageBox.Show("设置成功,已经删除" + startupFullPath);
+ 设置开机启动ToolStripMenuItem.Checked = false;
+
+ }
+ else
+ {
+ if(show)MessageBox.Show("设置失败,文件已经 不 存在:" + startupFullPath);
+ }
}
-
- StringBuilder sb = new StringBuilder(1024);
- GetPrivateProfileString(section, key, def, sb, 1024, filePath);
- return sb.ToString();
+
+ }
+ private void button4_Click(object sender, EventArgs e)
+ {
+ setStartUp();
}
- ///
- /// 写INI文件值
- ///
- /// 欲在其中写入的节点名称
- /// 欲设置的项名
- /// 要写入的新字符串
- /// INI文件完整路径
- /// 非零表示成功,零表示失败
- public static int Write(string section, string key, string value, string filePath)
+ private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ this.Show();
+ this.WindowState = FormWindowState.Normal;
+ }
+
+ private void 设置ToolStripMenuItem_Click(object sender, EventArgs e)
{
- CheckPath(filePath);
- return WritePrivateProfileString(section, key, value, filePath);
+ openSetIni();
}
- private static void CheckPath(string filePath)
+ private void 官网ToolStripMenuItem_Click(object sender, EventArgs e)
{
- if (!File.Exists(filePath))
- {
- File.Create(filePath).Dispose();//创建INI文件,并释放
+ openAppWeb();
+ }
+
+ private void Form1_Resize(object sender, EventArgs e)
+ {
+ if (this.WindowState == FormWindowState.Minimized)
+ {
+ string closed = IniManager.Read("initialization", "minimized", "", iniPath);
+ if (closed.Equals(""))
+ {
+ IniManager.Write("initialization", "minimized", "reminded", iniPath);
+ MessageBox.Show("软件将会变成托盘运行。\n下次不会提示。");
+ }
+ this.Hide();
}
- WriteHelp(filePath);
}
- public static void WriteHelp(string filePath)
+ private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
- if (Read("words", "65", "", filePath).Equals("")){
- WritePrivateProfileString("words", "65", "空格 加 a以输入这行数据,需要关闭中文输入法。65-81对应a-z", filePath);
+ if (e.CloseReason == CloseReason.UserClosing)
+ {
+ string closed = IniManager.Read("initialization", "closed", "", iniPath);
+ if (closed.Equals(""))
+ {
+ IniManager.Write("initialization", "closed", "reminded", iniPath);
+ MessageBox.Show("软件会变成托盘运行,右键托盘以退出。\n下次不会提示。");
+ }
+
+ e.Cancel = true;
+ this.Hide();
+ }
+
+ }
+
+ private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ Application.Exit();
+ }
+
+
+
+ private void setOpenShow(int code = 0)
+ {
+ switch (code)
+ {
+ case 0:
+ //设置托盘启动
+ IniManager.Write("initialization", "openshow", "no", iniPath);
+ break;
+ case 1:
+ //设置正常启动
+ IniManager.Write("initialization", "openshow", "", iniPath);
+ break;
+ default:
+ break;
}
- if (Read("words", "66", "", filePath).Equals(""))
+ }
+
+
+ private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
+ {
+ if (e.Button == MouseButtons.Left)
{
- WritePrivateProfileString("words", "66", "空格 加 b以输入这行数据,需要关闭中文输入法。{ENTER}表示换行,{+}、{^}、{%}等符号有特殊含义,可以看底部链接说明。", filePath);
+ this.Show();
}
- WritePrivateProfileString("ReadMe", "KeyCode", "You can get value-key relation in this link. https://www.bejson.com/othertools/keycodes/", filePath);
- WritePrivateProfileString("ReadMe", "SendKeys", "You can set special words by this way. https://www.cnblogs.com/shaozhuyong/p/5951779.html", filePath);
+ }
+
+ private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ this.Show();
+ }
+
+ }
+
+ private void placeHolderTextBox1_TextChanged(object sender, EventArgs e)
+ {
+ try
+ {
+ timer1.Interval = int.Parse(placeHolderTextBox1.Text);
+ }
+ catch (Exception)
+ {
+
+ ;
+ }
+ }
+
+ private void 网站ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ openAppWeb();
+ }
+
+ private void 托盘模式ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ this.Hide();
+ }
+
+ private void 退出ToolStripMenuItem1_Click(object sender, EventArgs e)
+ {
+ Application.Exit();
+ }
+
+ private void 读取设置文件ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ read();
+ MessageBox.Show("读取设置成功!", "提示");
+ }
+
+ private void 帮助ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ string helpmsg = "使用说明:\n快捷输入\n空格 + 字母/数字/其他键盘按键:根据设置自动发送对应编队存储的按键。\n\n快捷编队\nCtrl + 数字: 将当前选中内容复制,并添加到数字对应的编队。\n\n增加到编队\nCtrl + Shift + 数字: 将当前选中内容复制到剪切板,并添加到编队保存的内容的后面。\n\n编辑QuickInputSet.ini文件以快速修改词库和设置。\n\n更多帮助请看“网站”。";
+ MessageBox.Show(helpmsg, "帮助");
+ }
+
+ private void 启动不显示窗体ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ string tmp = IniManager.Read("initialization", "openshow", "", iniPath);
+ if (!tmp.Equals("no"))
+ {
+ 启动不显示窗体ToolStripMenuItem.Checked = false;
+ MessageBox.Show("已经设置为启动时 不 显示窗体!", "提示");
+ setOpenShow(0);
+ }
+ else
+ {
+ 启动不显示窗体ToolStripMenuItem.Checked = true;
+ MessageBox.Show("已经设置为启动时显示窗体!", "提示");
+ setOpenShow(1);
+ }
+ }
+
+ private void 打开设置文件ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ openSetIni();
+ }
+
+ private void 设置开机启动ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (!System.IO.File.Exists(startupFullPath))
+ {
+ setStartUp();
+ }
+ else
+ {
+ setStartUp(1);
+ }
+
+
+ }
+
+ private void 测试模式ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ 测试模式ToolStripMenuItem.Checked = !测试模式ToolStripMenuItem.Checked;
+ testMode = 测试模式ToolStripMenuItem.Checked;
+ if (testMode)
+ {
+ Size = new System.Drawing.Size(480, 250);
+ placeHolderTextBox1.Visible = true;
+ placeHolderTextBox2.Visible = true;
+ this.textBox3.BackColor = System.Drawing.SystemColors.Window;
+ this.textBox3.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+ this.textBox3.ReadOnly = false;
+
+ this.textBox2.BackColor = System.Drawing.SystemColors.Window;
+ this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+ this.textBox2.ReadOnly = false;
+ }
+ else
+ {
+ Size = new System.Drawing.Size(480, 180);
+
+ placeHolderTextBox1.Visible = false;
+ placeHolderTextBox2.Visible = false;
+ this.textBox3.BackColor = System.Drawing.SystemColors.Control;
+ this.textBox3.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox3.ReadOnly = true;
+
+ this.textBox2.BackColor = System.Drawing.SystemColors.Control;
+ this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox2.ReadOnly = true;
+
+ this.Text = initial_title;
+ }
+ }
+
+ private void 按键码查询ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ openAppWeb("https://www.bejson.com/othertools/keycodes/");
+ }
+
+ private void 转移查询ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ openAppWeb("https://www.cnblogs.com/shaozhuyong/p/5951779.html");
+ }
+
+ private void textBox3_TextChanged(object sender, EventArgs e)
+ {
+
+ }
+
+ private void 打开设置文件ToolStripMenuItem1_Click(object sender, EventArgs e)
+ {
+ //选择文件
+ OpenFileDialog dialog = new OpenFileDialog();
+ dialog.Multiselect = false;//该值确定是否可以选择多个文件
+ dialog.Title = "请选择设置文件";
+ dialog.Filter = "设置文件(*.ini)|*.ini";
+ dialog.InitialDirectory = quickInputSet;
+ if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ iniPath = dialog.FileName;
+ }
+ textBox2.Text = iniPath;
}
///
- /// 删除节
+ /// 浏览文件
///
- /// 节点名
- /// INI文件完整路径
- /// 非零表示成功,零表示失败
- public static int DeleteSection(string section, string filePath)
+ ///
+ public static void ExploreFile(string filePath)
{
- return Write(section, null, null, filePath);
+ Process proc = new Process();
+ proc.StartInfo.FileName = "explorer";
+ //打开资源管理器
+ proc.StartInfo.Arguments = @"/select," + filePath;
+ //选中"notepad.exe"这个程序,即记事本
+ proc.Start();
}
///
- /// 删除键的值
+ /// 浏览文件夹
///
- /// 节点名
- /// 键名
- /// INI文件完整路径
- /// 非零表示成功,零表示失败
- public static int DeleteKey(string section, string key, string filePath)
+ ///
+ public static void ExplorePath(string path)
+ {
+ System.Diagnostics.Process.Start("explorer.exe", path);
+ }
+
+ private void 打开设置文件目录ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ ExploreFile(iniPath);
+ }
+
+ private void 另存为设置文件ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+
+ SaveFileDialog sfd = new SaveFileDialog();
+ sfd.Filter = "设置文件(*.ini)|*.ini";//设置文件类型
+ sfd.FileName = "QuickInputSet";//设置默认文件名
+ sfd.DefaultExt = "ini";//设置默认格式(可以不设)
+ sfd.AddExtension = true;//设置自动在文件名中添加扩展名
+ if (sfd.ShowDialog() == DialogResult.OK)
+ {
+ if (File.Exists(sfd.FileName))
+ {
+ File.Delete(sfd.FileName);
+ }
+ File.Copy(iniPath, sfd.FileName);
+ iniPath = sfd.FileName;
+ textBox2.Text = iniPath;
+ }
+ }
+
+ private void placeHolderTextBox2_TextChanged(object sender, EventArgs e)
{
- return Write(section, key, null, filePath);
+ try
+ {
+ hotKeyOut = int.Parse(placeHolderTextBox1.Text);
+ }
+ catch (Exception)
+ {
+
+ ;
+ }
+ }
+
+ private void englishToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+
}
}
+
}
diff --git a/QuickInput/Form1.resx b/QuickInput/Form1.resx
index 8e71a0a..95b8880 100644
--- a/QuickInput/Form1.resx
+++ b/QuickInput/Form1.resx
@@ -121,80 +121,2780 @@
17, 17
+
+ 13, 76
+
+
+
+ 3, 2, 3, 2
+
+
+ 593, 25
+
+
+
+ 4
+
+
+ textBox2
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 7
+
+
+ True
+
+
+ NoControl
+
+
+ 9, 44
+
+
+ 278, 15
+
+
+ 5
+
+
+ QuickInputSet.ini配置文件存储地址:
+
+
+ label2
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 6
+
+
+ 122, 17
+
+
+ 262, 17
+
+
+ 138, 24
+
+
+ 还原窗口
+
+
+ 138, 24
+
+
+ 设置
+
+
+ 138, 24
+
+
+ 官网
+
+
+ 138, 24
+
+
+ 退出
+
+
+ 139, 100
+
+
+ contextMenuStrip1
+
+
+ System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABMLAAATCwAAAAAAAAAA
+ AAD/////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////v7//v78//39+v/9/Pj//fz3//389//9/Pn//v78////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////79+//7+fP/+fbq//by
+ 4f/08Nv/9O/Z//by4P/7+fL/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////+//7+
+ /f/+/fr//fz4//389//8+/T/+PXn//Lt1f/v6Mn/7eXD/+3lwv/u5sX/8uzS//r37f//////////////
+ //////////////////////////////3+/f/8/vz/+f35//f89//z+/P/8Prw/+757v/t+e3/7fnt/+z5
+ 7P/r+Ov/6vjq/+r46v/q+Or/6/jr/+z57P/t+e3/7fnt/+757v/w+vD/8/vz//b89v/5/fn//P78//3+
+ /f/+//7/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////fz5//j05v/y7dT/8uzR//Hqzv/o3rH/3c6M/93M
+ if/j1qD/6uG3//Hqzv/38+L//Pr0/////////////////////////////////////////////P78//H6
+ 8f/i9eL/zu7O/7bmtv+j36P/lNqU/4zYjP+M14z/iteK/4PVg/980nz/e9J7/3zSfP+C1IL/iteK/4zX
+ jP+M14z/k9qT/6Hfof+05bT/zO3M/+D04P/w+vD/+/37////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////7///79//7+/P/+/fv//v36//79+v/+/fr//v37//39+v/9/Pf//Pv1//z6
+ 8//7+vP//Pv2//39+v/+/fv//v36//79+v/+/fr//v37//7+/f/+/v3//v79//7+/P/+/fv//fz4//r5
+ 8P/28uD/7eXB/+XZpf/j16D/49ae/9nHe//NtVH/0Llb/97OjP/r4bn/9vLf//389////v3/////////
+ ///+//7//f79//v++//4/fj/9Pv0/+z47P/g9OD/ze7N/7Xmtf+V25X/cM5w/1DDUP84uzj/K7Yr/yq2
+ Kv8otij/HLIc/xKuEv8QrRD/Ea4R/xuxG/8ntSf/K7Yr/yu2K/83ujf/TsJO/2zMbP+S2pL/suWy/8vt
+ y//e9N7/6/jr//T79P/3/Pf/+f35//v++//8/vz//v/+////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////7+/f/8+/b/+fbr//Xw
+ 3f/z7tf/8+7X//Tu2P/079n/8evQ/+rgt//l2KT/49af/+XZpf/r4rv/8uzT//Tv2f/z7tj/8+7X//Pu
+ 1//28eD/+vfu//v58v/59+z/9/Tl//Xw3f/w6s3/6N6x/+DRk//Zx3v/1MBq/9O+Z//Tv2n/0rxj/9G7
+ X//XxXf/5Nej/+/oyv/59+v////+///////////////////////y+/L/3vTe/8DpwP+h36H/jtiO/4LU
+ gv90z3T/ZMpk/0/DT/82ujb/IbMh/xGuEf8Jqwn/CKsI/weqB/8AqAD/AKUA/wCkAP8ApQD/AKcA/waq
+ Bv8Iqwj/CKsI/xCtEP8fsh//NLk0/0zCTP9iyWL/cs9y/4DUgP+O2I7/nd6d/7Pls//K7cr/3PPc/+z4
+ 7P/5/fn/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////+///+
+ /v///v3//v79//79+f/8+/T/+ffr//Xx3v/v6Mn/6N2x/+XZpf/l2ab/5dqn/+baqv/h05n/1MBs/8uy
+ Sv/IrkH/zLNN/9fEdf/j1p7/5tuq/+XZp//l2aX/5dmm/+nftf/x6s//8+7Y//Dqzv/t5cL/6uC2/+PW
+ nv/Ww3H/y7NM/8iuQf/IrkH/x6w9/8iuQP/QuVz/3MuG/+baqf/u58j/9vLh//z69P////7//v/+//z+
+ /P/5/fn/7fnt/9Xx1f+v5K//d9F3/0C+QP8ltCX/G7Eb/xavFv8TrhP/D60P/wusC/8Hqgf/BKkE/wOp
+ A/8DqQP/AqkC/wGoAf8AqAD/AKgA/wCoAP8BqAH/AqkC/wOpA/8DqQP/BKkE/weqB/8Kqwr/D60P/xKu
+ Ev8VrxX/GrEa/yW0Jf85uzn/YMhg/4rXiv+s4qz/yOzI/+H04f/0+/T/+/77//z+/P/9/v3//v/+////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////v/8+/X/+ffr//f05f/18Nz/7+fH/+jesP/l2KT/4tSc/93O
+ jP/Yxnn/1sJx/9bCcf/Ww3L/18R0/9O+Z//KsEf/wqYt/8GjJ//DpzD/zLNN/9TAbP/XxHX/1sNz/9bC
+ cf/Ww3H/2cd8/97Ojf/g0pb/4NGU/+DRk//h05j/39CR/9fEdf/Qul7/0Llc/9C6Xf/MtE//ybBG/9G7
+ Yf/f0JD/6uG5//Tw3P/8+fL///7+///////x+vH/3PPc/7/pv/+f3p//g9WD/2PKY/84uzj/Dq0O/wCm
+ AP8ApAD/AKQA/wClAP8ApQD/AKUA/wClAP8ApQD/AKYA/wCmAP8ApgD/AKYA/wCmAP8ApwD/AKcA/wCn
+ AP8ApwD/AKcA/wCnAP8ApwD/AKcA/wCnAP8ApgD/AKYA/wClAP8ApgD/AKgA/w+tD/8rtyv/SsFK/2PK
+ Y/950Xn/jtiO/6Pfo/+25rb/yu3K/9703v/x+vH//f79////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////Pv2//by
+ 4P/v6Mr/7OO9/+bbqv/byoL/z7hZ/8uyS//Lskz/yrFI/8mvRP/IrkL/yK5C/8ivQ//Jr0P/yK5A/8Wq
+ OP/EqDL/w6cx/8SoM//Gqzr/yK5B/8mvQ//Ir0L/yK5C/8iuQv/Jr0X/yrFJ/8y0T//Ot1b/075n/9vK
+ hP/h05n/4tWe/+LWnv/j16H/4tWc/9rJgf/SvWb/1cJx/+DRlP/s473/+PXn//79+////v7/8/vz/9Xx
+ 1f+q4qr/b85v/z69Pv8ntSf/GrEa/w+tD/8FqgX/AagB/wCoAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCo
+ AP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCo
+ AP8AqAD/AKgA/wCoAP8BqAH/BKkE/wusC/8SrhL/GLAY/x2yHf8otij/Obs5/1jGWP+C1IL/q+Kr/9Pw
+ 0//u+e7/+v36////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////7+/f/8+vT/+vfs//j15//z7dX/6N6w/9/PkP/ayYL/1sNz/821Uv/DpzH/wKMn/8Gk
+ Kv/Dpi7/xKgz/8SoNf/EqDT/xKg0/8SoNP/EqDP/w6cw/8OmL//DpzD/w6cx/8OnMP/DpzD/w6Yv/8Om
+ L//Dpi//xKcy/8esPf/Ls03/zbVS/8uzTf/PuVz/3MuH/+fcrf/t5cT/8OrO//Dqzf/s5MD/49af/9rJ
+ gv/ezo3/6d6x//Tt1P/9+vT/8/v0/9jy2P+457j/kNmQ/2fLZ/8+vT7/IbMh/xyxHP8isyL/Lrcu/zq8
+ Ov87vDv/Nbo1/yi2KP8asRr/IrMi/z29Pf9Lwkv/SsFK/0jBSP9HwEf/RsBG/0jBSP9Dv0P/Lbct/xSv
+ FP8Kqwr/CKsI/w+tD/8bsRv/GbAZ/wysDP8DqQP/AKcA/wCnAP8ApwD/AKcA/wCoAP8AqAD/AKcA/wCn
+ AP8ApgD/AKYA/wCnAP8Kqwr/IrMi/0W/Rf9qzGr/kNmQ/63jrf++6b7/0e/R/+v46///////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////Pv1//Xx3v/w6cv/7OO//+XZ
+ pf/XxHX/zLRP/8mwRv/Jr0T/xqs6/8OnMf/Cpi7/w6Yv/8WpNv/IrUD/ya9E/8mvRP/JrkP/ya9E/8it
+ QP/Fqjf/w6cx/8OnMP/EpzH/xKcy/8SnMv/DpzH/xKcx/8WpNf/HrT//z7lc/9vKhP/dzYr/1MBt/9TA
+ bf/i1Jv/7ufH//fz4v/6+O7/9vPi//Dpy//n3K//4tSb/+jdsP/18Nv//Prz//39+//c89z/nN2c/2XK
+ Zf85uzn/I7Qj/yi1KP84uzj/S8FL/2LJYv9+037/k9qT/5TalP+E1YT/ZMpk/0C9QP9SxFL/k9qT/7fm
+ t/+35rf/s+Wz/7Pls/+y5bL/t+a3/6riqv910HX/Ors6/x+yH/8asBr/KrYq/0O/Q/8/vT//JLQk/xCt
+ EP8DqQP/AKcA/wCnAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCnAP8ApwD/AKgA/wOpA/8Kqwr/FK8U/yO0
+ I/84uzj/TsJO/2PJY/+I1oj/xuvG//f89///////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /v/+/fv//Pr0//n26v/y7NP/59yu/+HTmP/h0pb/3s6N/9XCcP/PuVr/0Lpd/9K9Zf/RvGL/0Llc/863
+ V//NtlT/z7lb/9O+aP/WwnL/2MV5/9nHfP/Zx3z/2MV4/9XBb//SvWX/z7hY/8uyS//HrD3/xKgz/8So
+ NP/HrT7/zbVT/9bCcP/f0JP/6uG4/+vjvf/j1p//4NGV/+baqv/t5cP/9O/a//by4v/v58j/5tur/+XZ
+ pv/p3rH/8OrN//f47v/t+u//1vHX/6/jr/950Xn/SsFK/yS0JP8csRz/Pb09/2XKZf+D1IP/nN2c/67j
+ rv+35rf/suSy/57env910HX/R8BH/1LDUv+O2I7/uee5/8vty//Z8tn/5vbm/+/57//z+/P/5/fn/7Tl
+ tP970nv/WMZY/0W/Rf9Fv0X/UsRS/1fFV/9VxVX/TMJM/zy8PP8tty3/ILMg/xOuE/8Gqgb/AKcA/wCn
+ AP8ApwD/AKgA/wCoAP8AqAD/AKgA/wCnAP8ApwD/AagB/wqrCv8YsBj/KLUo/0vBS/+I1oj/wOnA/+L1
+ 4v/4/Pj/////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////v78//v68//28uD/7ubE/+LVnP/UwGv/z7la/9bC
+ cf/dzYn/4dOX/+XZpv/r4rv/7+fH/+zjvP/m2qn/4tSb/9/RlP/h05j/5dmm/+rgt//w6cv/8+3U//Ls
+ 0//y69H/8erN/+7lw//k16L/2cd7/821U//FqTb/xqo5/822VP/byoT/7OO+//Xw2//49ej/+Pbp//Xx
+ 3v/x69D/6uC2/+XZp//o3bD/592v/9zLhf/Tvmb/3cyJ/+3lwv/08uL/7/fr/8vtzP+S2pP/dM90/3DO
+ cP9lymX/TMJM/03CTf930Hf/o9+j/73ovf/J7Mn/wOnA/6zirP+d3Z3/jNeM/2XKZf82ujb/KrYq/0C9
+ QP9jyWP/ktqS/77pvv/k9uT//P78///////6/fr/5/fn/9Dv0P+t463/htWG/2TKZP9Nwk3/Ysli/5jc
+ mP+t463/nd6d/4LUgv9gyGD/O7w7/xewF/8ApwD/AKYA/wCnAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCn
+ AP8AqAD/AqkC/weqB/8NrA3/G7Eb/zW6Nf9hyWH/qOGo/+j36P//////////////////////////////
+ /////////////////////////////////////////////////////////////////////////v78//38
+ +P/8+/X/+vnw//Tw2//r4rv/4NKV/9S/av/PuFn/075o/9vKg//m2qn/7+jK//by4P/59un/9fHe//Dp
+ zP/s5MH/6+K7/+vjvf/u5sX/8evR//by4P/6+O7//v37/////////////v36//Pu2P/n3K7/2smB/9C6
+ Xv/NtlX/0bxk/+DRlf/079n//fz3/////v////////////z69P/w6cz/5tur/+HTmf/byoT/zrdW/8es
+ Pf/TwW7/5OC3/+fv1//e8dn/vOi8/4rXiv970Xv/jdiN/5TalP+H1of/htWG/5fbl/+o4aj/s+Wz/7fm
+ t/+y5bL/qeGp/6Hfof+W25b/etF6/1XEVf9AvUD/Pbw9/0/DT/940Xj/o9+j/8rtyv/l9uX/6Pfo/+35
+ 7f/3/Pf//////+X25f++6b7/ktmS/2zMbP950Xn/reOt/8nsyf/I7Mj/uOe4/5zdnP950Xn/UMNQ/y64
+ Lv8fsh//Eq4S/wirCP8AqAD/AKcA/wCoAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCnAP8BqAH/BqoG/yO0
+ I/9xznH/v+m/////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////8+vT/+PXp//n26v/7+fH/+Pbo//Pt1f/t5sP/6d+z/+LV
+ nP/Zx33/18R3/+LUnP/r473/7eTB/+vivf/r4rv/6+K8/+zkwP/u5sT/7ebE/+zkv//q4Lf/59yu/+zj
+ vv/59uv/////////////////+/ry//bx3//v6Mn/59yu/9zMif/UwGz/28qD/+rhuv/18d///fz4////
+ /////////v79//r37P/y7NL/4dOa/9K8ZP/JrkH/xKo4/8a5Wv/K0I3/yN6q/8Pmuv/D68P/xuzH/8vt
+ y//S8NL/1vHW/9Lv0v/E68T/ltuW/27Nbv9bx1v/X8hf/4XVhf+z5bP/xOvE/8Pqw/+757v/rOKs/5/e
+ n/+W25b/jtiO/4nWif+M2Iz/mt2a/6niqf+x5LH/wOnA/+H14f//////+v36/+j36P/Q79D/tea1/57e
+ nv+N2I3/k9qT/7Hksf/H7Mf/0e/R/8ztzP+15rX/lNqU/2vMa/9AvUD/HLEc/wGoAf8ApgD/AKcA/wCo
+ AP8AqAD/AKgA/wCoAP8AqAD/AKcA/wCnAP8ApwD/Dq0O/z+9P/980nz/////////////////////////
+ ///////////////////////////////////////////////////////////////////+/vz//fz5//r3
+ 7v/38+T/+PXp//z79f/8+/X/+fft//n26v/59+z/8uzS/+DSlv/XxHb/3c6N/+TYpf/k2KT/5Nei/+fb
+ rP/r4br/7ubF//DpzP/u58f/6uG4/+PXof/cy4b/38+P/+3kwf/49ef/+/jw//38+P/+/v3///7+//38
+ +P/49ef/6uG6/93Ni//czIn/5dmn/+3mxP/28uH//Prz//79+/////7//f36//by4f/g0ZP/zLNO/8ap
+ Nv/Eqjf/wLJJ/7vAZf+zzH7/sNmX/8Lmuf/i9OD/9fv1//z+/P//////+/77/9703v+E1YT/O7w7/yi1
+ KP87vDv/fNJ8/8brxv/i9eL/5/fn/+v46//q9+r/5fbl/9zz3P/I7Mj/quKq/5bblv+U2pT/mNyY/5zd
+ nP+p4qn/x+zH/+f35//y+vL/+f35//f89//q+Or/xOvE/47Yjv+D1IP/ot+i/8Lqwv/c89z/6vjq/+r4
+ 6v/Y8tj/ruOu/3vSe/9Nwk3/JbUl/xOtE/8Hqgf/AqkC/wCoAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wGn
+ Af8MrAz/NLk0/2vMa///////////////////////////////////////////////////////////////
+ //////////////////////////7+//v68//59ur/+ffs//v68//9/Pj//v79//7+/f/9/fr//f36//7+
+ /P/49ef/6N2w/9zMif/ayYD/3MyI/+LUmv/p3rL/7+fI//Tv2f/18d7/9O/Z//Dpy//q4Lb/4tSa/9jG
+ ef/VwW//2cd9/+HTmf/s47//9/Pj//38+P////////////39+f/38+P/8OnL/+vhuv/o3bH/592w/+rg
+ uP/w6c3/+/nw/////v/59+z/7ubF/9nHfP/IrUD/xKcx/8SpNP/CrDv/vrJH/7O8Wf+nyHH/rdeS/8Hm
+ uP/a8tv/+f35///////1+/X/x+zH/2PKY/8isyL/OLs4/2/Ob/+r4qv/4fXh//T79P/3/Pf/+v36//v9
+ +//5/fn/9fv1/+r46v/a8tr/z+/P/8zuzP/L7cv/werB/7jnuP+w5LD/suWy/8jsyP/q9+r/+f35//v+
+ +//q+Or/ze7N/7rnuv+u467/quKq/6viq/+35rf/0/DT/+X25f/e9N7/x+zH/6bgpv980nz/TcJN/x2x
+ Hf8FqQX/AagB/wCoAP8AqAD/AKgA/wCoAP8AqAD/A6gD/xmxGf9cx1z/pN+k////////////////////
+ /////////////////////////////////////////////////////////////////v/+/fv/+vft//by
+ 4v/39OX/+vjv//z69P/9/Pj//f36//39+v/9/fr//v36//j05v/p3rP/3c2K/9fEdf/Yxnj/49ae//Do
+ y//49OX//Pv0//z68//49eb/8+3V/+3kwP/m2qf/3c2J/9bDcf/Rul//1L9q/+LUm//v6Mr/9/Pj//v6
+ 8//9/fr///7+///+/f/+/vz/9/Tm/+7mxv/o3bD/5dmm/+nftP/079r/9/Tl/+/oyf/i1Z3/0r1k/8Wq
+ OP/Dpi//xKgz/8WoMv/DqTX/uK9A/6i6Uv+ixmz/pNSM/7njsv/d8tv/5vbm/83uzf+a3Jr/Qr9C/xiw
+ GP9WxVb/q+Kr/9ry2v/3/Pf//v/+//7//v/+//7//v/+//7//v/+//7//v/+//3+/f/8/vz//P78//j9
+ +P/n9+f/0O/Q/7DksP+b3Zv/suWy/9zz3P/t+e3/8Prw//P78//1/PX/5vbm/7/pv/+h36H/kdmR/5Ta
+ lP+y5LL/0e/R/+b25v/u+e7/4/Xj/8Xrxf+N2I3/ScBJ/yCyIP8LrAv/AqgC/wCoAP8AqAD/AagB/weq
+ B/8UrxT/Orw6/43Yjf/b8tv/////////////////////////////////////////////////////////
+ /////////////////////////fz5//v69P/6+fD/+PXo//Lr0v/s473/7ubF//Xw3P/49Ob/+PTn//j1
+ 6P/59uv/8evR/97Pjv/SvWT/075n/9vKgf/p37P/9/Pj//z79f///v3//v77//z69P/59uv/9vLg//Ls
+ 0//u5sP/59yr/97OjP/byYL/4dKX/+fcrv/r4br/7+fI//fz5P/////////////////9/Pf/9/Pk//Ls
+ 0//u5sb/6uG5/+fcrv/i1Z7/3MyJ/9XBb//Ms07/xak1/8OnMP/EqDP/xacy/8SnMf++qjb/tq8//666
+ VP+oyHH/p9OK/6jdnv+c3Zz/f9SA/1rGWv8ptin/I7Qj/3TQdP/P78//8frx//3+/f//////////////
+ //////////////////////////////////////////////f89//p+On/1vHW/8jsyP/R79H/4PTg/9Xw
+ 1f/A6cD/w+vD/9vz2//h9eH/0e/R/8Hqwf+557n/ruOu/5/en/+a3Jr/sOSw/8zuzP/j9eP/6/jr/9Hv
+ 0f+e3p7/Y8pj/yW0Jf8EqQT/AKcA/wCnAP8DqQP/Fq8W/z69Pv90z3T/uOe4//D68P//////////////
+ //////////////////////////////////////////////////////////79//79+//8+vT/+vjv//z7
+ 9f/7+fH/7+fG/+HSl//j1Z//7eTB//Hqzv/w6cv/8OjK/+/oyv/n26v/075n/8qxR//Tvmj/4tSa//Hq
+ zf/8+/b///7+//////////7///7+//7+/f/+/vz//v36//389//49Ob/7ubE/+fbq//k16L/49af/+LU
+ m//k2KX/7+jJ//v48P/9/fn//v78//7+/f/+/vz//Pv2//n36//w6cv/4NKY/9XCcf/Qul//zLRR/8it
+ QP/EqTT/xKgy/8SoM//EqDP/xKgz/8SoMv/DqTT/v7JH/7fBZf+iyXH/fstt/1vHW/86vDv/I7Qj/xav
+ Fv8vuC//jNiM/+f35//9/v3//v/+////////////////////////////////////////////////////
+ /////////v/+//3+/f/7/vv/+f35//T79P/p9+n/yOzI/6DfoP+h36H/wurC/9Xw1f/W8db/1/HX/9vz
+ 2//L7cv/mNyY/3TPdP+B1IH/ot+i/8fsx//l9uX/6vjq/9bx1v+e3p7/TsJO/x2yHf8MrAz/CqsK/xew
+ F/84uzj/dM90/67jrv/b89v/+f35////////////////////////////////////////////////////
+ //////////////7+/P/7+vP/+vju//v68//9/Pn//v78//38+P/y7NP/5tqp/+XZpv/p4Lb/6eC2/+ba
+ qv/i1Jz/3c6L/9fEdf/PuFj/z7hZ/93Ni//t5MH/+PTl//7+/f//////////////////////////////
+ //////////////389//28d//7+jJ/+vhuf/n3K3/5Nik/+PXov/m26v/7OO9//Ls1P/6+O///v79////
+ /////////f36//f05P/t5MH/49We/9jFef/PuFn/yK5B/8SoMv/DpzD/xKgz/8SoM//EqDP/xKcw/8Wn
+ Mf/Js0z/y8Z1/7POgP+Cym3/UcJO/yW0Jf8MrAz/CqsK/y64Lv+S2pL/7/rv////////////////////
+ /////////////////////////////////////////////////////////////////////////v/+//T7
+ 9P/e897/xOvE/8TrxP/X8df/1vHW/7/pv/+15rX/werB/8DqwP+k4KT/jdiN/5HZkf+Z3Jn/ltuW/5La
+ kv+e3p7/r+Ov/6jhqP+O2I7/aMto/zm7Of8vuC//UcNR/3/Tf/+w5LD/2vLa//D68P/+//7/////////
+ /////////////////////////////////////////////////////////fz5//j16f/28uL/+fft//38
+ +P/+/vz//v78//j15//w6s3/7eTB/+rhuf/m2qn/39CS/9fDdP/NtVH/ybBE/822Uv/XxXb/6d+z//f0
+ 5v/9/Pn///7+/////////////////////////////////////////////fz3//j05v/z7tf/8evP/+/n
+ yP/s477/6N6x/+LVnf/g0ZP/59yu//Pu2P/6+O7//fz5//7+/f/+/v3//v37//z79v/28uD/59ur/9jF
+ ef/NtVL/xqo4/8SnMv/EqDP/xKgz/8SoM//DpzD/xKgz/861Uv/ayoL/xtKO/5HMdf9awVD/JLIg/waq
+ Bv8Kqwr/M7kz/5bblv/x+vH/////////////////////////////////////////////////////////
+ ///////////////////////////////////+//7//f79//r9+v/2/Pb/9vz2//b89v/d893/rOOs/5Xb
+ lf+k4KT/s+Wz/7fmt/+15bX/r+Ov/53dnf9vzW//Q75D/0/CT/970nv/puCm/8nsyf+35rf/ddB1/2XK
+ Zf+X25f/yOzI/+X25f/3/Pf//P78////////////////////////////////////////////////////
+ /////////v79//39+f/8+vT/+ffs//by4v/y7NL/8erO//fz5P/+/v3//Pv2//j15//18N3/8u3U/+zj
+ vf/i1Jv/1sJy/8mvRP/Fqjb/zLRP/9nIff/t5cH//Pv2////////////////////////////////////
+ ///////////////////8+vT/8+3U/+7mxf/z7dX/9vLh//Tw2//x69H/6+K8/+baqP/k2KT/5tqq/+vi
+ vP/z7db/+fbr//7+/P////////////38+P/z7dT/59us/9nGev/NtVH/x6w8/8SoNP/DpzH/xKgz/8On
+ Mf/EqDP/zLBH/9a+Z//Cw23/kcBa/1q5Pf8grhX/CKsI/x+zIf9VxVX/quKq//T79P//////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////+v46//I7Mj/t+a3/8DqwP/H7Mf/werB/7jnuP+w5LD/od+h/3vS
+ e/9axlr/Zspm/47Yjv+35rf/3fPd/9vy2/+z5bP/quKq/8ztzP/r+Ov/+v36////////////////////
+ ///////////////////////////////////////////////////+/fv/+/rz//r58P/8+/X/+PXo/+rg
+ t//i1Jv/7uXD//z79v/+/vz//f35//38+P/8+/b/9O/a/+bbq//Yxnr/y7JK/8arOv/MtVD/2ch9/+7m
+ w//9/Pn///////////////////////////////////////////////////////n26f/q4Lb/5tmn//Lr
+ 0f/8+/b//fz3//z69P/59uv/8+7Y/+fcrv/byoT/3MyJ/+fcrv/x68//+vjv/////v///////v79//z7
+ 9v/38+L/59yt/9jFd//NtVH/xqo4/8OnMf/EqDP/xKgz/8SoM//Hqjf/yaw+/7SvPf+KsDb/WK4m/x+p
+ DP8QrQ//P75B/4DTgP/D6sP/9/z3////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////+/77//T7
+ 9P/v+u//8Prw/+b35v/L7cv/s+Wz/63jrf+s46z/pOCk/57env+p4an/vui+/9Dv0P/g9OD/6Pfo/+r3
+ 6v/t+e3/9Pv0//r9+v/9/v3/////////////////////////////////////////////////////////
+ //////////////79+//7+fH/+vjv//39+f/6+O7/6+G5/+DRlf/n3K7/8+7X//n37P////7/////////
+ ///079v/4NKW/9G8Yv/IrkH/x6w9/8+4Wf/dzIf/8OjJ//79+///////////////////////////////
+ //////////////79+//7+fL/9O7Y/+XZpf/i1Jr/8OnL//38+P////////////7//v/6+fD/7+jL/+TX
+ o//g0pf/49ah/+jdsP/u5sT/9O/a//z68/////////////7+/P/z7db/5tqq/9fEdv/KsUn/xao3/8So
+ NP/EqDL/xKgz/8anMv/FpzD/rqcs/4GpJf9Rqhn/HqgI/xivFv9UxVX/mtya/9Hv0f/5/fn/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////9vz2/9/03//L7cv/yOzI/8rt
+ yv/M7cz/zu7O/9Xx1f/f9N//5vbm/+z47P/0+/T/////////////////////////////////////////
+ /////////////////////////////////////////////////////////v37//v58f/6+O///f36//z6
+ 9P/w6s3/5tur/+TXo//n3K7/8erP//z79v///////////+/oyf/VwW7/xqs7/8SoMv/IrkH/075n/+HT
+ l//y69H//v37/////////////////////////////////////////////Pv1//bx4P/u5cT/5Nag/+LU
+ m//u5sT/+fbq//38+f////////////79+//7+fH/+PTm//Doy//m2qn/4NKW/+DQk//n26v/9vHf////
+ ///////////+//z69P/28uD/5Nik/9K9Zf/Jr0X/xao3/8SnMf/EqDP/xqgz/8aoM/+tqC3/fagh/02p
+ Fv8iqAn/IrEe/2PKY/+p4qn/2vLa//r9+v//////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////9/v3/9vz2//H68f/w+vD/8frx//H68f/y+/L/9Pv0//b89v/4/fj/+v36//z+
+ /P//////////////////////////////////////////////////////////////////////////////
+ /////////////////v/9/Pf/+fbq//j16f/8+/f//fz5//bz4v/v58j/5tqq/+LUm//q4Lf/9vHf//n2
+ 6//59uv/6d+z/8+4WP/CpSv/wqUs/8mvRf/Xw3P/5dmm//Tv2P/+/vz/////////////////////////
+ ///////////+//7+/f/6+O//8+3W/+3kwP/o3a//59ys/+vivP/x68//9vLh//r48P/9/fr/////////
+ ////////+ffs/+7mxf/m2qr/4tWc/+XYpf/u5sT/9O/a//by4f/59+z//v36//7+/P/w6c3/39CS/9K8
+ ZP/IrkH/xKgz/8SoM//FqDP/xagz/7SoL/+RqCX/Z6gb/zioD/81syb/dc5w/7nnuf/i9eP/+/77////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////7//v77//v58P/18d7/9PDb//r4
+ 7//+/v3//Pv2//j16P/s5MD/4tWe/+XZpv/s477/7ufI/+7nxv/h1Jr/zbVS/8KlLf/CpS3/yrFH/9rI
+ ff/p3rL/9vHf//7+/P/////////////////////////////////+/vz//Pv3//j16f/y7NP/8OjK//Hq
+ z//w6cv/6eC2/+fcrf/s47//8+7Y//r37f/////////////////+/fv/+vft//by4P/y7NP/7OTA/+XZ
+ p//j1p//6N2w/+/oyv/59ur//v79//r47v/v6Mj/3s+O/821U//Gqjn/xak1/8SoM//EqDP/wKgy/7ao
+ L/+WqCf/W6gY/0yzLv+I0X3/x+vG/+n46v/8/vz/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////7+/f/9/Pj/+PXo//Dpzf/v6Mn/+PXn/////////////v37//Pu2P/q37b/59yu/+fd
+ r//m26r/4tWd/9jGev/KsUn/w6Yv/8KmLv/KsUn/28qD/+vhuf/38+L//v79////////////////////
+ //////////////z79v/49Of/9fDd//Tu2f/18Nz/+PXn//fz4//u5sb/6d6z/+viu//v6Mr/8uzU//Tv
+ 2v/079n/9O/b//j05v/8+/b//v37//v68//079r/6N2x/+LVnP/k2KT/6d+0/+/oyP/079n/9/Tl//Xw
+ 3f/n3K7/1sJy/8uzTv/Gqzr/w6cx/8SoMv/GqDT/yag0/6+oLf9xpxz/XbMx/5TSgv/P7s3/7Pnu//z+
+ /P//////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////v78//z79P/18d7/6uG4/+nf
+ tP/28d////////////////7/+/nx//by4v/w6c3/6N6z/9/RlP/WwnL/zbZV/8esPf/DpzD/w6Yu/8qx
+ Sf/byoP/6+K6//fz4//+/v3/////////////////////////////////+ffr//Dqzf/w6cz/9/Tk//z6
+ 9P/9/Pj//Pv2//n26v/28d//8+3V/+/nx//n3K3/4NGV/9zMif/ezo7/59yv//Xx3v/8+/f//f36//v6
+ 8v/28uH/8uvR/+zjvv/m26v/4dOY/+DRlf/p37T/8erP/+3kwf/i1Zz/1cJv/8iuQv/Dpi//xKcy/8ao
+ NP/JqDT/sagt/3imHP9nsjD/mNGC/8/uzf/s+e7//P78////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////+/fv/+/ry//Tv2v/p37X/59us//DpzP/59ur//Pv1/////////////v79//j1
+ 5//u5sX/4NKX/9K9Zf/KsEf/xqo5/8OnMf/Dpi//yrFI/9rIfv/p37T/9vLg//7+/P//////////////
+ /////////v78//379//18N3/6+K7/+zjvf/28d///Pv1//7+/P////////////7+/P/59+z/8uvR/+TX
+ ov/XxXj/1cFv/9nHff/i1Z3/7+jI//f05f/8+/X//v79///////8+/b/9O/Z/+rhuP/f0ZP/2smC/+LV
+ nf/r4rz/7OTA/+fcr//ayoL/y7JK/8SoMv/EqDL/xagz/8eoNP+wpy3/e6Yb/2uxL/+a0YH/z+3M/+z5
+ 7v/8/vz/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////79+//7+fH/9vLg/+7n
+ x//p37T/5tqq/+nftP/18Nv//////////////////Pv2//f05v/q4bn/2sh//863V//HrD7/w6cw/8Om
+ L//JsEX/18N0/+bZpv/079n//v78///////////////////////8+vP/9vLg//Doyf/p37P/6d6y/+3l
+ w//079n/+/ry//////////////////39+f/59ur/6+K8/9/Rk//i1Z3/6uG6/+zkv//q4bn/7ufH//f0
+ 5P/9/Pj////////////7+fH/9fHf/+/nyP/p37X/5tus/+XZp//l2af/49ah/9rIf//NtVL/xqs7/8Wp
+ Nf/FqDP/x6g0/7CnLP95phr/abEv/5rQgf/P7cz/7Pnu//z+/P//////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////f36//v58f/49ef/9PDb/+7mxf/j1qD/4dKW/+3kwP/69+z//fz3////
+ /v///////v78//Lr0f/f0JH/0bxi/8iuQf/DpzD/w6Yv/8mvQ//VwGz/49Wd//Pt1P/+/vz/////////
+ ///+/vz//fz4//n26v/07db/7+fI/+zjvf/q4Lb/6N6y/+zkv//18d3//Pr0//38+P/+/fv//f36//v6
+ 8//x68//6d6z/+/oyv/6+O7/9vLh/+vjvf/p4Lf/7unL//Px3v/6+O///v36//7+/f/+/vz/+/rz//fz
+ 4//u5sb/5tur/+TYpf/j16L/28qF/9C5XP/Jr0T/xao4/8WoM//GqDP/s6ct/4SmHf93sTL/odCB/9Ds
+ y//s+O3//P78////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////9/fr/+vnx//n3
+ 7P/69+3/9vLg/+zjv//m2qj/5tmo/+rgt//079n///7+////////////8erP/93Mif/PuVv/x60//8On
+ MP/Dpi//ya9D/9XAbP/j1Z3/8+3U//7+/P/////////+//v58f/38+T/9/Li//j05P/38+T/9vLg//Lr
+ 0f/q4br/6N2w/+rhuP/v58j/9vLg//r58P/49ej/9fDc//Hqzv/v6Mn/9fHe//39+f/7+vT/9fHd/+rl
+ wv/d2qb/3tup/+3py//59en//v36/////////////Pv2//f05f/z7dX/8erP/+3mxP/i1Z3/075p/8qx
+ Sf/Gqzr/xKgy/8WoM/+8pzD/pqYm/6CwPP+3z4T/0+rH/+v36v/8/vz/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////39+f/6+fD/+vnw//39+f/8+/b/9vLi/+7nxv/k16L/4NGU/+zi
+ vP/69+3//f35//7+/P/v6Mr/2siA/821U//HrDz/w6cx/8OnMP/IrkL/1L9q/+LUmv/y7NP//v37////
+ ///+/fv/9/Tl//Lr0P/079n/+/nw//7+/P/+/vz/+fbr/+/oyf/o3bD/5Nil/+bbq//u58f/9O/a//Ls
+ 0//w6Mv/8uvQ//Xw3P/59+z//v36/////v/9/fr/7OvQ/9DPjf/MyYD/4duq//Lr0f/59ej//fv3//79
+ +////v7//v79//79+//8+/X/9/Tl/+viu//ayYP/z7ha/8etP//EpzL/xKgy/8OnMv/Bpi7/wrBE/8bN
+ hP/S58H/6Pbm//z++///////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////f35//r5
+ 8P/6+fD//v37//7+/f/8+vP/9vLh/+zjvv/l2KX/5tqo/+viu//179v//fz5//Dqzv/ZyID/zLRR/8as
+ PP/DpzH/w6cw/8itP//Ru1//3s6M//DpzP/+/fr///////z69f/079r/7uXD//Hrz//59+z//v79////
+ ///9/Pf/9PDc/+7nyP/s473/6d+1/+fcrv/o3bD/7eXC//Pt1f/38+P/+vju//379////v3/////////
+ ///t7tf/z9KS/8jIe//a05j/6N6y/+zjvv/x6s//+fbr///////////////////////8+/b/9PDc/+nf
+ tf/byoL/y7JL/8OnMP/DpzH/xacy/8amL//HsET/w8p9/8jkt//i9OD/+/36////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////9/fn/+vnw//r58P/9/Pn///////7+/f/8+/b/9vLh/+/n
+ x//l2KX/4NGU/+zivP/59ur/7+jJ/9nIf//MtVL/x6w8/8OnMf/DpzD/x6w8/862VP/ayX//7ufF//39
+ +f/+/v7/+vfu//Hr0P/q4Lb/7OS///Tv2v/59+z//Pv3//z79f/49ej/9vLg//Xx3v/x6s7/5dmn/+HT
+ mP/s477/+PXo//379//+/fv///7+/////////////////+7x3P/Q2J//yc2G/9jSlP/j1qD/49Wf/+fb
+ rP/y7NP//Pv2//79+//+/vz//v79//7+/f/8+/b/9/Pk/+bbqv/PuFj/w6Yv/8OnMP/EqDL/xaYv/8Kv
+ Qf+4x3T/u+Cq/9vy2f/6/fr/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////39
+ +f/6+fD/+/nx//7+/f///////////////v/8+vP/9vLh/+zjvv/k16L/59yt/+zjvf/l2KX/18R3/822
+ Vf/HrD3/w6cx/8OnMP/HrDz/zbZS/9rIff/u5sX//fz5//7+/f/49Of/7eXC/+PWnv/i1Z3/592u/+zj
+ vv/w6s3/8+7Y//Xx3v/39OT/+fbr//fz5P/v6Mn/7OO+//Pu1//8+vT///7+////////////////////
+ ////////7vLf/9Dbp//K05X/3duq/+rgt//o3bD/59yt/+rftv/u5cP/8uzT//j16P/8+/b/////////
+ ///9/fr/6+O8/9C6Xf/Dpi//w6Yv/8SoMv/FpjD/v65A/63Fa/+r3J7/0e/R//n9+f//////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////f35//r58P/6+O///Pv3//7+/P///v7////+//7+
+ /P/8+/b/9vLh/+/nx//n3K3/4NGT/9nIfv/Uv2v/zbZV/8esPf/DpzH/w6cx/8asO//NtVH/2cd8/+7m
+ xP/9/Pj//v37//fz5P/r4rv/39CS/9zLhv/dzo3/4dOY/+XaqP/r4rz/8uzS//fz5P/6+fD//Pv2//z6
+ 9P/8+vP//fz4//7+/f/////////////////////////////////t8+H/z96t/8zapP/l6Mf/9O/a//Ps
+ 0//t5MH/5dik/+HSlv/n26z/8OnN//f05f/9/Pf//v79//7+/P/t5MD/0bte/8OmLv/Dpi//xKgy/8am
+ MP+9rj7/oMJh/5nYkP/H7cn/+Pz4////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///+/fv/+/nx//by4v/w6cz/8OnM//n26v/////////////////8+vT/9vLh/+3lw//j1Z7/2cZ7/8+5
+ XP/JsEb/xqo5/8SoMv/EpzH/xao4/8mvRP/UwGv/6+K6//389//+/vz/+vft//Ls0v/q4Lb/59us/+fc
+ rv/p37T/7OO///Dqzf/28d//+vjt//389//+//7/////////////////////////////////////////
+ /////////////+304//O4bP/y9+t/+ft0v/59ur/+fXp//Xw2//t5MD/6Nyu/+fcrf/p37T/7OO9/+/o
+ yP/07tj/+PXo/+rgt//QuVz/w6Yv/8OnMP/FqDL/x6cx/7qtO/+UvVX/iNJ//73pv//3/Pf/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////7+/P/7+vP/8ezS/+HTmf/f0JH/8OnN//7+
+ /f////////////7+/P/8+/b/9/Pk/+7mxP/ezo7/zLRQ/8SoNP/EqDP/xKgz/8SoM//EqDP/xKgy/822
+ VP/n3K3//Pv1/////v/+/fr//Pr0//r47v/59+v/+ffs//r37f/7+fD//Prz//38+P/+/fv//v79////
+ ////////////////////////////////////////////////////////7PXl/83kuP/K4bD/5ezP//j2
+ 6f/8+vP//Pv2//v58P/49Of/7ubG/+XYpf/g0ZX/4NGU/+fbrP/v6Mn/5dmm/863V//Dpi//w6cw/8Wo
+ M//HpzH/t6w4/4a4R/91y2z/suW0//b89f//////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////v78//v68//y7NP/4tWe/93NjP/n26z/8uvS//n26v/////////////////8+/X/9vLg/+XY
+ pP/PuFr/xao4/8SoNP/EqDP/xKgz/8OnMf/CpSv/y7JK/+TYo//6+O3//v79////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////u9uj/0ujA/8zgrv/e4LP/7+fH//r26v///////////////v/18d7/6+K8/+bb
+ q//l2ab/6N6x/+vivP/h05f/zbVS/8OnMP/DpzD/xagz/8qnM/+2qzX/d7M4/1/EVv+m4qj/9fv0////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////+/fv/+/ny//by4P/u58f/59us/97P
+ kP/f0JL/7+fI//7+/P////////////7+/P/8+vT/7OO+/9bDdP/KsUr/xqs6/8SoMv/EqDL/xKcx/8Kl
+ Lf/KsUn/4tSa//by4P/9/Pf///7+////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////L47P/b68r/0Nyo/9TO
+ iv/f0ZP/8uvR//////////////////z79v/59+z/+PTm//fz5P/z7tf/7OO+/97Ojf/MtE//w6cw/8On
+ Mf/GqDP/yqcz/7KqMv9mrij/R71A/5jdm//z+/P/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////39+v/7+fH/+Pbp//fz5P/w6Mv/4NKW/9rJgv/n26z/9fDc//r47/////7/////////
+ /v/x6s//3c2L/8+5XP/HrT//xKcy/8SoMv/EpzL/w6Yu/8mwRv/czIf/7ubF//j16P/+/fv/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////9Pnv/+Lt0f/X3az/1MqD/9nIf//n263/9O7Y//n26f/9/Pn/////////
+ //////////////r47//x68//4dOY/821Uv/DpzD/xKcx/8CoMv+3qC//lqkp/0yqGf8yty3/itmO/+z4
+ 7P/+//7/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////f36//r58P/6+O///Pr0//j0
+ 5v/r4rv/4tSc/+DSlv/l2aX/8erP//79+v////////////Pu2P/j1Z//1MFu/8mvRf/DpzH/xKcx/8So
+ Mv/DpzD/yK1A/9TAbP/j1p7/8uzS//38+f//////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////2+fH/5+/W/9/i
+ uf/d1Jr/3MuH/9vKhP/g0ZX/7eTB//n36//+/vz//////////////////f36//r47//p37P/z7lb/8Sm
+ L//FpzD/t6gw/5WoJv9oqBv/LKcJ/yGyHv991ID/4fTh//z+/P/+/v7/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////9/fn/+vnw//r58P/9/Pj/+/ry//Tv2v/r4rz/4tSb/9/PkP/q37b/9/Pk//z6
+ 9P/+/vz/9vLi/+nes//ayH//y7JK/8OnMP/DpzH/xKgy/8OnMf/Gqzv/zrdW/9rJgf/t5MH//fz3////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////j68v/s8Nv/5ufG/+bftP/j1qH/3MyJ/9zLh//n3K3/8uzS//by
+ 4f/59un//Pr0///+/v///////////+7mxP/Ru2D/xKYv/8amMP+yqC7/gqgi/0+oFP8bpgL/F68U/2/P
+ cf/Q79D/9Pv0//z+/P//////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////39+v/6+fD/+fft//r4
+ 7//6+O//+vju//by4P/r4rz/49ei/+XYpf/r4bn/9O7Z//38+P/6+O7/7+fI/9/QkP/MtE//w6Yv/8On
+ MP/EqDP/xKcx/8aqOP/KsUn/1cFu/+rgtv/8+/b/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////+vrz//Dx
+ 3f/s7NH/7+vP/+/py//t5MH/6uC3/+jesf/n3K7/592v/+vhuf/z7tj//v37////////////7ubF/9G7
+ YP/Epi//xqYw/7KoLv+CqCL/T6gU/xumAv8TrhH/Ycpj/7rnuv/m9ub/+f35////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////f36//r58f/49ej/9vLh//fz5P/8+/X//fz3//Tw2//r477/5dmn/+TX
+ ov/t5cL/+fbp//r47//079r/5Nik/8+4WP/EqDL/w6cx/8SoM//EpzL/xao3/8iuQv/SvWP/59yt//v5
+ 8f/+/v3/////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////7+vT/8/Lg//Hv2f/18uD/+PXn//n26v/28uH/7ubE/+ba
+ qv/j16H/5dmn/+3lwv/38+T/+vju//v68v/r4rv/0Lpd/8SmL//GpjD/sqgu/4CoIv9OqBX/HKYE/xCs
+ Dv9Jwkv/lNqU/8zuzP/1/PX/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////9/fr/+/nx//bz
+ 4//x69H/8ezS//n37f/+/v3/+/nx//bx4P/s5MD/5tqp/+jes//v6cv/9vLh//n26//s4rz/075n/8aq
+ Of/EqDT/xKgz/8SnMf/Fqjf/yK9C/9G8Yv/l2aX/9/Tk//38+P///v3/////////////////////////
+ //////////////////////////////////////////////////////////////////////////////z7
+ 9P/28+L/9PHd//f05f/6+O7//Pv2//z79f/39OX/8+3W//Dpzf/u5sT/6uC4/+jcr//q4bj/7+jK/+TX
+ ov/Ot1X/xaYw/8enMf+wqC//eqkj/0apFv8aqAf/CaoI/yO1JP9XxVf/peCl/+/67///////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////79+//7+vP/9fDd/+rhuv/p4Lb/9fHe/////v////7//fz4//Tw
+ 2//s477/6N6y/+nftf/x69H/+vju/+/oyf/XxHb/ya9G/8WqOP/EqDL/w6cx/8WqN//IrkH/0Lpc/+DS
+ lv/x6s7/+ffs//79+///////////////////////////////////////////////////////////////
+ /////////////////////////////////////////Pv1//f05P/079r/8+7X//Xx3v/6+O///v78//7+
+ /f/+/fv//Pv0//f05P/s477/4dOZ/+LVnP/n3K7/3s+O/8y0T//FpzD/x6cx/62pL/9wqiL/OaoV/xWp
+ CP8FqQP/B6sJ/yq2Kv+G1ob/5/fn//7//v//////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////v79//38
+ +P/z7dT/4NGV/93Ni//w6cz/////////////////+vjw//Xx3v/u5sX/6N6z/+3lw//18Nz/7eXC/9vK
+ g//Ot1f/x60//8SoMv/DpzH/xKk1/8aqOf/Lskv/18V2/+baqP/z7dX//fz4////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///9+/f/+PXn//Hqzf/m26v/5tqq//Ls0//8+/b//////////////////Pv1//Xx3v/v58f/6+K8/+je
+ sf/czIj/y7NN/8anMf/LpzL/rKku/2CqH/8lqxD/C6kG/wOpA/8FqgX/JLQk/37Tfv/f9N///f79//7/
+ /v//////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////v78//Ls0v/byoP/1sJx/+vhuf/8+/X//v37////
+ /v/+/v3//fz5//Xw3f/s5L//7OS///Doy//r4br/4NGU/9XAbf/KsUf/xKgy/8OnMf/EqDP/w6cx/8ar
+ O//PuFn/28qE/+zjvf/7+fH////+////////////////////////////////////////////////////
+ //////////////////////////////////////////////379//49OX/7eXC/97Ojf/byoP/6d+z//by
+ 4P/7+fH//f35//7+/P/+/v3//v78//38+P/38+T/7OTB/93OjP/MtE7/xKcw/8OnMP+fqSv/TqoZ/xKq
+ C/8CqQP/A6kD/weqCP8ktCT/ddB1/87uzv/z+/P//P78////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////7/9vLg/+TYo//dzYr/5Nik/+/nx//39OX/////////////////+vjv//Tw3P/x69L/8OnL/+3k
+ wv/p3rL/3s6M/822U//EqDL/w6cw/8SoM//DpzD/xak2/8uySv/VwW7/5tuq//j05v/+/fr///7+////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////Prz//Xw3f/t5cL/5Nej/9/Qk//h05j/5dmo/+zkwf/079v/+/nw//////////////////z6
+ 9P/y7db/49Wd/862VP+4piz/oaYl/3anHf81qRD/CKoG/wCpAf8BqAH/BKkE/xewF/9bx1v/quKq/9vy
+ 2//2/Pb/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////7+fD/8evP/+jdsP/g0pb/4dOY/+/o
+ yf/9/Pj///7+///////+/vz//fz5//j16f/y7NT/8OnM/+/nx//k16H/z7lb/8SnMv/DpzD/xKgz/8Sn
+ Mv/FqTb/yK5C/9C6Xf/g0ZP/8erO//r37f/+/fr/////////////////////////////////////////
+ ///////////////////////////////////////////////////6+O//8uvS/+7mxP/u5sb/6uC4/97P
+ kP/Zx37/4NKX/+viuv/08Nz//Pv2//7+/P/+/v3//fz3//f05v/o26z/0LhZ/66nKv+DqCH/VKkZ/yOp
+ DP8EqQP/AKgA/wCoAP8BpwH/CasJ/zy8PP9+037/u+i7/+757v//////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////z79v/28uD/7eXC/+HTmv/ezo7/6d+0//Xx3v/7+fH/////////////////+/rz//Xw
+ 3f/v6Mr/6uC2/97Ojf/NtVH/w6Yv/8OmL//EqDP/xKgy/8SpNf/Gqzr/yrJJ/9XBbv/i1Zz/8OnL//z7
+ 9f//////////////////////////////////////////////////////////////////////////////
+ //////////////n26v/v58b/7eTA//Tu2P/079r/6uG5/+TXo//k2KX/59yu/+rhuf/u5sb/8+3V//j0
+ 5v/69+3/9/Pj/+jbq//Pt1b/sqkw/4+xOv9itDX/J64W/wGoAP8AqAD/AKgA/wCnAP8DqQP/IbMh/1LE
+ Uv+a3Zr/5vbm////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////fz4//f05v/w6c3/59us/+LU
+ m//l2af/7OO///Xx3f/9/fn////////////9/Pf/+PXn/+/oyf/j1p7/18N0/8uySv/EqDP/w6cx/8So
+ M//EqDP/xKgz/8SoNP/Gqzn/yrFI/9K9Zf/k2KP/+PXo/////v//////////////////////////////
+ ////////////////////////////////////////////////////////9/Tl/+viuv/q4Lj/9vHf//37
+ 9//7+fD/9/Tm//DpzP/o3rL/4tWd/+DSlf/n26v/8OjK//Pu1//x69D/5Naf/862VP++sEL/scFl/4fF
+ Yv84tSv/AqgB/wCnAP8AqAD/AKcA/wKpAv8MrAz/KrYq/3rSev/Z8tn//v/+////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////9/fr/+vju//bx3//w6c3/6+K8/+bbrP/m2qr/7eXD//by4f/7+fH//v79//7+
+ /P/7+vL/9O/b/+vhuf/g0ZT/1MBr/8uzTf/GrDz/xKgz/8SnMv/EqDP/w6cx/8SoM//HrDz/zbVS/93N
+ iv/w6c3/+ffs//79+v//////////////////////////////////////////////////////////////
+ ///////////////////28uD/59ys/+baqv/079r//v79////////////+PXn//DpzP/q4Lb/59ur/+je
+ sv/r4rz/6t+2/+XXo//ey4b/1b5m/9LCb//U153/qtiU/0y+Rf8Jqwn/AacB/wCoAP8AqAD/AagB/wOo
+ A/8TrhP/YMlg/8Lqwv/w+vD/+/77////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////7+/P/9+/b/+/ry//v5
+ 8v/39OX/7OO+/+TXov/l2qn/7OS///Tw3P/9/Pj////+//7+/P/8+/X/+vft//Ls0v/k2KT/18V3/8uz
+ Tf/EqDP/w6cw/8SoM//EpzL/xKk0/8itP//NtlT/2MZ5/+XZp//x6s7/+/nx////////////////////
+ //////////////////////////////////////////////////////////////Xw3P/j16H/4dSa/+/o
+ yv/6+O///v37///////9/Pn/+/ny//n37P/49ef/8u3V/+rhuv/g0ZT/1cFv/9S/av/byYH/5tmm//Lu
+ 1v/L6sT/ZMlj/xewF/8FqQX/AagB/wCoAP8AqAD/AacB/wirCP9JwUn/oN+g/9bx1v/z+/P/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////+//7++//+/fr//v36//r48P/y7NL/6uC3/+baqf/m26v/7ubG//j1
+ 6f/9/Pj/////////////////+/rz//Hr0P/k16H/0bxi/8WqOP/DpzH/xKgz/8SoMv/EqTT/x6w8/8uy
+ S//RvGL/28qD/+jdsP/38+P//v37/////v//////////////////////////////////////////////
+ ////////////////////////9fDd/+TYo//f0JH/5tqp/+7mxf/18d//+/ny//7+/P//////////////
+ ///59+z/8OrO/9vUmf/CvmT/vb1g/8bMg//a4LH/8/Xl/9ny2v+A1IH/Nbo1/xKuEv8CqQL/AKcA/wCo
+ AP8ApgD/AqkC/y64Lv9wznD/ruOu/+f35///////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////9/v3//P78//z+/P/+/v7/////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////+//39
+ +f/69+3/9/Tl//j16P/28uL/7OTA/+TYo//o3rL/8uvS//j16f/+/fv////////////+/fz/+/nw//Dp
+ y//Zx3z/yK5D/8SpNf/EqDT/xKgy/8SoM//FqTX/xqs7/8qxSf/RvGH/39CR//Hqzv/7+PD//v37////
+ //////////////////////////////////////////////////////////////7+/f/28uH/6N6y/9/Q
+ kf/ayYL/3c6N/+nftv/18Nz/+/rz//////////////////39+v/5+O//2uS7/7DLev+fxGb/oct3/7ba
+ nP/b7tH/1fHV/5vdnP9dx13/J7Un/wOpA/8ApwD/AKgA/wCnAP8BqAH/Eq4S/zW6Nf980nz/1vHW////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////P78//P68//v+e//8Pnw//X7
+ 9f//////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////f36//j16f/28uP//Pr0//39+v/07tn/6uC3/+nf
+ tf/t5cL/8evR//by4f/6+O7//v37////////////+PXn/+PWn//SvGP/ya9E/8SoNP/DpzH/xKgz/8So
+ Mv/EqDP/xqs5/8qxSf/WwnD/5dmm//Lr0f/6+O7///7+////////////////////////////////////
+ ///////////////////+/fr/+/nx//Xy3//u58f/5tus/9/Qkv/ez5D/5tur/+7nx//079n/+PXn//v5
+ 8f/9/Pn//fv3//r47//d58P/ttKM/6TNe/+i04j/qNua/7Pjrv+v5K//mdyZ/3HOcf8zuTP/BKkE/wCn
+ AP8AqAD/AKgA/wCoAP8DqQP/Eq4S/1TFVP+15rX/6/jr//n9+f//////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////j9
+ +P/t+e3/3fPd/87uzv+/6b//tOW0/7Lksv+35rf/wurC/9Lv0v/j9eP/9fz1////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///+/fv/+vju//j26f/8+/X//v79//v68v/38+P/8erO/+viu//o3rL/6d+0//Doy//7+fH/////////
+ ///8+vT/8OjK/+HTmP/Qul7/xKk1/8OmLv/EqDP/xKgy/8SoM//EqDT/xqs6/8y0Tv/VwW7/49We//Tu
+ 2P/+/fr///////////////////////////////////////////////////////v48P/179v/8+7X//by
+ 4f/28uD/8+3W//DpzP/s5L//6eC2/+jesv/q4bj/8uzS//j26v/28+L/8OrO/+Lfsv/S1Zj/y9ie/8nk
+ tv+w4qz/gNOA/2vMbP960Xr/cM5w/zW6Nf8EqQT/AKcA/wCoAP8AqAD/AKgA/wCnAP8FqgX/OLs4/4bW
+ hv/D6sP/7Pns////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////6Pfo/8TrxP+T2pP/Zstm/07CTv9Fv0X/R8BH/1TE
+ VP9kymT/e9J7/6Xgpf/g9OD/////////////////////////////////////////////////////////
+ //////////////////////////////////////////////7+/P/8+/X/+vnw//r58P/7+vL//fz3//38
+ +P/28+L/7ubG/+jesv/l2qn/6+G6//Xw3f/69+3/+vjw//r47v/39OX/7uXE/9nHff/Jr0P/xKg0/8So
+ NP/EqDL/xKgz/8SoMv/EqDP/xqo5/8qxR//WwnH/6N2x//bx3v/8+vT/////////////////////////
+ ///////////////////+/v3/+PXo//Hpzf/y7NL/+/nx/////////////Pv2//Pu2P/r473/59yt/+ba
+ qv/s473/8erP/+3mxP/n3bD/5tur/+jdr//q5cL/6PLc/8Xsxv+C1YP/ZMpk/3TPdP9tzW3/M7kz/wKp
+ Av8ApgD/AKgA/wCoAP8AqAD/AKcA/wCoAP8hsyH/WcZZ/5fbl//X8df/+v36//7+/v//////////////
+ //////////////////////////////////////////////////////////////7//v/3/Pf/5vbm/9Hv
+ 0f+y5bL/ideJ/1HEUf8fsh//B6oH/wGoAf8FqgX/E64T/yOzI/84ujj/b81v/8Xrxf/4/fj//f79////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////+//79+//8+/X/9/Pj//Pu2P/28uH/+vju//n37f/39OX/9O/Z//DpzP/t5cL/6+K7/+vi
+ vP/u5sT/8u3V//n37P/28uL/5Neh/9K8Y//Jr0T/xak1/8OnMf/EqDP/xKgy/8SoMv/EqDP/xqo5/8y0
+ T//XxHT/5dik//Xx3v////////////////////////////////////////7+//38+f/48+T/8enM//Ps
+ 1P/8+vX/////////////////+vjv//by4f/y7NT/7ubG/+vftf/o2Kb/4tWc/9/VnP/n37P/9e3V//n1
+ 6P/4+vP/5/fo/8jsyf+t463/ktqS/2rMav8rtyv/AKcA/wClAP8AqAD/AKgA/wCoAP8ApwD/AKgA/xCt
+ EP8xuDH/bMxs/7vou//s+Oz/+v36////////////////////////////////////////////////////
+ /////////////////////////f79/+D04P+g3qD/asxq/07CTv84uzj/HrIe/wirCP8ApwD/AKYA/wCn
+ AP8EqQT/CqoK/xOtE/9HwEf/puCm/+X25f/3/Pf/////////////////////////////////////////
+ //////////////////////////////////////////////////////////////38+f/28uD/8erO//Pt
+ 1f/39OX/+/ry//79+//9/Pj/+ffs//Ls0//p37T/5dmo/+fdr//t5MH/9vHf//by4f/p37T/28mB/8+4
+ WP/Gqzv/xKcy/8SoM//EqDP/xKgz/8SoMv/EqDP/xqs5/8qxR//WwnH/6uC3//j26f/8+/b//v79////
+ //////////////7+/P/7+PD/9vHf//Hqzv/u5cL/8OnL//f05f/8+vT//fz5//7+/P////7//v78//z7
+ 9f/18uH/4t6w/8/MhP/FyHr/xs+I/9bgsf/v9eX/+v35//3+/f/+//7//v7+/+r46v+457j/gdSB/0jA
+ SP8dsh3/D6wP/wWqBf8BqAH/AKgA/wCoAP8AqAD/BaoF/xSvFP9Dv0P/j9mP/8nsyf/s+Oz//v/+////
+ ///////////////////////////////////////////////////+//7/+/77//H68f/f9N//sOSw/1zH
+ XP8csRz/CasJ/wWqBf8CqAL/AKgA/wCoAP8AqAD/AKgA/wCoAP8BpwH/A6gD/zW6Nf+a3Jr/3vTe//X7
+ 9f//////////////////////////////////////////////////////////////////////////////
+ /////////////////////////v78//r47//39OX/9/Tk//j26f/7+vP////+///////9/Pn/+fbr//Tv
+ 2f/w6cz/7eXC/+viu//q37X/6N2v/+bbqv/h05j/1cFv/8qwR//Fqjj/xKk0/8SoM//EqDP/xKgy/8So
+ Mv/EqDP/xao4/8y0T//Yx3r/5tqp//Pu1//9/Pn//////////////////fz4//Hqz//j1p//4NGV/+TX
+ ov/n3K7/6+G5/+/oyv/28+L//Pv1//////////////////X47f/H36z/mshu/4rDX/+Pym//qdmX/8/t
+ zP/p+Or/+/77////////////+/77/+D04P/B6sH/od+h/3rRev9Ev0T/FK4U/wOpA/8BqAH/AKgA/wCo
+ AP8BqAH/BqoG/x+yH/9LwUv/htaG/9Hv0f//////////////////////////////////////////////
+ //////////////v++//s+ez/yezJ/5DZkP9XxVf/IbMh/wCoAP8ApwD/BKkE/wCoAP8ApgD/AKcA/wCo
+ AP8AqAD/AKcA/wCnAP8DqAP/Pb09/6riqv/u+e7/+v36////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////7+//7+
+ /P/8+vT/+vjv//z69P/+/v3//////////v/+/v3//v78//v58v/18N3/7eXD/+TXov/g0ZP/5Nej/+TY
+ pf/Zx3z/zLRQ/8esPf/FqTX/xKgy/8SoM//EqDP/xKgz/8SoM//EqDP/xqs6/8qxSf/VwGz/59yt//by
+ 4P/7+fH/+/rz//v58P/28d//5tuq/9bDcv/Ww3P/4NKW/+TYpP/k2KT/6N6y//Hqz//39OX/+vjv//z7
+ 9v/9/fn/9Prx/7rjsP9/zHD/bMdg/3LMbP+L1on/suSx/9Lw0v/u+e7/+/77//7//v/+//7//P78//f8
+ 9//t+e3/zO3M/37Sfv8xuDH/EK0Q/wSpBP8AqAD/AKgA/wCoAP8BqAH/BqoG/xSvFP9JwUn/qeKp/+z5
+ 7P/6/fr///////////////////////////////////////3+/f/5/fn/8Prw/93z3f+u467/Y8lj/y+4
+ L/8csRz/GbEZ/yW0Jf8tty3/ILMg/w+tD/8Hqgf/AagB/wCoAP8CqQL/C6wL/yCzIP9fyF//xOvE//7/
+ /v//////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////39+f/8+vP//fz3///+/v//////////////
+ /////////v79//v58P/28d//8OjK/+vhuv/o3bD/4tWc/9bDdP/Lsk3/xqs6/8SoM//DpzH/xKgz/8So
+ M//EqDP/xKgy/8SnMv/EqDP/xao3/8uzTP/Yxnn/49ag/+nftf/r4rv/6d6y/+TWoP/dzIj/18V3/97P
+ j//r4rv/8OnM//Doyv/v6Mr/7+jK/+7nx//t5MD/7ubF//bx3//1+O7/0OrF/6jamP+a2JD/mdyY/53e
+ n/+n4af/uee5/9Dv0P/k9uT/9vz2///////////////////////v+e//reOt/2TKZP8tty3/B6oH/wCm
+ AP8AqAD/AKgA/wCoAP8AqAD/A6kD/ye1J/9wznD/s+Wz/+P14///////////////////////////////
+ ////////8Prw/9vz2//S8NL/0e/R/73ovf+W25b/f9N//3/Tf/+G1ob/jdiN/47Yjv920Hb/U8RT/yu3
+ K/8Iqwj/AKcA/wiqCP8tty3/actp/6Xgpf/h9eH/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////7//v37//38+P/+/fr////+//////////////////////////7//v79//79+//9/Pj/+ffs/+7m
+ xv/i1Jz/18R1/862Vf/IrkL/xao4/8SoM//EqDP/xKgz/8SoM//EqDP/xKgz/8SoM//EqDP/xqs7/8yz
+ Tv/SvGL/2MV4/9vKg//WxHT/0r1k/9bDcv/f0JL/6+K7//j16P/9/Pn//fz4//n26//w6cz/59yt/9/Q
+ kf/f0JH/7eO+//X05P/s8dv/3OnH/9LpxP/H68X/uOe5/6niqf+s4qz/vei9/9Tw1P/w+vD//v/+//v+
+ +//5/fn/+Pz4/+/67//M7sz/mdyZ/1PEU/8SrhL/AqcC/wCoAP8AqAD/AKgA/wCoAP8BqAH/Eq4S/zm7
+ Of9xznH/vOi8//T79P/7/vv//v/+//////////////////3+/f/k9uT/wurC/7nnuf/E68T/y+3L/8zu
+ zP/T8NP/4vXi/+357f/v+u//6vjq/8nsyf+X25f/UsRS/xOuE/8EqQT/HLEc/1rGWv+y5LL/5/fn//j9
+ +P//////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////+/v3//v77//79+//+/vv//v78////
+ /v/////////////////////////////////+/vz/9vLh/+3lwv/k2KT/28qF/9K9Zv/Kskv/xqs6/8Sn
+ Mv/Dpi//xKcx/8SoM//EqDP/xKgy/8OnMP/EqDP/x6w9/8uySv/QuV3/0r5n/863V//Ls03/18R0/+jd
+ sP/08Nz//v37/////////////Pv3//Pu1//o3a//2cd9/9XBcP/k1qH/8ezT//bz4//x8+L/3fDW/8br
+ xf+96L3/vum+/8Xrxf/T8NP/4/Xj//X89f/0+/T/1vHW/8Lqwv+/6b//xuvG/9Tw1P/K7cr/gdSB/yq2
+ Kv8Lqgv/AqkC/wCoAP8AqAD/AKgA/wCnAP8Gqgb/GK8Y/zy8PP990n3/uee5/+D04P/+//7/////////
+ ///+//7/+Pz4/+b25v/N7s3/uue6/6zirP+p4an/sOSw/8Pqw//k9uT//v/+////////////6Pfo/7Xl
+ tf9mymb/H7If/x6yHv9Nwk3/jtiO/9jx2P/9/v3/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////7//v77//39+f/9/fn//v77//7+/f/+/v3///79//7+/f///v3////+////
+ /v/9/fn/+/nx//Xw3P/s47//4NKW/9TAbP/MtE//xqw8/8SoNP/EqDP/xKgz/8SoM//EqDP/xKgz/8Wq
+ OP/Jr0T/zbVS/9G7Yf/Tvmn/z7hb/863V//czIj/7+nK//n37P/9/Pj//v79///+/v/8+vT/9O/b/+ne
+ s//XxXf/0bti/9/PkP/u58b/+fXn//j68//c89v/u+i7/7zovP/Q79D/4vXi//H68f/6/fr//f79/+v4
+ 6/+15rX/j9iP/4fWh/+W25b/yOzI/+L14v+k4KT/TMJM/x+yH/8Iqwj/AKgA/wCoAP8AqAD/AKgA/wGo
+ Af8FqQX/Fa8V/zu8O/9wznD/tOW0/+z47P/7/vv/+/77//T79P/p9+n/5vbm/+L14v/I7Mj/nt6e/4fW
+ h/+G1ob/mdyZ/8Hqwf/j9eP/9Pv0//b89v/h9eH/uee5/3DOcP8xuDH/Rb9F/4rXiv/A6cD/6vjq//7/
+ /v//////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////+/v3//v36//38
+ +P/8+/b/+/nx//n26v/28uH/9O7Z//Xx3v/7+vP//////////////////Pv2//fz4//u5sb/5dmn/9zM
+ iP/UwGr/zbVS/8itQP/EqTX/w6cx/8SoNP/HrD3/zLRQ/9XBb//dzIn/4dKY/+LVnf/g0pX/4NGU/+bb
+ q//v6Mn/8evR//Dpzf/z7dX/9/Tl//Xw2//p37T/38+Q/9bDc//XxHX/5dik//Pu1v/8+fH//f78/+n4
+ 6v/R79H/wurC/77pvv/R79H/9fz1////////////8Prw/8jsyP+p4an/mNyY/5Xblf+l4KX/ruOu/5vd
+ m/940Xj/ScFJ/xmwGf8FqQX/AagB/wCoAP8AqAD/AKgA/wCnAP8EqQT/F68X/zi7OP9uzW7/od+h/77p
+ vv/P78//zu7O/8brxv/P7s//3/Tf/9fx1/+76Lv/qeGp/6Lfov+j36P/reOt/7Xmtf+05bT/seSx/7Hk
+ sf+m4ab/eNF4/1DDUP9yz3L/uee5/+L14v/3/Pf/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////v///v7//f35//v58f/39OT/8uzT/+3kwf/n3K//6uC3//by
+ 4P////7////////////+/vz//fz4//v58f/49en/8erO/+bbqv/ayYL/z7hZ/8itQP/FqTb/xqs6/8uy
+ Tf/VwW//5Nik//Hqzv/28uD/+PXn//j05v/38+T/8u3U/+zkv//m2qn/4dOY/+XYpf/u5sb/6+K7/9rJ
+ gf/TvWb/2MZ5/+LVnf/w6cz/+/ry//7+/P/+//7/+v36//P78//M7sz/od+h/6/kr//m9+b/////////
+ ///8/vz/8vvy/+X25f/O7s7/r+Ov/4LUgv9lymX/gtSC/6Hfof940Xj/MLgw/w6sDv8EqQT/AKgA/wCo
+ AP8AqAD/AKgA/wGoAf8Gqgb/EK0Q/yS0JP9AvkD/acxp/47Zjv+V25X/lNqU/6zjrP/S8NL/5vbm/+v4
+ 6//n9+f/2/Pb/8brxv+n4af/iNaI/23Nbf9hyWH/c89z/4jWiP+B1IH/etJ6/6Lfov/f9N//+P34//3+
+ /f//////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///+/fv/+/r0//j16P/079j/7+fI/+rgt//p37b/7ufG//Pt1f/z7tf/9vLh//v58v//////////////
+ ///7+vP/8+7W/+nftP/ezo3/1cFv/8+5W//NtVP/z7ha/9bDdP/l2af/8u3V//v68///////////////
+ ///6+O7/8evQ/+ngtv/k16L/5tmo/+zjvv/o3bD/2cd9/9XBb//h05j/7ufG//j15/////7/////////
+ /////////////93z3f+v5K//rOOs/8jsyP/g9OD/9fz1/////////////v/+/+z47P/P7s//nt6e/37T
+ fv+P2I//pOCk/4DTgP9Dv0P/HbId/weqB/8ApwD/AKgA/wCoAP8AqAD/AKgA/wCnAP8AqAD/A6kD/xGu
+ Ef8wuDD/TsNO/1TEVP9UxVT/htaG/9Dv0P/1/PX////////////2/Pb/4fXh/8DpwP+g3qD/f9N//2vM
+ a/9vzm//f9N//5Lakv+q4qr/ze7N//T79P//////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////v/+/vz//fz3//v57//49uj/9vLh//Dq
+ zv/n3K3/4tSa/+PVnv/p3rP/9O/a//7+/f////////////7+/P/8+vP/9/Tk//Hr0P/p37X/4NGV/9jG
+ e//Tv2v/1MFu/93Ni//o3rH/9fDd/////v////////////79+v/7+fH/9/Pk//Lt1f/w6cz/7ufH/+ng
+ tv/h05n/4tSb/+/nx//6+O3//fz4////////////////////////////8Prw/9ny2f++6L7/peCl/7Ll
+ sv/j9uP/////////////////+v36//H68f/j9eP/1fDV/7Xmtf+R2ZH/dM90/1nGWf81ujX/Dq0O/wCn
+ AP8ApwD/AKgA/wCoAP8AqAD/AKgA/wCoAP8BqAH/BaoF/w2tDf8Wrxb/F64X/xiwGP9kymT/0e/R//3+
+ /f////////////3+/f/2/Pb/7fnt/+D04P/I7Mj/r+Ov/5Pak/+J14n/q+Kr/9zz3P/x+vH//P78////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////7//v78//79+v/8/Pf/9vPi/+rgtv/h05j/4NKV/+PWof/q4bn/8uzT//Xx
+ 3v/59ur//Pv1/////////////Pv1//by4v/u5sb/5tur/9/RlP/cy4f/3MuH/+DSlv/q4bj/9O/a//n2
+ 6v/8+/f//v79///////+/fv/+/nw//bz4v/x69D/7eXD/+viu//u5sX/+PXn////////////////////
+ ///////////////////7/vv/8vry/9Lv0v+l4KX/o9+j/8jsyP/k9uT/8Prw//v++///////////////
+ ////////1/HX/6jhqP+S2pL/hNWE/17IXv8rtyv/DqwO/wOoA/8ApwD/AKcA/wCoAP8AqAD/AKgA/wCn
+ AP8ApwD/BqoG/xGuEf8esB7/K7Yr/2nMaf+96b3/3vTe/+L14v/s+Oz/+v36///////7/vv/8Prw/9zz
+ 3P/H7Mf/seSx/6riqv/K7cr/9/z3////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////7///79//7+
+ /P/7+fL/9fHe/+/oyf/q4Lj/5dmn/+DRlf/ezo7/49ah/+3kwf/28uD//v37//////////7//Pv3//n3
+ 7P/28uD/8evR/+vhuv/h05n/3MuG/97Ni//k1qD/7eXC//j15v/9/Pj////+/////v/9/Pf/+fbq//Tv
+ 2//z7tf/9vLg//n37P/9/Pf///////////////////////////////////////7//v/7/vv/5/fn/8fs
+ x/+x5LH/puGm/7DksP/R79H/7/nv//z+/P/////////////////y+vL/4PTg/9Pw0//D6sP/l9uX/1zH
+ XP8uty7/DKwM/wCmAP8ApwD/AKgA/wCoAP8AqAD/AKYA/wCoAP8asRr/Pbw9/2PJY/+B1IH/k9qT/5rc
+ mv+h36H/reOt/8fsx//u+e7//v/+/+357f/Y8dj/w+rD/7rnuv/I7Mj/3vTe/+357f/9/v3/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////+//7++//8/Pf/+fbr//Hs0v/q4Lf/4dOZ/9zM
+ iP/f0ZT/59yt/+7mxv/18d3/+fbp//v58v/9/Pn////+///+/v/8+/b/9fHf/+nftf/g0ZX/38+P/+LU
+ mv/q4Lf/8+7Y//n37P/9/Pf//v78//79+v/7+vL/+PTn//j16f/9+/f/////////////////////////
+ ///////////////////////////////////1/PX/4vXi/8Lqwv+X25f/ideJ/6DfoP+86Lz/0/DT/+f3
+ 5//1+/X/////////////////+/77/+v46//H7Mf/ltuW/2fLZ/88vDz/ILIg/xOuE/8Jqwn/AagB/wKp
+ Av8QrBD/JbQl/03CTf970nv/peCl/8Xrxf++6b7/ot+i/5zdnP+o4aj/uee5/8/uz//b8tv/2fLZ/9Lw
+ 0v/E68T/w+rD/9703v/8/vz/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////+//7+/f/8+/X/9vLg//Dqz//w6cz/7+jK/+zjv//o3rH/5dqo/+XZpv/q37X/8uvR//j1
+ 6P/9/fn//////////v/7+vL/8+7Y/+7nxv/v6Mr/8evQ//Dqzf/w6cz/9O/a//n37P/8/Pf//v77//79
+ +v/8+/b//Pv3//7+/f////////////////////////////////////////////////////////////z+
+ /P/1+/X/1vHW/57env900HT/Xcdd/1/IX/+C1IL/ruOu/9vz2///////////////////////+/37/+v4
+ 6//X8df/u+i7/5bblv9uzW7/Qr5C/x6yHv8EqQT/BqoG/za6Nv9wznD/od+h/8rtyv/g9OD/7Pns/+j3
+ 6P/b89v/1/HX/9ry2v/F68X/m9yb/5TalP/C6sL/5vbm/+f35//n9+f/8/vz////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////79+//59uz/9/Pk//r4
+ 8P/9/Pf/9vLh/+zkwP/k2KX/4NCT/+PVnv/s4r3/9O7Z//v58P/+/vz//v78//38+f/6+O//+fbq//z6
+ 9P/9/Pj/9/Tk//Hr0P/z7tf/+fbq//z79v/+/vz/////////////////////////////////////////
+ ///////////////////////////////////////////////////n9+f/tua2/4TVhP9WxVb/Q79D/1jG
+ WP9/03//s+Wz/9/03//o9+j/6/jr//L68v/5/fn//f79///////0+/T/2vLa/7Pls/9/03//UsRS/y63
+ Lv8ptin/VsVW/5DZkP/C6sL/6ffp//T79P/3/Pf/9vz2//P78//1+/X/9vz2/9Xw1f+R2ZH/g9SD/8Hq
+ wf/2/Pb/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////7+//379//7+vP//Pv1//z79f/49un/8+7Y/+7nxv/q4Lj/6d+2/+zj
+ vv/x68//+PXm//v68//7+vP/+/rz//v68v/8+/T//v36//7//f/8+vP/+fbp//n37P/8+/X//v36////
+ /v//////////////////////////////////////////////////////////////////////////////
+ //////////////b89v/f9N//xevF/6nhqf+M14z/bs1u/2HJYf9zz3P/jtiO/5vdm/+s4qz/x+zH/+b2
+ 5v/6/fr////////////5/fn/5/fn/8/uz/+05bT/ktqS/3fRd/9ny2f/a8xr/5HZkf+/6b//1PDU/93z
+ 3f/a8tr/0O/Q/9bx1v/n9+f/4vXi/8fsx//D6sP/4vXi//z+/P//////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////7+
+ /f/8+/b/+vjv//n47v/59+z/+PXn//Xx3//y7dX/8OnM//Ls0v/39OT/+vjv//r47//6+fD//Pr0//38
+ +P/+/fr//v78//7+/f///v7////+/////v//////////////////////////////////////////////
+ /////////////////////////////////////////////////////////v/+//3+/f/5/fn/8frx/9Tw
+ 1P+Z3Jn/asxq/2LJYv9qy2r/dc91/4jWiP+o4aj/y+3L/+D04P/q+Or/7fnt/+z57P/r+Ov/6vjq/+L1
+ 4v/N7s3/q+Kr/3fQd/9XxVf/cs5y/5/en/+96L3/zu7O/8rtyv+86Lz/xOvE/9zz3P/u+e7/9/z3//z+
+ /P/9/v3/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////79+//8+/f//Pz3//38+P/8+/b/+/rz//n3
+ 7f/49Ob/+PXo//v58f/8+/b//Pv2//z89//9/fr//v78//7+/f////7/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////8frx/8/uz/+y5bL/qeKp/6jhqP+m4Kb/peCl/6bg
+ pv+n4af/o+Cj/53dnf+a3Jr/nN2c/53dnf+f3p//od+h/6Lfov+c3Zz/h9aH/3vSe/+Q2ZD/sOSw/8zt
+ zP/h9eH/4vXi/9ry2v/e9N7/7Pjs//j8+P//////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////v////7////+///+/v///v3//v79//7+/P/+/v3///7+/////v////7////+////
+ /v//////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////7/
+ /v/9/v3/+v36//b89v/0+/T/7vnu/+H14f/P7s//tua2/5ncmf+B1IH/b81v/2bKZv9mymb/Z8pn/2bK
+ Zv9tzW3/ftN+/5HZkf+f3p//reOt/73ovf/N7s3/4/Xj//f89//8/vz/+/77//z+/P/9/v3//v/+////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////9/z3/+r4
+ 6v/X8df/wurC/7Llsv+m4Kb/oN6g/6DeoP+g3qD/oN6g/6Xgpf+x5LH/v+m//83uzf/Y8tj/4PTg/+f3
+ 5//y+/L//v7+////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////7//v/9/v3/+/77//n9+f/2/Pb/8/vz//L68v/x+vH/8frx//H6
+ 8f/x+vH/8vry//P78//1/PX/9/z3//j9+P/6/fr/+/77//3+/f//////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
+
+
+
+ QuickInput
+
+
+ True
+
+
+ 460, 17
+
+
+ 189, 26
+
+
+ 托盘模式
+
+
+ 189, 26
+
+
+ 导入新设置文件
+
+
+ 189, 26
+
+
+ 另存为设置文件
+
+
+ 189, 26
+
+
+ 退出程序
+
+
+ 51, 24
+
+
+ 开始
+
+
+ 216, 26
+
+
+ 打开设置文件
+
+
+ 216, 26
+
+
+ 打开设置文件夹
+
+
+ 216, 26
+
+
+ 重新读取设置文件
+
+
+ 216, 26
+
+
+ 启动显示窗体
+
+
+ 216, 26
+
+
+ 设置开机启动
+
+
+ 216, 26
+
+
+ 测试模式
+
+
+ 51, 24
+
+
+ 设置
+
+
+ 171, 26
+
+
+ 帮助
+
+
+ 171, 26
+
+
+ 官方网站
+
+
+ 171, 26
+
+
+ 按键码查询
+
+
+ 171, 26
+
+
+ 转义查询
+
+
+ 171, 26
+
+
+ English/中文
+
+
+ 51, 24
+
+
+ 关于
+
+
+ 0, 0
+
+
+ 618, 28
+
+
+ 12
+
+
+ menuStrip1
+
+
+ menuStrip1
+
+
+ System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 4
+
+
+ 12, 105
+
+
+ 3, 2, 3, 2
+
+
+ 593, 25
+
+
+ 13
+
+
+ 更多说明访问软件网站:https://github.com/alittelboy/QuickInput
+
+
+ textBox3
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 3
+
+
+ 478, 266
+
+
+ 100, 25
+
+
+ 1
+
+
+ textBox1
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 2
+
+
+ 宋体, 9pt, style=Italic
+
+
+ 11, 191
+
+
+ 592, 25
+
+
+ 14
+
+
+ 修改快捷键,替换空格键,输入按键码,可在关于-按键码里查看。
+
+
+ False
+
+
+ placeHolderTextBox2
+
+
+ RevitDevelopment.CustomControls.PlaceHolderTextBox, QuickInput, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ $this
+
+
+ 1
+
+
+ 宋体, 9pt, style=Italic
+
+
+ 11, 151
+
+
+ 593, 25
+
+
+ 11
+
+
+ 检测时间间隔(ms)默认10
+
+
+ False
+
+
+ placeHolderTextBox1
+
+
+ RevitDevelopment.CustomControls.PlaceHolderTextBox, QuickInput, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ $this
+
+
+ 5
+
+
+ True
+
+
+ 8, 15
+
+
+ 618, 299
+
- AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAHQSAAB0EgAAAAAAAAAA
- AADHrZ//x62f/8etn//HrZ//x62f/8atn//GraD/xq2g/8atoP/GrqH/xq6g/8asnv/FrJ7/xqyf/8as
- n//Hr6L/vaCS/6SNhf+Noq7/grzY/4PO8f+L1Pf/jdX3/43U9/+Sz+z/qLfA/8Kml//JrJ3/xq2g/8et
- n//HrZ//x62f/8etn//HrZ//x62f/8esnv/HrqH/yq+g/8ysm//Nq5n/zKua/8uqmP/JqZj/zbGi/86y
- ov/NsJ//zbCg/72ejf+llI7/hcbk/4HW/f+G1fr/k9j4/53d+f+d3fr/puD8/7Pm/v+v5v//qsvb/8Ov
- pP/IrJ3/x62g/8etn//HrZ//x62f/8etn//GrZ//yLCj/8ipmf+5oZX/oKis/5i4xf+awM//n8HO/7G/
- xP+lkoz/kX99/4B1d/9ya3P/b2Zu/2Rxgv91sdP/ktj3/5vd+f+W2/r/lNj5/57e+/+k4Pz/rOL7/9Lu
- +v/N8///uNvq/8Wuof/IrZ7/x62f/8etn//GrZ//xq2g/8uvoP/Bno3/nZma/3S73f9yzff/d9H6/3jR
- +v+X3/3/ZZOy/yM8Xf8kPl//ITxh/yA7YP8kP2f/JDlg/yU9Zf+GwuL/aIOZ/5nI3v+f4f//o976/67k
- +/+v5Pv/2vH6/+74+//F8P//vMXI/8eqmv/GrqH/x62f/8mun//KrZ3/rZ2V/5OVl/9ywuj/etj//4DQ
- 9P97zPH/jNr8/3uow/8ZL1H/ITpc/yE7XP8jPVv/Iz1c/zBJbf88VHj/K0Np/3Sv0P8oQGT/aJKt/6bq
- //+l3vf/seb8/8Tr/P/w/P3/1O31/8Ly///N5eb/yqaV/8msnP/IrZ//xKeZ/3+js/9mvOT/a8n0/4bU
- +P9hiKX/NFx7/3TH7f+Q4f//Y5Oy/xYuTP9MbY3/ZIKz/1p1t/9vg8L/lLPf/5Gz4/+Glc//cq/c/0hn
- jf99qcT/oOX//6ng+v+v4/v/0/b//7XM2v82Unj/VXSZ/3iIlv+rsLL/uLWz/8Krnv+XkpP/Tq7Z/2vF
- 7v90zvf/fbva/x0vTP8cOVf/cMHn/4fc//9xpcz/XnCv/5TI9/+PqfD/oq/1/666+P+uxPb/jKvj/664
- 9f+Hwvb/nMD1/6/m+/+Z2/n/reT8/7Dj+v/V+f//e5Ct/yQ4ZP8uQGv/ITVZ/3220v+78f//wtvl/6GI
- f/91pLn/Y7/q/3nR+f9zq8r/SV6r/3GPy/90x+7/g9T5/5TW+P+Vpvf/g7Tv/3+o5v+ntPL/srz0/6K/
- 9//C6fj/lqft/5DN9P+y3/3/n9z1/5ja+f+q4vv/s+X8/9Dz/f/B0vL/lrLe/1t2m/8gMlv/Wo2r/8f3
- ///T2Nr/qYd6/5yQjf9lvOb/cMzz/4K86v+Ol+v/ia/5/3fN9P+I1fj/gdL2/5zX9v+r2fn/j7/j/3eZ
- 2P90kOn/kLbg/4Gkvv9GYJn/crXh/57L4/+EzvD/mNz7/6Xg+/+v4/z/0fP8/8DX+f+83v3/nLXu/3yG
- uP9xq8//w+Xx/8qsnP+niHz/mZKR/2K54f9vy/H/dLv1/3yQ8/9vqOn/edD0/4XS9/+D0fX/gdL2/6zl
- /f9GYHr/HzhW/zhVdv8wR2r/GytT/yhFaf96xur/Rm6S/3jE5/+b3/3/o+D7/6vi+//Q8v//u9jt/7bd
- 8f+qyPT/yMz6/5PP/P+83Ob/zKyc/6qKfv+WkZD/XLff/3PO9v9pstz/QlyO/1KQtP+A1/3/hND1/4LR
- 9v+F0vb/j9v9/4/D3P8oQmX/IDJT/ytHZv9Xfp//cKPG/4fX/P98weT/jdb4/5nb+/+h3vv/puH8/8jx
- ///A3Or/QFyF/0piif9DVIv/crbo/8Xi6//LrJz/qYh7/5KSkv9duOH/edT+/0uMsv8SJD//Ya7U/4PV
- +/+E0fX/gtH2/4jU+P+Dz/T/nuX//36uyf8rTGv/Z6/S/57p//+a4Pz/jNb3/5bc+/+d3Pj/od75/6Tg
- +f+p4v3/s+X8/977//98ob7/Kj1q/y9BZf9tr9L/yOXw/8qrmv+0koP/iped/1u65P930vz/WpzC/z1X
- cP+B0/r/g9L2/4bT+P+J1fj/i9X4/47X+v+L1vn/lt79/4/b/f+U3P3/j9f5/5DW+P+a3Pn/od34/6jh
- +v+p4fn/qOL6/6ni/f+r4/3/wev8/77t/P9LZY3/Kjxm/3G12f/K5e7/yqua/9CunP+ZqrD/Wbnl/3LK
- 9P94xuz/kM7r/4PU+P+I1Pn/itT5/4rV+f+P1/v/k9n5/5rb+P+U2Pn/ltr7/5vb+/+m4Pr/pd/5/7Li
- +P++5/j/xun3/8jr+f/I7Pv/xuz7/8Tr+/+75/z/wfL//4yzy/8ySmr/mtr3/8Pf6v/Iq5z/z62b/52u
- tP9ZuOT/dMjx/3vO9f+A0vj/hNL3/4TT+f+f3/3/ot/7/47W+f/F7f3/3/v//6vn//+e4f7/qeb//8ny
- //+/8///0fj//9n6///c+f//3vj//+L4///m+P3/6/n7/+v4+//Q7vn/0fH6/6zZ6v+77///u9vp/8Wr
- nf/PrZv/nq+0/1a14f960fP/hNb4/4nW+f+P3P//jdn9/4DH6v+R1fX/oeX//5PR7v9jk7D/YJm6/2GJ
- o/8+Y3//Qm2L/1Z/nP9gjqv/baC9/3mwz/+Bvdz/kc3r/5nU8P+m3/r/tej9/8Ty///s+fz/2fX9/77t
- ///C5fL/x7Cj/86tm/+krrH/Wrjh/1eZ2f92tev/is/z/3m63v+J0PX/Xmh7/0Bbdv9MgqP/MF5+/yxh
- hP8/gab/IkJe/ypKZ/8qSWL/Q2F5/z5eeP8dP1z/FzlZ/xY7Wv8eRGP/IElo/0Nvj/9MfJv/RXyf/5LO
- 6v+w6f7/vur+/77n9v/Csab/y6uc/7e1rv9cp9z/KT/M/zNN3/9QbOn/NmaZ/1licf+lU0X/jVpX/yJG
- av8tTnL/OWCF/y5Udf8lRWP/WXmO/1p7j/9XepD/aYuf/ytScf9Kc4//X4Wf/zxlhP86ZYP/T3aR/1Z8
- lf8SQ2f/kmFg/6PF2f+v6///zOPt/8Gtov/Iq57/xbSl/2Kc1f8sRdH/UWr0/1ly/P9CX6r/ik5B/7Zl
- Vv93Znb/MlF7/0FfiP9Scpv/S2iL/zRUcv8kSGj/JUtr/x5CYv8eSGb/Fkxo/ytfeP87dI3/Nm6K/0d+
- mP9GfJf/M3eb/zdsj//Gi4L/r8vd/6Xo///b4uH/xqqb/8WsoP/Qsp3/i5ex/ytK1/9ug/3/S2Pe/yA4
- xP97WYL/kGdp/zFWhf86XIn/RGSN/2GGr/9jibT/XYOt/1uAq/9okrf/aK/P/z93qf9hW6T/VF+k/0BR
- lv80WZD/LVyR/ydnl/8baJj/aqXE/8zu/P+h5P//qOP9/82/tv/Gqpv/xq2f/8qvn/+9pJz/ho3V/2SH
- 1v8fO8D/IjvE/zpbrf86XoX/OVmH/0dolf9YfKf/X4Wx/1Z4n/9WeJ7/bpW8/1d+t/9OZrL/lmRq/6VV
- 0f+JlOD/pLbp/59qzP+jceL/l2rY/52R4/+45/v/tOz//6jX7P+7urf/x6qa/8euoP/HrZ//x62f/8eu
- oP/Osp3/uaif/zpPxP83Utz/QV+b/zlZgP8zUn//U3Wg/16Fs/9ojrz/aI25/2WMuP92oMP/Un/N/1k/
- lP/EWzj/rYi5/5Vr5P+brev/nKXk/6B/3v+ddMz/trXo/8Ld3/+/vbz/x62f/8mrmv/HrqD/x62f/8et
- n//HrZ//x62f/8SroP/Ts5r/dnu//2d55f9pdpX/MVOB/0BhkP9Mbpj/SWSC/zZSbv9UeJ7/XYGn/0Fg
- df8yTZb/YH7r/66xxv+mltT/q7rc/6Nl0v+vrNL/omnK/51mwv+4nLn/yayV/8ipmv/HrZ//x66g/8et
- n//HrZ//x62f/8etn//HrZ//x62f/8munv+7p6P/xqyl/5mSlv8sTn7/S2yc/0Nih/8NHSb/ER8n/y1D
- Vv82TWP/FCAj/0JWe/+Zntv/xq6f/6JVv/+ua7n/sYHW/8isqf+oarb/olnW/8KkuP/Ir5v/xq2h/8et
- n//HrZ//x62f/8etn//HrZ//x62f/8etn//HrZ//xq2f/8iunv/Lr57/v6qg/0Fbgf9BYpL/U3Sf/ylD
- X/9OZXr/Xn+h/2WIq/9RaXz/i4eP/8Cpqf/NsZn/s5iq/4Z22f/Aq8L/y7Ob/7mUq/+em9z/v7Cv/8is
- nP/HraD/x62f/8etn//HrZ//x62f/8etn//HrZ//x62f/8etn//HrZ//xq2f/8Srn//StKL/en2N/y5W
- g/9TfKP/YYey/2KItv9vlb7/f6vX/5Kqxf/PsJ3/xq6f/9Ksmf99rsn/EMP//32pw//crZT/ia3C/w+v
- //9poc3/066a/8StoP/HrZ//x62f/8etn//HrZ//x62f/8etn//HrZ//x62f/8etn//HrZ//xq2f/8mu
- oP/Bq5z/ZmaV/2ltrv9df6v/YYiy/2yUv/9ljbX/r6Oh/8qunv/ErKH/z66a/56mt/8Ojf//jZ/B/9ex
- lv+sqK7/F4j9/2WW0v/VsJj/xKyh/8etn//HrZ//x62f/8etn//HrZ//x62f/8etn//HrZ//x62f/8et
- n//HrZ//xqyf/8qznf+3ecT/pU7P/6J/1/9wlMD/bpCx/6Gbnf/Mrp7/xq2f/8etn//FraD/0bCa/3yT
- yP+vpK3/y66d/9OwmP+Xm7r/kZq8/9Gxmv/FrKD/x62f/8etn//HrZ//x62f/8etn//HrZ//x62f/8et
- n//HrZ//x62f/8etn//HrKD/yLGd/6htu/+kXdn/wpna/7yqpf/Dq5//zbCg/8atn//HrZ//x62f/8et
- n//HrZ//yq6d/8atn//HrZ//xq2g/8uunf/JrZ7/x62f/8etn//HrZ//x62f/8etn//HrZ//x62f/8et
- n//HrZ//x62f/8etn//HrZ//x62f/8esn//Nspr/r2e+/7WD1P/IsqL/ya2c/8itoP/GrJ//x62f/8et
- n//HrZ//x62f/8etn//GrZ//x62f/8etn//HrZ//xq2g/8etn//HrZ//x62f/8etn//HrZ//x62f/8et
- n//HrZ//x62f/8etn//HrZ//x62f/8etn//FraD/0K2a/2eq0f9RkuX/yqif/8eunf/GraD/x62f/8et
- n//HrZ//x62f/8etn//HrZ//x62f/8etn//HrZ//x62f/8etn//HrZ//x62f/8etn//HrZ//x62f/8et
- n//HrZ//x62f/8etn//HrZ//x62f/8etn//HrZ//x62f/8atoP/PrZv/banO/3+yxP/Orpv/xq2g/8et
- n//HrZ//x62f/8etn//HrZ//x62f/8etn//HrZ//x62f/8etn//HrZ//x62f/8etn//HrZ//x62f/8et
- n//HrZ//x62f/8etn//HrZ//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABMLAAATCwAAAAAAAAAA
+ AAD/////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////v7//v78//39+v/9/Pj//fz3//389//9/Pn//v78////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////79+//7+fP/+fbq//by
+ 4f/08Nv/9O/Z//by4P/7+fL/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////+//7+
+ /f/+/fr//fz4//389//8+/T/+PXn//Lt1f/v6Mn/7eXD/+3lwv/u5sX/8uzS//r37f//////////////
+ //////////////////////////////3+/f/8/vz/+f35//f89//z+/P/8Prw/+757v/t+e3/7fnt/+z5
+ 7P/r+Ov/6vjq/+r46v/q+Or/6/jr/+z57P/t+e3/7fnt/+757v/w+vD/8/vz//b89v/5/fn//P78//3+
+ /f/+//7/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////fz5//j05v/y7dT/8uzR//Hqzv/o3rH/3c6M/93M
+ if/j1qD/6uG3//Hqzv/38+L//Pr0/////////////////////////////////////////////P78//H6
+ 8f/i9eL/zu7O/7bmtv+j36P/lNqU/4zYjP+M14z/iteK/4PVg/980nz/e9J7/3zSfP+C1IL/iteK/4zX
+ jP+M14z/k9qT/6Hfof+05bT/zO3M/+D04P/w+vD/+/37////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////7///79//7+/P/+/fv//v36//79+v/+/fr//v37//39+v/9/Pf//Pv1//z6
+ 8//7+vP//Pv2//39+v/+/fv//v36//79+v/+/fr//v37//7+/f/+/v3//v79//7+/P/+/fv//fz4//r5
+ 8P/28uD/7eXB/+XZpf/j16D/49ae/9nHe//NtVH/0Llb/97OjP/r4bn/9vLf//389////v3/////////
+ ///+//7//f79//v++//4/fj/9Pv0/+z47P/g9OD/ze7N/7Xmtf+V25X/cM5w/1DDUP84uzj/K7Yr/yq2
+ Kv8otij/HLIc/xKuEv8QrRD/Ea4R/xuxG/8ntSf/K7Yr/yu2K/83ujf/TsJO/2zMbP+S2pL/suWy/8vt
+ y//e9N7/6/jr//T79P/3/Pf/+f35//v++//8/vz//v/+////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////7+/f/8+/b/+fbr//Xw
+ 3f/z7tf/8+7X//Tu2P/079n/8evQ/+rgt//l2KT/49af/+XZpf/r4rv/8uzT//Tv2f/z7tj/8+7X//Pu
+ 1//28eD/+vfu//v58v/59+z/9/Tl//Xw3f/w6s3/6N6x/+DRk//Zx3v/1MBq/9O+Z//Tv2n/0rxj/9G7
+ X//XxXf/5Nej/+/oyv/59+v////+///////////////////////y+/L/3vTe/8DpwP+h36H/jtiO/4LU
+ gv90z3T/ZMpk/0/DT/82ujb/IbMh/xGuEf8Jqwn/CKsI/weqB/8AqAD/AKUA/wCkAP8ApQD/AKcA/waq
+ Bv8Iqwj/CKsI/xCtEP8fsh//NLk0/0zCTP9iyWL/cs9y/4DUgP+O2I7/nd6d/7Pls//K7cr/3PPc/+z4
+ 7P/5/fn/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////+///+
+ /v///v3//v79//79+f/8+/T/+ffr//Xx3v/v6Mn/6N2x/+XZpf/l2ab/5dqn/+baqv/h05n/1MBs/8uy
+ Sv/IrkH/zLNN/9fEdf/j1p7/5tuq/+XZp//l2aX/5dmm/+nftf/x6s//8+7Y//Dqzv/t5cL/6uC2/+PW
+ nv/Ww3H/y7NM/8iuQf/IrkH/x6w9/8iuQP/QuVz/3MuG/+baqf/u58j/9vLh//z69P////7//v/+//z+
+ /P/5/fn/7fnt/9Xx1f+v5K//d9F3/0C+QP8ltCX/G7Eb/xavFv8TrhP/D60P/wusC/8Hqgf/BKkE/wOp
+ A/8DqQP/AqkC/wGoAf8AqAD/AKgA/wCoAP8BqAH/AqkC/wOpA/8DqQP/BKkE/weqB/8Kqwr/D60P/xKu
+ Ev8VrxX/GrEa/yW0Jf85uzn/YMhg/4rXiv+s4qz/yOzI/+H04f/0+/T/+/77//z+/P/9/v3//v/+////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////v/8+/X/+ffr//f05f/18Nz/7+fH/+jesP/l2KT/4tSc/93O
+ jP/Yxnn/1sJx/9bCcf/Ww3L/18R0/9O+Z//KsEf/wqYt/8GjJ//DpzD/zLNN/9TAbP/XxHX/1sNz/9bC
+ cf/Ww3H/2cd8/97Ojf/g0pb/4NGU/+DRk//h05j/39CR/9fEdf/Qul7/0Llc/9C6Xf/MtE//ybBG/9G7
+ Yf/f0JD/6uG5//Tw3P/8+fL///7+///////x+vH/3PPc/7/pv/+f3p//g9WD/2PKY/84uzj/Dq0O/wCm
+ AP8ApAD/AKQA/wClAP8ApQD/AKUA/wClAP8ApQD/AKYA/wCmAP8ApgD/AKYA/wCmAP8ApwD/AKcA/wCn
+ AP8ApwD/AKcA/wCnAP8ApwD/AKcA/wCnAP8ApgD/AKYA/wClAP8ApgD/AKgA/w+tD/8rtyv/SsFK/2PK
+ Y/950Xn/jtiO/6Pfo/+25rb/yu3K/9703v/x+vH//f79////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////Pv2//by
+ 4P/v6Mr/7OO9/+bbqv/byoL/z7hZ/8uyS//Lskz/yrFI/8mvRP/IrkL/yK5C/8ivQ//Jr0P/yK5A/8Wq
+ OP/EqDL/w6cx/8SoM//Gqzr/yK5B/8mvQ//Ir0L/yK5C/8iuQv/Jr0X/yrFJ/8y0T//Ot1b/075n/9vK
+ hP/h05n/4tWe/+LWnv/j16H/4tWc/9rJgf/SvWb/1cJx/+DRlP/s473/+PXn//79+////v7/8/vz/9Xx
+ 1f+q4qr/b85v/z69Pv8ntSf/GrEa/w+tD/8FqgX/AagB/wCoAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCo
+ AP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCo
+ AP8AqAD/AKgA/wCoAP8BqAH/BKkE/wusC/8SrhL/GLAY/x2yHf8otij/Obs5/1jGWP+C1IL/q+Kr/9Pw
+ 0//u+e7/+v36////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////7+/f/8+vT/+vfs//j15//z7dX/6N6w/9/PkP/ayYL/1sNz/821Uv/DpzH/wKMn/8Gk
+ Kv/Dpi7/xKgz/8SoNf/EqDT/xKg0/8SoNP/EqDP/w6cw/8OmL//DpzD/w6cx/8OnMP/DpzD/w6Yv/8Om
+ L//Dpi//xKcy/8esPf/Ls03/zbVS/8uzTf/PuVz/3MuH/+fcrf/t5cT/8OrO//Dqzf/s5MD/49af/9rJ
+ gv/ezo3/6d6x//Tt1P/9+vT/8/v0/9jy2P+457j/kNmQ/2fLZ/8+vT7/IbMh/xyxHP8isyL/Lrcu/zq8
+ Ov87vDv/Nbo1/yi2KP8asRr/IrMi/z29Pf9Lwkv/SsFK/0jBSP9HwEf/RsBG/0jBSP9Dv0P/Lbct/xSv
+ FP8Kqwr/CKsI/w+tD/8bsRv/GbAZ/wysDP8DqQP/AKcA/wCnAP8ApwD/AKcA/wCoAP8AqAD/AKcA/wCn
+ AP8ApgD/AKYA/wCnAP8Kqwr/IrMi/0W/Rf9qzGr/kNmQ/63jrf++6b7/0e/R/+v46///////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////Pv1//Xx3v/w6cv/7OO//+XZ
+ pf/XxHX/zLRP/8mwRv/Jr0T/xqs6/8OnMf/Cpi7/w6Yv/8WpNv/IrUD/ya9E/8mvRP/JrkP/ya9E/8it
+ QP/Fqjf/w6cx/8OnMP/EpzH/xKcy/8SnMv/DpzH/xKcx/8WpNf/HrT//z7lc/9vKhP/dzYr/1MBt/9TA
+ bf/i1Jv/7ufH//fz4v/6+O7/9vPi//Dpy//n3K//4tSb/+jdsP/18Nv//Prz//39+//c89z/nN2c/2XK
+ Zf85uzn/I7Qj/yi1KP84uzj/S8FL/2LJYv9+037/k9qT/5TalP+E1YT/ZMpk/0C9QP9SxFL/k9qT/7fm
+ t/+35rf/s+Wz/7Pls/+y5bL/t+a3/6riqv910HX/Ors6/x+yH/8asBr/KrYq/0O/Q/8/vT//JLQk/xCt
+ EP8DqQP/AKcA/wCnAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCnAP8ApwD/AKgA/wOpA/8Kqwr/FK8U/yO0
+ I/84uzj/TsJO/2PJY/+I1oj/xuvG//f89///////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /v/+/fv//Pr0//n26v/y7NP/59yu/+HTmP/h0pb/3s6N/9XCcP/PuVr/0Lpd/9K9Zf/RvGL/0Llc/863
+ V//NtlT/z7lb/9O+aP/WwnL/2MV5/9nHfP/Zx3z/2MV4/9XBb//SvWX/z7hY/8uyS//HrD3/xKgz/8So
+ NP/HrT7/zbVT/9bCcP/f0JP/6uG4/+vjvf/j1p//4NGV/+baqv/t5cP/9O/a//by4v/v58j/5tur/+XZ
+ pv/p3rH/8OrN//f47v/t+u//1vHX/6/jr/950Xn/SsFK/yS0JP8csRz/Pb09/2XKZf+D1IP/nN2c/67j
+ rv+35rf/suSy/57env910HX/R8BH/1LDUv+O2I7/uee5/8vty//Z8tn/5vbm/+/57//z+/P/5/fn/7Tl
+ tP970nv/WMZY/0W/Rf9Fv0X/UsRS/1fFV/9VxVX/TMJM/zy8PP8tty3/ILMg/xOuE/8Gqgb/AKcA/wCn
+ AP8ApwD/AKgA/wCoAP8AqAD/AKgA/wCnAP8ApwD/AagB/wqrCv8YsBj/KLUo/0vBS/+I1oj/wOnA/+L1
+ 4v/4/Pj/////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////v78//v68//28uD/7ubE/+LVnP/UwGv/z7la/9bC
+ cf/dzYn/4dOX/+XZpv/r4rv/7+fH/+zjvP/m2qn/4tSb/9/RlP/h05j/5dmm/+rgt//w6cv/8+3U//Ls
+ 0//y69H/8erN/+7lw//k16L/2cd7/821U//FqTb/xqo5/822VP/byoT/7OO+//Xw2//49ej/+Pbp//Xx
+ 3v/x69D/6uC2/+XZp//o3bD/592v/9zLhf/Tvmb/3cyJ/+3lwv/08uL/7/fr/8vtzP+S2pP/dM90/3DO
+ cP9lymX/TMJM/03CTf930Hf/o9+j/73ovf/J7Mn/wOnA/6zirP+d3Z3/jNeM/2XKZf82ujb/KrYq/0C9
+ QP9jyWP/ktqS/77pvv/k9uT//P78///////6/fr/5/fn/9Dv0P+t463/htWG/2TKZP9Nwk3/Ysli/5jc
+ mP+t463/nd6d/4LUgv9gyGD/O7w7/xewF/8ApwD/AKYA/wCnAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCn
+ AP8AqAD/AqkC/weqB/8NrA3/G7Eb/zW6Nf9hyWH/qOGo/+j36P//////////////////////////////
+ /////////////////////////////////////////////////////////////////////////v78//38
+ +P/8+/X/+vnw//Tw2//r4rv/4NKV/9S/av/PuFn/075o/9vKg//m2qn/7+jK//by4P/59un/9fHe//Dp
+ zP/s5MH/6+K7/+vjvf/u5sX/8evR//by4P/6+O7//v37/////////////v36//Pu2P/n3K7/2smB/9C6
+ Xv/NtlX/0bxk/+DRlf/079n//fz3/////v////////////z69P/w6cz/5tur/+HTmf/byoT/zrdW/8es
+ Pf/TwW7/5OC3/+fv1//e8dn/vOi8/4rXiv970Xv/jdiN/5TalP+H1of/htWG/5fbl/+o4aj/s+Wz/7fm
+ t/+y5bL/qeGp/6Hfof+W25b/etF6/1XEVf9AvUD/Pbw9/0/DT/940Xj/o9+j/8rtyv/l9uX/6Pfo/+35
+ 7f/3/Pf//////+X25f++6b7/ktmS/2zMbP950Xn/reOt/8nsyf/I7Mj/uOe4/5zdnP950Xn/UMNQ/y64
+ Lv8fsh//Eq4S/wirCP8AqAD/AKcA/wCoAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wCnAP8BqAH/BqoG/yO0
+ I/9xznH/v+m/////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////8+vT/+PXp//n26v/7+fH/+Pbo//Pt1f/t5sP/6d+z/+LV
+ nP/Zx33/18R3/+LUnP/r473/7eTB/+vivf/r4rv/6+K8/+zkwP/u5sT/7ebE/+zkv//q4Lf/59yu/+zj
+ vv/59uv/////////////////+/ry//bx3//v6Mn/59yu/9zMif/UwGz/28qD/+rhuv/18d///fz4////
+ /////////v79//r37P/y7NL/4dOa/9K8ZP/JrkH/xKo4/8a5Wv/K0I3/yN6q/8Pmuv/D68P/xuzH/8vt
+ y//S8NL/1vHW/9Lv0v/E68T/ltuW/27Nbv9bx1v/X8hf/4XVhf+z5bP/xOvE/8Pqw/+757v/rOKs/5/e
+ n/+W25b/jtiO/4nWif+M2Iz/mt2a/6niqf+x5LH/wOnA/+H14f//////+v36/+j36P/Q79D/tea1/57e
+ nv+N2I3/k9qT/7Hksf/H7Mf/0e/R/8ztzP+15rX/lNqU/2vMa/9AvUD/HLEc/wGoAf8ApgD/AKcA/wCo
+ AP8AqAD/AKgA/wCoAP8AqAD/AKcA/wCnAP8ApwD/Dq0O/z+9P/980nz/////////////////////////
+ ///////////////////////////////////////////////////////////////////+/vz//fz5//r3
+ 7v/38+T/+PXp//z79f/8+/X/+fft//n26v/59+z/8uzS/+DSlv/XxHb/3c6N/+TYpf/k2KT/5Nei/+fb
+ rP/r4br/7ubF//DpzP/u58f/6uG4/+PXof/cy4b/38+P/+3kwf/49ef/+/jw//38+P/+/v3///7+//38
+ +P/49ef/6uG6/93Ni//czIn/5dmn/+3mxP/28uH//Prz//79+/////7//f36//by4f/g0ZP/zLNO/8ap
+ Nv/Eqjf/wLJJ/7vAZf+zzH7/sNmX/8Lmuf/i9OD/9fv1//z+/P//////+/77/9703v+E1YT/O7w7/yi1
+ KP87vDv/fNJ8/8brxv/i9eL/5/fn/+v46//q9+r/5fbl/9zz3P/I7Mj/quKq/5bblv+U2pT/mNyY/5zd
+ nP+p4qn/x+zH/+f35//y+vL/+f35//f89//q+Or/xOvE/47Yjv+D1IP/ot+i/8Lqwv/c89z/6vjq/+r4
+ 6v/Y8tj/ruOu/3vSe/9Nwk3/JbUl/xOtE/8Hqgf/AqkC/wCoAP8AqAD/AKgA/wCoAP8AqAD/AKgA/wGn
+ Af8MrAz/NLk0/2vMa///////////////////////////////////////////////////////////////
+ //////////////////////////7+//v68//59ur/+ffs//v68//9/Pj//v79//7+/f/9/fr//f36//7+
+ /P/49ef/6N2w/9zMif/ayYD/3MyI/+LUmv/p3rL/7+fI//Tv2f/18d7/9O/Z//Dpy//q4Lb/4tSa/9jG
+ ef/VwW//2cd9/+HTmf/s47//9/Pj//38+P////////////39+f/38+P/8OnL/+vhuv/o3bH/592w/+rg
+ uP/w6c3/+/nw/////v/59+z/7ubF/9nHfP/IrUD/xKcx/8SpNP/CrDv/vrJH/7O8Wf+nyHH/rdeS/8Hm
+ uP/a8tv/+f35///////1+/X/x+zH/2PKY/8isyL/OLs4/2/Ob/+r4qv/4fXh//T79P/3/Pf/+v36//v9
+ +//5/fn/9fv1/+r46v/a8tr/z+/P/8zuzP/L7cv/werB/7jnuP+w5LD/suWy/8jsyP/q9+r/+f35//v+
+ +//q+Or/ze7N/7rnuv+u467/quKq/6viq/+35rf/0/DT/+X25f/e9N7/x+zH/6bgpv980nz/TcJN/x2x
+ Hf8FqQX/AagB/wCoAP8AqAD/AKgA/wCoAP8AqAD/A6gD/xmxGf9cx1z/pN+k////////////////////
+ /////////////////////////////////////////////////////////////////v/+/fv/+vft//by
+ 4v/39OX/+vjv//z69P/9/Pj//f36//39+v/9/fr//v36//j05v/p3rP/3c2K/9fEdf/Yxnj/49ae//Do
+ y//49OX//Pv0//z68//49eb/8+3V/+3kwP/m2qf/3c2J/9bDcf/Rul//1L9q/+LUm//v6Mr/9/Pj//v6
+ 8//9/fr///7+///+/f/+/vz/9/Tm/+7mxv/o3bD/5dmm/+nftP/079r/9/Tl/+/oyf/i1Z3/0r1k/8Wq
+ OP/Dpi//xKgz/8WoMv/DqTX/uK9A/6i6Uv+ixmz/pNSM/7njsv/d8tv/5vbm/83uzf+a3Jr/Qr9C/xiw
+ GP9WxVb/q+Kr/9ry2v/3/Pf//v/+//7//v/+//7//v/+//7//v/+//7//v/+//3+/f/8/vz//P78//j9
+ +P/n9+f/0O/Q/7DksP+b3Zv/suWy/9zz3P/t+e3/8Prw//P78//1/PX/5vbm/7/pv/+h36H/kdmR/5Ta
+ lP+y5LL/0e/R/+b25v/u+e7/4/Xj/8Xrxf+N2I3/ScBJ/yCyIP8LrAv/AqgC/wCoAP8AqAD/AagB/weq
+ B/8UrxT/Orw6/43Yjf/b8tv/////////////////////////////////////////////////////////
+ /////////////////////////fz5//v69P/6+fD/+PXo//Lr0v/s473/7ubF//Xw3P/49Ob/+PTn//j1
+ 6P/59uv/8evR/97Pjv/SvWT/075n/9vKgf/p37P/9/Pj//z79f///v3//v77//z69P/59uv/9vLg//Ls
+ 0//u5sP/59yr/97OjP/byYL/4dKX/+fcrv/r4br/7+fI//fz5P/////////////////9/Pf/9/Pk//Ls
+ 0//u5sb/6uG5/+fcrv/i1Z7/3MyJ/9XBb//Ms07/xak1/8OnMP/EqDP/xacy/8SnMf++qjb/tq8//666
+ VP+oyHH/p9OK/6jdnv+c3Zz/f9SA/1rGWv8ptin/I7Qj/3TQdP/P78//8frx//3+/f//////////////
+ //////////////////////////////////////////////f89//p+On/1vHW/8jsyP/R79H/4PTg/9Xw
+ 1f/A6cD/w+vD/9vz2//h9eH/0e/R/8Hqwf+557n/ruOu/5/en/+a3Jr/sOSw/8zuzP/j9eP/6/jr/9Hv
+ 0f+e3p7/Y8pj/yW0Jf8EqQT/AKcA/wCnAP8DqQP/Fq8W/z69Pv90z3T/uOe4//D68P//////////////
+ //////////////////////////////////////////////////////////79//79+//8+vT/+vjv//z7
+ 9f/7+fH/7+fG/+HSl//j1Z//7eTB//Hqzv/w6cv/8OjK/+/oyv/n26v/075n/8qxR//Tvmj/4tSa//Hq
+ zf/8+/b///7+//////////7///7+//7+/f/+/vz//v36//389//49Ob/7ubE/+fbq//k16L/49af/+LU
+ m//k2KX/7+jJ//v48P/9/fn//v78//7+/f/+/vz//Pv2//n36//w6cv/4NKY/9XCcf/Qul//zLRR/8it
+ QP/EqTT/xKgy/8SoM//EqDP/xKgz/8SoMv/DqTT/v7JH/7fBZf+iyXH/fstt/1vHW/86vDv/I7Qj/xav
+ Fv8vuC//jNiM/+f35//9/v3//v/+////////////////////////////////////////////////////
+ /////////v/+//3+/f/7/vv/+f35//T79P/p9+n/yOzI/6DfoP+h36H/wurC/9Xw1f/W8db/1/HX/9vz
+ 2//L7cv/mNyY/3TPdP+B1IH/ot+i/8fsx//l9uX/6vjq/9bx1v+e3p7/TsJO/x2yHf8MrAz/CqsK/xew
+ F/84uzj/dM90/67jrv/b89v/+f35////////////////////////////////////////////////////
+ //////////////7+/P/7+vP/+vju//v68//9/Pn//v78//38+P/y7NP/5tqp/+XZpv/p4Lb/6eC2/+ba
+ qv/i1Jz/3c6L/9fEdf/PuFj/z7hZ/93Ni//t5MH/+PTl//7+/f//////////////////////////////
+ //////////////389//28d//7+jJ/+vhuf/n3K3/5Nik/+PXov/m26v/7OO9//Ls1P/6+O///v79////
+ /////////f36//f05P/t5MH/49We/9jFef/PuFn/yK5B/8SoMv/DpzD/xKgz/8SoM//EqDP/xKcw/8Wn
+ Mf/Js0z/y8Z1/7POgP+Cym3/UcJO/yW0Jf8MrAz/CqsK/y64Lv+S2pL/7/rv////////////////////
+ /////////////////////////////////////////////////////////////////////////v/+//T7
+ 9P/e897/xOvE/8TrxP/X8df/1vHW/7/pv/+15rX/werB/8DqwP+k4KT/jdiN/5HZkf+Z3Jn/ltuW/5La
+ kv+e3p7/r+Ov/6jhqP+O2I7/aMto/zm7Of8vuC//UcNR/3/Tf/+w5LD/2vLa//D68P/+//7/////////
+ /////////////////////////////////////////////////////////fz5//j16f/28uL/+fft//38
+ +P/+/vz//v78//j15//w6s3/7eTB/+rhuf/m2qn/39CS/9fDdP/NtVH/ybBE/822Uv/XxXb/6d+z//f0
+ 5v/9/Pn///7+/////////////////////////////////////////////fz3//j05v/z7tf/8evP/+/n
+ yP/s477/6N6x/+LVnf/g0ZP/59yu//Pu2P/6+O7//fz5//7+/f/+/v3//v37//z79v/28uD/59ur/9jF
+ ef/NtVL/xqo4/8SnMv/EqDP/xKgz/8SoM//DpzD/xKgz/861Uv/ayoL/xtKO/5HMdf9awVD/JLIg/waq
+ Bv8Kqwr/M7kz/5bblv/x+vH/////////////////////////////////////////////////////////
+ ///////////////////////////////////+//7//f79//r9+v/2/Pb/9vz2//b89v/d893/rOOs/5Xb
+ lf+k4KT/s+Wz/7fmt/+15bX/r+Ov/53dnf9vzW//Q75D/0/CT/970nv/puCm/8nsyf+35rf/ddB1/2XK
+ Zf+X25f/yOzI/+X25f/3/Pf//P78////////////////////////////////////////////////////
+ /////////v79//39+f/8+vT/+ffs//by4v/y7NL/8erO//fz5P/+/v3//Pv2//j15//18N3/8u3U/+zj
+ vf/i1Jv/1sJy/8mvRP/Fqjb/zLRP/9nIff/t5cH//Pv2////////////////////////////////////
+ ///////////////////8+vT/8+3U/+7mxf/z7dX/9vLh//Tw2//x69H/6+K8/+baqP/k2KT/5tqq/+vi
+ vP/z7db/+fbr//7+/P////////////38+P/z7dT/59us/9nGev/NtVH/x6w8/8SoNP/DpzH/xKgz/8On
+ Mf/EqDP/zLBH/9a+Z//Cw23/kcBa/1q5Pf8grhX/CKsI/x+zIf9VxVX/quKq//T79P//////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////+v46//I7Mj/t+a3/8DqwP/H7Mf/werB/7jnuP+w5LD/od+h/3vS
+ e/9axlr/Zspm/47Yjv+35rf/3fPd/9vy2/+z5bP/quKq/8ztzP/r+Ov/+v36////////////////////
+ ///////////////////////////////////////////////////+/fv/+/rz//r58P/8+/X/+PXo/+rg
+ t//i1Jv/7uXD//z79v/+/vz//f35//38+P/8+/b/9O/a/+bbq//Yxnr/y7JK/8arOv/MtVD/2ch9/+7m
+ w//9/Pn///////////////////////////////////////////////////////n26f/q4Lb/5tmn//Lr
+ 0f/8+/b//fz3//z69P/59uv/8+7Y/+fcrv/byoT/3MyJ/+fcrv/x68//+vjv/////v///////v79//z7
+ 9v/38+L/59yt/9jFd//NtVH/xqo4/8OnMf/EqDP/xKgz/8SoM//Hqjf/yaw+/7SvPf+KsDb/WK4m/x+p
+ DP8QrQ//P75B/4DTgP/D6sP/9/z3////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////+/77//T7
+ 9P/v+u//8Prw/+b35v/L7cv/s+Wz/63jrf+s46z/pOCk/57env+p4an/vui+/9Dv0P/g9OD/6Pfo/+r3
+ 6v/t+e3/9Pv0//r9+v/9/v3/////////////////////////////////////////////////////////
+ //////////////79+//7+fH/+vjv//39+f/6+O7/6+G5/+DRlf/n3K7/8+7X//n37P////7/////////
+ ///079v/4NKW/9G8Yv/IrkH/x6w9/8+4Wf/dzIf/8OjJ//79+///////////////////////////////
+ //////////////79+//7+fL/9O7Y/+XZpf/i1Jr/8OnL//38+P////////////7//v/6+fD/7+jL/+TX
+ o//g0pf/49ah/+jdsP/u5sT/9O/a//z68/////////////7+/P/z7db/5tqq/9fEdv/KsUn/xao3/8So
+ NP/EqDL/xKgz/8anMv/FpzD/rqcs/4GpJf9Rqhn/HqgI/xivFv9UxVX/mtya/9Hv0f/5/fn/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////9vz2/9/03//L7cv/yOzI/8rt
+ yv/M7cz/zu7O/9Xx1f/f9N//5vbm/+z47P/0+/T/////////////////////////////////////////
+ /////////////////////////////////////////////////////////v37//v58f/6+O///f36//z6
+ 9P/w6s3/5tur/+TXo//n3K7/8erP//z79v///////////+/oyf/VwW7/xqs7/8SoMv/IrkH/075n/+HT
+ l//y69H//v37/////////////////////////////////////////////Pv1//bx4P/u5cT/5Nag/+LU
+ m//u5sT/+fbq//38+f////////////79+//7+fH/+PTm//Doy//m2qn/4NKW/+DQk//n26v/9vHf////
+ ///////////+//z69P/28uD/5Nik/9K9Zf/Jr0X/xao3/8SnMf/EqDP/xqgz/8aoM/+tqC3/fagh/02p
+ Fv8iqAn/IrEe/2PKY/+p4qn/2vLa//r9+v//////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////9/v3/9vz2//H68f/w+vD/8frx//H68f/y+/L/9Pv0//b89v/4/fj/+v36//z+
+ /P//////////////////////////////////////////////////////////////////////////////
+ /////////////////v/9/Pf/+fbq//j16f/8+/f//fz5//bz4v/v58j/5tqq/+LUm//q4Lf/9vHf//n2
+ 6//59uv/6d+z/8+4WP/CpSv/wqUs/8mvRf/Xw3P/5dmm//Tv2P/+/vz/////////////////////////
+ ///////////+//7+/f/6+O//8+3W/+3kwP/o3a//59ys/+vivP/x68//9vLh//r48P/9/fr/////////
+ ////////+ffs/+7mxf/m2qr/4tWc/+XYpf/u5sT/9O/a//by4f/59+z//v36//7+/P/w6c3/39CS/9K8
+ ZP/IrkH/xKgz/8SoM//FqDP/xagz/7SoL/+RqCX/Z6gb/zioD/81syb/dc5w/7nnuf/i9eP/+/77////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////7//v77//v58P/18d7/9PDb//r4
+ 7//+/v3//Pv2//j16P/s5MD/4tWe/+XZpv/s477/7ufI/+7nxv/h1Jr/zbVS/8KlLf/CpS3/yrFH/9rI
+ ff/p3rL/9vHf//7+/P/////////////////////////////////+/vz//Pv3//j16f/y7NP/8OjK//Hq
+ z//w6cv/6eC2/+fcrf/s47//8+7Y//r37f/////////////////+/fv/+vft//by4P/y7NP/7OTA/+XZ
+ p//j1p//6N2w/+/oyv/59ur//v79//r47v/v6Mj/3s+O/821U//Gqjn/xak1/8SoM//EqDP/wKgy/7ao
+ L/+WqCf/W6gY/0yzLv+I0X3/x+vG/+n46v/8/vz/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////7+/f/9/Pj/+PXo//Dpzf/v6Mn/+PXn/////////////v37//Pu2P/q37b/59yu/+fd
+ r//m26r/4tWd/9jGev/KsUn/w6Yv/8KmLv/KsUn/28qD/+vhuf/38+L//v79////////////////////
+ //////////////z79v/49Of/9fDd//Tu2f/18Nz/+PXn//fz4//u5sb/6d6z/+viu//v6Mr/8uzU//Tv
+ 2v/079n/9O/b//j05v/8+/b//v37//v68//079r/6N2x/+LVnP/k2KT/6d+0/+/oyP/079n/9/Tl//Xw
+ 3f/n3K7/1sJy/8uzTv/Gqzr/w6cx/8SoMv/GqDT/yag0/6+oLf9xpxz/XbMx/5TSgv/P7s3/7Pnu//z+
+ /P//////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////v78//z79P/18d7/6uG4/+nf
+ tP/28d////////////////7/+/nx//by4v/w6c3/6N6z/9/RlP/WwnL/zbZV/8esPf/DpzD/w6Yu/8qx
+ Sf/byoP/6+K6//fz4//+/v3/////////////////////////////////+ffr//Dqzf/w6cz/9/Tk//z6
+ 9P/9/Pj//Pv2//n26v/28d//8+3V/+/nx//n3K3/4NGV/9zMif/ezo7/59yv//Xx3v/8+/f//f36//v6
+ 8v/28uH/8uvR/+zjvv/m26v/4dOY/+DRlf/p37T/8erP/+3kwf/i1Zz/1cJv/8iuQv/Dpi//xKcy/8ao
+ NP/JqDT/sagt/3imHP9nsjD/mNGC/8/uzf/s+e7//P78////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////+/fv/+/ry//Tv2v/p37X/59us//DpzP/59ur//Pv1/////////////v79//j1
+ 5//u5sX/4NKX/9K9Zf/KsEf/xqo5/8OnMf/Dpi//yrFI/9rIfv/p37T/9vLg//7+/P//////////////
+ /////////v78//379//18N3/6+K7/+zjvf/28d///Pv1//7+/P////////////7+/P/59+z/8uvR/+TX
+ ov/XxXj/1cFv/9nHff/i1Z3/7+jI//f05f/8+/X//v79///////8+/b/9O/Z/+rhuP/f0ZP/2smC/+LV
+ nf/r4rz/7OTA/+fcr//ayoL/y7JK/8SoMv/EqDL/xagz/8eoNP+wpy3/e6Yb/2uxL/+a0YH/z+3M/+z5
+ 7v/8/vz/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////79+//7+fH/9vLg/+7n
+ x//p37T/5tqq/+nftP/18Nv//////////////////Pv2//f05v/q4bn/2sh//863V//HrD7/w6cw/8Om
+ L//JsEX/18N0/+bZpv/079n//v78///////////////////////8+vP/9vLg//Doyf/p37P/6d6y/+3l
+ w//079n/+/ry//////////////////39+f/59ur/6+K8/9/Rk//i1Z3/6uG6/+zkv//q4bn/7ufH//f0
+ 5P/9/Pj////////////7+fH/9fHf/+/nyP/p37X/5tus/+XZp//l2af/49ah/9rIf//NtVL/xqs7/8Wp
+ Nf/FqDP/x6g0/7CnLP95phr/abEv/5rQgf/P7cz/7Pnu//z+/P//////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////f36//v58f/49ef/9PDb/+7mxf/j1qD/4dKW/+3kwP/69+z//fz3////
+ /v///////v78//Lr0f/f0JH/0bxi/8iuQf/DpzD/w6Yv/8mvQ//VwGz/49Wd//Pt1P/+/vz/////////
+ ///+/vz//fz4//n26v/07db/7+fI/+zjvf/q4Lb/6N6y/+zkv//18d3//Pr0//38+P/+/fv//f36//v6
+ 8//x68//6d6z/+/oyv/6+O7/9vLh/+vjvf/p4Lf/7unL//Px3v/6+O///v36//7+/f/+/vz/+/rz//fz
+ 4//u5sb/5tur/+TYpf/j16L/28qF/9C5XP/Jr0T/xao4/8WoM//GqDP/s6ct/4SmHf93sTL/odCB/9Ds
+ y//s+O3//P78////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////9/fr/+vnx//n3
+ 7P/69+3/9vLg/+zjv//m2qj/5tmo/+rgt//079n///7+////////////8erP/93Mif/PuVv/x60//8On
+ MP/Dpi//ya9D/9XAbP/j1Z3/8+3U//7+/P/////////+//v58f/38+T/9/Li//j05P/38+T/9vLg//Lr
+ 0f/q4br/6N2w/+rhuP/v58j/9vLg//r58P/49ej/9fDc//Hqzv/v6Mn/9fHe//39+f/7+vT/9fHd/+rl
+ wv/d2qb/3tup/+3py//59en//v36/////////////Pv2//f05f/z7dX/8erP/+3mxP/i1Z3/075p/8qx
+ Sf/Gqzr/xKgy/8WoM/+8pzD/pqYm/6CwPP+3z4T/0+rH/+v36v/8/vz/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////39+f/6+fD/+vnw//39+f/8+/b/9vLi/+7nxv/k16L/4NGU/+zi
+ vP/69+3//f35//7+/P/v6Mr/2siA/821U//HrDz/w6cx/8OnMP/IrkL/1L9q/+LUmv/y7NP//v37////
+ ///+/fv/9/Tl//Lr0P/079n/+/nw//7+/P/+/vz/+fbr/+/oyf/o3bD/5Nil/+bbq//u58f/9O/a//Ls
+ 0//w6Mv/8uvQ//Xw3P/59+z//v36/////v/9/fr/7OvQ/9DPjf/MyYD/4duq//Lr0f/59ej//fv3//79
+ +////v7//v79//79+//8+/X/9/Tl/+viu//ayYP/z7ha/8etP//EpzL/xKgy/8OnMv/Bpi7/wrBE/8bN
+ hP/S58H/6Pbm//z++///////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////f35//r5
+ 8P/6+fD//v37//7+/f/8+vP/9vLh/+zjvv/l2KX/5tqo/+viu//179v//fz5//Dqzv/ZyID/zLRR/8as
+ PP/DpzH/w6cw/8itP//Ru1//3s6M//DpzP/+/fr///////z69f/079r/7uXD//Hrz//59+z//v79////
+ ///9/Pf/9PDc/+7nyP/s473/6d+1/+fcrv/o3bD/7eXC//Pt1f/38+P/+vju//379////v3/////////
+ ///t7tf/z9KS/8jIe//a05j/6N6y/+zjvv/x6s//+fbr///////////////////////8+/b/9PDc/+nf
+ tf/byoL/y7JL/8OnMP/DpzH/xacy/8amL//HsET/w8p9/8jkt//i9OD/+/36////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////9/fn/+vnw//r58P/9/Pn///////7+/f/8+/b/9vLh/+/n
+ x//l2KX/4NGU/+zivP/59ur/7+jJ/9nIf//MtVL/x6w8/8OnMf/DpzD/x6w8/862VP/ayX//7ufF//39
+ +f/+/v7/+vfu//Hr0P/q4Lb/7OS///Tv2v/59+z//Pv3//z79f/49ej/9vLg//Xx3v/x6s7/5dmn/+HT
+ mP/s477/+PXo//379//+/fv///7+/////////////////+7x3P/Q2J//yc2G/9jSlP/j1qD/49Wf/+fb
+ rP/y7NP//Pv2//79+//+/vz//v79//7+/f/8+/b/9/Pk/+bbqv/PuFj/w6Yv/8OnMP/EqDL/xaYv/8Kv
+ Qf+4x3T/u+Cq/9vy2f/6/fr/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////39
+ +f/6+fD/+/nx//7+/f///////////////v/8+vP/9vLh/+zjvv/k16L/59yt/+zjvf/l2KX/18R3/822
+ Vf/HrD3/w6cx/8OnMP/HrDz/zbZS/9rIff/u5sX//fz5//7+/f/49Of/7eXC/+PWnv/i1Z3/592u/+zj
+ vv/w6s3/8+7Y//Xx3v/39OT/+fbr//fz5P/v6Mn/7OO+//Pu1//8+vT///7+////////////////////
+ ////////7vLf/9Dbp//K05X/3duq/+rgt//o3bD/59yt/+rftv/u5cP/8uzT//j16P/8+/b/////////
+ ///9/fr/6+O8/9C6Xf/Dpi//w6Yv/8SoMv/FpjD/v65A/63Fa/+r3J7/0e/R//n9+f//////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////f35//r58P/6+O///Pv3//7+/P///v7////+//7+
+ /P/8+/b/9vLh/+/nx//n3K3/4NGT/9nIfv/Uv2v/zbZV/8esPf/DpzH/w6cx/8asO//NtVH/2cd8/+7m
+ xP/9/Pj//v37//fz5P/r4rv/39CS/9zLhv/dzo3/4dOY/+XaqP/r4rz/8uzS//fz5P/6+fD//Pv2//z6
+ 9P/8+vP//fz4//7+/f/////////////////////////////////t8+H/z96t/8zapP/l6Mf/9O/a//Ps
+ 0//t5MH/5dik/+HSlv/n26z/8OnN//f05f/9/Pf//v79//7+/P/t5MD/0bte/8OmLv/Dpi//xKgy/8am
+ MP+9rj7/oMJh/5nYkP/H7cn/+Pz4////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///+/fv/+/nx//by4v/w6cz/8OnM//n26v/////////////////8+vT/9vLh/+3lw//j1Z7/2cZ7/8+5
+ XP/JsEb/xqo5/8SoMv/EpzH/xao4/8mvRP/UwGv/6+K6//389//+/vz/+vft//Ls0v/q4Lb/59us/+fc
+ rv/p37T/7OO///Dqzf/28d//+vjt//389//+//7/////////////////////////////////////////
+ /////////////+304//O4bP/y9+t/+ft0v/59ur/+fXp//Xw2//t5MD/6Nyu/+fcrf/p37T/7OO9/+/o
+ yP/07tj/+PXo/+rgt//QuVz/w6Yv/8OnMP/FqDL/x6cx/7qtO/+UvVX/iNJ//73pv//3/Pf/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////7+/P/7+vP/8ezS/+HTmf/f0JH/8OnN//7+
+ /f////////////7+/P/8+/b/9/Pk/+7mxP/ezo7/zLRQ/8SoNP/EqDP/xKgz/8SoM//EqDP/xKgy/822
+ VP/n3K3//Pv1/////v/+/fr//Pr0//r47v/59+v/+ffs//r37f/7+fD//Prz//38+P/+/fv//v79////
+ ////////////////////////////////////////////////////////7PXl/83kuP/K4bD/5ezP//j2
+ 6f/8+vP//Pv2//v58P/49Of/7ubG/+XYpf/g0ZX/4NGU/+fbrP/v6Mn/5dmm/863V//Dpi//w6cw/8Wo
+ M//HpzH/t6w4/4a4R/91y2z/suW0//b89f//////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////v78//v68//y7NP/4tWe/93NjP/n26z/8uvS//n26v/////////////////8+/X/9vLg/+XY
+ pP/PuFr/xao4/8SoNP/EqDP/xKgz/8OnMf/CpSv/y7JK/+TYo//6+O3//v79////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////u9uj/0ujA/8zgrv/e4LP/7+fH//r26v///////////////v/18d7/6+K8/+bb
+ q//l2ab/6N6x/+vivP/h05f/zbVS/8OnMP/DpzD/xagz/8qnM/+2qzX/d7M4/1/EVv+m4qj/9fv0////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////+/fv/+/ny//by4P/u58f/59us/97P
+ kP/f0JL/7+fI//7+/P////////////7+/P/8+vT/7OO+/9bDdP/KsUr/xqs6/8SoMv/EqDL/xKcx/8Kl
+ Lf/KsUn/4tSa//by4P/9/Pf///7+////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////L47P/b68r/0Nyo/9TO
+ iv/f0ZP/8uvR//////////////////z79v/59+z/+PTm//fz5P/z7tf/7OO+/97Ojf/MtE//w6cw/8On
+ Mf/GqDP/yqcz/7KqMv9mrij/R71A/5jdm//z+/P/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////39+v/7+fH/+Pbp//fz5P/w6Mv/4NKW/9rJgv/n26z/9fDc//r47/////7/////////
+ /v/x6s//3c2L/8+5XP/HrT//xKcy/8SoMv/EpzL/w6Yu/8mwRv/czIf/7ubF//j16P/+/fv/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////9Pnv/+Lt0f/X3az/1MqD/9nIf//n263/9O7Y//n26f/9/Pn/////////
+ //////////////r47//x68//4dOY/821Uv/DpzD/xKcx/8CoMv+3qC//lqkp/0yqGf8yty3/itmO/+z4
+ 7P/+//7/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////f36//r58P/6+O///Pr0//j0
+ 5v/r4rv/4tSc/+DSlv/l2aX/8erP//79+v////////////Pu2P/j1Z//1MFu/8mvRf/DpzH/xKcx/8So
+ Mv/DpzD/yK1A/9TAbP/j1p7/8uzS//38+f//////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////2+fH/5+/W/9/i
+ uf/d1Jr/3MuH/9vKhP/g0ZX/7eTB//n36//+/vz//////////////////f36//r47//p37P/z7lb/8Sm
+ L//FpzD/t6gw/5WoJv9oqBv/LKcJ/yGyHv991ID/4fTh//z+/P/+/v7/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////9/fn/+vnw//r58P/9/Pj/+/ry//Tv2v/r4rz/4tSb/9/PkP/q37b/9/Pk//z6
+ 9P/+/vz/9vLi/+nes//ayH//y7JK/8OnMP/DpzH/xKgy/8OnMf/Gqzv/zrdW/9rJgf/t5MH//fz3////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////j68v/s8Nv/5ufG/+bftP/j1qH/3MyJ/9zLh//n3K3/8uzS//by
+ 4f/59un//Pr0///+/v///////////+7mxP/Ru2D/xKYv/8amMP+yqC7/gqgi/0+oFP8bpgL/F68U/2/P
+ cf/Q79D/9Pv0//z+/P//////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////39+v/6+fD/+fft//r4
+ 7//6+O//+vju//by4P/r4rz/49ei/+XYpf/r4bn/9O7Z//38+P/6+O7/7+fI/9/QkP/MtE//w6Yv/8On
+ MP/EqDP/xKcx/8aqOP/KsUn/1cFu/+rgtv/8+/b/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////+vrz//Dx
+ 3f/s7NH/7+vP/+/py//t5MH/6uC3/+jesf/n3K7/592v/+vhuf/z7tj//v37////////////7ubF/9G7
+ YP/Epi//xqYw/7KoLv+CqCL/T6gU/xumAv8TrhH/Ycpj/7rnuv/m9ub/+f35////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////f36//r58f/49ej/9vLh//fz5P/8+/X//fz3//Tw2//r477/5dmn/+TX
+ ov/t5cL/+fbp//r47//079r/5Nik/8+4WP/EqDL/w6cx/8SoM//EpzL/xao3/8iuQv/SvWP/59yt//v5
+ 8f/+/v3/////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////7+vT/8/Lg//Hv2f/18uD/+PXn//n26v/28uH/7ubE/+ba
+ qv/j16H/5dmn/+3lwv/38+T/+vju//v68v/r4rv/0Lpd/8SmL//GpjD/sqgu/4CoIv9OqBX/HKYE/xCs
+ Dv9Jwkv/lNqU/8zuzP/1/PX/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////9/fr/+/nx//bz
+ 4//x69H/8ezS//n37f/+/v3/+/nx//bx4P/s5MD/5tqp/+jes//v6cv/9vLh//n26//s4rz/075n/8aq
+ Of/EqDT/xKgz/8SnMf/Fqjf/yK9C/9G8Yv/l2aX/9/Tk//38+P///v3/////////////////////////
+ //////////////////////////////////////////////////////////////////////////////z7
+ 9P/28+L/9PHd//f05f/6+O7//Pv2//z79f/39OX/8+3W//Dpzf/u5sT/6uC4/+jcr//q4bj/7+jK/+TX
+ ov/Ot1X/xaYw/8enMf+wqC//eqkj/0apFv8aqAf/CaoI/yO1JP9XxVf/peCl/+/67///////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////79+//7+vP/9fDd/+rhuv/p4Lb/9fHe/////v////7//fz4//Tw
+ 2//s477/6N6y/+nftf/x69H/+vju/+/oyf/XxHb/ya9G/8WqOP/EqDL/w6cx/8WqN//IrkH/0Lpc/+DS
+ lv/x6s7/+ffs//79+///////////////////////////////////////////////////////////////
+ /////////////////////////////////////////Pv1//f05P/079r/8+7X//Xx3v/6+O///v78//7+
+ /f/+/fv//Pv0//f05P/s477/4dOZ/+LVnP/n3K7/3s+O/8y0T//FpzD/x6cx/62pL/9wqiL/OaoV/xWp
+ CP8FqQP/B6sJ/yq2Kv+G1ob/5/fn//7//v//////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////v79//38
+ +P/z7dT/4NGV/93Ni//w6cz/////////////////+vjw//Xx3v/u5sX/6N6z/+3lw//18Nz/7eXC/9vK
+ g//Ot1f/x60//8SoMv/DpzH/xKk1/8aqOf/Lskv/18V2/+baqP/z7dX//fz4////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///9+/f/+PXn//Hqzf/m26v/5tqq//Ls0//8+/b//////////////////Pv1//Xx3v/v58f/6+K8/+je
+ sf/czIj/y7NN/8anMf/LpzL/rKku/2CqH/8lqxD/C6kG/wOpA/8FqgX/JLQk/37Tfv/f9N///f79//7/
+ /v//////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////v78//Ls0v/byoP/1sJx/+vhuf/8+/X//v37////
+ /v/+/v3//fz5//Xw3f/s5L//7OS///Doy//r4br/4NGU/9XAbf/KsUf/xKgy/8OnMf/EqDP/w6cx/8ar
+ O//PuFn/28qE/+zjvf/7+fH////+////////////////////////////////////////////////////
+ //////////////////////////////////////////////379//49OX/7eXC/97Ojf/byoP/6d+z//by
+ 4P/7+fH//f35//7+/P/+/v3//v78//38+P/38+T/7OTB/93OjP/MtE7/xKcw/8OnMP+fqSv/TqoZ/xKq
+ C/8CqQP/A6kD/weqCP8ktCT/ddB1/87uzv/z+/P//P78////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////7/9vLg/+TYo//dzYr/5Nik/+/nx//39OX/////////////////+vjv//Tw3P/x69L/8OnL/+3k
+ wv/p3rL/3s6M/822U//EqDL/w6cw/8SoM//DpzD/xak2/8uySv/VwW7/5tuq//j05v/+/fr///7+////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////Prz//Xw3f/t5cL/5Nej/9/Qk//h05j/5dmo/+zkwf/079v/+/nw//////////////////z6
+ 9P/y7db/49Wd/862VP+4piz/oaYl/3anHf81qRD/CKoG/wCpAf8BqAH/BKkE/xewF/9bx1v/quKq/9vy
+ 2//2/Pb/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////7+fD/8evP/+jdsP/g0pb/4dOY/+/o
+ yf/9/Pj///7+///////+/vz//fz5//j16f/y7NT/8OnM/+/nx//k16H/z7lb/8SnMv/DpzD/xKgz/8Sn
+ Mv/FqTb/yK5C/9C6Xf/g0ZP/8erO//r37f/+/fr/////////////////////////////////////////
+ ///////////////////////////////////////////////////6+O//8uvS/+7mxP/u5sb/6uC4/97P
+ kP/Zx37/4NKX/+viuv/08Nz//Pv2//7+/P/+/v3//fz3//f05v/o26z/0LhZ/66nKv+DqCH/VKkZ/yOp
+ DP8EqQP/AKgA/wCoAP8BpwH/CasJ/zy8PP9+037/u+i7/+757v//////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////z79v/28uD/7eXC/+HTmv/ezo7/6d+0//Xx3v/7+fH/////////////////+/rz//Xw
+ 3f/v6Mr/6uC2/97Ojf/NtVH/w6Yv/8OmL//EqDP/xKgy/8SpNf/Gqzr/yrJJ/9XBbv/i1Zz/8OnL//z7
+ 9f//////////////////////////////////////////////////////////////////////////////
+ //////////////n26v/v58b/7eTA//Tu2P/079r/6uG5/+TXo//k2KX/59yu/+rhuf/u5sb/8+3V//j0
+ 5v/69+3/9/Pj/+jbq//Pt1b/sqkw/4+xOv9itDX/J64W/wGoAP8AqAD/AKgA/wCnAP8DqQP/IbMh/1LE
+ Uv+a3Zr/5vbm////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////fz4//f05v/w6c3/59us/+LU
+ m//l2af/7OO///Xx3f/9/fn////////////9/Pf/+PXn/+/oyf/j1p7/18N0/8uySv/EqDP/w6cx/8So
+ M//EqDP/xKgz/8SoNP/Gqzn/yrFI/9K9Zf/k2KP/+PXo/////v//////////////////////////////
+ ////////////////////////////////////////////////////////9/Tl/+viuv/q4Lj/9vHf//37
+ 9//7+fD/9/Tm//DpzP/o3rL/4tWd/+DSlf/n26v/8OjK//Pu1//x69D/5Naf/862VP++sEL/scFl/4fF
+ Yv84tSv/AqgB/wCnAP8AqAD/AKcA/wKpAv8MrAz/KrYq/3rSev/Z8tn//v/+////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////9/fr/+vju//bx3//w6c3/6+K8/+bbrP/m2qr/7eXD//by4f/7+fH//v79//7+
+ /P/7+vL/9O/b/+vhuf/g0ZT/1MBr/8uzTf/GrDz/xKgz/8SnMv/EqDP/w6cx/8SoM//HrDz/zbVS/93N
+ iv/w6c3/+ffs//79+v//////////////////////////////////////////////////////////////
+ ///////////////////28uD/59ys/+baqv/079r//v79////////////+PXn//DpzP/q4Lb/59ur/+je
+ sv/r4rz/6t+2/+XXo//ey4b/1b5m/9LCb//U153/qtiU/0y+Rf8Jqwn/AacB/wCoAP8AqAD/AagB/wOo
+ A/8TrhP/YMlg/8Lqwv/w+vD/+/77////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////7+/P/9+/b/+/ry//v5
+ 8v/39OX/7OO+/+TXov/l2qn/7OS///Tw3P/9/Pj////+//7+/P/8+/X/+vft//Ls0v/k2KT/18V3/8uz
+ Tf/EqDP/w6cw/8SoM//EpzL/xKk0/8itP//NtlT/2MZ5/+XZp//x6s7/+/nx////////////////////
+ //////////////////////////////////////////////////////////////Xw3P/j16H/4dSa/+/o
+ yv/6+O///v37///////9/Pn/+/ny//n37P/49ef/8u3V/+rhuv/g0ZT/1cFv/9S/av/byYH/5tmm//Lu
+ 1v/L6sT/ZMlj/xewF/8FqQX/AagB/wCoAP8AqAD/AacB/wirCP9JwUn/oN+g/9bx1v/z+/P/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////+//7++//+/fr//v36//r48P/y7NL/6uC3/+baqf/m26v/7ubG//j1
+ 6f/9/Pj/////////////////+/rz//Hr0P/k16H/0bxi/8WqOP/DpzH/xKgz/8SoMv/EqTT/x6w8/8uy
+ S//RvGL/28qD/+jdsP/38+P//v37/////v//////////////////////////////////////////////
+ ////////////////////////9fDd/+TYo//f0JH/5tqp/+7mxf/18d//+/ny//7+/P//////////////
+ ///59+z/8OrO/9vUmf/CvmT/vb1g/8bMg//a4LH/8/Xl/9ny2v+A1IH/Nbo1/xKuEv8CqQL/AKcA/wCo
+ AP8ApgD/AqkC/y64Lv9wznD/ruOu/+f35///////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////9/v3//P78//z+/P/+/v7/////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////+//39
+ +f/69+3/9/Tl//j16P/28uL/7OTA/+TYo//o3rL/8uvS//j16f/+/fv////////////+/fz/+/nw//Dp
+ y//Zx3z/yK5D/8SpNf/EqDT/xKgy/8SoM//FqTX/xqs7/8qxSf/RvGH/39CR//Hqzv/7+PD//v37////
+ //////////////////////////////////////////////////////////////7+/f/28uH/6N6y/9/Q
+ kf/ayYL/3c6N/+nftv/18Nz/+/rz//////////////////39+v/5+O//2uS7/7DLev+fxGb/oct3/7ba
+ nP/b7tH/1fHV/5vdnP9dx13/J7Un/wOpA/8ApwD/AKgA/wCnAP8BqAH/Eq4S/zW6Nf980nz/1vHW////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////P78//P68//v+e//8Pnw//X7
+ 9f//////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////f36//j16f/28uP//Pr0//39+v/07tn/6uC3/+nf
+ tf/t5cL/8evR//by4f/6+O7//v37////////////+PXn/+PWn//SvGP/ya9E/8SoNP/DpzH/xKgz/8So
+ Mv/EqDP/xqs5/8qxSf/WwnD/5dmm//Lr0f/6+O7///7+////////////////////////////////////
+ ///////////////////+/fr/+/nx//Xy3//u58f/5tus/9/Qkv/ez5D/5tur/+7nx//079n/+PXn//v5
+ 8f/9/Pn//fv3//r47//d58P/ttKM/6TNe/+i04j/qNua/7Pjrv+v5K//mdyZ/3HOcf8zuTP/BKkE/wCn
+ AP8AqAD/AKgA/wCoAP8DqQP/Eq4S/1TFVP+15rX/6/jr//n9+f//////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////j9
+ +P/t+e3/3fPd/87uzv+/6b//tOW0/7Lksv+35rf/wurC/9Lv0v/j9eP/9fz1////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///+/fv/+vju//j26f/8+/X//v79//v68v/38+P/8erO/+viu//o3rL/6d+0//Doy//7+fH/////////
+ ///8+vT/8OjK/+HTmP/Qul7/xKk1/8OmLv/EqDP/xKgy/8SoM//EqDT/xqs6/8y0Tv/VwW7/49We//Tu
+ 2P/+/fr///////////////////////////////////////////////////////v48P/179v/8+7X//by
+ 4f/28uD/8+3W//DpzP/s5L//6eC2/+jesv/q4bj/8uzS//j26v/28+L/8OrO/+Lfsv/S1Zj/y9ie/8nk
+ tv+w4qz/gNOA/2vMbP960Xr/cM5w/zW6Nf8EqQT/AKcA/wCoAP8AqAD/AKgA/wCnAP8FqgX/OLs4/4bW
+ hv/D6sP/7Pns////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////6Pfo/8TrxP+T2pP/Zstm/07CTv9Fv0X/R8BH/1TE
+ VP9kymT/e9J7/6Xgpf/g9OD/////////////////////////////////////////////////////////
+ //////////////////////////////////////////////7+/P/8+/X/+vnw//r58P/7+vL//fz3//38
+ +P/28+L/7ubG/+jesv/l2qn/6+G6//Xw3f/69+3/+vjw//r47v/39OX/7uXE/9nHff/Jr0P/xKg0/8So
+ NP/EqDL/xKgz/8SoMv/EqDP/xqo5/8qxR//WwnH/6N2x//bx3v/8+vT/////////////////////////
+ ///////////////////+/v3/+PXo//Hpzf/y7NL/+/nx/////////////Pv2//Pu2P/r473/59yt/+ba
+ qv/s473/8erP/+3mxP/n3bD/5tur/+jdr//q5cL/6PLc/8Xsxv+C1YP/ZMpk/3TPdP9tzW3/M7kz/wKp
+ Av8ApgD/AKgA/wCoAP8AqAD/AKcA/wCoAP8hsyH/WcZZ/5fbl//X8df/+v36//7+/v//////////////
+ //////////////////////////////////////////////////////////////7//v/3/Pf/5vbm/9Hv
+ 0f+y5bL/ideJ/1HEUf8fsh//B6oH/wGoAf8FqgX/E64T/yOzI/84ujj/b81v/8Xrxf/4/fj//f79////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////+//79+//8+/X/9/Pj//Pu2P/28uH/+vju//n37f/39OX/9O/Z//DpzP/t5cL/6+K7/+vi
+ vP/u5sT/8u3V//n37P/28uL/5Neh/9K8Y//Jr0T/xak1/8OnMf/EqDP/xKgy/8SoMv/EqDP/xqo5/8y0
+ T//XxHT/5dik//Xx3v////////////////////////////////////////7+//38+f/48+T/8enM//Ps
+ 1P/8+vX/////////////////+vjv//by4f/y7NT/7ubG/+vftf/o2Kb/4tWc/9/VnP/n37P/9e3V//n1
+ 6P/4+vP/5/fo/8jsyf+t463/ktqS/2rMav8rtyv/AKcA/wClAP8AqAD/AKgA/wCoAP8ApwD/AKgA/xCt
+ EP8xuDH/bMxs/7vou//s+Oz/+v36////////////////////////////////////////////////////
+ /////////////////////////f79/+D04P+g3qD/asxq/07CTv84uzj/HrIe/wirCP8ApwD/AKYA/wCn
+ AP8EqQT/CqoK/xOtE/9HwEf/puCm/+X25f/3/Pf/////////////////////////////////////////
+ //////////////////////////////////////////////////////////////38+f/28uD/8erO//Pt
+ 1f/39OX/+/ry//79+//9/Pj/+ffs//Ls0//p37T/5dmo/+fdr//t5MH/9vHf//by4f/p37T/28mB/8+4
+ WP/Gqzv/xKcy/8SoM//EqDP/xKgz/8SoMv/EqDP/xqs5/8qxR//WwnH/6uC3//j26f/8+/b//v79////
+ //////////////7+/P/7+PD/9vHf//Hqzv/u5cL/8OnL//f05f/8+vT//fz5//7+/P////7//v78//z7
+ 9f/18uH/4t6w/8/MhP/FyHr/xs+I/9bgsf/v9eX/+v35//3+/f/+//7//v7+/+r46v+457j/gdSB/0jA
+ SP8dsh3/D6wP/wWqBf8BqAH/AKgA/wCoAP8AqAD/BaoF/xSvFP9Dv0P/j9mP/8nsyf/s+Oz//v/+////
+ ///////////////////////////////////////////////////+//7/+/77//H68f/f9N//sOSw/1zH
+ XP8csRz/CasJ/wWqBf8CqAL/AKgA/wCoAP8AqAD/AKgA/wCoAP8BpwH/A6gD/zW6Nf+a3Jr/3vTe//X7
+ 9f//////////////////////////////////////////////////////////////////////////////
+ /////////////////////////v78//r47//39OX/9/Tk//j26f/7+vP////+///////9/Pn/+fbr//Tv
+ 2f/w6cz/7eXC/+viu//q37X/6N2v/+bbqv/h05j/1cFv/8qwR//Fqjj/xKk0/8SoM//EqDP/xKgy/8So
+ Mv/EqDP/xao4/8y0T//Yx3r/5tqp//Pu1//9/Pn//////////////////fz4//Hqz//j1p//4NGV/+TX
+ ov/n3K7/6+G5/+/oyv/28+L//Pv1//////////////////X47f/H36z/mshu/4rDX/+Pym//qdmX/8/t
+ zP/p+Or/+/77////////////+/77/+D04P/B6sH/od+h/3rRev9Ev0T/FK4U/wOpA/8BqAH/AKgA/wCo
+ AP8BqAH/BqoG/x+yH/9LwUv/htaG/9Hv0f//////////////////////////////////////////////
+ //////////////v++//s+ez/yezJ/5DZkP9XxVf/IbMh/wCoAP8ApwD/BKkE/wCoAP8ApgD/AKcA/wCo
+ AP8AqAD/AKcA/wCnAP8DqAP/Pb09/6riqv/u+e7/+v36////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////7+//7+
+ /P/8+vT/+vjv//z69P/+/v3//////////v/+/v3//v78//v58v/18N3/7eXD/+TXov/g0ZP/5Nej/+TY
+ pf/Zx3z/zLRQ/8esPf/FqTX/xKgy/8SoM//EqDP/xKgz/8SoM//EqDP/xqs6/8qxSf/VwGz/59yt//by
+ 4P/7+fH/+/rz//v58P/28d//5tuq/9bDcv/Ww3P/4NKW/+TYpP/k2KT/6N6y//Hqz//39OX/+vjv//z7
+ 9v/9/fn/9Prx/7rjsP9/zHD/bMdg/3LMbP+L1on/suSx/9Lw0v/u+e7/+/77//7//v/+//7//P78//f8
+ 9//t+e3/zO3M/37Sfv8xuDH/EK0Q/wSpBP8AqAD/AKgA/wCoAP8BqAH/BqoG/xSvFP9JwUn/qeKp/+z5
+ 7P/6/fr///////////////////////////////////////3+/f/5/fn/8Prw/93z3f+u467/Y8lj/y+4
+ L/8csRz/GbEZ/yW0Jf8tty3/ILMg/w+tD/8Hqgf/AagB/wCoAP8CqQL/C6wL/yCzIP9fyF//xOvE//7/
+ /v//////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////39+f/8+vP//fz3///+/v//////////////
+ /////////v79//v58P/28d//8OjK/+vhuv/o3bD/4tWc/9bDdP/Lsk3/xqs6/8SoM//DpzH/xKgz/8So
+ M//EqDP/xKgy/8SnMv/EqDP/xao3/8uzTP/Yxnn/49ag/+nftf/r4rv/6d6y/+TWoP/dzIj/18V3/97P
+ j//r4rv/8OnM//Doyv/v6Mr/7+jK/+7nx//t5MD/7ubF//bx3//1+O7/0OrF/6jamP+a2JD/mdyY/53e
+ n/+n4af/uee5/9Dv0P/k9uT/9vz2///////////////////////v+e//reOt/2TKZP8tty3/B6oH/wCm
+ AP8AqAD/AKgA/wCoAP8AqAD/A6kD/ye1J/9wznD/s+Wz/+P14///////////////////////////////
+ ////////8Prw/9vz2//S8NL/0e/R/73ovf+W25b/f9N//3/Tf/+G1ob/jdiN/47Yjv920Hb/U8RT/yu3
+ K/8Iqwj/AKcA/wiqCP8tty3/actp/6Xgpf/h9eH/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////7//v37//38+P/+/fr////+//////////////////////////7//v79//79+//9/Pj/+ffs/+7m
+ xv/i1Jz/18R1/862Vf/IrkL/xao4/8SoM//EqDP/xKgz/8SoM//EqDP/xKgz/8SoM//EqDP/xqs7/8yz
+ Tv/SvGL/2MV4/9vKg//WxHT/0r1k/9bDcv/f0JL/6+K7//j16P/9/Pn//fz4//n26//w6cz/59yt/9/Q
+ kf/f0JH/7eO+//X05P/s8dv/3OnH/9LpxP/H68X/uOe5/6niqf+s4qz/vei9/9Tw1P/w+vD//v/+//v+
+ +//5/fn/+Pz4/+/67//M7sz/mdyZ/1PEU/8SrhL/AqcC/wCoAP8AqAD/AKgA/wCoAP8BqAH/Eq4S/zm7
+ Of9xznH/vOi8//T79P/7/vv//v/+//////////////////3+/f/k9uT/wurC/7nnuf/E68T/y+3L/8zu
+ zP/T8NP/4vXi/+357f/v+u//6vjq/8nsyf+X25f/UsRS/xOuE/8EqQT/HLEc/1rGWv+y5LL/5/fn//j9
+ +P//////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////+/v3//v77//79+//+/vv//v78////
+ /v/////////////////////////////////+/vz/9vLh/+3lwv/k2KT/28qF/9K9Zv/Kskv/xqs6/8Sn
+ Mv/Dpi//xKcx/8SoM//EqDP/xKgy/8OnMP/EqDP/x6w9/8uySv/QuV3/0r5n/863V//Ls03/18R0/+jd
+ sP/08Nz//v37/////////////Pv3//Pu1//o3a//2cd9/9XBcP/k1qH/8ezT//bz4//x8+L/3fDW/8br
+ xf+96L3/vum+/8Xrxf/T8NP/4/Xj//X89f/0+/T/1vHW/8Lqwv+/6b//xuvG/9Tw1P/K7cr/gdSB/yq2
+ Kv8Lqgv/AqkC/wCoAP8AqAD/AKgA/wCnAP8Gqgb/GK8Y/zy8PP990n3/uee5/+D04P/+//7/////////
+ ///+//7/+Pz4/+b25v/N7s3/uue6/6zirP+p4an/sOSw/8Pqw//k9uT//v/+////////////6Pfo/7Xl
+ tf9mymb/H7If/x6yHv9Nwk3/jtiO/9jx2P/9/v3/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////7//v77//39+f/9/fn//v77//7+/f/+/v3///79//7+/f///v3////+////
+ /v/9/fn/+/nx//Xw3P/s47//4NKW/9TAbP/MtE//xqw8/8SoNP/EqDP/xKgz/8SoM//EqDP/xKgz/8Wq
+ OP/Jr0T/zbVS/9G7Yf/Tvmn/z7hb/863V//czIj/7+nK//n37P/9/Pj//v79///+/v/8+vT/9O/b/+ne
+ s//XxXf/0bti/9/PkP/u58b/+fXn//j68//c89v/u+i7/7zovP/Q79D/4vXi//H68f/6/fr//f79/+v4
+ 6/+15rX/j9iP/4fWh/+W25b/yOzI/+L14v+k4KT/TMJM/x+yH/8Iqwj/AKgA/wCoAP8AqAD/AKgA/wGo
+ Af8FqQX/Fa8V/zu8O/9wznD/tOW0/+z47P/7/vv/+/77//T79P/p9+n/5vbm/+L14v/I7Mj/nt6e/4fW
+ h/+G1ob/mdyZ/8Hqwf/j9eP/9Pv0//b89v/h9eH/uee5/3DOcP8xuDH/Rb9F/4rXiv/A6cD/6vjq//7/
+ /v//////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////+/v3//v36//38
+ +P/8+/b/+/nx//n26v/28uH/9O7Z//Xx3v/7+vP//////////////////Pv2//fz4//u5sb/5dmn/9zM
+ iP/UwGr/zbVS/8itQP/EqTX/w6cx/8SoNP/HrD3/zLRQ/9XBb//dzIn/4dKY/+LVnf/g0pX/4NGU/+bb
+ q//v6Mn/8evR//Dpzf/z7dX/9/Tl//Xw2//p37T/38+Q/9bDc//XxHX/5dik//Pu1v/8+fH//f78/+n4
+ 6v/R79H/wurC/77pvv/R79H/9fz1////////////8Prw/8jsyP+p4an/mNyY/5Xblf+l4KX/ruOu/5vd
+ m/940Xj/ScFJ/xmwGf8FqQX/AagB/wCoAP8AqAD/AKgA/wCnAP8EqQT/F68X/zi7OP9uzW7/od+h/77p
+ vv/P78//zu7O/8brxv/P7s//3/Tf/9fx1/+76Lv/qeGp/6Lfov+j36P/reOt/7Xmtf+05bT/seSx/7Hk
+ sf+m4ab/eNF4/1DDUP9yz3L/uee5/+L14v/3/Pf/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////v///v7//f35//v58f/39OT/8uzT/+3kwf/n3K//6uC3//by
+ 4P////7////////////+/vz//fz4//v58f/49en/8erO/+bbqv/ayYL/z7hZ/8itQP/FqTb/xqs6/8uy
+ Tf/VwW//5Nik//Hqzv/28uD/+PXn//j05v/38+T/8u3U/+zkv//m2qn/4dOY/+XYpf/u5sb/6+K7/9rJ
+ gf/TvWb/2MZ5/+LVnf/w6cz/+/ry//7+/P/+//7/+v36//P78//M7sz/od+h/6/kr//m9+b/////////
+ ///8/vz/8vvy/+X25f/O7s7/r+Ov/4LUgv9lymX/gtSC/6Hfof940Xj/MLgw/w6sDv8EqQT/AKgA/wCo
+ AP8AqAD/AKgA/wGoAf8Gqgb/EK0Q/yS0JP9AvkD/acxp/47Zjv+V25X/lNqU/6zjrP/S8NL/5vbm/+v4
+ 6//n9+f/2/Pb/8brxv+n4af/iNaI/23Nbf9hyWH/c89z/4jWiP+B1IH/etJ6/6Lfov/f9N//+P34//3+
+ /f//////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///+/fv/+/r0//j16P/079j/7+fI/+rgt//p37b/7ufG//Pt1f/z7tf/9vLh//v58v//////////////
+ ///7+vP/8+7W/+nftP/ezo3/1cFv/8+5W//NtVP/z7ha/9bDdP/l2af/8u3V//v68///////////////
+ ///6+O7/8evQ/+ngtv/k16L/5tmo/+zjvv/o3bD/2cd9/9XBb//h05j/7ufG//j15/////7/////////
+ /////////////93z3f+v5K//rOOs/8jsyP/g9OD/9fz1/////////////v/+/+z47P/P7s//nt6e/37T
+ fv+P2I//pOCk/4DTgP9Dv0P/HbId/weqB/8ApwD/AKgA/wCoAP8AqAD/AKgA/wCnAP8AqAD/A6kD/xGu
+ Ef8wuDD/TsNO/1TEVP9UxVT/htaG/9Dv0P/1/PX////////////2/Pb/4fXh/8DpwP+g3qD/f9N//2vM
+ a/9vzm//f9N//5Lakv+q4qr/ze7N//T79P//////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////v/+/vz//fz3//v57//49uj/9vLh//Dq
+ zv/n3K3/4tSa/+PVnv/p3rP/9O/a//7+/f////////////7+/P/8+vP/9/Tk//Hr0P/p37X/4NGV/9jG
+ e//Tv2v/1MFu/93Ni//o3rH/9fDd/////v////////////79+v/7+fH/9/Pk//Lt1f/w6cz/7ufH/+ng
+ tv/h05n/4tSb/+/nx//6+O3//fz4////////////////////////////8Prw/9ny2f++6L7/peCl/7Ll
+ sv/j9uP/////////////////+v36//H68f/j9eP/1fDV/7Xmtf+R2ZH/dM90/1nGWf81ujX/Dq0O/wCn
+ AP8ApwD/AKgA/wCoAP8AqAD/AKgA/wCoAP8BqAH/BaoF/w2tDf8Wrxb/F64X/xiwGP9kymT/0e/R//3+
+ /f////////////3+/f/2/Pb/7fnt/+D04P/I7Mj/r+Ov/5Pak/+J14n/q+Kr/9zz3P/x+vH//P78////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////7//v78//79+v/8/Pf/9vPi/+rgtv/h05j/4NKV/+PWof/q4bn/8uzT//Xx
+ 3v/59ur//Pv1/////////////Pv1//by4v/u5sb/5tur/9/RlP/cy4f/3MuH/+DSlv/q4bj/9O/a//n2
+ 6v/8+/f//v79///////+/fv/+/nw//bz4v/x69D/7eXD/+viu//u5sX/+PXn////////////////////
+ ///////////////////7/vv/8vry/9Lv0v+l4KX/o9+j/8jsyP/k9uT/8Prw//v++///////////////
+ ////////1/HX/6jhqP+S2pL/hNWE/17IXv8rtyv/DqwO/wOoA/8ApwD/AKcA/wCoAP8AqAD/AKgA/wCn
+ AP8ApwD/BqoG/xGuEf8esB7/K7Yr/2nMaf+96b3/3vTe/+L14v/s+Oz/+v36///////7/vv/8Prw/9zz
+ 3P/H7Mf/seSx/6riqv/K7cr/9/z3////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////7///79//7+
+ /P/7+fL/9fHe/+/oyf/q4Lj/5dmn/+DRlf/ezo7/49ah/+3kwf/28uD//v37//////////7//Pv3//n3
+ 7P/28uD/8evR/+vhuv/h05n/3MuG/97Ni//k1qD/7eXC//j15v/9/Pj////+/////v/9/Pf/+fbq//Tv
+ 2//z7tf/9vLg//n37P/9/Pf///////////////////////////////////////7//v/7/vv/5/fn/8fs
+ x/+x5LH/puGm/7DksP/R79H/7/nv//z+/P/////////////////y+vL/4PTg/9Pw0//D6sP/l9uX/1zH
+ XP8uty7/DKwM/wCmAP8ApwD/AKgA/wCoAP8AqAD/AKYA/wCoAP8asRr/Pbw9/2PJY/+B1IH/k9qT/5rc
+ mv+h36H/reOt/8fsx//u+e7//v/+/+357f/Y8dj/w+rD/7rnuv/I7Mj/3vTe/+357f/9/v3/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////+//7++//8/Pf/+fbr//Hs0v/q4Lf/4dOZ/9zM
+ iP/f0ZT/59yt/+7mxv/18d3/+fbp//v58v/9/Pn////+///+/v/8+/b/9fHf/+nftf/g0ZX/38+P/+LU
+ mv/q4Lf/8+7Y//n37P/9/Pf//v78//79+v/7+vL/+PTn//j16f/9+/f/////////////////////////
+ ///////////////////////////////////1/PX/4vXi/8Lqwv+X25f/ideJ/6DfoP+86Lz/0/DT/+f3
+ 5//1+/X/////////////////+/77/+v46//H7Mf/ltuW/2fLZ/88vDz/ILIg/xOuE/8Jqwn/AagB/wKp
+ Av8QrBD/JbQl/03CTf970nv/peCl/8Xrxf++6b7/ot+i/5zdnP+o4aj/uee5/8/uz//b8tv/2fLZ/9Lw
+ 0v/E68T/w+rD/9703v/8/vz/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////+//7+/f/8+/X/9vLg//Dqz//w6cz/7+jK/+zjv//o3rH/5dqo/+XZpv/q37X/8uvR//j1
+ 6P/9/fn//////////v/7+vL/8+7Y/+7nxv/v6Mr/8evQ//Dqzf/w6cz/9O/a//n37P/8/Pf//v77//79
+ +v/8+/b//Pv3//7+/f////////////////////////////////////////////////////////////z+
+ /P/1+/X/1vHW/57env900HT/Xcdd/1/IX/+C1IL/ruOu/9vz2///////////////////////+/37/+v4
+ 6//X8df/u+i7/5bblv9uzW7/Qr5C/x6yHv8EqQT/BqoG/za6Nv9wznD/od+h/8rtyv/g9OD/7Pns/+j3
+ 6P/b89v/1/HX/9ry2v/F68X/m9yb/5TalP/C6sL/5vbm/+f35//n9+f/8/vz////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////79+//59uz/9/Pk//r4
+ 8P/9/Pf/9vLh/+zkwP/k2KX/4NCT/+PVnv/s4r3/9O7Z//v58P/+/vz//v78//38+f/6+O//+fbq//z6
+ 9P/9/Pj/9/Tk//Hr0P/z7tf/+fbq//z79v/+/vz/////////////////////////////////////////
+ ///////////////////////////////////////////////////n9+f/tua2/4TVhP9WxVb/Q79D/1jG
+ WP9/03//s+Wz/9/03//o9+j/6/jr//L68v/5/fn//f79///////0+/T/2vLa/7Pls/9/03//UsRS/y63
+ Lv8ptin/VsVW/5DZkP/C6sL/6ffp//T79P/3/Pf/9vz2//P78//1+/X/9vz2/9Xw1f+R2ZH/g9SD/8Hq
+ wf/2/Pb/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////7+//379//7+vP//Pv1//z79f/49un/8+7Y/+7nxv/q4Lj/6d+2/+zj
+ vv/x68//+PXm//v68//7+vP/+/rz//v68v/8+/T//v36//7//f/8+vP/+fbp//n37P/8+/X//v36////
+ /v//////////////////////////////////////////////////////////////////////////////
+ //////////////b89v/f9N//xevF/6nhqf+M14z/bs1u/2HJYf9zz3P/jtiO/5vdm/+s4qz/x+zH/+b2
+ 5v/6/fr////////////5/fn/5/fn/8/uz/+05bT/ktqS/3fRd/9ny2f/a8xr/5HZkf+/6b//1PDU/93z
+ 3f/a8tr/0O/Q/9bx1v/n9+f/4vXi/8fsx//D6sP/4vXi//z+/P//////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////7+
+ /f/8+/b/+vjv//n47v/59+z/+PXn//Xx3//y7dX/8OnM//Ls0v/39OT/+vjv//r47//6+fD//Pr0//38
+ +P/+/fr//v78//7+/f///v7////+/////v//////////////////////////////////////////////
+ /////////////////////////////////////////////////////////v/+//3+/f/5/fn/8frx/9Tw
+ 1P+Z3Jn/asxq/2LJYv9qy2r/dc91/4jWiP+o4aj/y+3L/+D04P/q+Or/7fnt/+z57P/r+Ov/6vjq/+L1
+ 4v/N7s3/q+Kr/3fQd/9XxVf/cs5y/5/en/+96L3/zu7O/8rtyv+86Lz/xOvE/9zz3P/u+e7/9/z3//z+
+ /P/9/v3/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////79+//8+/f//Pz3//38+P/8+/b/+/rz//n3
+ 7f/49Ob/+PXo//v58f/8+/b//Pv2//z89//9/fr//v78//7+/f////7/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////8frx/8/uz/+y5bL/qeKp/6jhqP+m4Kb/peCl/6bg
+ pv+n4af/o+Cj/53dnf+a3Jr/nN2c/53dnf+f3p//od+h/6Lfov+c3Zz/h9aH/3vSe/+Q2ZD/sOSw/8zt
+ zP/h9eH/4vXi/9ry2v/e9N7/7Pjs//j8+P//////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////v////7////+///+/v///v3//v79//7+/P/+/v3///7+/////v////7////+////
+ /v//////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////7/
+ /v/9/v3/+v36//b89v/0+/T/7vnu/+H14f/P7s//tua2/5ncmf+B1IH/b81v/2bKZv9mymb/Z8pn/2bK
+ Zv9tzW3/ftN+/5HZkf+f3p//reOt/73ovf/N7s3/4/Xj//f89//8/vz/+/77//z+/P/9/v3//v/+////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////9/z3/+r4
+ 6v/X8df/wurC/7Llsv+m4Kb/oN6g/6DeoP+g3qD/oN6g/6Xgpf+x5LH/v+m//83uzf/Y8tj/4PTg/+f3
+ 5//y+/L//v7+////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////7//v/9/v3/+/77//n9+f/2/Pb/8/vz//L68v/x+vH/8frx//H6
+ 8f/x+vH/8vry//P78//1/PX/9/z3//j9+P/6/fr/+/77//3+/f//////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
+
+ NoControl
+
+
+ 3, 2, 3, 2
+
+
+ QuickInput 1.2 by ljtd
+
+
+ timer1
+
+
+ System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ notifyIcon1
+
+
+ System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 打开ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 设置ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 官网ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 退出ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 开始ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 托盘模式ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 打开设置文件ToolStripMenuItem1
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 另存为设置文件ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 退出ToolStripMenuItem1
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 设置ToolStripMenuItem1
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 打开设置文件ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 打开设置文件目录ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 读取设置文件ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 启动不显示窗体ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 设置开机启动ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 测试模式ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 关于ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 帮助ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 网站ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 按键码查询ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 转移查询ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ englishToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Form1
+
+
+ System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
\ No newline at end of file
diff --git a/QuickInput/IniManager.cs b/QuickInput/IniManager.cs
new file mode 100644
index 0000000..33cbe9c
--- /dev/null
+++ b/QuickInput/IniManager.cs
@@ -0,0 +1,117 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace QuickInput
+{
+ class IniManager
+ {
+ ///
+ /// 为INI文件中指定的节点取得字符串
+ ///
+ /// 欲在其中查找关键字的节点名称
+ /// 欲获取的项名
+ /// 指定的项没有找到时返回的默认值
+ /// 指定一个字串缓冲区,长度至少为nSize
+ /// 指定装载到lpReturnedString缓冲区的最大字符数量
+ /// INI文件完整路径
+ /// 复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符
+ [DllImport("kernel32")]
+ private static extern int GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);
+
+ ///
+ /// 修改INI文件中内容
+ ///
+ /// 欲在其中写入的节点名称
+ /// 欲设置的项名
+ /// 要写入的新字符串
+ /// INI文件完整路径
+ /// 非零表示成功,零表示失败
+ [DllImport("kernel32")]
+ private static extern int WritePrivateProfileString(string lpApplicationName, string lpKeyName, string lpString, string lpFileName);
+
+
+
+ ///
+ /// 读取INI文件值
+ ///
+ /// 节点名
+ /// 键
+ /// 未取到值时返回的默认值
+ /// INI文件完整路径
+ /// 读取的值
+ public static string Read(string section, string key, string def, string filePath, bool check = false)
+ {
+ if (check)
+ {
+ CheckPath(filePath);
+ }
+
+ StringBuilder sb = new StringBuilder(1024);
+ GetPrivateProfileString(section, key, def, sb, 1024, filePath);
+ return sb.ToString();
+ }
+
+ ///
+ /// 写INI文件值
+ ///
+ /// 欲在其中写入的节点名称
+ /// 欲设置的项名
+ /// 要写入的新字符串
+ /// INI文件完整路径
+ /// 非零表示成功,零表示失败
+ public static int Write(string section, string key, string value, string filePath)
+ {
+ CheckPath(filePath);
+ return WritePrivateProfileString(section, key, value, filePath);
+ }
+
+ private static void CheckPath(string filePath)
+ {
+ if (!System.IO.File.Exists(filePath))
+ {
+ System.IO.File.Create(filePath).Dispose();//创建INI文件,并释放
+ }
+ WriteHelp(filePath);
+ }
+
+ public static void WriteHelp(string filePath)
+ {
+ if (Read("words", "65", "", filePath).Equals(""))
+ {
+ WritePrivateProfileString("words", "65", "空格 加 a以输入这行数据,需要关闭中文输入法。65-81对应a-z", filePath);
+ }
+ if (Read("words", "66", "", filePath).Equals(""))
+ {
+ WritePrivateProfileString("words", "66", "空格 加 b以输入这行数据,需要关闭中文输入法。{ENTER}表示换行,{+}、{^}、{%}等符号有特殊含义,可以看底部链接说明。", filePath);
+ }
+ WritePrivateProfileString("ReadMe", "KeyCode", "You can get value-key relation in this link. https://www.bejson.com/othertools/keycodes/", filePath);
+ WritePrivateProfileString("ReadMe", "SendKeys", "You can set special words by this way. https://www.cnblogs.com/shaozhuyong/p/5951779.html", filePath);
+ }
+ ///
+ /// 删除节
+ ///
+ /// 节点名
+ /// INI文件完整路径
+ /// 非零表示成功,零表示失败
+ public static int DeleteSection(string section, string filePath)
+ {
+ return Write(section, null, null, filePath);
+ }
+
+ ///
+ /// 删除键的值
+ ///
+ /// 节点名
+ /// 键名
+ /// INI文件完整路径
+ /// 非零表示成功,零表示失败
+ public static int DeleteKey(string section, string key, string filePath)
+ {
+ return Write(section, key, null, filePath);
+ }
+ }
+}
diff --git a/QuickInput/PlaceHolderTextBox.cs b/QuickInput/PlaceHolderTextBox.cs
new file mode 100644
index 0000000..aac1ec5
--- /dev/null
+++ b/QuickInput/PlaceHolderTextBox.cs
@@ -0,0 +1,104 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace RevitDevelopment.CustomControls
+{
+ ///
+ /// 带有PlaceHolder的Textbox
+ ///
+ /// marc
+ public class PlaceHolderTextBox : TextBox
+ {
+ private bool _isPlaceHolder = true;
+ private string _placeHolderText;
+ ///
+ /// 提示文本
+ ///
+ public string PlaceHolderText
+ {
+ get { return _placeHolderText; }
+ set
+ {
+ _placeHolderText = value;
+ SetPlaceholder();
+ }
+ }
+
+ ///
+ /// 文本
+ ///
+ public new string Text
+ {
+ get
+ {
+ return _isPlaceHolder ? string.Empty : base.Text;
+ }
+ set
+ {
+ base.Text = value;
+ }
+ }
+
+ ///
+ /// 构造函数
+ ///
+ public PlaceHolderTextBox()
+ {
+ GotFocus += RemovePlaceHolder;
+ LostFocus += SetPlaceholder;
+ }
+
+ ///
+ /// 当焦点失去的时候,将清空提示文本
+ ///
+ private void SetPlaceholder()
+ {
+ if (string.IsNullOrEmpty(base.Text))
+ {
+ base.Text = PlaceHolderText;
+ this.ForeColor = Color.Gray;
+ this.Font = new Font(this.Font, FontStyle.Italic);
+ _isPlaceHolder = true;
+ }
+ }
+
+ ///
+ /// 当焦点获得的时候,将显示提示文本
+ ///
+ private void RemovePlaceHolder()
+ {
+ if (_isPlaceHolder)
+ {
+ base.Text = "";
+ this.ForeColor = SystemColors.WindowText;
+ this.Font = new Font(this.Font, FontStyle.Regular);
+ _isPlaceHolder = false;
+ }
+ }
+
+ ///
+ /// 失去焦点
+ ///
+ ///
+ ///
+ private void SetPlaceholder(object sender, EventArgs e)
+ {
+ SetPlaceholder();
+ }
+
+ ///
+ /// 获得焦点
+ ///
+ ///
+ ///
+ private void RemovePlaceHolder(object sender, EventArgs e)
+ {
+ RemovePlaceHolder();
+ }
+ }
+}
diff --git a/QuickInput/Program.cs b/QuickInput/Program.cs
index 4fc0be0..f3341d6 100644
--- a/QuickInput/Program.cs
+++ b/QuickInput/Program.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
@@ -14,9 +15,24 @@ static class Program
[STAThread]
static void Main()
{
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new Form1());
+ //为真 则没有重复运行
+ bool ifNotAlreadRun;
+
+ Mutex mutex = new Mutex(true, Application.ProductName, out ifNotAlreadRun);
+ if (ifNotAlreadRun)
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new Form1());
+ mutex.ReleaseMutex();
+ }
+ else
+ {
+ MessageBox.Show(null, "有一个和本程序相同的应用程序已经在运行,请不要同时运行多个本程序。\n\n这个程序即将退出。", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ Application.Exit();//退出程序
+ }
+
+
}
}
}
diff --git a/QuickInput/QC.ico b/QuickInput/QC.ico
new file mode 100644
index 0000000..ea08d29
Binary files /dev/null and b/QuickInput/QC.ico differ
diff --git a/QuickInput/QC_big.ico b/QuickInput/QC_big.ico
new file mode 100644
index 0000000..6eb0dca
Binary files /dev/null and b/QuickInput/QC_big.ico differ
diff --git a/QuickInput/QuickInput.csproj b/QuickInput/QuickInput.csproj
index 54521eb..21eafa0 100644
--- a/QuickInput/QuickInput.csproj
+++ b/QuickInput/QuickInput.csproj
@@ -33,7 +33,7 @@
4
- bitbug_favicon%281%29.ico
+ QC_big.ico
@@ -55,6 +55,10 @@
Form1.cs
+
+
+ Component
+
@@ -84,6 +88,19 @@
+
+
+
+
+
+ {F935DC20-1CF0-11D0-ADB9-00C04FD58A0B}
+ 1
+ 0
+ 0
+ tlbimp
+ False
+ True
+
\ No newline at end of file
diff --git a/QuickInput/bin/Debug/QuickInput.exe b/QuickInput/bin/Debug/QuickInput.exe
index d3a194b..ca4c3c4 100644
Binary files a/QuickInput/bin/Debug/QuickInput.exe and b/QuickInput/bin/Debug/QuickInput.exe differ
diff --git a/QuickInput/bin/Debug/QuickInput.pdb b/QuickInput/bin/Debug/QuickInput.pdb
index 037f3be..f7d73fe 100644
Binary files a/QuickInput/bin/Debug/QuickInput.pdb and b/QuickInput/bin/Debug/QuickInput.pdb differ
diff --git a/QuickInput/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/QuickInput/obj/Debug/DesignTimeResolveAssemblyReferences.cache
index 3681ccf..3a4a731 100644
Binary files a/QuickInput/obj/Debug/DesignTimeResolveAssemblyReferences.cache and b/QuickInput/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ
diff --git a/QuickInput/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/QuickInput/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index 7160e75..06592ca 100644
Binary files a/QuickInput/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/QuickInput/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/QuickInput/obj/Debug/Interop.IWshRuntimeLibrary.dll b/QuickInput/obj/Debug/Interop.IWshRuntimeLibrary.dll
new file mode 100644
index 0000000..17d763c
Binary files /dev/null and b/QuickInput/obj/Debug/Interop.IWshRuntimeLibrary.dll differ
diff --git a/QuickInput/obj/Debug/QuickInput.Form1.resources b/QuickInput/obj/Debug/QuickInput.Form1.resources
index 64523a0..b1f823c 100644
Binary files a/QuickInput/obj/Debug/QuickInput.Form1.resources and b/QuickInput/obj/Debug/QuickInput.Form1.resources differ
diff --git a/QuickInput/obj/Debug/QuickInput.csproj.CoreCompileInputs.cache b/QuickInput/obj/Debug/QuickInput.csproj.CoreCompileInputs.cache
index 1e027c1..6431bf9 100644
--- a/QuickInput/obj/Debug/QuickInput.csproj.CoreCompileInputs.cache
+++ b/QuickInput/obj/Debug/QuickInput.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-234f27e758b4748269395cef054b9d2e69872430
+d7caa3e0fb5a4a4b686d8652a9c318e287eb41b6
diff --git a/QuickInput/obj/Debug/QuickInput.csproj.FileListAbsolute.txt b/QuickInput/obj/Debug/QuickInput.csproj.FileListAbsolute.txt
index 61a430a..bd6f6a6 100644
--- a/QuickInput/obj/Debug/QuickInput.csproj.FileListAbsolute.txt
+++ b/QuickInput/obj/Debug/QuickInput.csproj.FileListAbsolute.txt
@@ -8,3 +8,5 @@ D:\bc\c#\QuickInput\QuickInput\obj\Debug\QuickInput.csproj.CoreCompileInputs.cac
D:\bc\c#\QuickInput\QuickInput\obj\Debug\QuickInput.exe
D:\bc\c#\QuickInput\QuickInput\obj\Debug\QuickInput.pdb
D:\bc\c#\QuickInput\QuickInput\obj\Debug\QuickInput.Form1.resources
+D:\bc\c#\QuickInput\QuickInput\obj\Debug\Interop.IWshRuntimeLibrary.dll
+D:\bc\c#\QuickInput\QuickInput\obj\Debug\QuickInput.csproj.ResolveComReference.cache
diff --git a/QuickInput/obj/Debug/QuickInput.csproj.GenerateResource.cache b/QuickInput/obj/Debug/QuickInput.csproj.GenerateResource.cache
index c1f8f0c..91aa8ad 100644
Binary files a/QuickInput/obj/Debug/QuickInput.csproj.GenerateResource.cache and b/QuickInput/obj/Debug/QuickInput.csproj.GenerateResource.cache differ
diff --git a/QuickInput/obj/Debug/QuickInput.csproj.ResolveComReference.cache b/QuickInput/obj/Debug/QuickInput.csproj.ResolveComReference.cache
new file mode 100644
index 0000000..3bdd651
Binary files /dev/null and b/QuickInput/obj/Debug/QuickInput.csproj.ResolveComReference.cache differ
diff --git a/QuickInput/obj/Debug/QuickInput.exe b/QuickInput/obj/Debug/QuickInput.exe
index d3a194b..ca4c3c4 100644
Binary files a/QuickInput/obj/Debug/QuickInput.exe and b/QuickInput/obj/Debug/QuickInput.exe differ
diff --git a/QuickInput/obj/Debug/QuickInput.pdb b/QuickInput/obj/Debug/QuickInput.pdb
index 037f3be..f7d73fe 100644
Binary files a/QuickInput/obj/Debug/QuickInput.pdb and b/QuickInput/obj/Debug/QuickInput.pdb differ
diff --git a/README.md b/README.md
index 1edc965..c62125f 100644
--- a/README.md
+++ b/README.md
@@ -3,10 +3,10 @@ An app to accelerate keyboard input in Windows.
˼·ǼԵĿݼ****˼롣
-# 1.1汾
- - Ʋģʽļַ
- - ƿݼ´̧𣬽뷨ոʱ
- - 2ťûʹ
+# 1.3 汾
+ - ˵ļΪļ
+ - ˲ģʽ£ļʱ
+ - ˲ģʽ£ȼݼԱ2˸ɾİ
# ʹ÷
##
@@ -24,6 +24,8 @@ Ctrl + Shift +
ԭCtrl CȻӵ****
+## ģʽ
+ģʽ£ڴ⿴롣
# ÷
@@ -33,6 +35,24 @@ Ctrl + Shift +
## 2
ʹÿݼ****Զ浽Ӧļ
+# ¹
+## 1.3 汾
+ - ˵ļΪļ
+ - ˲ģʽ£ļʱ
+ - ˲ģʽ£ȼݼԱ2˸ɾİ
+
+## 1.2 汾
+ - ģʽֱӹرգǵ½
+ - ȥҵİ˶˵
+ - ڿÿ
+ - ڿʱǷʾ
+ - ͼ
+
+
+## 1.1 汾
+ - Ʋģʽļַ
+ - ƿݼ´̧𣬽뷨ոʱ
+ - 2ťûʹ
# ٲ