diff --git a/v2rayN/v2rayN/Forms/BaseForm.cs b/v2rayN/v2rayN/Forms/BaseForm.cs index 4ea789b1..05c94b9f 100644 --- a/v2rayN/v2rayN/Forms/BaseForm.cs +++ b/v2rayN/v2rayN/Forms/BaseForm.cs @@ -7,6 +7,7 @@ namespace v2rayN.Forms public partial class BaseForm : Form { protected static Config config; + protected static GithubRemoteStorageConfig githubRemoteStorageConfig; protected static System.Drawing.Icon icon; public BaseForm() diff --git a/v2rayN/v2rayN/Forms/GithubSettingsForm.Designer.cs b/v2rayN/v2rayN/Forms/GithubSettingsForm.Designer.cs new file mode 100644 index 00000000..8af818b2 --- /dev/null +++ b/v2rayN/v2rayN/Forms/GithubSettingsForm.Designer.cs @@ -0,0 +1,158 @@ +namespace v2rayN.Forms { + partial class GithubSettingsForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GithubSettingsForm)); + this.btnClose = new System.Windows.Forms.Button(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.txtRemotePath = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.txtRepoName = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.txtToken = new System.Windows.Forms.TextBox(); + this.txtUsername = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.panel2 = new System.Windows.Forms.Panel(); + this.btnOK = new System.Windows.Forms.Button(); + this.panel1 = new System.Windows.Forms.Panel(); + this.groupBox1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.SuspendLayout(); + // + // btnClose + // + this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel; + resources.ApplyResources(this.btnClose, "btnClose"); + this.btnClose.Name = "btnClose"; + this.btnClose.UseVisualStyleBackColor = true; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.txtRemotePath); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.txtRepoName); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.txtToken); + this.groupBox1.Controls.Add(this.txtUsername); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.label1); + resources.ApplyResources(this.groupBox1, "groupBox1"); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.TabStop = false; + // + // txtRemotePath + // + resources.ApplyResources(this.txtRemotePath, "txtRemotePath"); + this.txtRemotePath.Name = "txtRemotePath"; + // + // label3 + // + resources.ApplyResources(this.label3, "label3"); + this.label3.Name = "label3"; + // + // txtRepoName + // + resources.ApplyResources(this.txtRepoName, "txtRepoName"); + this.txtRepoName.Name = "txtRepoName"; + // + // label2 + // + resources.ApplyResources(this.label2, "label2"); + this.label2.Name = "label2"; + // + // txtToken + // + resources.ApplyResources(this.txtToken, "txtToken"); + this.txtToken.Name = "txtToken"; + // + // txtUsername + // + resources.ApplyResources(this.txtUsername, "txtUsername"); + this.txtUsername.Name = "txtUsername"; + // + // label6 + // + resources.ApplyResources(this.label6, "label6"); + this.label6.Name = "label6"; + // + // label1 + // + resources.ApplyResources(this.label1, "label1"); + this.label1.Name = "label1"; + // + // panel2 + // + this.panel2.Controls.Add(this.btnClose); + this.panel2.Controls.Add(this.btnOK); + resources.ApplyResources(this.panel2, "panel2"); + this.panel2.Name = "panel2"; + // + // btnOK + // + resources.ApplyResources(this.btnOK, "btnOK"); + this.btnOK.Name = "btnOK"; + this.btnOK.UseVisualStyleBackColor = true; + this.btnOK.Click += new System.EventHandler(this.btnOK_Click); + // + // panel1 + // + resources.ApplyResources(this.panel1, "panel1"); + this.panel1.Name = "panel1"; + // + // GithubSettingsForm + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.btnClose; + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.panel2); + this.Controls.Add(this.panel1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Name = "GithubSettingsForm"; + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.panel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button btnClose; + private System.Windows.Forms.Button btnOK; + private System.Windows.Forms.TextBox txtUsername; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.TextBox txtToken; + private System.Windows.Forms.TextBox txtRepoName; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox txtRemotePath; + private System.Windows.Forms.Label label3; + } +} \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/GithubSettingsForm.cs b/v2rayN/v2rayN/Forms/GithubSettingsForm.cs new file mode 100644 index 00000000..d83c4f23 --- /dev/null +++ b/v2rayN/v2rayN/Forms/GithubSettingsForm.cs @@ -0,0 +1,49 @@ +using System; +using System.Windows.Forms; +using v2rayN.Handler; +using v2rayN.Mode; + +namespace v2rayN.Forms { + public partial class GithubSettingsForm : BaseForm { + public GithubSettingsForm() { + InitializeComponent(); + BindingConfig(); + } + + /// + /// 绑定数据 + /// + private void BindingConfig() { + var config = githubRemoteStorageConfig; + txtUsername.Text = config?.userName ?? ""; + txtRepoName.Text = config?.repoName ?? ""; + txtRemotePath.Text = config?.path ?? ""; + txtToken.Text = config?.token ?? ""; + } + + /// + /// 清除设置 + /// + private void ClearServer() { + txtUsername.Text = ""; + } + + private void btnOK_Click(object sender, EventArgs e) { + //vmessItem.remarks = remarks; + githubRemoteStorageConfig.userName = txtUsername.Text.Trim(); + githubRemoteStorageConfig.repoName = txtRepoName.Text.Trim(); + githubRemoteStorageConfig.path = txtRemotePath.Text.Trim(); + githubRemoteStorageConfig.token = txtToken.Text.Trim(); + if (ConfigHandler.SaveGithubRemoteStorageConfig(githubRemoteStorageConfig) == 0) { + this.DialogResult = DialogResult.OK; + } + else { + UI.ShowWarning(UIRes.I18N("OperationFailed")); + } + } + + private void btnClose_Click(object sender, EventArgs e) { + this.DialogResult = DialogResult.Cancel; + } + } +} diff --git a/v2rayN/v2rayN/Forms/GithubSettingsForm.resx b/v2rayN/v2rayN/Forms/GithubSettingsForm.resx new file mode 100644 index 00000000..d73f01d8 --- /dev/null +++ b/v2rayN/v2rayN/Forms/GithubSettingsForm.resx @@ -0,0 +1,1606 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 484, 17 + + + 75, 23 + + + + 6 + + + &Cancel + + + btnClose + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 0 + + + 127, 68 + + + 432, 21 + + + 3 + + + txtRemotePath + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 0 + + + True + + + + NoControl + + + 12, 71 + + + 89, 12 + + + 26 + + + RemoteFilePath + + + label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 1 + + + 396, 24 + + + 163, 21 + + + 2 + + + txtRepoName + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 2 + + + True + + + NoControl + + + 325, 27 + + + 53, 12 + + + 24 + + + RepoName + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 3 + + + 127, 110 + + + 432, 21 + + + 4 + + + txtToken + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 4 + + + 127, 23 + + + 172, 21 + + + 1 + + + txtUsername + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 5 + + + True + + + 12, 27 + + + 53, 12 + + + 10 + + + Username + + + label6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 6 + + + True + + + 12, 113 + + + 35, 12 + + + 0 + + + Token + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 7 + + + Fill + + + 0, 10 + + + 573, 146 + + + 3 + + + Settings + + + groupBox1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + btnOK + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 1 + + + Bottom + + + 0, 156 + + + 573, 60 + + + 7 + + + panel2 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 396, 17 + + + 75, 23 + + + 5 + + + &OK + + + btnOK + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 1 + + + Top + + + 0, 0 + + + 573, 10 + + + 6 + + + panel1 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + True + + + 6, 12 + + + 573, 216 + + + + AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAACAAAAAwAA + AAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAADAAAAAwAAAAMAAAADAAAAAgAAAAIAAAACAAAAAQAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAA + AAIAAAADAAAABAAAAAUAAAAGAAAACAAAAAgAAAAKAAAACgAAAAsAAAAMAAAADQAAAA0AAAANAAAADQAA + AAwAAAALAAAACgAAAAoAAAAIAAAACAAAAAYAAAAFAAAABAAAAAMAAAACAAAAAQAAAAEAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAAIAAAACAAAABAAAAAUAAAAHAAAACQAAAAwAAAAOAAAAEQAAABMAAAAVAAAAFwAA + ABgAAAAaAAAAGwAAABwAAAAcAAAAHQAAAB0AAAAcAAAAHAAAABsAAAAaAAAAGAAAABcAAAAVAAAAEwAA + ABEAAAAOAAAADAAAAAkAAAAHAAAABQAAAAQAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAMAAAAEAAAABwAAAAkAAAAMAAAAEAAA + ABMAAAAXAAAAGgAAAB4BAQAgAgEBIwMDASUDAgEmAwMBKAUEASkGAwMrCAUDKwgFAysIBQMsCAUDLAgF + AysIBQMrBgMDKwUEASkDAwEoAwIBJgMDASUCAQEjAQEAIAAAAB4AAAAaAAAAFwAAABMAAAAQAAAADAAA + AAkAAAAHAAAABAAAAAMAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA + AAQAAAAHAAAACgAAAA4AAAASAAAAFwAAABwAAAAgAwIBJAUDAicGBAIqBQUCKwICAi0FAwMvCQcEMQgH + BjACAwQwAAECMQYFBTURDgg5GRMJPBwWCz0cFgs9GRMJPBEOCDkGBQU1AAECMQICBDAIBwYwCQcEMQUD + Ay8CAgItBQUCKwYEAioFAwInAwIBJAAAACAAAAAcAAAAFwAAABIAAAAOAAAACgAAAAcAAAAEAAAAAgAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAUAAAAIAAAADQAAABIAAAAXAQAAHQIBASIDAgEmBgMDKgQD + AywAAAEtBQQEMRYRCTckHA0+OCoTSlU/G19sUCF1elomhoZjKZWOaCufkmstqphwL7Kccy+3nnQwup51 + MLqccy+3mXEvspNsLaqOaSufh2QqlHtbJ4ZtTyJ1Vj8cXzgpE0okHA0+FhEJNwUEBDEAAAEtBAMDLAYD + AyoDAgEmAgEBIgAAAB0AAAAXAAAAEgAAAA0AAAAIAAAABQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAYAAAAKAAAADwAA + ABUAAAAcAgIAIgQCAicFBAErBAMDLgUEBDAWEQo5QjEWT2BHH2d6WiaHkGssq6B2MMWtfzTbt4Y367+M + OfXEjzv5yZM8/M2WPv7PmD7/0Zk//9KaP//Tmz//05s//9OaP//Smj//0Jg+/82WPv3KlD37xZA7+cCM + OvW4iDjrroA126F2McWRbCyre1smh2FHH2dCMRZPFhEKOQUEBDAEAwMuBQQBKwQCAicCAgAiAAAAHAAA + ABUAAAAPAAAACgAAAAYAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAABAAAAAwAAAAYAAAAKAAAAEAAAABcBAQAeAwIBJAYDAyoBAAEsBwUEMSIaDDxSPBtaelomhpRt + LbGoezPVt4Y37MSQO/nMlj3/0Zk//9WcQP/YnkH/2J5B/9ieQP/XnkD/155A/9eeQP7XnkD+155A/tee + QP7XnkD+155A/teeQP7XnkD+155A/9eeQP/YnkD/2J5B/9ieQf/WnED/0po//82WPf/FkTv5uog47Kp8 + M9WVbi6xelomh1E8GlshGQw8BwUFMgEAASwGAwMqAwIBJAEBAB4AAAAXAAAAEAAAAAoAAAAGAAAAAwAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAYAAAAKAAAAEQAAABgBAQAgBAMBJgUD + AysDAgMvGRIKOVQ+G1p+XSiKm3MvvrKDNubCjjr5zZY+/tWcQP/XnUD/2J9B/tieQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/2J5A/9ifQf7XnUD/1ZxA/8+YPv7Djzv5s4M25pxyL799XCeLUj0bWhkT + CzkDAgMvBQMDKwQDASYBAQAfAAAAGAAAABEAAAAKAAAABgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA + AAQAAAAJAAAADwAAABcBAQAfBAMBJgMCASsIBgQwMSQRQ2xQIXOUbS2xr4A14cOOO/nPmD7/1p1A/9ie + QP/XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/tieQP/WnUD/0Jg+/8SPO/mvgTXhlG0usWtOInQwIxJDCAYEMAMCASsEAwEnAQEAHwAA + ABcAAAAPAAAACQAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAHAAAADQAAABQBAQAdBQQBJQUFAiwGBQQwRDMXTXxc + J4ahdjHKuog48syVPf7VnED/155B/9ieQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5B/9Wc + QP/Nlj3+uok486B2Mcp6WiaGQjIWTgYFBDAEAwIsBAMBJQEBAB0AAAAUAAAADQAAAAcAAAADAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAEAAAACgAA + ABEAAAAaAwIBIwUDAioHBgQvQDAVSoFeKIynejLTv4w6+NCYPv/XnkD/155A/teeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7XnkD/0Jk+/8CNOvimejLTfl0njT0u + FEoGBQQvBQMCKgMCASMAAAAaAAAAEQAAAAoAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAEAAAADAAAABwAAAA0AAAAWAQAAHwQDASgDAgIuNScSRHxbJoOnejPSwY06+dKa + P//YnkD+2J5A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/2J5B/tObP//Bjjr5pXky03hZJoQzJhJEAwMCLgQDASgBAAAfAAAAFgAA + AA0AAAAHAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAgAAAAQAAAAGQQC + AiQDAQIqFBAINWlOIWuedDDBvos59dGZP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ie + Qf/Smj//vYs59ZtyL8JlSh9sEw8INQMBAioEAgIkAAAAGQAAABAAAAAIAAAAAwAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAgAAAAQAAAAKAAAAEwIBAR0FAwInAQECLUg1GE2QaiyjtoU3686WPf/XnUD/2J5A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/zpc+/7SEN+yLZiqlRTMXTwEB + Ai4FAwInAgEBHQAAABMAAAAKAAAABAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAFAAAADAAAABUDAgEgBAIBKBoU + CTVxUyNxpnkyzcWQO/zVnED/2J5A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/1ZxA/8WQO/yidzHPak8hcxkTCTUEAgEoAwIBIAAAABUAAAAMAAAABQAA + AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAACAAAABgAAAA0AAAAXAwMBIgIBAis4KhNDj2ksm7iHN+7QmD7/155A/teeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5B/tCZ + Pv+2hTfviGQqnTUnEkUDAgIrAwMBIwAAABcAAAANAAAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAQEAGQQCAiQIBgMsXEQdWaB2 + Mb3Djzr51ZxA/9ieQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tacQP/Cjjr5mnAvv1U/G1sIBgMtBAICJAEB + ABkAAAAOAAAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAIAAAAHAAAADwEBABkFAwIlCQcDLnVWJHCvgDXZzJY9/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/LlT3/qHwz2m1QInIJBwMvBQMCJgEBABkAAAAPAAAABwAAAAIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAA8CAQAaAwIBJhIOBjJ/Xid+toY35tGZ + P//YnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ieQP7RmT7/sYI26HZX + JYARDQYzBAIBJgIBABoAAAAPAAAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA + AAYAAAAOAQEAGgYFASYjGgw4jGcrkLuJOO7Tmz//2J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7UnD//toY374FeKJIgGAs5BgUBJwEBABoAAAAOAAAABgAA + AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAFAAAADQIBABkBAQEkLCENOpJrLZnAjTrz1Js//9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/VnED/u4k49IdjKZwpHw07AgEBJAIBABkAAAANAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABQAA + AAwBAQAXBgQBJSwiDjmXby2fw4469tadQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/WnUD/vYs594tmKqEqHg07BwUBJQEB + ABcAAAAMAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAKAQEAFgMCASImHAw2lm4umMSPO/bVnED+155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/VnED+vos59ohkKZsiGgw4AwIBIgEBABYAAAAKAAAABAAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAACQEB + ABMGBAIhFQ8IMJJrLY/Djzrz1p1A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/WnUD/vIo59INh + KZMUDggxBgQCIQEBABMAAAAJAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAQBQICHQgGAyqHYyl8wI067tWcQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/VnED/uIc38HhYJYAIBgMrBQICHQAAABAAAAAGAAAAAgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAADQQD + ARoEAwEnf10mbr2LOebVnED/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/UnD//s4M26HBSInEFAwEnBAQBGgAAAA0AAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAoFAwIWAQABI2hNIFW5hzjY05o//9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/RmT//qn0021tCHFoDAQEjBAMCFgAA + AAoAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAHAwICEgAA + AB9GNBU/roA0vdCZPv7XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP7Mlj3/nXIwwTwsEkEAAAEfAwICEgAAAAcAAAACAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAABQAAAA0GBAMbHRUJLaF2MJnMlT35155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Djzv6jGcrnhoT + CC8HBAMbAAAADQAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAJBgQDFgAA + ACOGYiluxpE779adQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ifQ//cq1n/2qVN/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9adQP+5hzfwc1QjcwAAACQGAwMWAAAACQAAAAMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAABgIBARAAAAEdW0MbR7mIN83Um0D/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/2KFH/+XCiP/pypf/26dS/9eeP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tGZ + P/+nejPRTjkYSgAAAR0CAQEQAAAABgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMBAAEKBgMDGBwU + CSypfDOh0Jg+/deeQf7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Zokf/6cqX//jw5P/qzZ7/2aNL/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155B/seSPP2SayynGBEILQcDAxgBAAELAAAAAwAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAACAAAABwcEAxECAAIghWEoZciSPOvXnUD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/154//9iiR//pyZf//Pr3//n06//mw4v/2aRM/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/1p1A/reHN+1uUSFqBAICIAcEAhEAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCAwALAAAAGE05 + Fzm6iDe/1ZtA/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f7+//jv + 4//nxY7/2aJJ/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/0Jg+/6F3McVBMBQ9AgIAGAID + AAsAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAABggGAhIHBQMgnHMvf8+YPvbXnkH/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeP//Yokf/6cmX//z69//9/f7//f39//jw4v/kvX//2aJI/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/YnkH/wY4694JhKIQIBgMhCAYCEgAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMEBAELAQEAGFxC + G0DCjjrR151A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39 + /f/9/f3//f39//bs3P/kv4L/2KFG/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Tmz//q3401Us3 + F0MCAgAYBQMBCwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAABQkHARACAgEgpXgxh9KaP/rYnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//fz8//br2f/huHX/2KFF/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/FkDv7iWQpjQQCASEJBwERAAAABQAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDAwAJAAAAFWhL + H0HGkTzS2J5B/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6 + +P/9/f3//f39//39/f/9/f3//f39//Xo1P/iuXf/2KBE/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tSb + QP+tfzTWVD0ZRQAAABUDAwAJAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAABAsIAw4HBQIdpnkygNObP/nYnkH+155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//fz6//Tl + zv/fs2v/159C/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5B/sSQO/qJZCmHCQYCHgsIAw4AAAAEAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGBQEHBgYAE1Q+ + GTTFkTvI155B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJ + l//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//fz7//Pky//gtW3/159C/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/0po//6p8M85FMRQ4BwcBEwYFAQcAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAwkGBAsCAAEZnHMvatObP/LYnkH/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//Pv4//Hfwf/er2H/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/wI069H5cJnIDAgIZCQYECwAA + AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFCgQFDzUn + ESfAjTqt155B/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9ii + R//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//Pv5//Hfwv/esWb/155B/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP7QmD7/n3YwtCwhDioLBQYQAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQoJAQgAAAAShmIoTM+YPt/YnkH/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//Pn1/+/Ztv/drFz/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9adQP+2hjfkaE0gUgAA + ABIJCQEIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEw0GCw4K + BRmygjWC1p1A+teeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + P//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f7//Pn2/+/Y + tf/drV3/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/2J5B/siTPPuOaSuKDwsFGxMNBgsAAAADAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQUEAAQEBAANRjQVKMiSPLrYnkH/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f7/+/fx/+3Uq//bqVX/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/0po//6h7 + M8I2JxErBgUADQUEAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDgoFBgYE + AhGOaCpK05s/5tieQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f7/+/fy/+zSqP/bqVX/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnUD/vIk56m1PIVMJBQMSDgoEBgAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIUEQMIAAAAFLSENnvXnUH5155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f7/+vTs/+rOof/apk//154//9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ie + QP/Ikzz6jWgrhAAAABUUEQMIAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxcP + Bws+LBMhyJI8rdieQf/XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3/+vTs/+rMnP/apU7/154//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5A/tKZP/+keDK0MSMPJRcPBwsAAAADAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQADAAAADIRgJznRmT/S2J9B/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3/+fHm/+jJ + lv/Zo0r/154//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/1p1A/7SFNthlSh5AAAAADAABAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARsV + BgUAAAAMpXkyV9acQOvYnkH/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3/+PLm/+fGj//Zo0r/154//9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkH/wY06735cJl4AAAANGRQFBgAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIxcMBwwHBRK7iTl82J5B/NeeQf7XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/fz/9+7g/+bDi//YoUb/154//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9ieQf7LlT38lGwthg8KBhQiFgsHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAEQCAcIQS4UG8iSPKLZn0H/155A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/Pz/9+7g/+S/gv/YoUf/154//9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J5A/tGZPv+leTGsMyQPHRMK + CAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAABkVw0ACwoAAgAAAAhcQxwizpg+wdmfQf/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6 + +P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/Pz/9erX/+S+gP/YoEP/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/1ZxA/7CBNchCMBQmAgEACAoKAAJLQQoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAcEQsCBwAFCodiKTPUmz/c2J5B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/Pv/9uvZ/+K5 + dv/YoEX/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnUH/uog34GRK + HjoLBAYKGxALAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8VCgMLBgQLpXkxTNadQO7YnkH/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJ + l//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/Pv/8+TM/+G3c//Xn0L/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9ieQf/Cjjrwf10mVQ4IBQweFAoDAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAIBcJAwsIAg21hDZj155A9deeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/8+/r/9ObR/9+zaf/YoEP/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/8eS + PPeOaCtsDgoEDR8WCQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVDgcEAAABDL+MOXfXnkH4155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9ii + R//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/Pv/8d/C/9+yaf/Xn0H/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/y5U9+phwLoAAAAIMFQ4HBAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAASAfAQQAAAAMxpA7idieQfzXnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/8+/n/8uDF/92vYv/Xn0L/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/Plz79oHYwkAAAAAwfHgEEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABKxoQBQwKBQ/JkzyX2J5B/tee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + P//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/8+/n/79m2/92t + X//XnkH/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tGZP/+leTKeDAkFEigYDwUAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAE4IxUFRC8UE82WPaTYnkH/155A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/8+vf/8Nu6/9ysW//Xn0H/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD+05s//6x+M6s0JBEYNiMTBgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAS8eEAZcQhwXz5g+rtie + Qf/XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/7+fX/7NOq/9upV//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Um0D/sIE0tEYzFhwvHhEGAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAABKRoPBmlMIBnQmT+12J5B/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/v/7+PP/7dWu/9uoVf/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/tWcQP+0gza7UzoYHioaDwYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAE5Kg4FcVMiGtGZ + PrjYnkH/155A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/69u//6s2d/9qmT//Xnj//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD+1ZxA/7WENr5aQBkfOSsPBgAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAADwsDwV1VSIa0Zk+uNieQf/XnkD+155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/v/69vD/69Ci/9qm + UP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP7VnED/tYU2vltCGh89LRAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCATBHNU + IhjSmj+12J5B/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/58+n/6MiU/9qkTP/Xnj//155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tWcQP+1hTa6WUAaHTUh + EwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBKRcEa04gFdGZP67YnkH/155A/teeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /v/58uj/6MiU/9mkS//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD+1ZtA/7ODNbRSPRcaPSYWBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFM0 + HgRbQhwQ0Jg+pdieQf/XnkD+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/v/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/37+H/5cGH/9miSP/Xnj//155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Tmz//sIE0q0Uy + FhVKLxoEAAAAAAAAAAAAAAAAAAAAAAAAAACCRD4AYC4xAyQXDArPlz6W2J5B/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//YoUf/6cmX//z6 + 9//9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/v/7+PT/+fLo//38+//9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/37uD/5cKI/9iiSP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/tKaP/+rfTOdHRMKDlQpKwNpNzIAAAAAAAAAAAAAAAAAAAAAACQb + CgBVPhcCAAAABs2WPYfYnkH8155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/154//9ihR//pyZf//Pr3//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f7///ft3v/pypn/9ejT//38+//9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/P/27Nv/471//9ih + Rf/Xnj//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkD/0Jg+/ah7 + Mo4AAAAHUDsWAiMaCQAAAAAAAAAAAAAAAAAAAAAAPzMNADUvCgEAAAAFyZM9ddieQfnYnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJ + l//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/96wZP/ht3P/8+TM//z7 + +v/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/P/26tj/47x9/9igRP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Nlj36pHgxfQAAAAU2MAoBPzMNAAAAAAAAAAAAAAAAAAAA + AABuUB4AVj8XARsTBQbGkDte2J5B9deeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//3+///26tn/3a5f/9igQ//htnD/8+LJ//z7+f/9/f7//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//38 + +v/159P/4rh0/9ifQ//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/8mT + PPadcy9nIBcHBlE7FgFmShsAAAAAAAAAAAAAAAAAAAAAAH1bIgBrTh0BKB0JBcCMOkbYnkHu2J5B/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9ii + R//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150+/9ef + Qv/gs2v/8d/B//z6+P/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//38+//05c7/4bdy/9efQv/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkH/xZE78JduLU8rHwoFYEYaAW1QHgAAAAAAAAAAAAAA + AAAAAAAAi1M4ALluSwASABEDsYI2LNedQN3Zn0H/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/v//9urZ/92uYP/XnT//155A/9efQv/fsWf/8d6///z59v/9/f7//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//z7+P/z48r/37Nq/9eeQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ie + Qf/AjTnghGIoMhsGEgOPVToAckQuAAAAAAAAAAAAAAAAAAAAAAB/dAsAvasRAAARAAKacC4Y1ZxAwdmf + Qf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + P//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9ed + P//XnkD/155A/9eeQf/esGT/79m3//v49P/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//z7+f/x4MP/37Np/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/1ZxA/7mHN8dwUiIbCh4AArGgEAB6bwoAAAAAAAAA + AAAAAAAAAAAAAEZHAAAADwAATT8MAolkKQ7Smj+g2Z9B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150//9eeQP/XnkD/155A/9efQf/drV7/7tex//v3 + 8P/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//z59v/w3sD/3a5g/9eeQf/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/Smj//soI2qWhMIBBZSA8CABAAAEdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAALR4PACfZzcBRTAXBs+Y + PnjZn0H92J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/92u + YP/XnT//155A/9eeQP/XnkD/155A/9eeQP/cq1n/69Gl//r28P/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//v6 + 9v/v2rf/3q5h/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J9A/s6XPf2pfDOBOygVCIpZMAKVYzIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAt25JAL9yTQEAAAAAyJI8TtieQezYn0H/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9edP//XnkD/155A/9eeQP/XnkD/155A/9ee + QP/bqVT/69Gl//r17P/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3+//v48//u2LT/26lW/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/YnkH+yJI87590MFQAAAABlVk8AY5WOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADixB0A/+AeAAAA + AADAjDkt151A0tmfQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f7///bq + 2f/drmD/150//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/aqFP/6cuZ//n07P/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//v49P/s0qj/3KpY/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9edQP+/jDnXlGwsMgAAAADjyBsAy7AaAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcPx4AfU8rAqF1MBHVnD+r2Z9B/9ieQP7XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/92uYP/XnT//155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/apU3/6cyb//nx5v/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3+//r27v/s0af/2qVO/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/YnkD+1JtA/7eGNrF3VyQWdksoAlM5GwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGdO + GQCMdxUBAAAAAtGZPnTZn0H52J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeP//Yokf/6cmX//z6+P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//3+ + ///26tn/3a5g/9edP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//apEz/5sSL//ny + 5//9/Pz//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f3+//v48v/py5r/2qdS/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ifQP7Olz76rX40fAAAAAONeBUBZU0ZAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArXY3AMqKQQAtFhICyJM9PtieQejYnkH/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150//9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Yokj/58eR//fv4f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3+//nz + 6f/pyZf/2aNL/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/2J5B/8aRO+ueczBGOSAVAq53OACZaDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACSghAAtrAHAAADAAGwgDYV1p1AutmfQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/Xnj//2KJH/+nJl//8+vj//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/v//9urZ/92uYP/XnT//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + P//Yokf/5L6B//ft3v/8/Pr//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//r17f/nxpH/2qVN/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/VnED/u4k4wIJfKBgbGAABop0GAId4 + DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+dEsAvWpTAXdSJgXSmj972Z9B/Nie + QP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeP//Yokf/6cmX//z6 + +P/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9edP//XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YoEX/5cGF//br2f/9/fz//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//jw4//mxIz/2KJH/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/2J5B/s+YPv2xgjWDWz0cB6pgSQGkZEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAO+CbgD+iXYA//+JAMuUPTvYnkHf2J9B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/154//9iiR//pyZf//Pr4//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f7///bq2f/drmD/150//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/YoET/4bh1//Xo1P/8+/n//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//ny6P/lwof/2aNJ/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/xZA746J3MUH//4YA8oJxAd55 + ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJMKACQVDgBtIM3Etad + QKvZn0H/155A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2KFH/+nJ + l//8+vf//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/92uYP/XnT//155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YoET/4rp5//Tn + 0P/9/Pv//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//bs3P/kvX//2KBE/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/2J5A/tObP/+6iDiwiGMrFZpcOQFrRyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAnVxAALlxSAEAABMB0po/XtmfQfTYnkH/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + Qf/Xn0L/159C/9efQv/Xn0L/159C/9efQv/Zo0n/6cqY//z6+P/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//3+///26tn/3a5g/9edP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xn0L/37Jn//Lgxf/8+vf//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//fu + 4P/kvX7/2KFG/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkH+y5U99q6ANGUGABcCn2E+AY1T + OgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyiycAyJ0rAB4k + AAHDjzse155BydmfQf/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2qZQ/+K5dv/kvoH/5L6A/+S+gP/kvoD/5L6A/+XA + hf/v27r//Pv5//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150//9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/Yn0L/4LNr//LgxP/8+/n//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//fz7//Tn0v/iuXb/2J9D/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9WdQP/AjTrNmXEuITk1AAGphSUAm3kiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKfU4AynRVAaNvNQPUmz922Z9B+tifQP7XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + P//gtGz/9OjU//r38P/69u//+vbv//r27//69u//+vbw//v59f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/v//9urZ/92uYP/XnT//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xn0H/3a5g/+/auP/8+fT//f3+//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//fz8//Xo1P/iuHT/2KBE/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Yn0D+zpc9+7OENn10UCYFv25PAbRw + RQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+B + gwD/i5AA//91AMuWPSzYnkHS2Z9B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/150//+C2b//37uD//f7+//39/v/9/f7//f3+//39 + /v/9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9ed + P//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/Xn0H/3a9h/+/Ztv/7+fX//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//Pv6//LiyP/fs2v/159B/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9adQP/EkDrWo3gxMf//ZAC2Wl0AqlVWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJZaPQDLZWYBjmcpBdWcP37Zn0H62J9A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnT//4LZv//fu3//9/f7//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f7///bq2f/drmD/150//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/3KtZ/+3U + rf/69/D//f3+//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//Pv5//Lhxv/fsmj/159C/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/YnkD/z5g++7eGNoRoSx4GolBQAX9L + MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAwXFRANB5VwBGAEQBzZc+KNieQdLZn0H/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9edP//gtm//9+7f//39/v/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/v//9urZ/92u + YP/XnT//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/3KpZ/+zSqf/69vD//f3+//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//Pr3//Dd + vf/er2P/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9adQP/FkDvVpnozLFoORQG3a00ArGRJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/mswA87wPAP/AWgDCjzUD1p1Ac9mf + QfjYn0D+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/150//+C2b//37t///f3+//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//3+///26tn/3a5g/9edP//XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/26hT/+rPov/69Oz//f3+//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f7//Pr2/+/bu//drV//155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xn0D+z5g++bmIN3mMaSUE/+FqAPSv + DgD/v/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD//wAA//8AAP/+agDTmkEf2J5Bv9mfQf/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnT//4LZv//fu4P/9/v7//f3+//39 + /v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//v7///br + 2f/drmD/150//9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/26hU/+rMnf/59Or//f3+//39 + /v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39 + /v/9/f7/+/n1/+7Xs//drFz/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9WdQP/EkDvDrH00Iv//dwD//wAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGdVEA1YJTAF4h + PQHVnEBW2Z9B7difQf7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeP//gtW3/9erY//z59v/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+fX//Pn1//z5 + 9f/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+vf/9OfS/92tX//XnT//155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/2qVP/+nJlv/37+H//Pn1//z59f/8+fX//Pn1//z59f/8+fX//Pn1//z5 + 9f/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+fX//Pn1//z59f/8+fX/+fPq/+zSqP/bp1P/154//9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD+zZY97riHN1pbJTECtm9HAbBo + SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+sVQD/3nIAwXpDAceROw3XnkGd2Z9B/tifQP7XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9upV//mxYz/6syb/+rM + m//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rM + nP/mw4n/2qZP/9eeP//XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Xnj//2qVO/+O9 + f//pzJr/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rMm//qzJv/6syb/+rM + m//qzJv/6syb/+rMm//qzJv/58WO/9yrW//Xnj//155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/tObP//CjjqhnnIvD7RzPgHLh0UAwIFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOfK + HgDu0xsA5aVJANKZPy7YnkHO2Z9B/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155B/9igQ//YoET/2KBD/9igQ//YoEP/2KBD/9igQ//YoEP/2KBD/9ig + Q//YoEP/2KBD/9igQ//YoEP/2KBD/9igQ//YoEP/2KBE/9ifQ//XnkH/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/159C/9igQ//YoEP/2KBD/9igQ//YoEP/2KBD/9ig + Q//YoEP/2KBD/9igQ//YoEP/2KBD/9igQ//YoEP/2KBD/9igQ//YoEP/2KBD/9igRP/YoET/159C/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/WnkD/yZM80bKCNjHVmkcA9tkcAOfK + HgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMaSNADwpkgBpXwvA9acP2HZn0Hy2J9B/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/2J5B/8+YPvO9iThliGQpBMuNPQG8ijEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA6s8bAOXPFgD//wAAzZc8C9edQJPZn0H62J9B/teeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9efQP7Tmz/7xJA7l6h9MQz//wAA5ccWAOrP + GwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6pWAP+wWQD//0MA0Jg/JNif + Qb/Zn0H/2J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/YnkD+1p1A/8qUPcG0hDcn//9RAP+0WwD/qlYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAwIs2AMaKPABOQBEB151AP9mfQdrZn0H/2J5A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQf/Plz7cwIw5QlxRGwHWlEAAyJE4AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP+7 + dgDXik8B151BW9mfQejZn0H/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/Yn0D/0Zo/6cSPO16dYz0C/+KKAP//AAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gIAA/3yEAP+6egDVmj8H2J5Ac9mfQfHYn0H+155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/tSbP/LJkjx2sYA1CP/ikQD/fIQA/4CAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADAgEAAxIVAAKJbQAHOlj4O2J5AitmfQfbYn0H+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9if + QP7VnD/3ypQ9jbKAOA++bkkBwoRAAMGBQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/gEAAxYRCAP///wDOmD4U2J9Bldmf + QfrYn0H+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Yn0H+155A+82XPZi3hzgW//9PAMeGQwC/gEAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADSpiwA0qoqAMabGQDUmj8Z2J5BntmfQfrYn0H+155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/2J9A/tee + QPrRmT6gwo07GvrDIgDUrCoA1qktAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD/4CcA/+seAMN8 + TwDZnkEY2Z9BltmfQffYn0H+155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9ieQP7XnkD30po/mMiTPBm6dUkA/+0eAP/gJwD//wAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3SsA//YVAPHUHgDVm0EU2Z5Bi9mfQfLZn0H/2J5A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/Yn0D/2J5A8tOa + P4zGkD0V//8qAP/4FQD/4iwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + AAB+AIEAyZQ3AP//SADUmkAO2Z9BdNmfQejZn0H/2J5A/teeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD+2J5B/9edQOnTmj91xo88D///KgDKlTcAfgCBAP//AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6ekAAv4FAAJ5YPwHJlj4G2Z5BXNmf + QdvZn0H/2J9B/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/159A/tifQf/YnkHb1Js/XbiI + NwepYUMBwoNAAL19QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAC/gEAAv4BAALdxQQHXnEED2J9BQNmfQcHZn0H72J9B/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9ifQf/Zn0H72J9BwdSdQEHPlz0DvXVEAb+AQAC/gEAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/qlUA/6pVAP+t + WQDBjC4A2Z5BJdmfQZTZn0Hy2Z9B/9ifQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7Yn0H/2Z9B8tmfQZTXnUAlqHoqAP+v + WQD/q1UA/6tVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAOCaRQAIAEwA155AC9ieQWLZn0HQ2Z9B/dif + Qf7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/Yn0H+2Z9B/dmfQdDYnkFi155ACwoAUwDinEUA//8AAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA/6tWAP+sVgD/k2MAx4tCA9ieQS/YnkGg2Z9B7tmfQf/Yn0D+155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD+2J9B/9mfQe7YnkGg2J5BL8eLQgP/k2MA/6xWAP+r + VgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAypc1APXnDwC4eD4Bn1w2ANab + Qg/Zn0FZ2Z9BxNmfQfjZn0H/2J5B/teeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD+2J9B/9mf + QfjZn0HE2Z9BWdabQg+fXDYAuHg+AfXnDwDKlzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMaVMQDjzRMAxopOAeGlUAHZoEEh2J5Bd9mfQdXZn0H72Z9B/9if + QP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD+2J9B/9mfQfvZn0HV2Z9BdtmgQSHhpVABxopOAePNEwDGlTEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+q + VQD/q1gA7dAbAYdJLQDbnUUE2J9CKtmfQYLZn0HV2Z9B+tmfQf/Yn0D/155A/teeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7YnkD/2J9B/9ifQfrZn0HV2Z9Bg9if + QirgoEYEh0ktAO3QGwH/q1gA/6pVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/f4EA/3+BAP+fcgEMAIwA1pxIBNme + Qi7Zn0F72Z9BztmfQffZn0H/2J9B/tieQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ie + QP7Yn0D+2J9B/9mfQffZn0HO2Z9Be9qfQi7ZlkMFAgCRAP+ecgH/f4EA/3+BAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD/gIAA/4CqANp/XADzpFQB/9emAN6gQQTZn0Ae2Z9CY9mfQbDZn0Hj2Z9B/dif + Qf/YnkH/2J5A/9eeQP7XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD+2J5A/9ieQf/Yn0H/2Z9B/dmfQePZn0Gw2Z9CY9mfQB7eoEEE/+ezAPOm + VQHaf1wA/4CqAP+AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9+ + hAD/foQA/6BzAY5EQwC6cUYB2Z9DEtmfQT7Zn0GB2Z9Bv9mfQezZn0H62Z9B/9ifQf/Yn0H+155A/tee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9ee + QP/XnkD/155A/9eeQP/XnkD/155A/9eeQP/XnkD/155A/9eeQP7YnkD+2J5B/9ifQf/Zn0H62Z9B7Nmf + Qb/Zn0GB2Z9BPtmfQxK6cUYBjkRDAP+gcwH/foQA/36EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA0KMtAN+pPwD/uGIAAAAAAOGi + SATbnkMV2aBBQtmfQXnZn0Gx2Z9B1tmfQfDZn0H+2Z9B/9mfQf/YnkH/2J5A/9eeQP/YnkD+155A/tee + QP7XnkD+155A/teeQP7XnkD+155A/teeQP7XnkD+155A/teeQP7XnkD+155A/teeQP/XnkD/2J5B/9if + Qf/Zn0H/2Z9B/tmfQfDZn0HW2Z9BsdmfQXnZoEFC255DFeGiSAQAAAAA/7hiAN+pPwDQoy0A//8AAP// + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+ZbAD/iHsA/6BoAbohkgCBMUIA3aFBAdmeQBHYnkEt2Z9AUtqf + QX/Zn0Gm2Z9ByNmfQePZn0Hx2Z9B9tmfQfrZn0H+2Z9B/9ieQf/YnkH/2J5B/9ieQf/YnkH/2J5B/9ie + Qf/YnkH/2Z9B/9mfQf7Zn0H62Z9B9tmfQfHZn0Hj2Z9ByNmfQabZn0F+2Z9AUtieQS3ZnkAR3aFBAYEx + QgC6IZIA/6BoAf+IewD/mWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADSgFMA635uANaMSgD/jXgB7qBwAQAAIAD//2kA46NHBNueRAvYn0MW2Z9CLtmfQEnZn0Fj2Z9Bedie + QYzZn0Ge2Z9BrNmfQbbZn0G82Z9Bv9mfQb/Zn0G82Z9BttmfQazZn0Ge2J5BjNmfQXnZn0Fj2Z9ASdmf + Qi7Yn0MW255EC+GkSgP///8AAAAbAO6gcAH/jXgB1oxKAOt+bgDSgFMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/p1oA/94hAP+Z + awH/rGAB/2SnAP/B6gC9f2oAqngnAcCcGgDRpzoA0ao7AdudPwfZnD8M2KBBEdmgQxTaoEIX2qBCF9mg + QxTYoEER2Zw/DNudPwfRqjsB0ac6AMCcGgCqeCcBvX9qAP/B6gD/Y6YA/6xgAf+ZagH/3iEA/6daAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA/6NgAOOUUADLkzkB951ZAP/P + MQD/mW4B9qlcAbJxQwGhWz8Bj0U8AX0yOgF9MjoBj0U8AaFbPwGycUMB9qlcAf+ZbgH/zzEA951ZAMuT + OQHjlFAA/6NgAP//AAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAA////////4AAAB///////////////+AAAAAAf/////////////+AAAAAA + B/////////////8AAAAAAAD////////////8AAAAAAAAP///////////4AAAAAAAAAf//////////8AA + AAAAAAAD//////////8AAAAAAAAAAP/////////+AAAAAAAAAAB/////////+AAAAAAAAAAAH/////// + //AAAAAAAAAAAA/////////AAAAAAAAAAAAD////////wAAAAAAAAAAAA////////wAAAAAAAAAAAAD/ + //////4AAAAAAAAAAAAAf//////8AAAAAAAAAAAAAD//////+AAAAAAAAAAAAAAf//////AAAAAAAAAA + AAAAD//////gAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAAf////8AAAAA + AAAAAAAAAAD////+AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////gAAAAAAAAAAAAAAAAf///4 + AAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA + B///wAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAAAf//gAAAAAAAAAAA + AAAAAAH//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//gAAAAAA + AAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/gA + AAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAA + AB/wAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAA + AAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH4AAAAAAA + AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAA8AA + AAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA + AAPAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAA + AAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA + AAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AA + AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAA + AAfgAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAB/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAA + AAAAAAAP8AAAAAAAAAAAAAAAAAAAD/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA + AAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/8AAAAAAAAAAAAAAAAAAA//QAAAAAAAAAAAAAAAAAAv/4A + AAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAA + AP//QAAAAAAAAAAAAAAAAAL//4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAA + AAAAAAP//9AAAAAAAAAAAAAAAAAL///gAAAAAAAAAAAAAAAAB///4AAAAAAAAAAAAAAAAAf///QAAAAA + AAAAAAAAAAAv///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////0AAAAAAAAAAAAAAAC////+ + AAAAAAAAAAAAAAAAf////gAAAAAAAAAAAAAAAH////8AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAB + /////9AAAAAAAAAAAAAAC//////gAAAAAAAAAAAAAAf/////9AAAAAAAAAAAAAAv//////gAAAAAAAAA + AAAAH//////9AAAAAAAAAAAAAL///////gAAAAAAAAAAAAB///////8AAAAAAAAAAAAA////////gAAA + AAAAAAAAAf///////8AAAAAAAAAAAAP////////wAAAAAAAAAAAP////////+AAAAAAAAAAAH/////// + //4AAAAAAAAAAH//////////AAAAAAAAAAD//////////8AAAAAAAAAD///////////gAAAAAAAAB/// + /////////AAAAAAAAD////////////4QAAAAAAh/////////////4AAAAAAH//////////////gAAAAA + H///////////////gEACAf////////////////AAAA////////////////////////////////////// + //////////////////////////////////8= + + + + Edit github remote storage settings + + + GithubSettingsForm + + + v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + + \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/GithubSettingsForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/GithubSettingsForm.zh-Hans.resx new file mode 100644 index 00000000..dd564ca0 --- /dev/null +++ b/v2rayN/v2rayN/Forms/GithubSettingsForm.zh-Hans.resx @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Github配置 + + + 取消(&C) + + + 确定(&O) + + + 配置 + + + 令牌 + + + 仓库名 + + + 远端配置文件路径 + + + 用户名 + + \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/MainForm.Designer.cs b/v2rayN/v2rayN/Forms/MainForm.Designer.cs index e7b2f4d9..05971a6e 100644 --- a/v2rayN/v2rayN/Forms/MainForm.Designer.cs +++ b/v2rayN/v2rayN/Forms/MainForm.Designer.cs @@ -28,156 +28,158 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); - this.scMain = new System.Windows.Forms.SplitContainer(); - this.lvServers = new v2rayN.Base.ListViewFlickerFree(); - this.cmsLv = new System.Windows.Forms.ContextMenuStrip(this.components); - this.menuAddVmessServer = new System.Windows.Forms.ToolStripMenuItem(); - this.menuAddVlessServer = new System.Windows.Forms.ToolStripMenuItem(); - this.menuAddShadowsocksServer = new System.Windows.Forms.ToolStripMenuItem(); - this.menuAddSocksServer = new System.Windows.Forms.ToolStripMenuItem(); - this.menuAddCustomServer = new System.Windows.Forms.ToolStripMenuItem(); - this.menuAddServers = new System.Windows.Forms.ToolStripMenuItem(); - this.menuScanScreen = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.menuRemoveServer = new System.Windows.Forms.ToolStripMenuItem(); - this.menuRemoveDuplicateServer = new System.Windows.Forms.ToolStripMenuItem(); - this.menuCopyServer = new System.Windows.Forms.ToolStripMenuItem(); - this.menuSetDefaultServer = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.menuMoveTop = new System.Windows.Forms.ToolStripMenuItem(); - this.menuMoveUp = new System.Windows.Forms.ToolStripMenuItem(); - this.menuMoveDown = new System.Windows.Forms.ToolStripMenuItem(); - this.menuMoveBottom = new System.Windows.Forms.ToolStripMenuItem(); - this.menuSelectAll = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); - this.menuPingServer = new System.Windows.Forms.ToolStripMenuItem(); - this.menuTcpingServer = new System.Windows.Forms.ToolStripMenuItem(); - this.menuRealPingServer = new System.Windows.Forms.ToolStripMenuItem(); - this.menuSpeedServer = new System.Windows.Forms.ToolStripMenuItem(); - this.tsbTestMe = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); - this.menuExport2ClientConfig = new System.Windows.Forms.ToolStripMenuItem(); - this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem(); - this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem(); - this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem(); - this.menuGithubUpload = new System.Windows.Forms.ToolStripMenuItem(); - this.qrCodeControl = new v2rayN.Forms.QRCodeControl(); - this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton(); - this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components); - this.cmsMain = new System.Windows.Forms.ContextMenuStrip(this.components); - this.menuSysAgentMode = new System.Windows.Forms.ToolStripMenuItem(); - this.menuNotEnabledHttp = new System.Windows.Forms.ToolStripMenuItem(); - this.menuGlobal = new System.Windows.Forms.ToolStripMenuItem(); - this.menuGlobalPAC = new System.Windows.Forms.ToolStripMenuItem(); - this.menuKeep = new System.Windows.Forms.ToolStripMenuItem(); - this.menuKeepPAC = new System.Windows.Forms.ToolStripMenuItem(); - this.menuKeepNothing = new System.Windows.Forms.ToolStripMenuItem(); - this.menuKeepPACNothing = new System.Windows.Forms.ToolStripMenuItem(); - this.menuServers = new System.Windows.Forms.ToolStripMenuItem(); - this.menuAddServers2 = new System.Windows.Forms.ToolStripMenuItem(); - this.menuScanScreen2 = new System.Windows.Forms.ToolStripMenuItem(); - this.menuCopyPACUrl = new System.Windows.Forms.ToolStripMenuItem(); - this.menuUpdateSubscriptions = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.menuExit = new System.Windows.Forms.ToolStripMenuItem(); - this.bgwScan = new System.ComponentModel.BackgroundWorker(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.groupBox2 = new System.Windows.Forms.GroupBox(); - this.txtMsgBox = new System.Windows.Forms.TextBox(); - this.ssMain = new System.Windows.Forms.StatusStrip(); - this.toolSslSocksPortLab = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolSslSocksPort = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolSslBlank1 = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolSslHttpPortLab = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolSslHttpPort = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolSslBlank2 = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolSslPacPortLab = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolSslPacPort = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolSslBlank3 = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolSslServerSpeed = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolSslBlank4 = new System.Windows.Forms.ToolStripStatusLabel(); - this.panel1 = new System.Windows.Forms.Panel(); - this.tsMain = new System.Windows.Forms.ToolStrip(); - this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); - this.tsbSub = new System.Windows.Forms.ToolStripDropDownButton(); - this.tsbSubSetting = new System.Windows.Forms.ToolStripMenuItem(); - this.tsbSubUpdate = new System.Windows.Forms.ToolStripMenuItem(); - this.tsbQRCodeSwitch = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); - this.tsbOptionSetting = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); - this.tsbReload = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); - this.tsbCheckUpdate = new System.Windows.Forms.ToolStripDropDownButton(); - this.tsbCheckUpdateN = new System.Windows.Forms.ToolStripMenuItem(); - this.tsbCheckUpdateCore = new System.Windows.Forms.ToolStripMenuItem(); - this.tsbCheckUpdatePACList = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator(); - this.tsbCheckClearPACList = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator(); - this.tsbHelp = new System.Windows.Forms.ToolStripDropDownButton(); - this.tsbAbout = new System.Windows.Forms.ToolStripMenuItem(); - this.tsbV2rayWebsite = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); - this.tsbLanguageDef = new System.Windows.Forms.ToolStripMenuItem(); - this.tsbLanguageZhHans = new System.Windows.Forms.ToolStripMenuItem(); - this.tsbPromotion = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); - this.tsbClose = new System.Windows.Forms.ToolStripButton(); - this.menuGithubFetch = new System.Windows.Forms.ToolStripMenuItem(); - ((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit(); - this.scMain.Panel1.SuspendLayout(); - this.scMain.Panel2.SuspendLayout(); - this.scMain.SuspendLayout(); - this.cmsLv.SuspendLayout(); - this.cmsMain.SuspendLayout(); - this.groupBox1.SuspendLayout(); - this.groupBox2.SuspendLayout(); - this.ssMain.SuspendLayout(); - this.tsMain.SuspendLayout(); - this.SuspendLayout(); - // - // scMain - // - resources.ApplyResources(this.scMain, "scMain"); - this.scMain.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; - this.scMain.Name = "scMain"; - // - // scMain.Panel1 - // - this.scMain.Panel1.Controls.Add(this.lvServers); - // - // scMain.Panel2 - // - this.scMain.Panel2.Controls.Add(this.qrCodeControl); - this.scMain.TabStop = false; - // - // lvServers - // - this.lvServers.ContextMenuStrip = this.cmsLv; - resources.ApplyResources(this.lvServers, "lvServers"); - this.lvServers.FullRowSelect = true; - this.lvServers.GridLines = true; - this.lvServers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; - this.lvServers.HideSelection = false; - this.lvServers.Items.AddRange(new System.Windows.Forms.ListViewItem[] { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.scMain = new System.Windows.Forms.SplitContainer(); + this.lvServers = new v2rayN.Base.ListViewFlickerFree(); + this.cmsLv = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menuAddVmessServer = new System.Windows.Forms.ToolStripMenuItem(); + this.menuAddVlessServer = new System.Windows.Forms.ToolStripMenuItem(); + this.menuAddShadowsocksServer = new System.Windows.Forms.ToolStripMenuItem(); + this.menuAddSocksServer = new System.Windows.Forms.ToolStripMenuItem(); + this.menuAddCustomServer = new System.Windows.Forms.ToolStripMenuItem(); + this.menuAddServers = new System.Windows.Forms.ToolStripMenuItem(); + this.menuScanScreen = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.menuRemoveServer = new System.Windows.Forms.ToolStripMenuItem(); + this.menuRemoveDuplicateServer = new System.Windows.Forms.ToolStripMenuItem(); + this.menuCopyServer = new System.Windows.Forms.ToolStripMenuItem(); + this.menuSetDefaultServer = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.menuMoveTop = new System.Windows.Forms.ToolStripMenuItem(); + this.menuMoveUp = new System.Windows.Forms.ToolStripMenuItem(); + this.menuMoveDown = new System.Windows.Forms.ToolStripMenuItem(); + this.menuMoveBottom = new System.Windows.Forms.ToolStripMenuItem(); + this.menuSelectAll = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); + this.menuPingServer = new System.Windows.Forms.ToolStripMenuItem(); + this.menuTcpingServer = new System.Windows.Forms.ToolStripMenuItem(); + this.menuRealPingServer = new System.Windows.Forms.ToolStripMenuItem(); + this.menuSpeedServer = new System.Windows.Forms.ToolStripMenuItem(); + this.tsbTestMe = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); + this.menuExport2ClientConfig = new System.Windows.Forms.ToolStripMenuItem(); + this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem(); + this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem(); + this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem(); + this.menuGithubUpload = new System.Windows.Forms.ToolStripMenuItem(); + this.menuGithubFetch = new System.Windows.Forms.ToolStripMenuItem(); + this.menuGithubSettings = new System.Windows.Forms.ToolStripMenuItem(); + this.qrCodeControl = new v2rayN.Forms.QRCodeControl(); + this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton(); + this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components); + this.cmsMain = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menuSysAgentMode = new System.Windows.Forms.ToolStripMenuItem(); + this.menuNotEnabledHttp = new System.Windows.Forms.ToolStripMenuItem(); + this.menuGlobal = new System.Windows.Forms.ToolStripMenuItem(); + this.menuGlobalPAC = new System.Windows.Forms.ToolStripMenuItem(); + this.menuKeep = new System.Windows.Forms.ToolStripMenuItem(); + this.menuKeepPAC = new System.Windows.Forms.ToolStripMenuItem(); + this.menuKeepNothing = new System.Windows.Forms.ToolStripMenuItem(); + this.menuKeepPACNothing = new System.Windows.Forms.ToolStripMenuItem(); + this.menuServers = new System.Windows.Forms.ToolStripMenuItem(); + this.menuAddServers2 = new System.Windows.Forms.ToolStripMenuItem(); + this.menuScanScreen2 = new System.Windows.Forms.ToolStripMenuItem(); + this.menuCopyPACUrl = new System.Windows.Forms.ToolStripMenuItem(); + this.menuUpdateSubscriptions = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.menuExit = new System.Windows.Forms.ToolStripMenuItem(); + this.bgwScan = new System.ComponentModel.BackgroundWorker(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.txtMsgBox = new System.Windows.Forms.TextBox(); + this.ssMain = new System.Windows.Forms.StatusStrip(); + this.toolSslSocksPortLab = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolSslSocksPort = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolSslBlank1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolSslHttpPortLab = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolSslHttpPort = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolSslBlank2 = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolSslPacPortLab = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolSslPacPort = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolSslBlank3 = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolSslServerSpeed = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolSslBlank4 = new System.Windows.Forms.ToolStripStatusLabel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.tsMain = new System.Windows.Forms.ToolStrip(); + this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbSub = new System.Windows.Forms.ToolStripDropDownButton(); + this.tsbSubSetting = new System.Windows.Forms.ToolStripMenuItem(); + this.tsbSubUpdate = new System.Windows.Forms.ToolStripMenuItem(); + this.tsbQRCodeSwitch = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbOptionSetting = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbReload = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbCheckUpdate = new System.Windows.Forms.ToolStripDropDownButton(); + this.tsbCheckUpdateN = new System.Windows.Forms.ToolStripMenuItem(); + this.tsbCheckUpdateCore = new System.Windows.Forms.ToolStripMenuItem(); + this.tsbCheckUpdatePACList = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbCheckClearPACList = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbHelp = new System.Windows.Forms.ToolStripDropDownButton(); + this.tsbAbout = new System.Windows.Forms.ToolStripMenuItem(); + this.tsbV2rayWebsite = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbLanguageDef = new System.Windows.Forms.ToolStripMenuItem(); + this.tsbLanguageZhHans = new System.Windows.Forms.ToolStripMenuItem(); + this.tsbPromotion = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbClose = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator(); + ((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit(); + this.scMain.Panel1.SuspendLayout(); + this.scMain.Panel2.SuspendLayout(); + this.scMain.SuspendLayout(); + this.cmsLv.SuspendLayout(); + this.cmsMain.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.ssMain.SuspendLayout(); + this.tsMain.SuspendLayout(); + this.SuspendLayout(); + // + // scMain + // + resources.ApplyResources(this.scMain, "scMain"); + this.scMain.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.scMain.Name = "scMain"; + // + // scMain.Panel1 + // + this.scMain.Panel1.Controls.Add(this.lvServers); + // + // scMain.Panel2 + // + this.scMain.Panel2.Controls.Add(this.qrCodeControl); + this.scMain.TabStop = false; + // + // lvServers + // + this.lvServers.ContextMenuStrip = this.cmsLv; + resources.ApplyResources(this.lvServers, "lvServers"); + this.lvServers.FullRowSelect = true; + this.lvServers.GridLines = true; + this.lvServers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; + this.lvServers.HideSelection = false; + this.lvServers.Items.AddRange(new System.Windows.Forms.ListViewItem[] { ((System.Windows.Forms.ListViewItem)(resources.GetObject("lvServers.Items")))}); - this.lvServers.MultiSelect = false; - this.lvServers.Name = "lvServers"; - this.lvServers.UseCompatibleStateImageBehavior = false; - this.lvServers.View = System.Windows.Forms.View.Details; - this.lvServers.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.lvServers_ColumnClick); - this.lvServers.SelectedIndexChanged += new System.EventHandler(this.lvServers_SelectedIndexChanged); - this.lvServers.Click += new System.EventHandler(this.lvServers_Click); - this.lvServers.DoubleClick += new System.EventHandler(this.lvServers_DoubleClick); - this.lvServers.KeyDown += new System.Windows.Forms.KeyEventHandler(this.lvServers_KeyDown); - // - // cmsLv - // - this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20); - this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.lvServers.MultiSelect = false; + this.lvServers.Name = "lvServers"; + this.lvServers.UseCompatibleStateImageBehavior = false; + this.lvServers.View = System.Windows.Forms.View.Details; + this.lvServers.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.lvServers_ColumnClick); + this.lvServers.SelectedIndexChanged += new System.EventHandler(this.lvServers_SelectedIndexChanged); + this.lvServers.Click += new System.EventHandler(this.lvServers_Click); + this.lvServers.DoubleClick += new System.EventHandler(this.lvServers_DoubleClick); + this.lvServers.KeyDown += new System.Windows.Forms.KeyEventHandler(this.lvServers_KeyDown); + // + // cmsLv + // + this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20); + this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuAddVmessServer, this.menuAddVlessServer, this.menuAddShadowsocksServer, @@ -207,209 +209,224 @@ this.menuExport2ServerConfig, this.menuExport2ShareUrl, this.menuExport2SubContent, + this.toolStripSeparator14, this.menuGithubUpload, - this.menuGithubFetch}); - this.cmsLv.Name = "cmsLv"; - resources.ApplyResources(this.cmsLv, "cmsLv"); - // - // menuAddVmessServer - // - this.menuAddVmessServer.Name = "menuAddVmessServer"; - resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer"); - this.menuAddVmessServer.Click += new System.EventHandler(this.menuAddVmessServer_Click); - // - // menuAddVlessServer - // - this.menuAddVlessServer.Name = "menuAddVlessServer"; - resources.ApplyResources(this.menuAddVlessServer, "menuAddVlessServer"); - this.menuAddVlessServer.Click += new System.EventHandler(this.menuAddVlessServer_Click); - // - // menuAddShadowsocksServer - // - this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer"; - resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer"); - this.menuAddShadowsocksServer.Click += new System.EventHandler(this.menuAddShadowsocksServer_Click); - // - // menuAddSocksServer - // - this.menuAddSocksServer.Name = "menuAddSocksServer"; - resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer"); - this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click); - // - // menuAddCustomServer - // - this.menuAddCustomServer.Name = "menuAddCustomServer"; - resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer"); - this.menuAddCustomServer.Click += new System.EventHandler(this.menuAddCustomServer_Click); - // - // menuAddServers - // - this.menuAddServers.Name = "menuAddServers"; - resources.ApplyResources(this.menuAddServers, "menuAddServers"); - this.menuAddServers.Click += new System.EventHandler(this.menuAddServers_Click); - // - // menuScanScreen - // - this.menuScanScreen.Name = "menuScanScreen"; - resources.ApplyResources(this.menuScanScreen, "menuScanScreen"); - this.menuScanScreen.Click += new System.EventHandler(this.menuScanScreen_Click); - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1"); - // - // menuRemoveServer - // - this.menuRemoveServer.Name = "menuRemoveServer"; - resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer"); - this.menuRemoveServer.Click += new System.EventHandler(this.menuRemoveServer_Click); - // - // menuRemoveDuplicateServer - // - this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer"; - resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer"); - this.menuRemoveDuplicateServer.Click += new System.EventHandler(this.menuRemoveDuplicateServer_Click); - // - // menuCopyServer - // - this.menuCopyServer.Name = "menuCopyServer"; - resources.ApplyResources(this.menuCopyServer, "menuCopyServer"); - this.menuCopyServer.Click += new System.EventHandler(this.menuCopyServer_Click); - // - // menuSetDefaultServer - // - this.menuSetDefaultServer.Name = "menuSetDefaultServer"; - resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer"); - this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click); - // - // toolStripSeparator3 - // - this.toolStripSeparator3.Name = "toolStripSeparator3"; - resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3"); - // - // menuMoveTop - // - this.menuMoveTop.Name = "menuMoveTop"; - resources.ApplyResources(this.menuMoveTop, "menuMoveTop"); - this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click); - // - // menuMoveUp - // - this.menuMoveUp.Name = "menuMoveUp"; - resources.ApplyResources(this.menuMoveUp, "menuMoveUp"); - this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click); - // - // menuMoveDown - // - this.menuMoveDown.Name = "menuMoveDown"; - resources.ApplyResources(this.menuMoveDown, "menuMoveDown"); - this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click); - // - // menuMoveBottom - // - this.menuMoveBottom.Name = "menuMoveBottom"; - resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom"); - this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click); - // - // menuSelectAll - // - this.menuSelectAll.Name = "menuSelectAll"; - resources.ApplyResources(this.menuSelectAll, "menuSelectAll"); - this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click); - // - // toolStripSeparator9 - // - this.toolStripSeparator9.Name = "toolStripSeparator9"; - resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9"); - // - // menuPingServer - // - this.menuPingServer.Name = "menuPingServer"; - resources.ApplyResources(this.menuPingServer, "menuPingServer"); - this.menuPingServer.Click += new System.EventHandler(this.menuPingServer_Click); - // - // menuTcpingServer - // - this.menuTcpingServer.Name = "menuTcpingServer"; - resources.ApplyResources(this.menuTcpingServer, "menuTcpingServer"); - this.menuTcpingServer.Click += new System.EventHandler(this.menuTcpingServer_Click); - // - // menuRealPingServer - // - this.menuRealPingServer.Name = "menuRealPingServer"; - resources.ApplyResources(this.menuRealPingServer, "menuRealPingServer"); - this.menuRealPingServer.Click += new System.EventHandler(this.menuRealPingServer_Click); - // - // menuSpeedServer - // - this.menuSpeedServer.Name = "menuSpeedServer"; - resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer"); - this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click); - // - // tsbTestMe - // - this.tsbTestMe.Name = "tsbTestMe"; - resources.ApplyResources(this.tsbTestMe, "tsbTestMe"); - this.tsbTestMe.Click += new System.EventHandler(this.tsbTestMe_Click); - // - // toolStripSeparator6 - // - this.toolStripSeparator6.Name = "toolStripSeparator6"; - resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6"); - // - // menuExport2ClientConfig - // - this.menuExport2ClientConfig.Name = "menuExport2ClientConfig"; - resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig"); - this.menuExport2ClientConfig.Click += new System.EventHandler(this.menuExport2ClientConfig_Click); - // - // menuExport2ServerConfig - // - this.menuExport2ServerConfig.Name = "menuExport2ServerConfig"; - resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig"); - this.menuExport2ServerConfig.Click += new System.EventHandler(this.menuExport2ServerConfig_Click); - // - // menuExport2ShareUrl - // - this.menuExport2ShareUrl.Name = "menuExport2ShareUrl"; - resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl"); - this.menuExport2ShareUrl.Click += new System.EventHandler(this.menuExport2ShareUrl_Click); - // - // menuExport2SubContent - // - this.menuExport2SubContent.Name = "menuExport2SubContent"; - resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent"); - this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click); - // - // menuGithubUpload - // - this.menuGithubUpload.Name = "menuGithubUpload"; - resources.ApplyResources(this.menuGithubUpload, "menuGithubUpload"); - // - // qrCodeControl - // - resources.ApplyResources(this.qrCodeControl, "qrCodeControl"); - this.qrCodeControl.Name = "qrCodeControl"; - // - // tsbServer - // - this.tsbServer.DropDown = this.cmsLv; - this.tsbServer.Image = global::v2rayN.Properties.Resources.server; - resources.ApplyResources(this.tsbServer, "tsbServer"); - this.tsbServer.Name = "tsbServer"; - // - // notifyMain - // - this.notifyMain.ContextMenuStrip = this.cmsMain; - resources.ApplyResources(this.notifyMain, "notifyMain"); - this.notifyMain.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyMain_MouseClick); - // - // cmsMain - // - this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20); - resources.ApplyResources(this.cmsMain, "cmsMain"); - this.cmsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuGithubFetch, + this.menuGithubSettings}); + this.cmsLv.Name = "cmsLv"; + resources.ApplyResources(this.cmsLv, "cmsLv"); + // + // menuAddVmessServer + // + this.menuAddVmessServer.Name = "menuAddVmessServer"; + resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer"); + this.menuAddVmessServer.Click += new System.EventHandler(this.menuAddVmessServer_Click); + // + // menuAddVlessServer + // + this.menuAddVlessServer.Name = "menuAddVlessServer"; + resources.ApplyResources(this.menuAddVlessServer, "menuAddVlessServer"); + this.menuAddVlessServer.Click += new System.EventHandler(this.menuAddVlessServer_Click); + // + // menuAddShadowsocksServer + // + this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer"; + resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer"); + this.menuAddShadowsocksServer.Click += new System.EventHandler(this.menuAddShadowsocksServer_Click); + // + // menuAddSocksServer + // + this.menuAddSocksServer.Name = "menuAddSocksServer"; + resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer"); + this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click); + // + // menuAddCustomServer + // + this.menuAddCustomServer.Name = "menuAddCustomServer"; + resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer"); + this.menuAddCustomServer.Click += new System.EventHandler(this.menuAddCustomServer_Click); + // + // menuAddServers + // + this.menuAddServers.Name = "menuAddServers"; + resources.ApplyResources(this.menuAddServers, "menuAddServers"); + this.menuAddServers.Click += new System.EventHandler(this.menuAddServers_Click); + // + // menuScanScreen + // + this.menuScanScreen.Name = "menuScanScreen"; + resources.ApplyResources(this.menuScanScreen, "menuScanScreen"); + this.menuScanScreen.Click += new System.EventHandler(this.menuScanScreen_Click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1"); + // + // menuRemoveServer + // + this.menuRemoveServer.Name = "menuRemoveServer"; + resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer"); + this.menuRemoveServer.Click += new System.EventHandler(this.menuRemoveServer_Click); + // + // menuRemoveDuplicateServer + // + this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer"; + resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer"); + this.menuRemoveDuplicateServer.Click += new System.EventHandler(this.menuRemoveDuplicateServer_Click); + // + // menuCopyServer + // + this.menuCopyServer.Name = "menuCopyServer"; + resources.ApplyResources(this.menuCopyServer, "menuCopyServer"); + this.menuCopyServer.Click += new System.EventHandler(this.menuCopyServer_Click); + // + // menuSetDefaultServer + // + this.menuSetDefaultServer.Name = "menuSetDefaultServer"; + resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer"); + this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3"); + // + // menuMoveTop + // + this.menuMoveTop.Name = "menuMoveTop"; + resources.ApplyResources(this.menuMoveTop, "menuMoveTop"); + this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click); + // + // menuMoveUp + // + this.menuMoveUp.Name = "menuMoveUp"; + resources.ApplyResources(this.menuMoveUp, "menuMoveUp"); + this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click); + // + // menuMoveDown + // + this.menuMoveDown.Name = "menuMoveDown"; + resources.ApplyResources(this.menuMoveDown, "menuMoveDown"); + this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click); + // + // menuMoveBottom + // + this.menuMoveBottom.Name = "menuMoveBottom"; + resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom"); + this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click); + // + // menuSelectAll + // + this.menuSelectAll.Name = "menuSelectAll"; + resources.ApplyResources(this.menuSelectAll, "menuSelectAll"); + this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click); + // + // toolStripSeparator9 + // + this.toolStripSeparator9.Name = "toolStripSeparator9"; + resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9"); + // + // menuPingServer + // + this.menuPingServer.Name = "menuPingServer"; + resources.ApplyResources(this.menuPingServer, "menuPingServer"); + this.menuPingServer.Click += new System.EventHandler(this.menuPingServer_Click); + // + // menuTcpingServer + // + this.menuTcpingServer.Name = "menuTcpingServer"; + resources.ApplyResources(this.menuTcpingServer, "menuTcpingServer"); + this.menuTcpingServer.Click += new System.EventHandler(this.menuTcpingServer_Click); + // + // menuRealPingServer + // + this.menuRealPingServer.Name = "menuRealPingServer"; + resources.ApplyResources(this.menuRealPingServer, "menuRealPingServer"); + this.menuRealPingServer.Click += new System.EventHandler(this.menuRealPingServer_Click); + // + // menuSpeedServer + // + this.menuSpeedServer.Name = "menuSpeedServer"; + resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer"); + this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click); + // + // tsbTestMe + // + this.tsbTestMe.Name = "tsbTestMe"; + resources.ApplyResources(this.tsbTestMe, "tsbTestMe"); + this.tsbTestMe.Click += new System.EventHandler(this.tsbTestMe_Click); + // + // toolStripSeparator6 + // + this.toolStripSeparator6.Name = "toolStripSeparator6"; + resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6"); + // + // menuExport2ClientConfig + // + this.menuExport2ClientConfig.Name = "menuExport2ClientConfig"; + resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig"); + this.menuExport2ClientConfig.Click += new System.EventHandler(this.menuExport2ClientConfig_Click); + // + // menuExport2ServerConfig + // + this.menuExport2ServerConfig.Name = "menuExport2ServerConfig"; + resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig"); + this.menuExport2ServerConfig.Click += new System.EventHandler(this.menuExport2ServerConfig_Click); + // + // menuExport2ShareUrl + // + this.menuExport2ShareUrl.Name = "menuExport2ShareUrl"; + resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl"); + this.menuExport2ShareUrl.Click += new System.EventHandler(this.menuExport2ShareUrl_Click); + // + // menuExport2SubContent + // + this.menuExport2SubContent.Name = "menuExport2SubContent"; + resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent"); + this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click); + // + // menuGithubUpload + // + this.menuGithubUpload.Name = "menuGithubUpload"; + resources.ApplyResources(this.menuGithubUpload, "menuGithubUpload"); + this.menuGithubUpload.Click += new System.EventHandler(this.menuGithubUpload_Click); + // + // menuGithubFetch + // + this.menuGithubFetch.Name = "menuGithubFetch"; + resources.ApplyResources(this.menuGithubFetch, "menuGithubFetch"); + this.menuGithubFetch.Click += new System.EventHandler(this.menuGithubFetch_Click); + // + // menuGithubSettings + // + this.menuGithubSettings.Name = "menuGithubSettings"; + resources.ApplyResources(this.menuGithubSettings, "menuGithubSettings"); + this.menuGithubSettings.Click += new System.EventHandler(this.menuGithubSettings_Click); + // + // qrCodeControl + // + resources.ApplyResources(this.qrCodeControl, "qrCodeControl"); + this.qrCodeControl.Name = "qrCodeControl"; + // + // tsbServer + // + this.tsbServer.DropDown = this.cmsLv; + this.tsbServer.Image = global::v2rayN.Properties.Resources.server; + resources.ApplyResources(this.tsbServer, "tsbServer"); + this.tsbServer.Name = "tsbServer"; + // + // notifyMain + // + this.notifyMain.ContextMenuStrip = this.cmsMain; + resources.ApplyResources(this.notifyMain, "notifyMain"); + this.notifyMain.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyMain_MouseClick); + // + // cmsMain + // + this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20); + resources.ApplyResources(this.cmsMain, "cmsMain"); + this.cmsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuSysAgentMode, this.menuServers, this.menuAddServers2, @@ -418,14 +435,14 @@ this.menuUpdateSubscriptions, this.toolStripSeparator2, this.menuExit}); - this.cmsMain.Name = "contextMenuStrip1"; - this.cmsMain.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; - this.cmsMain.ShowCheckMargin = true; - this.cmsMain.ShowImageMargin = false; - // - // menuSysAgentMode - // - this.menuSysAgentMode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.cmsMain.Name = "contextMenuStrip1"; + this.cmsMain.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; + this.cmsMain.ShowCheckMargin = true; + this.cmsMain.ShowImageMargin = false; + // + // menuSysAgentMode + // + this.menuSysAgentMode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuNotEnabledHttp, this.menuGlobal, this.menuGlobalPAC, @@ -433,124 +450,124 @@ this.menuKeepPAC, this.menuKeepNothing, this.menuKeepPACNothing}); - this.menuSysAgentMode.Name = "menuSysAgentMode"; - resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode"); - // - // menuNotEnabledHttp - // - this.menuNotEnabledHttp.Name = "menuNotEnabledHttp"; - resources.ApplyResources(this.menuNotEnabledHttp, "menuNotEnabledHttp"); - this.menuNotEnabledHttp.Click += new System.EventHandler(this.menuNotEnabledHttp_Click); - // - // menuGlobal - // - this.menuGlobal.Name = "menuGlobal"; - resources.ApplyResources(this.menuGlobal, "menuGlobal"); - this.menuGlobal.Click += new System.EventHandler(this.menuGlobal_Click); - // - // menuGlobalPAC - // - this.menuGlobalPAC.Name = "menuGlobalPAC"; - resources.ApplyResources(this.menuGlobalPAC, "menuGlobalPAC"); - this.menuGlobalPAC.Click += new System.EventHandler(this.menuGlobalPAC_Click); - // - // menuKeep - // - this.menuKeep.Name = "menuKeep"; - resources.ApplyResources(this.menuKeep, "menuKeep"); - this.menuKeep.Click += new System.EventHandler(this.menuKeep_Click); - // - // menuKeepPAC - // - this.menuKeepPAC.Name = "menuKeepPAC"; - resources.ApplyResources(this.menuKeepPAC, "menuKeepPAC"); - this.menuKeepPAC.Click += new System.EventHandler(this.menuKeepPAC_Click); - // - // menuKeepNothing - // - this.menuKeepNothing.Name = "menuKeepNothing"; - resources.ApplyResources(this.menuKeepNothing, "menuKeepNothing"); - this.menuKeepNothing.Click += new System.EventHandler(this.menuKeepNothing_Click); - // - // menuKeepPACNothing - // - this.menuKeepPACNothing.Name = "menuKeepPACNothing"; - resources.ApplyResources(this.menuKeepPACNothing, "menuKeepPACNothing"); - this.menuKeepPACNothing.Click += new System.EventHandler(this.menuKeepPACNothing_Click); - // - // menuServers - // - this.menuServers.Name = "menuServers"; - resources.ApplyResources(this.menuServers, "menuServers"); - // - // menuAddServers2 - // - this.menuAddServers2.Name = "menuAddServers2"; - resources.ApplyResources(this.menuAddServers2, "menuAddServers2"); - this.menuAddServers2.Click += new System.EventHandler(this.menuAddServers_Click); - // - // menuScanScreen2 - // - this.menuScanScreen2.Name = "menuScanScreen2"; - resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2"); - this.menuScanScreen2.Click += new System.EventHandler(this.menuScanScreen_Click); - // - // menuCopyPACUrl - // - this.menuCopyPACUrl.Name = "menuCopyPACUrl"; - resources.ApplyResources(this.menuCopyPACUrl, "menuCopyPACUrl"); - this.menuCopyPACUrl.Click += new System.EventHandler(this.menuCopyPACUrl_Click); - // - // menuUpdateSubscriptions - // - this.menuUpdateSubscriptions.Name = "menuUpdateSubscriptions"; - resources.ApplyResources(this.menuUpdateSubscriptions, "menuUpdateSubscriptions"); - this.menuUpdateSubscriptions.Click += new System.EventHandler(this.menuUpdateSubscriptions_Click); - // - // toolStripSeparator2 - // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2"); - // - // menuExit - // - this.menuExit.Name = "menuExit"; - resources.ApplyResources(this.menuExit, "menuExit"); - this.menuExit.Click += new System.EventHandler(this.menuExit_Click); - // - // bgwScan - // - this.bgwScan.WorkerReportsProgress = true; - this.bgwScan.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bgwScan_DoWork); - this.bgwScan.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.bgwScan_ProgressChanged); - // - // groupBox1 - // - this.groupBox1.Controls.Add(this.scMain); - resources.ApplyResources(this.groupBox1, "groupBox1"); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.TabStop = false; - // - // groupBox2 - // - this.groupBox2.Controls.Add(this.txtMsgBox); - this.groupBox2.Controls.Add(this.ssMain); - resources.ApplyResources(this.groupBox2, "groupBox2"); - this.groupBox2.Name = "groupBox2"; - this.groupBox2.TabStop = false; - // - // txtMsgBox - // - this.txtMsgBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(49)))), ((int)(((byte)(52))))); - this.txtMsgBox.BorderStyle = System.Windows.Forms.BorderStyle.None; - resources.ApplyResources(this.txtMsgBox, "txtMsgBox"); - this.txtMsgBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(226)))), ((int)(((byte)(228))))); - this.txtMsgBox.Name = "txtMsgBox"; - this.txtMsgBox.ReadOnly = true; - // - // ssMain - // - this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuSysAgentMode.Name = "menuSysAgentMode"; + resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode"); + // + // menuNotEnabledHttp + // + this.menuNotEnabledHttp.Name = "menuNotEnabledHttp"; + resources.ApplyResources(this.menuNotEnabledHttp, "menuNotEnabledHttp"); + this.menuNotEnabledHttp.Click += new System.EventHandler(this.menuNotEnabledHttp_Click); + // + // menuGlobal + // + this.menuGlobal.Name = "menuGlobal"; + resources.ApplyResources(this.menuGlobal, "menuGlobal"); + this.menuGlobal.Click += new System.EventHandler(this.menuGlobal_Click); + // + // menuGlobalPAC + // + this.menuGlobalPAC.Name = "menuGlobalPAC"; + resources.ApplyResources(this.menuGlobalPAC, "menuGlobalPAC"); + this.menuGlobalPAC.Click += new System.EventHandler(this.menuGlobalPAC_Click); + // + // menuKeep + // + this.menuKeep.Name = "menuKeep"; + resources.ApplyResources(this.menuKeep, "menuKeep"); + this.menuKeep.Click += new System.EventHandler(this.menuKeep_Click); + // + // menuKeepPAC + // + this.menuKeepPAC.Name = "menuKeepPAC"; + resources.ApplyResources(this.menuKeepPAC, "menuKeepPAC"); + this.menuKeepPAC.Click += new System.EventHandler(this.menuKeepPAC_Click); + // + // menuKeepNothing + // + this.menuKeepNothing.Name = "menuKeepNothing"; + resources.ApplyResources(this.menuKeepNothing, "menuKeepNothing"); + this.menuKeepNothing.Click += new System.EventHandler(this.menuKeepNothing_Click); + // + // menuKeepPACNothing + // + this.menuKeepPACNothing.Name = "menuKeepPACNothing"; + resources.ApplyResources(this.menuKeepPACNothing, "menuKeepPACNothing"); + this.menuKeepPACNothing.Click += new System.EventHandler(this.menuKeepPACNothing_Click); + // + // menuServers + // + this.menuServers.Name = "menuServers"; + resources.ApplyResources(this.menuServers, "menuServers"); + // + // menuAddServers2 + // + this.menuAddServers2.Name = "menuAddServers2"; + resources.ApplyResources(this.menuAddServers2, "menuAddServers2"); + this.menuAddServers2.Click += new System.EventHandler(this.menuAddServers_Click); + // + // menuScanScreen2 + // + this.menuScanScreen2.Name = "menuScanScreen2"; + resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2"); + this.menuScanScreen2.Click += new System.EventHandler(this.menuScanScreen_Click); + // + // menuCopyPACUrl + // + this.menuCopyPACUrl.Name = "menuCopyPACUrl"; + resources.ApplyResources(this.menuCopyPACUrl, "menuCopyPACUrl"); + this.menuCopyPACUrl.Click += new System.EventHandler(this.menuCopyPACUrl_Click); + // + // menuUpdateSubscriptions + // + this.menuUpdateSubscriptions.Name = "menuUpdateSubscriptions"; + resources.ApplyResources(this.menuUpdateSubscriptions, "menuUpdateSubscriptions"); + this.menuUpdateSubscriptions.Click += new System.EventHandler(this.menuUpdateSubscriptions_Click); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2"); + // + // menuExit + // + this.menuExit.Name = "menuExit"; + resources.ApplyResources(this.menuExit, "menuExit"); + this.menuExit.Click += new System.EventHandler(this.menuExit_Click); + // + // bgwScan + // + this.bgwScan.WorkerReportsProgress = true; + this.bgwScan.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bgwScan_DoWork); + this.bgwScan.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.bgwScan_ProgressChanged); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.scMain); + resources.ApplyResources(this.groupBox1, "groupBox1"); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.TabStop = false; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.txtMsgBox); + this.groupBox2.Controls.Add(this.ssMain); + resources.ApplyResources(this.groupBox2, "groupBox2"); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.TabStop = false; + // + // txtMsgBox + // + this.txtMsgBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(49)))), ((int)(((byte)(52))))); + this.txtMsgBox.BorderStyle = System.Windows.Forms.BorderStyle.None; + resources.ApplyResources(this.txtMsgBox, "txtMsgBox"); + this.txtMsgBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(226)))), ((int)(((byte)(228))))); + this.txtMsgBox.Name = "txtMsgBox"; + this.txtMsgBox.ReadOnly = true; + // + // ssMain + // + this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolSslSocksPortLab, this.toolSslSocksPort, this.toolSslBlank1, @@ -562,78 +579,78 @@ this.toolSslBlank3, this.toolSslServerSpeed, this.toolSslBlank4}); - resources.ApplyResources(this.ssMain, "ssMain"); - this.ssMain.Name = "ssMain"; - this.ssMain.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ssMain_ItemClicked); - // - // toolSslSocksPortLab - // - resources.ApplyResources(this.toolSslSocksPortLab, "toolSslSocksPortLab"); - this.toolSslSocksPortLab.Name = "toolSslSocksPortLab"; - // - // toolSslSocksPort - // - this.toolSslSocksPort.Name = "toolSslSocksPort"; - resources.ApplyResources(this.toolSslSocksPort, "toolSslSocksPort"); - // - // toolSslBlank1 - // - resources.ApplyResources(this.toolSslBlank1, "toolSslBlank1"); - this.toolSslBlank1.Name = "toolSslBlank1"; - this.toolSslBlank1.Spring = true; - // - // toolSslHttpPortLab - // - resources.ApplyResources(this.toolSslHttpPortLab, "toolSslHttpPortLab"); - this.toolSslHttpPortLab.Name = "toolSslHttpPortLab"; - // - // toolSslHttpPort - // - this.toolSslHttpPort.Name = "toolSslHttpPort"; - resources.ApplyResources(this.toolSslHttpPort, "toolSslHttpPort"); - // - // toolSslBlank2 - // - resources.ApplyResources(this.toolSslBlank2, "toolSslBlank2"); - this.toolSslBlank2.Name = "toolSslBlank2"; - this.toolSslBlank2.Spring = true; - // - // toolSslPacPortLab - // - resources.ApplyResources(this.toolSslPacPortLab, "toolSslPacPortLab"); - this.toolSslPacPortLab.Name = "toolSslPacPortLab"; - // - // toolSslPacPort - // - this.toolSslPacPort.Name = "toolSslPacPort"; - resources.ApplyResources(this.toolSslPacPort, "toolSslPacPort"); - // - // toolSslBlank3 - // - resources.ApplyResources(this.toolSslBlank3, "toolSslBlank3"); - this.toolSslBlank3.Name = "toolSslBlank3"; - this.toolSslBlank3.Spring = true; - // - // toolSslServerSpeed - // - resources.ApplyResources(this.toolSslServerSpeed, "toolSslServerSpeed"); - this.toolSslServerSpeed.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.toolSslServerSpeed.Name = "toolSslServerSpeed"; - // - // toolSslBlank4 - // - this.toolSslBlank4.Name = "toolSslBlank4"; - resources.ApplyResources(this.toolSslBlank4, "toolSslBlank4"); - // - // panel1 - // - resources.ApplyResources(this.panel1, "panel1"); - this.panel1.Name = "panel1"; - // - // tsMain - // - this.tsMain.ImageScalingSize = new System.Drawing.Size(32, 32); - this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + resources.ApplyResources(this.ssMain, "ssMain"); + this.ssMain.Name = "ssMain"; + this.ssMain.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ssMain_ItemClicked); + // + // toolSslSocksPortLab + // + resources.ApplyResources(this.toolSslSocksPortLab, "toolSslSocksPortLab"); + this.toolSslSocksPortLab.Name = "toolSslSocksPortLab"; + // + // toolSslSocksPort + // + this.toolSslSocksPort.Name = "toolSslSocksPort"; + resources.ApplyResources(this.toolSslSocksPort, "toolSslSocksPort"); + // + // toolSslBlank1 + // + resources.ApplyResources(this.toolSslBlank1, "toolSslBlank1"); + this.toolSslBlank1.Name = "toolSslBlank1"; + this.toolSslBlank1.Spring = true; + // + // toolSslHttpPortLab + // + resources.ApplyResources(this.toolSslHttpPortLab, "toolSslHttpPortLab"); + this.toolSslHttpPortLab.Name = "toolSslHttpPortLab"; + // + // toolSslHttpPort + // + this.toolSslHttpPort.Name = "toolSslHttpPort"; + resources.ApplyResources(this.toolSslHttpPort, "toolSslHttpPort"); + // + // toolSslBlank2 + // + resources.ApplyResources(this.toolSslBlank2, "toolSslBlank2"); + this.toolSslBlank2.Name = "toolSslBlank2"; + this.toolSslBlank2.Spring = true; + // + // toolSslPacPortLab + // + resources.ApplyResources(this.toolSslPacPortLab, "toolSslPacPortLab"); + this.toolSslPacPortLab.Name = "toolSslPacPortLab"; + // + // toolSslPacPort + // + this.toolSslPacPort.Name = "toolSslPacPort"; + resources.ApplyResources(this.toolSslPacPort, "toolSslPacPort"); + // + // toolSslBlank3 + // + resources.ApplyResources(this.toolSslBlank3, "toolSslBlank3"); + this.toolSslBlank3.Name = "toolSslBlank3"; + this.toolSslBlank3.Spring = true; + // + // toolSslServerSpeed + // + resources.ApplyResources(this.toolSslServerSpeed, "toolSslServerSpeed"); + this.toolSslServerSpeed.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.toolSslServerSpeed.Name = "toolSslServerSpeed"; + // + // toolSslBlank4 + // + this.toolSslBlank4.Name = "toolSslBlank4"; + resources.ApplyResources(this.toolSslBlank4, "toolSslBlank4"); + // + // panel1 + // + resources.ApplyResources(this.panel1, "panel1"); + this.panel1.Name = "panel1"; + // + // tsMain + // + this.tsMain.ImageScalingSize = new System.Drawing.Size(32, 32); + this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbServer, this.toolStripSeparator4, this.tsbSub, @@ -649,215 +666,215 @@ this.tsbPromotion, this.toolStripSeparator11, this.tsbClose}); - resources.ApplyResources(this.tsMain, "tsMain"); - this.tsMain.Name = "tsMain"; - this.tsMain.TabStop = true; - // - // toolStripSeparator4 - // - this.toolStripSeparator4.Name = "toolStripSeparator4"; - resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4"); - // - // tsbSub - // - this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + resources.ApplyResources(this.tsMain, "tsMain"); + this.tsMain.Name = "tsMain"; + this.tsMain.TabStop = true; + // + // toolStripSeparator4 + // + this.toolStripSeparator4.Name = "toolStripSeparator4"; + resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4"); + // + // tsbSub + // + this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbSubSetting, this.tsbSubUpdate}); - this.tsbSub.Image = global::v2rayN.Properties.Resources.sub; - resources.ApplyResources(this.tsbSub, "tsbSub"); - this.tsbSub.Name = "tsbSub"; - // - // tsbSubSetting - // - this.tsbSubSetting.Name = "tsbSubSetting"; - resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting"); - this.tsbSubSetting.Click += new System.EventHandler(this.tsbSubSetting_Click); - // - // tsbSubUpdate - // - this.tsbSubUpdate.Name = "tsbSubUpdate"; - resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate"); - this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click); - // - // tsbQRCodeSwitch - // - this.tsbQRCodeSwitch.CheckOnClick = true; - this.tsbQRCodeSwitch.ForeColor = System.Drawing.Color.Black; - this.tsbQRCodeSwitch.Image = global::v2rayN.Properties.Resources.share; - resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch"); - this.tsbQRCodeSwitch.Name = "tsbQRCodeSwitch"; - this.tsbQRCodeSwitch.CheckedChanged += new System.EventHandler(this.tsbQRCodeSwitch_CheckedChanged); - // - // toolStripSeparator8 - // - this.toolStripSeparator8.Name = "toolStripSeparator8"; - resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8"); - // - // tsbOptionSetting - // - this.tsbOptionSetting.Image = global::v2rayN.Properties.Resources.option; - resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting"); - this.tsbOptionSetting.Name = "tsbOptionSetting"; - this.tsbOptionSetting.Click += new System.EventHandler(this.tsbOptionSetting_Click); - // - // toolStripSeparator5 - // - this.toolStripSeparator5.Name = "toolStripSeparator5"; - resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5"); - // - // tsbReload - // - resources.ApplyResources(this.tsbReload, "tsbReload"); - this.tsbReload.Name = "tsbReload"; - this.tsbReload.Click += new System.EventHandler(this.tsbReload_Click); - // - // toolStripSeparator7 - // - this.toolStripSeparator7.Name = "toolStripSeparator7"; - resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7"); - // - // tsbCheckUpdate - // - this.tsbCheckUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsbSub.Image = global::v2rayN.Properties.Resources.sub; + resources.ApplyResources(this.tsbSub, "tsbSub"); + this.tsbSub.Name = "tsbSub"; + // + // tsbSubSetting + // + this.tsbSubSetting.Name = "tsbSubSetting"; + resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting"); + this.tsbSubSetting.Click += new System.EventHandler(this.tsbSubSetting_Click); + // + // tsbSubUpdate + // + this.tsbSubUpdate.Name = "tsbSubUpdate"; + resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate"); + this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click); + // + // tsbQRCodeSwitch + // + this.tsbQRCodeSwitch.CheckOnClick = true; + this.tsbQRCodeSwitch.ForeColor = System.Drawing.Color.Black; + this.tsbQRCodeSwitch.Image = global::v2rayN.Properties.Resources.share; + resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch"); + this.tsbQRCodeSwitch.Name = "tsbQRCodeSwitch"; + this.tsbQRCodeSwitch.CheckedChanged += new System.EventHandler(this.tsbQRCodeSwitch_CheckedChanged); + // + // toolStripSeparator8 + // + this.toolStripSeparator8.Name = "toolStripSeparator8"; + resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8"); + // + // tsbOptionSetting + // + this.tsbOptionSetting.Image = global::v2rayN.Properties.Resources.option; + resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting"); + this.tsbOptionSetting.Name = "tsbOptionSetting"; + this.tsbOptionSetting.Click += new System.EventHandler(this.tsbOptionSetting_Click); + // + // toolStripSeparator5 + // + this.toolStripSeparator5.Name = "toolStripSeparator5"; + resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5"); + // + // tsbReload + // + resources.ApplyResources(this.tsbReload, "tsbReload"); + this.tsbReload.Name = "tsbReload"; + this.tsbReload.Click += new System.EventHandler(this.tsbReload_Click); + // + // toolStripSeparator7 + // + this.toolStripSeparator7.Name = "toolStripSeparator7"; + resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7"); + // + // tsbCheckUpdate + // + this.tsbCheckUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbCheckUpdateN, this.tsbCheckUpdateCore, this.tsbCheckUpdatePACList, this.toolStripSeparator13, this.tsbCheckClearPACList}); - this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate; - resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate"); - this.tsbCheckUpdate.Name = "tsbCheckUpdate"; - // - // tsbCheckUpdateN - // - this.tsbCheckUpdateN.Name = "tsbCheckUpdateN"; - resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN"); - this.tsbCheckUpdateN.Click += new System.EventHandler(this.tsbCheckUpdateN_Click); - // - // tsbCheckUpdateCore - // - this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore"; - resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore"); - this.tsbCheckUpdateCore.Click += new System.EventHandler(this.tsbCheckUpdateCore_Click); - // - // tsbCheckUpdatePACList - // - this.tsbCheckUpdatePACList.Name = "tsbCheckUpdatePACList"; - resources.ApplyResources(this.tsbCheckUpdatePACList, "tsbCheckUpdatePACList"); - this.tsbCheckUpdatePACList.Click += new System.EventHandler(this.tsbCheckUpdatePACList_Click); - // - // toolStripSeparator13 - // - this.toolStripSeparator13.Name = "toolStripSeparator13"; - resources.ApplyResources(this.toolStripSeparator13, "toolStripSeparator13"); - // - // tsbCheckClearPACList - // - this.tsbCheckClearPACList.Name = "tsbCheckClearPACList"; - resources.ApplyResources(this.tsbCheckClearPACList, "tsbCheckClearPACList"); - this.tsbCheckClearPACList.Click += new System.EventHandler(this.tsbCheckClearPACList_Click); - // - // toolStripSeparator10 - // - this.toolStripSeparator10.Name = "toolStripSeparator10"; - resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10"); - // - // tsbHelp - // - this.tsbHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate; + resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate"); + this.tsbCheckUpdate.Name = "tsbCheckUpdate"; + // + // tsbCheckUpdateN + // + this.tsbCheckUpdateN.Name = "tsbCheckUpdateN"; + resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN"); + this.tsbCheckUpdateN.Click += new System.EventHandler(this.tsbCheckUpdateN_Click); + // + // tsbCheckUpdateCore + // + this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore"; + resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore"); + this.tsbCheckUpdateCore.Click += new System.EventHandler(this.tsbCheckUpdateCore_Click); + // + // tsbCheckUpdatePACList + // + this.tsbCheckUpdatePACList.Name = "tsbCheckUpdatePACList"; + resources.ApplyResources(this.tsbCheckUpdatePACList, "tsbCheckUpdatePACList"); + this.tsbCheckUpdatePACList.Click += new System.EventHandler(this.tsbCheckUpdatePACList_Click); + // + // toolStripSeparator13 + // + this.toolStripSeparator13.Name = "toolStripSeparator13"; + resources.ApplyResources(this.toolStripSeparator13, "toolStripSeparator13"); + // + // tsbCheckClearPACList + // + this.tsbCheckClearPACList.Name = "tsbCheckClearPACList"; + resources.ApplyResources(this.tsbCheckClearPACList, "tsbCheckClearPACList"); + this.tsbCheckClearPACList.Click += new System.EventHandler(this.tsbCheckClearPACList_Click); + // + // toolStripSeparator10 + // + this.toolStripSeparator10.Name = "toolStripSeparator10"; + resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10"); + // + // tsbHelp + // + this.tsbHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbAbout, this.tsbV2rayWebsite, this.toolStripSeparator12, this.tsbLanguageDef, this.tsbLanguageZhHans}); - this.tsbHelp.Image = global::v2rayN.Properties.Resources.help; - resources.ApplyResources(this.tsbHelp, "tsbHelp"); - this.tsbHelp.Name = "tsbHelp"; - // - // tsbAbout - // - this.tsbAbout.Name = "tsbAbout"; - resources.ApplyResources(this.tsbAbout, "tsbAbout"); - this.tsbAbout.Click += new System.EventHandler(this.tsbAbout_Click); - // - // tsbV2rayWebsite - // - this.tsbV2rayWebsite.Name = "tsbV2rayWebsite"; - resources.ApplyResources(this.tsbV2rayWebsite, "tsbV2rayWebsite"); - this.tsbV2rayWebsite.Click += new System.EventHandler(this.tsbV2rayWebsite_Click); - // - // toolStripSeparator12 - // - this.toolStripSeparator12.Name = "toolStripSeparator12"; - resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12"); - // - // tsbLanguageDef - // - this.tsbLanguageDef.Name = "tsbLanguageDef"; - resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef"); - this.tsbLanguageDef.Click += new System.EventHandler(this.tsbLanguageDef_Click); - // - // tsbLanguageZhHans - // - this.tsbLanguageZhHans.Name = "tsbLanguageZhHans"; - resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans"); - this.tsbLanguageZhHans.Click += new System.EventHandler(this.tsbLanguageZhHans_Click); - // - // tsbPromotion - // - this.tsbPromotion.ForeColor = System.Drawing.Color.Black; - this.tsbPromotion.Image = global::v2rayN.Properties.Resources.promotion; - resources.ApplyResources(this.tsbPromotion, "tsbPromotion"); - this.tsbPromotion.Name = "tsbPromotion"; - this.tsbPromotion.Click += new System.EventHandler(this.tsbPromotion_Click); - // - // toolStripSeparator11 - // - this.toolStripSeparator11.Name = "toolStripSeparator11"; - resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11"); - // - // tsbClose - // - resources.ApplyResources(this.tsbClose, "tsbClose"); - this.tsbClose.Name = "tsbClose"; - this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click); - // - // menuGithubFetch - // - this.menuGithubFetch.Name = "menuGithubFetch"; - resources.ApplyResources(this.menuGithubFetch, "menuGithubFetch"); - // - // MainForm - // - resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.groupBox1); - this.Controls.Add(this.groupBox2); - this.Controls.Add(this.panel1); - this.Controls.Add(this.tsMain); - this.MaximizeBox = true; - this.MinimizeBox = true; - this.Name = "MainForm"; - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing); - this.Load += new System.EventHandler(this.MainForm_Load); - this.Shown += new System.EventHandler(this.MainForm_Shown); - this.VisibleChanged += new System.EventHandler(this.MainForm_VisibleChanged); - this.Resize += new System.EventHandler(this.MainForm_Resize); - this.scMain.Panel1.ResumeLayout(false); - this.scMain.Panel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.scMain)).EndInit(); - this.scMain.ResumeLayout(false); - this.cmsLv.ResumeLayout(false); - this.cmsMain.ResumeLayout(false); - this.groupBox1.ResumeLayout(false); - this.groupBox2.ResumeLayout(false); - this.groupBox2.PerformLayout(); - this.ssMain.ResumeLayout(false); - this.ssMain.PerformLayout(); - this.tsMain.ResumeLayout(false); - this.tsMain.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); + this.tsbHelp.Image = global::v2rayN.Properties.Resources.help; + resources.ApplyResources(this.tsbHelp, "tsbHelp"); + this.tsbHelp.Name = "tsbHelp"; + // + // tsbAbout + // + this.tsbAbout.Name = "tsbAbout"; + resources.ApplyResources(this.tsbAbout, "tsbAbout"); + this.tsbAbout.Click += new System.EventHandler(this.tsbAbout_Click); + // + // tsbV2rayWebsite + // + this.tsbV2rayWebsite.Name = "tsbV2rayWebsite"; + resources.ApplyResources(this.tsbV2rayWebsite, "tsbV2rayWebsite"); + this.tsbV2rayWebsite.Click += new System.EventHandler(this.tsbV2rayWebsite_Click); + // + // toolStripSeparator12 + // + this.toolStripSeparator12.Name = "toolStripSeparator12"; + resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12"); + // + // tsbLanguageDef + // + this.tsbLanguageDef.Name = "tsbLanguageDef"; + resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef"); + this.tsbLanguageDef.Click += new System.EventHandler(this.tsbLanguageDef_Click); + // + // tsbLanguageZhHans + // + this.tsbLanguageZhHans.Name = "tsbLanguageZhHans"; + resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans"); + this.tsbLanguageZhHans.Click += new System.EventHandler(this.tsbLanguageZhHans_Click); + // + // tsbPromotion + // + this.tsbPromotion.ForeColor = System.Drawing.Color.Black; + this.tsbPromotion.Image = global::v2rayN.Properties.Resources.promotion; + resources.ApplyResources(this.tsbPromotion, "tsbPromotion"); + this.tsbPromotion.Name = "tsbPromotion"; + this.tsbPromotion.Click += new System.EventHandler(this.tsbPromotion_Click); + // + // toolStripSeparator11 + // + this.toolStripSeparator11.Name = "toolStripSeparator11"; + resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11"); + // + // tsbClose + // + resources.ApplyResources(this.tsbClose, "tsbClose"); + this.tsbClose.Name = "tsbClose"; + this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click); + // + // toolStripSeparator14 + // + this.toolStripSeparator14.Name = "toolStripSeparator14"; + resources.ApplyResources(this.toolStripSeparator14, "toolStripSeparator14"); + // + // MainForm + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.groupBox2); + this.Controls.Add(this.panel1); + this.Controls.Add(this.tsMain); + this.MaximizeBox = true; + this.MinimizeBox = true; + this.Name = "MainForm"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing); + this.Load += new System.EventHandler(this.MainForm_Load); + this.Shown += new System.EventHandler(this.MainForm_Shown); + this.VisibleChanged += new System.EventHandler(this.MainForm_VisibleChanged); + this.Resize += new System.EventHandler(this.MainForm_Resize); + this.scMain.Panel1.ResumeLayout(false); + this.scMain.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.scMain)).EndInit(); + this.scMain.ResumeLayout(false); + this.cmsLv.ResumeLayout(false); + this.cmsMain.ResumeLayout(false); + this.groupBox1.ResumeLayout(false); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.ssMain.ResumeLayout(false); + this.ssMain.PerformLayout(); + this.tsMain.ResumeLayout(false); + this.tsMain.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); } @@ -960,6 +977,8 @@ private System.Windows.Forms.ToolStripMenuItem menuAddVlessServer; private System.Windows.Forms.ToolStripMenuItem menuGithubUpload; private System.Windows.Forms.ToolStripMenuItem menuGithubFetch; - } + private System.Windows.Forms.ToolStripMenuItem menuGithubSettings; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator14; + } } diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs index bfbbc40f..a4265831 100644 --- a/v2rayN/v2rayN/Forms/MainForm.cs +++ b/v2rayN/v2rayN/Forms/MainForm.cs @@ -1629,8 +1629,83 @@ namespace v2rayN.Forms + #endregion - - } + #region Github Remote Storage + private void LoadGithubRemoteStorageConfig() { + if (!File.Exists(Global.GithubRemoteStorageConfigFileName)) { + File.WriteAllText(Global.GithubRemoteStorageConfigFileName, "{}"); + } + var githubRemoteStorageConfigText = File.ReadAllText(Global.GithubRemoteStorageConfigFileName, Encoding.UTF8); + try { + githubRemoteStorageConfig = Newtonsoft.Json.JsonConvert.DeserializeObject(githubRemoteStorageConfigText); + } + catch { + githubRemoteStorageConfig = null; + } + } + private bool CheckGithubSettings() { + LoadGithubRemoteStorageConfig(); + if (githubRemoteStorageConfig == null) { + return false; + } + else + return githubRemoteStorageConfig.IsConfigVerificationPassed; + } + + private async void menuGithubUpload_Click(object sender, EventArgs e) { + if (!this.CheckGithubSettings()) { + GithubSettingsForm fm = new GithubSettingsForm(); + if (fm.ShowDialog() != DialogResult.OK) { + //得到Config + return; + } + } + try { + await GithubRemoteStorageHelper.Upload(config.vmess, githubRemoteStorageConfig); + UI.Show(UIRes.I18N("GithubRemoteStoreUploadSucceed")); + } + catch (Octokit.AuthorizationException githubAuthException) { + AppendText(githubAuthException.Message); + AppendText(githubAuthException.StackTrace); + UI.Show(UIRes.I18N("GithubRemoteStoreAuthorizationFailed")); + } + catch (Exception exception) { + AppendText(exception.Message); + AppendText(exception.StackTrace); + UI.Show(UIRes.I18N("GithubRemoteStoreUploadFailed")); + } + } + + private async void menuGithubFetch_Click(object sender, EventArgs e) { + if (!this.CheckGithubSettings()) { + GithubSettingsForm fm = new GithubSettingsForm(); + if (fm.ShowDialog() != DialogResult.OK) { + return; + } + } + try { + await GithubRemoteStorageHelper.Fetch(config.vmess, githubRemoteStorageConfig); + RefreshServers(); + UI.Show(UIRes.I18N("GithubRemoteStoreFetchSucceed")); + } + catch (Octokit.AuthorizationException githubAuthException) { + AppendText(githubAuthException.Message); + AppendText(githubAuthException.StackTrace); + UI.Show(UIRes.I18N("GithubRemoteStoreAuthorizationFailed")); + } + catch (Exception exception) { + AppendText(exception.Message); + AppendText(exception.StackTrace); + UI.Show(UIRes.I18N("GithubRemoteStoreFetchFailed")); + } + } + private void menuGithubSettings_Click(object sender, EventArgs e) { + LoadGithubRemoteStorageConfig(); + GithubSettingsForm fm = new GithubSettingsForm(); + fm.ShowDialog(); + } + #endregion + } } diff --git a/v2rayN/v2rayN/Forms/MainForm.resx b/v2rayN/v2rayN/Forms/MainForm.resx index 55962794..4fb8a8c9 100644 --- a/v2rayN/v2rayN/Forms/MainForm.resx +++ b/v2rayN/v2rayN/Forms/MainForm.resx @@ -290,6 +290,9 @@ Export subscription (base64) share to clipboard + + 352, 6 + 355, 22 @@ -302,8 +305,14 @@ Fetch vmesses from github. + + 355, 22 + + + Github Remote Settings + - 356, 644 + 356, 650 cmsLv @@ -996,7 +1005,7 @@ True - 108 + 78 6, 12 @@ -1190,6 +1199,18 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + menuGithubFetch + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuGithubSettings + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + tsbServer @@ -1520,11 +1541,11 @@ System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - menuGithubFetch + + toolStripSeparator14 - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 MainForm diff --git a/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx index 488b6bd1..a6ea1fa0 100644 --- a/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx +++ b/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx @@ -522,4 +522,7 @@ 上传到Github + + Github远端存储设置 + \ No newline at end of file diff --git a/v2rayN/v2rayN/Global.cs b/v2rayN/v2rayN/Global.cs index 487b307d..013bf755 100644 --- a/v2rayN/v2rayN/Global.cs +++ b/v2rayN/v2rayN/Global.cs @@ -30,6 +30,11 @@ namespace v2rayN /// public const string PromotionUrl = @"aHR0cHM6Ly85LjIzNDQ1Ni54eXovYWJjLmh0bWw="; + /// + /// Github远端配置文件名 + /// + public const string GithubRemoteStorageConfigFileName = "githubRemoteStorageConfig.json"; + /// /// 本软件配置文件名 /// diff --git a/v2rayN/v2rayN/Handler/ConfigHandler.cs b/v2rayN/v2rayN/Handler/ConfigHandler.cs index d8a1a7f0..380be202 100644 --- a/v2rayN/v2rayN/Handler/ConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/ConfigHandler.cs @@ -348,6 +348,15 @@ namespace v2rayN.Handler return 0; } + + /// + /// 存储文件 + /// + /// + private static void ToJsonFile(object config,string path) + { + Utils.ToJsonFile(config, Utils.GetPath(path)); + } /// /// 存储文件 @@ -1011,5 +1020,14 @@ namespace v2rayN.Handler return 0; } + /// + /// 保存Github存储配置 + /// + /// + /// + public static int SaveGithubRemoteStorageConfig(GithubRemoteStorageConfig githubRemoteStorageConfig) { + ToJsonFile(githubRemoteStorageConfig,Global.GithubRemoteStorageConfigFileName); + return 0; + } } } diff --git a/v2rayN/v2rayN/Mode/GithubRemoteStorageConfig.cs b/v2rayN/v2rayN/Mode/GithubRemoteStorageConfig.cs new file mode 100644 index 00000000..efaeb7ef --- /dev/null +++ b/v2rayN/v2rayN/Mode/GithubRemoteStorageConfig.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace v2rayN.Mode { + public class GithubRemoteStorageConfig { + /// + /// 用户名 + /// + public string userName { get; set; } + /// + /// 仓库名称 + /// + public string repoName { get; set; } + /// + /// 远端配置文件路径 + /// + public string path { get; set; } + /// + /// 令牌 + /// + public string token { get; set; } + + /// + /// 配置验证通过 + /// + public bool IsConfigVerificationPassed { + get { + if (string.IsNullOrWhiteSpace(userName) || string.IsNullOrWhiteSpace(repoName) || string.IsNullOrWhiteSpace(path) || string.IsNullOrWhiteSpace(token)) { + return false; + } + return true; + } + } + } +} diff --git a/v2rayN/v2rayN/Program.cs b/v2rayN/v2rayN/Program.cs index cd3e1559..92c4433f 100644 --- a/v2rayN/v2rayN/Program.cs +++ b/v2rayN/v2rayN/Program.cs @@ -1,5 +1,6 @@ using System; using System.Diagnostics; +using System.Net; using System.Threading; using System.Windows.Forms; using v2rayN.Forms; @@ -19,6 +20,9 @@ namespace v2rayN [STAThread] static void Main() { + //Octokit + ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; + if (Environment.OSVersion.Version.Major >= 6) { SetProcessDPIAware(); diff --git a/v2rayN/v2rayN/Resx/ResUI.Designer.cs b/v2rayN/v2rayN/Resx/ResUI.Designer.cs index b5b956d6..348b51dc 100644 --- a/v2rayN/v2rayN/Resx/ResUI.Designer.cs +++ b/v2rayN/v2rayN/Resx/ResUI.Designer.cs @@ -240,6 +240,69 @@ namespace v2rayN.Resx { } } + /// + /// 查找类似 Failed to read the configuration file from Github, please check the settings and the configuration file on Github 的本地化字符串。 + /// + internal static string GithubRemoteStorageConfigDamaged { + get { + return ResourceManager.GetString("GithubRemoteStorageConfigDamaged", resourceCulture); + } + } + + /// + /// 查找类似 Failed to download the configuration file from Github, the configuration file was not found on Github, please check the settings.If it is the first time, you can upload to Github first. 的本地化字符串。 + /// + internal static string GithubRemoteStorageConfigNotFound { + get { + return ResourceManager.GetString("GithubRemoteStorageConfigNotFound", resourceCulture); + } + } + + /// + /// 查找类似 Github authentication failed, please check the settings 的本地化字符串。 + /// + internal static string GithubRemoteStoreAuthorizationFailed { + get { + return ResourceManager.GetString("GithubRemoteStoreAuthorizationFailed", resourceCulture); + } + } + + /// + /// 查找类似 Failed to download configuration file from Github 的本地化字符串。 + /// + internal static string GithubRemoteStoreFetchFailed { + get { + return ResourceManager.GetString("GithubRemoteStoreFetchFailed", resourceCulture); + } + } + + /// + /// 查找类似 Download the configuration file from Github successfully 的本地化字符串。 + /// + internal static string GithubRemoteStoreFetchSucceed { + get { + return ResourceManager.GetString("GithubRemoteStoreFetchSucceed", resourceCulture); + } + } + + /// + /// 查找类似 Failed to upload configuration file to Github 的本地化字符串。 + /// + internal static string GithubRemoteStoreUploadFailed { + get { + return ResourceManager.GetString("GithubRemoteStoreUploadFailed", resourceCulture); + } + } + + /// + /// 查找类似 Upload configuration file to Github successfully 的本地化字符串。 + /// + internal static string GithubRemoteStoreUploadSucceed { + get { + return ResourceManager.GetString("GithubRemoteStoreUploadSucceed", resourceCulture); + } + } + /// /// 查找类似 is not the correct client configuration file, please check 的本地化字符串。 /// diff --git a/v2rayN/v2rayN/Resx/ResUI.resx b/v2rayN/v2rayN/Resx/ResUI.resx index 50d37abe..4be46377 100644 --- a/v2rayN/v2rayN/Resx/ResUI.resx +++ b/v2rayN/v2rayN/Resx/ResUI.resx @@ -177,6 +177,27 @@ Please fill in the user ID + + Failed to read the configuration file from Github, please check the settings and the configuration file on Github + + + Failed to download the configuration file from Github, the configuration file was not found on Github, please check the settings.If it is the first time, you can upload to Github first. + + + Github authentication failed, please check the settings + + + Failed to download configuration file from Github + + + Download the configuration file from Github successfully + + + Failed to upload configuration file to Github + + + Upload configuration file to Github successfully + is not the correct client configuration file, please check diff --git a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx index 4b312497..fa91a941 100644 --- a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx +++ b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx @@ -177,6 +177,27 @@ 请填写用户ID + + 从Github读取远端配置文件失败,请检查设置或Github上的配置文件 + + + 从Github下载配置文件失败,没有在Github找到配置文件,请检查设置。如果是第一次可以先上传到Github + + + Github认证失败,请检查设置 + + + 从Github下载配置文件失败 + + + 从Github下载配置文件成功 + + + 上传配置文件到Github失败 + + + 上传配置文件到Github成功 + 不是正确的客户端配置文件,请检查 diff --git a/v2rayN/v2rayN/Tool/GithubRemoteStorageHelper.cs b/v2rayN/v2rayN/Tool/GithubRemoteStorageHelper.cs new file mode 100644 index 00000000..cc1aa1d8 --- /dev/null +++ b/v2rayN/v2rayN/Tool/GithubRemoteStorageHelper.cs @@ -0,0 +1,114 @@ +using Octokit; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Security.Cryptography; +using System.Text; +using System.Threading.Tasks; +using v2rayN.Mode; +using v2rayN.Protos.Statistics; + +namespace v2rayN.Tool { + public static class GithubRemoteStorageHelper { + private static GitHubClient GetClient(GithubRemoteStorageConfig config) { + var client = new GitHubClient(new ProductHeaderValue(config.userName)); + var auth = new Credentials(config.token); + client.Credentials = auth; + return client; + } + private static async Task GetFile(this GitHubClient client, Repository repo, string path) { + string errorMessage = ""; + IReadOnlyList files = null; + try { + files = await client.Repository.Content.GetAllContentsByRef(repo.Id, path, repo.DefaultBranch); + } + catch (Exception e) { + errorMessage = e.Message; + files = null; + } + return files?.FirstOrDefault(); + } + private static async Task CreateFile(this GitHubClient client, Repository repo, string text, string path) { + var createFileReq = new CreateFileRequest("V2Ray config changed(Initial).", text, repo.DefaultBranch, true); + await client.Repository.Content.CreateFile(repo.Id, path, createFileReq); + } + private static async Task UpdateFile(this GitHubClient client, Repository repo, string text, string path, string sha) { + var updateFileReq = new UpdateFileRequest("V2Ray config changed.", text, sha, true); + await client.Repository.Content.UpdateFile(repo.Id, path, updateFileReq); + } + /// + /// upload + /// + /// + /// + /// + public static async Task Upload(IList localVmessItems, GithubRemoteStorageConfig config) { + if (localVmessItems?.Any() != true) { + return; + } + var vmessesJson = Newtonsoft.Json.JsonConvert.SerializeObject(localVmessItems); + var client = GetClient(config); + var repo = await client.Repository.Get(config.userName, config.repoName); + var remoteFile = await client.GetFile(repo, config.path); + if (remoteFile == null) { + await client.CreateFile(repo, vmessesJson, config.path); + } + else { + var md5 = MD5.Create(); + if (remoteFile.Content.Length != vmessesJson.Length || md5.ComputeHash(Encoding.UTF8.GetBytes(remoteFile.Content)) != md5.ComputeHash(Encoding.UTF8.GetBytes(vmessesJson))) { + await client.UpdateFile(repo, vmessesJson, config.path, remoteFile.Sha); + } + } + } + + /// + /// fetch + /// + /// + /// + /// + public static async Task Fetch(IList localVmessItems, GithubRemoteStorageConfig config) { + var client = GetClient(config); + var repo = await client.Repository.Get(config.userName, config.repoName); + var file = await client.GetFile(repo, config.path); + if (file != null) { + MD5 md5 = MD5.Create(); + + try { + + var remoteVmessItems = Newtonsoft.Json.JsonConvert.DeserializeObject>(file.Content); + + var remoteVmessItemMD5Pairs = remoteVmessItems.Select(vmessItem => { + var rawText = Newtonsoft.Json.JsonConvert.SerializeObject(vmessItem); + var textBytes = Encoding.UTF8.GetBytes(rawText); + return new KeyValuePair(Encoding.UTF8.GetString(md5.ComputeHash(textBytes)), vmessItem); + }); + + var localVmessItemMD5s = localVmessItems.Select(vmessItem => { + var rawText = Newtonsoft.Json.JsonConvert.SerializeObject(vmessItem); + var textBytes = Encoding.UTF8.GetBytes(rawText); + return Encoding.UTF8.GetString(md5.ComputeHash(textBytes)); + }).Distinct().ToList(); + + foreach (var remoteVmessItem in remoteVmessItemMD5Pairs) { + if (!localVmessItemMD5s.Contains(remoteVmessItem.Key)) { + localVmessItems.Add(remoteVmessItem.Value); + } + } + + } + catch { + UI.ShowWarning(UIRes.I18N("GithubRemoteStorageConfigDamaged")); + throw; + } + } + else { + //OperationFailed + UI.ShowWarning(UIRes.I18N("GithubRemoteStorageConfigNotFound")); + throw new Exception(UIRes.I18N("GithubRemoteStorageConfigNotFound")); + } + } + } +} diff --git a/v2rayN/v2rayN/v2rayN.csproj b/v2rayN/v2rayN/v2rayN.csproj index 8a004c44..40875c5c 100644 --- a/v2rayN/v2rayN/v2rayN.csproj +++ b/v2rayN/v2rayN/v2rayN.csproj @@ -98,6 +98,12 @@ + + Form + + + GithubSettingsForm.cs + Form @@ -165,6 +171,7 @@ + @@ -215,12 +222,21 @@ + + + GithubSettingsForm.cs + Designer + + + GithubSettingsForm.cs + Designer + AddServer2Form.cs Designer @@ -411,6 +427,9 @@ 12.0.3 + + 0.48.0 + 0.16.5