Index: /trunk/sources/HeuristicLab.Hive.Server.Console/AddJobForm.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Console/AddJobForm.cs (revision 1147)
+++ /trunk/sources/HeuristicLab.Hive.Server.Console/AddJobForm.cs (revision 1148)
@@ -56,5 +56,4 @@
}
-
private void BtnAdd_Click(object sender, EventArgs e) {
try {
Index: /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerConsole.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerConsole.cs (revision 1147)
+++ /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerConsole.cs (revision 1148)
@@ -69,5 +69,9 @@
}
-
+ ///
+ /// if the input is correct and the login-method returns a
+ /// valid response
+ ///
+ ///
private bool IsValid() {
if ((tbUserName.Text != "") &&
@@ -82,4 +86,5 @@
IServerConsoleFacade scf = ServiceLocator.GetServerConsoleFacade();
Response resp = scf.Login(tbUserName.Text, tbPwd.Text);
+ string str = resp.StatusMessage;
} else {
lblError.Text = "IP or Port not valid";
Index: /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.Designer.cs (revision 1147)
+++ /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.Designer.cs (revision 1148)
@@ -43,5 +43,16 @@
this.scJobControl = new System.Windows.Forms.SplitContainer();
this.tvJobControl = new System.Windows.Forms.TreeView();
+ this.lvJobControl = new System.Windows.Forms.ListView();
+ this.ilJobControl = new System.Windows.Forms.ImageList(this.components);
+ this.tpUserControl = new System.Windows.Forms.TabPage();
+ this.scUserControl = new System.Windows.Forms.SplitContainer();
+ this.tvUserControl = new System.Windows.Forms.TreeView();
+ this.lvUserControl = new System.Windows.Forms.ListView();
+ this.ilUserControl = new System.Windows.Forms.ImageList(this.components);
this.plJobDetails = new System.Windows.Forms.Panel();
+ this.lvSnapshots = new System.Windows.Forms.ListView();
+ this.chJobId = new System.Windows.Forms.ColumnHeader();
+ this.chTimeCalculated = new System.Windows.Forms.ColumnHeader();
+ this.chProgress = new System.Windows.Forms.ColumnHeader();
this.lblPriorityJob = new System.Windows.Forms.Label();
this.lblParentJob = new System.Windows.Forms.Label();
@@ -57,11 +68,4 @@
this.btnJobDetailClose = new System.Windows.Forms.Button();
this.pbJobControl = new System.Windows.Forms.PictureBox();
- this.tpUserControl = new System.Windows.Forms.TabPage();
- this.scUserControl = new System.Windows.Forms.SplitContainer();
- this.tvUserControl = new System.Windows.Forms.TreeView();
- this.lvUserControl = new System.Windows.Forms.ListView();
- this.ilUserControl = new System.Windows.Forms.ImageList(this.components);
- this.lvJobControl = new System.Windows.Forms.ListView();
- this.ilJobControl = new System.Windows.Forms.ImageList(this.components);
this.plClientDetails = new System.Windows.Forms.Panel();
this.lblLogin = new System.Windows.Forms.Label();
@@ -88,10 +92,10 @@
this.scJobControl.Panel2.SuspendLayout();
this.scJobControl.SuspendLayout();
- this.plJobDetails.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pbJobControl)).BeginInit();
this.tpUserControl.SuspendLayout();
this.scUserControl.Panel1.SuspendLayout();
this.scUserControl.Panel2.SuspendLayout();
this.scUserControl.SuspendLayout();
+ this.plJobDetails.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pbJobControl)).BeginInit();
this.plClientDetails.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pbClientControl)).BeginInit();
@@ -272,8 +276,84 @@
this.tvJobControl.Size = new System.Drawing.Size(139, 346);
this.tvJobControl.TabIndex = 2;
+ this.tvJobControl.Click += new System.EventHandler(this.OnTVJobControlClicked);
+ //
+ // lvJobControl
+ //
+ this.lvJobControl.AllowDrop = true;
+ this.lvJobControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.lvJobControl.LargeImageList = this.ilJobControl;
+ this.lvJobControl.Location = new System.Drawing.Point(0, 0);
+ this.lvJobControl.MultiSelect = false;
+ this.lvJobControl.Name = "lvJobControl";
+ this.lvJobControl.Size = new System.Drawing.Size(494, 346);
+ this.lvJobControl.TabIndex = 0;
+ this.lvJobControl.UseCompatibleStateImageBehavior = false;
+ this.lvJobControl.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lvJobControl_MouseMove);
+ this.lvJobControl.Click += new System.EventHandler(this.OnLVJobControlClicked);
+ //
+ // ilJobControl
+ //
+ this.ilJobControl.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilJobControl.ImageStream")));
+ this.ilJobControl.TransparentColor = System.Drawing.Color.Transparent;
+ this.ilJobControl.Images.SetKeyName(0, "PlayHS.png");
+ //
+ // tpUserControl
+ //
+ this.tpUserControl.Controls.Add(this.scUserControl);
+ this.tpUserControl.Location = new System.Drawing.Point(4, 22);
+ this.tpUserControl.Name = "tpUserControl";
+ this.tpUserControl.Padding = new System.Windows.Forms.Padding(3);
+ this.tpUserControl.Size = new System.Drawing.Size(643, 352);
+ this.tpUserControl.TabIndex = 2;
+ this.tpUserControl.Text = "User Control";
+ this.tpUserControl.UseVisualStyleBackColor = true;
+ //
+ // scUserControl
+ //
+ this.scUserControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.scUserControl.Location = new System.Drawing.Point(3, 3);
+ this.scUserControl.Name = "scUserControl";
+ //
+ // scUserControl.Panel1
+ //
+ this.scUserControl.Panel1.Controls.Add(this.tvUserControl);
+ //
+ // scUserControl.Panel2
+ //
+ this.scUserControl.Panel2.Controls.Add(this.lvUserControl);
+ this.scUserControl.Size = new System.Drawing.Size(637, 346);
+ this.scUserControl.SplitterDistance = 139;
+ this.scUserControl.TabIndex = 1;
+ //
+ // tvUserControl
+ //
+ this.tvUserControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.tvUserControl.Location = new System.Drawing.Point(0, 0);
+ this.tvUserControl.Name = "tvUserControl";
+ this.tvUserControl.Size = new System.Drawing.Size(139, 346);
+ this.tvUserControl.TabIndex = 1;
+ //
+ // lvUserControl
+ //
+ this.lvUserControl.AllowDrop = true;
+ this.lvUserControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.lvUserControl.LargeImageList = this.ilUserControl;
+ this.lvUserControl.Location = new System.Drawing.Point(0, 0);
+ this.lvUserControl.Name = "lvUserControl";
+ this.lvUserControl.Size = new System.Drawing.Size(494, 346);
+ this.lvUserControl.TabIndex = 1;
+ this.lvUserControl.UseCompatibleStateImageBehavior = false;
+ this.lvUserControl.Click += new System.EventHandler(this.OnLVUserControlClicked);
+ //
+ // ilUserControl
+ //
+ this.ilUserControl.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilUserControl.ImageStream")));
+ this.ilUserControl.TransparentColor = System.Drawing.Color.Transparent;
+ this.ilUserControl.Images.SetKeyName(0, "Users.png");
//
// plJobDetails
//
this.plJobDetails.BackColor = System.Drawing.SystemColors.Window;
+ this.plJobDetails.Controls.Add(this.lvSnapshots);
this.plJobDetails.Controls.Add(this.lblPriorityJob);
this.plJobDetails.Controls.Add(this.lblParentJob);
@@ -295,4 +375,32 @@
this.plJobDetails.TabIndex = 1;
//
+ // lvSnapshots
+ //
+ this.lvSnapshots.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.chJobId,
+ this.chTimeCalculated,
+ this.chProgress});
+ this.lvSnapshots.Enabled = false;
+ this.lvSnapshots.FullRowSelect = true;
+ this.lvSnapshots.GridLines = true;
+ this.lvSnapshots.Location = new System.Drawing.Point(20, 271);
+ this.lvSnapshots.Name = "lvSnapshots";
+ this.lvSnapshots.Size = new System.Drawing.Size(449, 70);
+ this.lvSnapshots.TabIndex = 16;
+ this.lvSnapshots.UseCompatibleStateImageBehavior = false;
+ this.lvSnapshots.View = System.Windows.Forms.View.Details;
+ //
+ // chJobId
+ //
+ this.chJobId.Text = "Job-ID";
+ //
+ // chTimeCalculated
+ //
+ this.chTimeCalculated.Text = "Calculated At";
+ //
+ // chProgress
+ //
+ this.chProgress.Text = "Progress";
+ //
// lblPriorityJob
//
@@ -354,4 +462,5 @@
//
this.lblProgress.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.lblProgress.BackColor = System.Drawing.Color.Transparent;
this.lblProgress.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.lblProgress.Location = new System.Drawing.Point(326, 99);
@@ -365,4 +474,5 @@
//
this.lblStatus.AutoSize = true;
+ this.lblStatus.BackColor = System.Drawing.Color.Transparent;
this.lblStatus.Location = new System.Drawing.Point(14, 57);
this.lblStatus.Name = "lblStatus";
@@ -404,78 +514,4 @@
this.pbJobControl.TabIndex = 3;
this.pbJobControl.TabStop = false;
- //
- // tpUserControl
- //
- this.tpUserControl.Controls.Add(this.scUserControl);
- this.tpUserControl.Location = new System.Drawing.Point(4, 22);
- this.tpUserControl.Name = "tpUserControl";
- this.tpUserControl.Padding = new System.Windows.Forms.Padding(3);
- this.tpUserControl.Size = new System.Drawing.Size(643, 352);
- this.tpUserControl.TabIndex = 2;
- this.tpUserControl.Text = "User Control";
- this.tpUserControl.UseVisualStyleBackColor = true;
- //
- // scUserControl
- //
- this.scUserControl.Dock = System.Windows.Forms.DockStyle.Fill;
- this.scUserControl.Location = new System.Drawing.Point(3, 3);
- this.scUserControl.Name = "scUserControl";
- //
- // scUserControl.Panel1
- //
- this.scUserControl.Panel1.Controls.Add(this.tvUserControl);
- //
- // scUserControl.Panel2
- //
- this.scUserControl.Panel2.Controls.Add(this.lvUserControl);
- this.scUserControl.Size = new System.Drawing.Size(637, 346);
- this.scUserControl.SplitterDistance = 139;
- this.scUserControl.TabIndex = 1;
- //
- // tvUserControl
- //
- this.tvUserControl.Dock = System.Windows.Forms.DockStyle.Fill;
- this.tvUserControl.Location = new System.Drawing.Point(0, 0);
- this.tvUserControl.Name = "tvUserControl";
- this.tvUserControl.Size = new System.Drawing.Size(139, 346);
- this.tvUserControl.TabIndex = 1;
- //
- // lvUserControl
- //
- this.lvUserControl.AllowDrop = true;
- this.lvUserControl.Dock = System.Windows.Forms.DockStyle.Fill;
- this.lvUserControl.LargeImageList = this.ilUserControl;
- this.lvUserControl.Location = new System.Drawing.Point(0, 0);
- this.lvUserControl.Name = "lvUserControl";
- this.lvUserControl.Size = new System.Drawing.Size(494, 346);
- this.lvUserControl.TabIndex = 1;
- this.lvUserControl.UseCompatibleStateImageBehavior = false;
- this.lvUserControl.Click += new System.EventHandler(this.OnLVUserControlClicked);
- //
- // ilUserControl
- //
- this.ilUserControl.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilUserControl.ImageStream")));
- this.ilUserControl.TransparentColor = System.Drawing.Color.Transparent;
- this.ilUserControl.Images.SetKeyName(0, "Users.png");
- //
- // lvJobControl
- //
- this.lvJobControl.AllowDrop = true;
- this.lvJobControl.Dock = System.Windows.Forms.DockStyle.Fill;
- this.lvJobControl.LargeImageList = this.ilJobControl;
- this.lvJobControl.Location = new System.Drawing.Point(0, 0);
- this.lvJobControl.MultiSelect = false;
- this.lvJobControl.Name = "lvJobControl";
- this.lvJobControl.Size = new System.Drawing.Size(494, 346);
- this.lvJobControl.TabIndex = 0;
- this.lvJobControl.UseCompatibleStateImageBehavior = false;
- this.lvJobControl.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lvJobControl_MouseMove);
- this.lvJobControl.Click += new System.EventHandler(this.OnLVJobControlClicked);
- //
- // ilJobControl
- //
- this.ilJobControl.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilJobControl.ImageStream")));
- this.ilJobControl.TransparentColor = System.Drawing.Color.Transparent;
- this.ilJobControl.Images.SetKeyName(0, "PlayHS.png");
//
// plClientDetails
@@ -627,11 +663,11 @@
this.scJobControl.Panel2.ResumeLayout(false);
this.scJobControl.ResumeLayout(false);
- this.plJobDetails.ResumeLayout(false);
- this.plJobDetails.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pbJobControl)).EndInit();
this.tpUserControl.ResumeLayout(false);
this.scUserControl.Panel1.ResumeLayout(false);
this.scUserControl.Panel2.ResumeLayout(false);
this.scUserControl.ResumeLayout(false);
+ this.plJobDetails.ResumeLayout(false);
+ this.plJobDetails.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pbJobControl)).EndInit();
this.plClientDetails.ResumeLayout(false);
this.plClientDetails.PerformLayout();
@@ -700,4 +736,8 @@
private System.Windows.Forms.Label lblPriorityJob;
private System.Windows.Forms.Label lblParentJob;
+ private System.Windows.Forms.ListView lvSnapshots;
+ private System.Windows.Forms.ColumnHeader chJobId;
+ private System.Windows.Forms.ColumnHeader chTimeCalculated;
+ private System.Windows.Forms.ColumnHeader chProgress;
}
}
Index: /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.cs (revision 1147)
+++ /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.cs (revision 1148)
@@ -50,7 +50,7 @@
private ClientInfo currentClient = null;
private User currentUser = null;
- private int idxCurrentJob = 0;
- private int idxCurrentClient = 0;
- private int idxCurrentUser = 0;
+ private string nameCurrentJob = "";
+ private string nameCurrentClient = "";
+ private string nameCurrentUser = "";
private bool flagJob = false;
private bool flagClient = false;
@@ -216,5 +216,9 @@
///
private void ClientClicked() {
- currentClient = clientInfo.List[idxCurrentClient];
+ int i = 0;
+ while (usersList.List[i].Name != nameCurrentUser) {
+ i++;
+ }
+ currentClient = clientInfo.List[i];
scClientControl.Panel2.Controls.Clear();
scClientControl.Panel2.Controls.Add(plClientDetails);
@@ -228,6 +232,11 @@
///
private void JobClicked() {
+ int i = 0;
+ while (jobs.List[i].Id.ToString() != nameCurrentJob) {
+ i++;
+ }
+ lvSnapshots.Enabled = false;
int yPos = 0;
- currentJob = jobs.List[idxCurrentJob];
+ currentJob = jobs.List[i];
scJobControl.Panel2.Controls.Clear();
scJobControl.Panel2.Controls.Add(plJobDetails);
@@ -270,5 +279,13 @@
lblJobCalculationEnd.Location = new Point(
lblJobCalculationEnd.Location.X, yPos);
- lblJobCalculationEnd.Text = "Calculation endet at " /* + currentJob.User.CalculationEnd */;
+ lblJobCalculationEnd.Text = "Calculation ended at " /* + currentJob.User.CalculationEnd */;
+ }
+ if (currentJob.State != State.offline) {
+ yPos += 30;
+ lvSnapshots.Location = new Point(
+ lvSnapshots.Location.X, yPos);
+ lvSnapshots.Size = new Size(lvSnapshots.Size.Width,
+ plJobDetails.Size.Height - 10 - yPos);
+ lvSnapshots.Enabled = true;
}
}
@@ -278,5 +295,9 @@
///
private void UserClicked() {
- currentUser = usersList.List[idxCurrentUser];
+ int i = 0;
+ while (usersList.List[i].Name != nameCurrentUser) {
+ i++;
+ }
+ currentUser = usersList.List[i];
scUserControl.Panel2.Controls.Clear();
scUserControl.Panel2.Controls.Add(plUserDetails);
@@ -285,5 +306,5 @@
}
- #region Eventhandler
+ #region Eventhandlers
///
/// Send event to Login-GUI when closing
@@ -325,5 +346,5 @@
private void OnLVClientClicked(object sender, EventArgs e) {
- idxCurrentClient = lvClientControl.SelectedItems[0].Index;
+ nameCurrentClient = lvClientControl.SelectedItems[0].Text;
flagClient = true;
ClientClicked();
@@ -331,11 +352,21 @@
private void OnLVJobControlClicked(object sender, EventArgs e) {
- idxCurrentJob = lvJobControl.SelectedItems[0].Index;
+ nameCurrentJob = lvJobControl.SelectedItems[0].Text;
flagJob = true;
JobClicked();
}
+ private void OnTVJobControlClicked(object sender, EventArgs e) {
+ try {
+ nameCurrentJob = Convert.ToInt32(tvJobControl.SelectedNode.Text).ToString();
+ flagJob = true;
+ JobClicked();
+ }
+ catch (Exception ex) { }
+
+ }
+
private void OnLVUserControlClicked(object sender, EventArgs e) {
- idxCurrentUser = lvUserControl.SelectedItems[0].Index;
+ nameCurrentUser = lvUserControl.SelectedItems[0].Name;
flagUser = true;
UserClicked();
Index: /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.resx
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.resx (revision 1147)
+++ /trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.resx (revision 1148)
@@ -215,4 +215,56 @@
+
+ 471, 13
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACc
+ CQAAAk1TRnQBSQFMAwEBAAEEAQABBAEAASABAAEgAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
+ AYADAAEgAwABAQEAAQgGAAEQGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
+ AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
+ AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm
+ AwABmQMAAcwCAAEzAwACMwIAATMBZgIAATMBmQIAATMBzAIAATMB/wIAAWYDAAFmATMCAAJmAgABZgGZ
+ AgABZgHMAgABZgH/AgABmQMAAZkBMwIAAZkBZgIAApkCAAGZAcwCAAGZAf8CAAHMAwABzAEzAgABzAFm
+ AgABzAGZAgACzAIAAcwB/wIAAf8BZgIAAf8BmQIAAf8BzAEAATMB/wIAAf8BAAEzAQABMwEAAWYBAAEz
+ AQABmQEAATMBAAHMAQABMwEAAf8BAAH/ATMCAAMzAQACMwFmAQACMwGZAQACMwHMAQACMwH/AQABMwFm
+ AgABMwFmATMBAAEzAmYBAAEzAWYBmQEAATMBZgHMAQABMwFmAf8BAAEzAZkCAAEzAZkBMwEAATMBmQFm
+ AQABMwKZAQABMwGZAcwBAAEzAZkB/wEAATMBzAIAATMBzAEzAQABMwHMAWYBAAEzAcwBmQEAATMCzAEA
+ ATMBzAH/AQABMwH/ATMBAAEzAf8BZgEAATMB/wGZAQABMwH/AcwBAAEzAv8BAAFmAwABZgEAATMBAAFm
+ AQABZgEAAWYBAAGZAQABZgEAAcwBAAFmAQAB/wEAAWYBMwIAAWYCMwEAAWYBMwFmAQABZgEzAZkBAAFm
+ ATMBzAEAAWYBMwH/AQACZgIAAmYBMwEAA2YBAAJmAZkBAAJmAcwBAAFmAZkCAAFmAZkBMwEAAWYBmQFm
+ AQABZgKZAQABZgGZAcwBAAFmAZkB/wEAAWYBzAIAAWYBzAEzAQABZgHMAZkBAAFmAswBAAFmAcwB/wEA
+ AWYB/wIAAWYB/wEzAQABZgH/AZkBAAFmAf8BzAEAAcwBAAH/AQAB/wEAAcwBAAKZAgABmQEzAZkBAAGZ
+ AQABmQEAAZkBAAHMAQABmQMAAZkCMwEAAZkBAAFmAQABmQEzAcwBAAGZAQAB/wEAAZkBZgIAAZkBZgEz
+ AQABmQEzAWYBAAGZAWYBmQEAAZkBZgHMAQABmQEzAf8BAAKZATMBAAKZAWYBAAOZAQACmQHMAQACmQH/
+ AQABmQHMAgABmQHMATMBAAFmAcwBZgEAAZkBzAGZAQABmQLMAQABmQHMAf8BAAGZAf8CAAGZAf8BMwEA
+ AZkBzAFmAQABmQH/AZkBAAGZAf8BzAEAAZkC/wEAAcwDAAGZAQABMwEAAcwBAAFmAQABzAEAAZkBAAHM
+ AQABzAEAAZkBMwIAAcwCMwEAAcwBMwFmAQABzAEzAZkBAAHMATMBzAEAAcwBMwH/AQABzAFmAgABzAFm
+ ATMBAAGZAmYBAAHMAWYBmQEAAcwBZgHMAQABmQFmAf8BAAHMAZkCAAHMAZkBMwEAAcwBmQFmAQABzAKZ
+ AQABzAGZAcwBAAHMAZkB/wEAAswCAALMATMBAALMAWYBAALMAZkBAAPMAQACzAH/AQABzAH/AgABzAH/
+ ATMBAAGZAf8BZgEAAcwB/wGZAQABzAH/AcwBAAHMAv8BAAHMAQABMwEAAf8BAAFmAQAB/wEAAZkBAAHM
+ ATMCAAH/AjMBAAH/ATMBZgEAAf8BMwGZAQAB/wEzAcwBAAH/ATMB/wEAAf8BZgIAAf8BZgEzAQABzAJm
+ AQAB/wFmAZkBAAH/AWYBzAEAAcwBZgH/AQAB/wGZAgAB/wGZATMBAAH/AZkBZgEAAf8CmQEAAf8BmQHM
+ AQAB/wGZAf8BAAH/AcwCAAH/AcwBMwEAAf8BzAFmAQAB/wHMAZkBAAH/AswBAAH/AcwB/wEAAv8BMwEA
+ AcwB/wFmAQAC/wGZAQAC/wHMAQACZgH/AQABZgH/AWYBAAFmAv8BAAH/AmYBAAH/AWYB/wEAAv8BZgEA
+ ASEBAAGlAQADXwEAA3cBAAOGAQADlgEAA8sBAAOyAQAD1wEAA90BAAPjAQAD6gEAA/EBAAP4AQAB8AH7
+ Af8BAAGkAqABAAOAAwAB/wIAAf8DAAL/AQAB/wMAAf8BAAH/AQAC/wIAA///AP8ADAADoX0AA6F9AAGm
+ AWUBpgKhewABZQEnAWUCoXsAAWUBKAENAWUBpgKheQABZQEoAicBZQKheQABZQMoAUgBZQGmAqF3AAFl
+ A0kBKAEnAWUCoXcAAWUESQEoAUgBZQGmAqF1AAFlAkkBTwJJASgBJwFlAqF1AAFmAUkDTwJJASgBSAFl
+ AaYCoXMAAYYBSQFPAXICTwJJASgBJwFlAqFzAAGGAk8BcgFQAk8CSQEoAUgBZQGmAqFxAAGGAU8BUAGX
+ AnICTwJJAigBZQKhcQABhgFPAXIDlwFQAk8CSQFmAaYCoXEAAYYBTwFyBJcBcgFPAUkBbAGnAcdzAAGG
+ AVABcgGXAXgBmAFyAU8CbAGGAccBoXMAAYYBUAFyAZcBmAEIAXIBSQFsAacBx3UAAYYBUAGXAZgBeAFy
+ AW0BbAGGAccBoXUAAYYBcgF4AQgBcgFJAWwBpwHHdwABhgNyAW0BbAGGAccBoXcAAYYBcgFPAUkBbAGn
+ Acd5AAGGAXICbAGGAccBoXkAAYYBcgGLAacBx3sAAYYBiwGGAccBoXsAAccBpwHHfQABoQHHAaH0AAFC
+ AU0BPgcAAT4DAAEoAwABgAMAASADAAEBAQABAQYAAQIWAAP/AQAE/wwABP8MAAT/DAAE/wwAAf8BjwL/
+ DAAB/wGPAv8MAAH/AYMC/wwAAf8BgwL/DAAB/wGAAv8MAAH/AYAC/wwAAf8BgAE/Af8MAAH/AYABPwH/
+ DAAB/wGAAQ8B/wwAAf8BgAEPAf8MAAH/AYABAwH/DAAB/wGAAQMB/wwAAf8BgAEAAf8MAAH/AYABAAH/
+ DAAB/wGAAQAB/wwAAf8BgAEDAf8MAAH/AYABAwH/DAAB/wGAAQ8B/wwAAf8BgAEPAf8MAAH/AYABPwH/
+ DAAB/wGAAT8B/wwAAf8BgAL/DAAB/wGAAv8MAAH/AYMC/wwAAf8BgwL/DAAB/wGPAv8MAAH/AY8C/wwA
+ BP8MAAs=
+
+
231, 9
@@ -294,56 +346,4 @@
-
- 471, 13
-
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
- LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
- ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACc
- CQAAAk1TRnQBSQFMAwEBAAEEAQABBAEAASABAAEgAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
- AYADAAEgAwABAQEAAQgGAAEQGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
- AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
- AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm
- AwABmQMAAcwCAAEzAwACMwIAATMBZgIAATMBmQIAATMBzAIAATMB/wIAAWYDAAFmATMCAAJmAgABZgGZ
- AgABZgHMAgABZgH/AgABmQMAAZkBMwIAAZkBZgIAApkCAAGZAcwCAAGZAf8CAAHMAwABzAEzAgABzAFm
- AgABzAGZAgACzAIAAcwB/wIAAf8BZgIAAf8BmQIAAf8BzAEAATMB/wIAAf8BAAEzAQABMwEAAWYBAAEz
- AQABmQEAATMBAAHMAQABMwEAAf8BAAH/ATMCAAMzAQACMwFmAQACMwGZAQACMwHMAQACMwH/AQABMwFm
- AgABMwFmATMBAAEzAmYBAAEzAWYBmQEAATMBZgHMAQABMwFmAf8BAAEzAZkCAAEzAZkBMwEAATMBmQFm
- AQABMwKZAQABMwGZAcwBAAEzAZkB/wEAATMBzAIAATMBzAEzAQABMwHMAWYBAAEzAcwBmQEAATMCzAEA
- ATMBzAH/AQABMwH/ATMBAAEzAf8BZgEAATMB/wGZAQABMwH/AcwBAAEzAv8BAAFmAwABZgEAATMBAAFm
- AQABZgEAAWYBAAGZAQABZgEAAcwBAAFmAQAB/wEAAWYBMwIAAWYCMwEAAWYBMwFmAQABZgEzAZkBAAFm
- ATMBzAEAAWYBMwH/AQACZgIAAmYBMwEAA2YBAAJmAZkBAAJmAcwBAAFmAZkCAAFmAZkBMwEAAWYBmQFm
- AQABZgKZAQABZgGZAcwBAAFmAZkB/wEAAWYBzAIAAWYBzAEzAQABZgHMAZkBAAFmAswBAAFmAcwB/wEA
- AWYB/wIAAWYB/wEzAQABZgH/AZkBAAFmAf8BzAEAAcwBAAH/AQAB/wEAAcwBAAKZAgABmQEzAZkBAAGZ
- AQABmQEAAZkBAAHMAQABmQMAAZkCMwEAAZkBAAFmAQABmQEzAcwBAAGZAQAB/wEAAZkBZgIAAZkBZgEz
- AQABmQEzAWYBAAGZAWYBmQEAAZkBZgHMAQABmQEzAf8BAAKZATMBAAKZAWYBAAOZAQACmQHMAQACmQH/
- AQABmQHMAgABmQHMATMBAAFmAcwBZgEAAZkBzAGZAQABmQLMAQABmQHMAf8BAAGZAf8CAAGZAf8BMwEA
- AZkBzAFmAQABmQH/AZkBAAGZAf8BzAEAAZkC/wEAAcwDAAGZAQABMwEAAcwBAAFmAQABzAEAAZkBAAHM
- AQABzAEAAZkBMwIAAcwCMwEAAcwBMwFmAQABzAEzAZkBAAHMATMBzAEAAcwBMwH/AQABzAFmAgABzAFm
- ATMBAAGZAmYBAAHMAWYBmQEAAcwBZgHMAQABmQFmAf8BAAHMAZkCAAHMAZkBMwEAAcwBmQFmAQABzAKZ
- AQABzAGZAcwBAAHMAZkB/wEAAswCAALMATMBAALMAWYBAALMAZkBAAPMAQACzAH/AQABzAH/AgABzAH/
- ATMBAAGZAf8BZgEAAcwB/wGZAQABzAH/AcwBAAHMAv8BAAHMAQABMwEAAf8BAAFmAQAB/wEAAZkBAAHM
- ATMCAAH/AjMBAAH/ATMBZgEAAf8BMwGZAQAB/wEzAcwBAAH/ATMB/wEAAf8BZgIAAf8BZgEzAQABzAJm
- AQAB/wFmAZkBAAH/AWYBzAEAAcwBZgH/AQAB/wGZAgAB/wGZATMBAAH/AZkBZgEAAf8CmQEAAf8BmQHM
- AQAB/wGZAf8BAAH/AcwCAAH/AcwBMwEAAf8BzAFmAQAB/wHMAZkBAAH/AswBAAH/AcwB/wEAAv8BMwEA
- AcwB/wFmAQAC/wGZAQAC/wHMAQACZgH/AQABZgH/AWYBAAFmAv8BAAH/AmYBAAH/AWYB/wEAAv8BZgEA
- ASEBAAGlAQADXwEAA3cBAAOGAQADlgEAA8sBAAOyAQAD1wEAA90BAAPjAQAD6gEAA/EBAAP4AQAB8AH7
- Af8BAAGkAqABAAOAAwAB/wIAAf8DAAL/AQAB/wMAAf8BAAH/AQAC/wIAA///AP8ADAADoX0AA6F9AAGm
- AWUBpgKhewABZQEnAWUCoXsAAWUBKAENAWUBpgKheQABZQEoAicBZQKheQABZQMoAUgBZQGmAqF3AAFl
- A0kBKAEnAWUCoXcAAWUESQEoAUgBZQGmAqF1AAFlAkkBTwJJASgBJwFlAqF1AAFmAUkDTwJJASgBSAFl
- AaYCoXMAAYYBSQFPAXICTwJJASgBJwFlAqFzAAGGAk8BcgFQAk8CSQEoAUgBZQGmAqFxAAGGAU8BUAGX
- AnICTwJJAigBZQKhcQABhgFPAXIDlwFQAk8CSQFmAaYCoXEAAYYBTwFyBJcBcgFPAUkBbAGnAcdzAAGG
- AVABcgGXAXgBmAFyAU8CbAGGAccBoXMAAYYBUAFyAZcBmAEIAXIBSQFsAacBx3UAAYYBUAGXAZgBeAFy
- AW0BbAGGAccBoXUAAYYBcgF4AQgBcgFJAWwBpwHHdwABhgNyAW0BbAGGAccBoXcAAYYBcgFPAUkBbAGn
- Acd5AAGGAXICbAGGAccBoXkAAYYBcgGLAacBx3sAAYYBiwGGAccBoXsAAccBpwHHfQABoQHHAaH0AAFC
- AU0BPgcAAT4DAAEoAwABgAMAASADAAEBAQABAQYAAQIWAAP/AQAE/wwABP8MAAT/DAAE/wwAAf8BjwL/
- DAAB/wGPAv8MAAH/AYMC/wwAAf8BgwL/DAAB/wGAAv8MAAH/AYAC/wwAAf8BgAE/Af8MAAH/AYABPwH/
- DAAB/wGAAQ8B/wwAAf8BgAEPAf8MAAH/AYABAwH/DAAB/wGAAQMB/wwAAf8BgAEAAf8MAAH/AYABAAH/
- DAAB/wGAAQAB/wwAAf8BgAEDAf8MAAH/AYABAwH/DAAB/wGAAQ8B/wwAAf8BgAEPAf8MAAH/AYABPwH/
- DAAB/wGAAT8B/wwAAf8BgAL/DAAB/wGAAv8MAAH/AYMC/wwAAf8BgwL/DAAB/wGPAv8MAAH/AY8C/wwA
- BP8MAAs=
-
-
341, 9