Fixed most of bugs. Redone open/save dialog

This commit is contained in:
katzsmile
2010-09-16 13:11:20 +04:00
committed by Paul Chote
parent 2ae6983bc2
commit e3939d4805
4 changed files with 315 additions and 122 deletions

View File

@@ -344,24 +344,20 @@ namespace OpenRA.Editor
nms.MapFolderPath = new string[] { Environment.CurrentDirectory, "mods", currentMod, "maps" } nms.MapFolderPath = new string[] { Environment.CurrentDirectory, "mods", currentMod, "maps" }
.Aggregate(Path.Combine); .Aggregate(Path.Combine);
nms.lblNew.Visible = true; nms.txtNew.ReadOnly = false;
nms.txtNew.Visible = true;
nms.btnOk.Text = "Save"; nms.btnOk.Text = "Save";
nms.txtNew.Text = "Untitled1"; nms.txtNew.Text = "unnamed";
if (DialogResult.OK == nms.ShowDialog()) if (DialogResult.OK == nms.ShowDialog())
{ {
string mapfolderitem = nms.MapList.SelectedItems[0].Text;
string mapfoldername = nms.MapFolderPath + '\\' + mapfolderitem;
if (nms.txtNew.Text == "") if (nms.txtNew.Text == "")
{ {
mapfoldername = nms.MapFolderPath + '\\' + mapfolderitem; nms.txtNew.Text = "unnamed";
}
else
{
mapfoldername = nms.MapFolderPath + '\\' + nms.txtNew.Text;
} }
string mapfoldername = Path.Combine(nms.MapFolderPath, nms.txtNew.Text);
DirectoryInfo directory = new DirectoryInfo(mapfoldername); DirectoryInfo directory = new DirectoryInfo(mapfoldername);
loadedMapName = mapfoldername; loadedMapName = mapfoldername;
try try
@@ -401,14 +397,12 @@ namespace OpenRA.Editor
nms.MapFolderPath = new string[] { Environment.CurrentDirectory, "mods", currentMod, "maps" } nms.MapFolderPath = new string[] { Environment.CurrentDirectory, "mods", currentMod, "maps" }
.Aggregate(Path.Combine); .Aggregate(Path.Combine);
nms.lblNew.Visible = false; nms.txtNew.ReadOnly = true;
nms.txtNew.Visible = false;
nms.btnOk.Text = "Open"; nms.btnOk.Text = "Open";
if (DialogResult.OK == nms.ShowDialog()) if (DialogResult.OK == nms.ShowDialog())
{ {
string mapfolderitem = nms.MapList.SelectedItems[0].Text; string mapfoldername = Path.Combine(nms.MapFolderPath, nms.txtNew.Text);
string mapfoldername = nms.MapFolderPath + '\\' + mapfolderitem;
LoadMap(mapfoldername); LoadMap(mapfoldername);
} }
} }

View File

@@ -32,28 +32,45 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MapSelect)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MapSelect));
this.MapList = new System.Windows.Forms.ListView(); this.MapList = new System.Windows.Forms.ListView();
this.colMapName = new System.Windows.Forms.ColumnHeader("(отсутствует)"); this.colMapName = new System.Windows.Forms.ColumnHeader("(отсутствует)");
this.colTheater = new System.Windows.Forms.ColumnHeader();
this.MapIconsList = new System.Windows.Forms.ImageList(this.components); this.MapIconsList = new System.Windows.Forms.ImageList(this.components);
this.btnCancel = new System.Windows.Forms.Button(); this.btnCancel = new System.Windows.Forms.Button();
this.btnOk = new System.Windows.Forms.Button(); this.btnOk = new System.Windows.Forms.Button();
this.lblNew = new System.Windows.Forms.Label(); this.lblNew = new System.Windows.Forms.Label();
this.txtNew = new System.Windows.Forms.TextBox(); this.txtNew = new System.Windows.Forms.TextBox();
this.colTitle = new System.Windows.Forms.ColumnHeader(); this.pbMinimap = new System.Windows.Forms.PictureBox();
this.pnlBottom = new System.Windows.Forms.Panel();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.lblMinimap = new System.Windows.Forms.Label();
this.lblMapName = new System.Windows.Forms.Label();
this.txtTitle = new System.Windows.Forms.TextBox();
this.txtAuthor = new System.Windows.Forms.TextBox();
this.lblAuthor = new System.Windows.Forms.Label();
this.txtTheater = new System.Windows.Forms.TextBox();
this.lblTheater = new System.Windows.Forms.Label();
this.txtDesc = new System.Windows.Forms.TextBox();
this.lblDesc = new System.Windows.Forms.Label();
this.lblMapList = new System.Windows.Forms.Label();
this.lblPath = new System.Windows.Forms.Label();
this.lblPathOut = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.pbMinimap)).BeginInit();
this.pnlBottom.SuspendLayout();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// MapList // MapList
// //
this.MapList.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.MapList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.MapList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.colMapName, this.colMapName});
this.colTitle, this.MapList.FullRowSelect = true;
this.colTheater}); this.MapList.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
this.MapList.Dock = System.Windows.Forms.DockStyle.Top;
this.MapList.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.MapList.LargeImageList = this.MapIconsList; this.MapList.LargeImageList = this.MapIconsList;
this.MapList.Location = new System.Drawing.Point(0, 0); this.MapList.Location = new System.Drawing.Point(15, 25);
this.MapList.MultiSelect = false; this.MapList.MultiSelect = false;
this.MapList.Name = "MapList"; this.MapList.Name = "MapList";
this.MapList.Size = new System.Drawing.Size(472, 252); this.MapList.Size = new System.Drawing.Size(273, 294);
this.MapList.SmallImageList = this.MapIconsList; this.MapList.SmallImageList = this.MapIconsList;
this.MapList.StateImageList = this.MapIconsList; this.MapList.StateImageList = this.MapIconsList;
this.MapList.TabIndex = 0; this.MapList.TabIndex = 0;
@@ -64,12 +81,7 @@
// colMapName // colMapName
// //
this.colMapName.Text = "Map name"; this.colMapName.Text = "Map name";
this.colMapName.Width = 170; this.colMapName.Width = 240;
//
// colTheater
//
this.colTheater.Text = "Theater";
this.colTheater.Width = 110;
// //
// MapIconsList // MapIconsList
// //
@@ -80,7 +92,7 @@
// btnCancel // btnCancel
// //
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Location = new System.Drawing.Point(385, 258); this.btnCancel.Location = new System.Drawing.Point(407, 35);
this.btnCancel.Name = "btnCancel"; this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(75, 23); this.btnCancel.Size = new System.Drawing.Size(75, 23);
this.btnCancel.TabIndex = 1; this.btnCancel.TabIndex = 1;
@@ -90,7 +102,7 @@
// btnOk // btnOk
// //
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK; this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.Location = new System.Drawing.Point(304, 258); this.btnOk.Location = new System.Drawing.Point(326, 35);
this.btnOk.Name = "btnOk"; this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(75, 23); this.btnOk.Size = new System.Drawing.Size(75, 23);
this.btnOk.TabIndex = 2; this.btnOk.TabIndex = 2;
@@ -101,36 +113,193 @@
// //
this.lblNew.AutoSize = true; this.lblNew.AutoSize = true;
this.lblNew.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); this.lblNew.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.lblNew.Location = new System.Drawing.Point(12, 263); this.lblNew.Location = new System.Drawing.Point(12, 40);
this.lblNew.Name = "lblNew"; this.lblNew.Name = "lblNew";
this.lblNew.Size = new System.Drawing.Size(70, 13); this.lblNew.Size = new System.Drawing.Size(69, 13);
this.lblNew.TabIndex = 3; this.lblNew.TabIndex = 3;
this.lblNew.Text = "New name:"; this.lblNew.Text = "Map name:";
this.lblNew.Visible = false;
// //
// txtNew // txtNew
// //
this.txtNew.Location = new System.Drawing.Point(88, 260); this.txtNew.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtNew.Location = new System.Drawing.Point(88, 37);
this.txtNew.Name = "txtNew"; this.txtNew.Name = "txtNew";
this.txtNew.Size = new System.Drawing.Size(210, 20); this.txtNew.ReadOnly = true;
this.txtNew.Size = new System.Drawing.Size(232, 20);
this.txtNew.TabIndex = 4; this.txtNew.TabIndex = 4;
this.txtNew.Visible = false;
// //
// colTitle // pbMinimap
// //
this.colTitle.Text = "Title"; this.pbMinimap.BackColor = System.Drawing.Color.Black;
this.colTitle.Width = 170; this.pbMinimap.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pbMinimap.Location = new System.Drawing.Point(32, 25);
this.pbMinimap.Name = "pbMinimap";
this.pbMinimap.Size = new System.Drawing.Size(124, 124);
this.pbMinimap.TabIndex = 5;
this.pbMinimap.TabStop = false;
//
// pnlBottom
//
this.pnlBottom.Controls.Add(this.lblPathOut);
this.pnlBottom.Controls.Add(this.lblPath);
this.pnlBottom.Controls.Add(this.btnCancel);
this.pnlBottom.Controls.Add(this.btnOk);
this.pnlBottom.Controls.Add(this.txtNew);
this.pnlBottom.Controls.Add(this.lblNew);
this.pnlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
this.pnlBottom.Location = new System.Drawing.Point(0, 332);
this.pnlBottom.MaximumSize = new System.Drawing.Size(0, 70);
this.pnlBottom.Name = "pnlBottom";
this.pnlBottom.Size = new System.Drawing.Size(494, 70);
this.pnlBottom.TabIndex = 6;
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.lblMapList);
this.splitContainer1.Panel1.Controls.Add(this.MapList);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.txtDesc);
this.splitContainer1.Panel2.Controls.Add(this.lblDesc);
this.splitContainer1.Panel2.Controls.Add(this.txtTheater);
this.splitContainer1.Panel2.Controls.Add(this.lblTheater);
this.splitContainer1.Panel2.Controls.Add(this.txtAuthor);
this.splitContainer1.Panel2.Controls.Add(this.lblAuthor);
this.splitContainer1.Panel2.Controls.Add(this.txtTitle);
this.splitContainer1.Panel2.Controls.Add(this.lblMapName);
this.splitContainer1.Panel2.Controls.Add(this.lblMinimap);
this.splitContainer1.Panel2.Controls.Add(this.pbMinimap);
this.splitContainer1.Size = new System.Drawing.Size(494, 332);
this.splitContainer1.SplitterDistance = 300;
this.splitContainer1.TabIndex = 7;
//
// lblMinimap
//
this.lblMinimap.AutoSize = true;
this.lblMinimap.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.lblMinimap.Location = new System.Drawing.Point(29, 9);
this.lblMinimap.Name = "lblMinimap";
this.lblMinimap.Size = new System.Drawing.Size(71, 13);
this.lblMinimap.TabIndex = 6;
this.lblMinimap.Text = "Map preview:";
//
// lblMapName
//
this.lblMapName.AutoSize = true;
this.lblMapName.Location = new System.Drawing.Point(13, 161);
this.lblMapName.Name = "lblMapName";
this.lblMapName.Size = new System.Drawing.Size(30, 13);
this.lblMapName.TabIndex = 7;
this.lblMapName.Text = "Title:";
//
// txtTitle
//
this.txtTitle.BackColor = System.Drawing.SystemColors.ButtonFace;
this.txtTitle.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtTitle.Location = new System.Drawing.Point(16, 177);
this.txtTitle.Name = "txtTitle";
this.txtTitle.ReadOnly = true;
this.txtTitle.Size = new System.Drawing.Size(162, 20);
this.txtTitle.TabIndex = 8;
//
// txtAuthor
//
this.txtAuthor.BackColor = System.Drawing.SystemColors.ButtonFace;
this.txtAuthor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtAuthor.Location = new System.Drawing.Point(16, 214);
this.txtAuthor.Name = "txtAuthor";
this.txtAuthor.ReadOnly = true;
this.txtAuthor.Size = new System.Drawing.Size(162, 20);
this.txtAuthor.TabIndex = 10;
//
// lblAuthor
//
this.lblAuthor.AutoSize = true;
this.lblAuthor.Location = new System.Drawing.Point(13, 198);
this.lblAuthor.Name = "lblAuthor";
this.lblAuthor.Size = new System.Drawing.Size(41, 13);
this.lblAuthor.TabIndex = 9;
this.lblAuthor.Text = "Author:";
//
// txtTheater
//
this.txtTheater.BackColor = System.Drawing.SystemColors.ButtonFace;
this.txtTheater.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtTheater.Location = new System.Drawing.Point(16, 252);
this.txtTheater.Name = "txtTheater";
this.txtTheater.ReadOnly = true;
this.txtTheater.Size = new System.Drawing.Size(162, 20);
this.txtTheater.TabIndex = 12;
//
// lblTheater
//
this.lblTheater.AutoSize = true;
this.lblTheater.Location = new System.Drawing.Point(13, 236);
this.lblTheater.Name = "lblTheater";
this.lblTheater.Size = new System.Drawing.Size(47, 13);
this.lblTheater.TabIndex = 11;
this.lblTheater.Text = "Theater:";
//
// txtDesc
//
this.txtDesc.BackColor = System.Drawing.SystemColors.ButtonFace;
this.txtDesc.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtDesc.Location = new System.Drawing.Point(16, 289);
this.txtDesc.Name = "txtDesc";
this.txtDesc.ReadOnly = true;
this.txtDesc.Size = new System.Drawing.Size(162, 20);
this.txtDesc.TabIndex = 14;
//
// lblDesc
//
this.lblDesc.AutoSize = true;
this.lblDesc.Location = new System.Drawing.Point(13, 273);
this.lblDesc.Name = "lblDesc";
this.lblDesc.Size = new System.Drawing.Size(63, 13);
this.lblDesc.TabIndex = 13;
this.lblDesc.Text = "Description:";
//
// lblMapList
//
this.lblMapList.AutoSize = true;
this.lblMapList.Location = new System.Drawing.Point(12, 9);
this.lblMapList.Name = "lblMapList";
this.lblMapList.Size = new System.Drawing.Size(81, 13);
this.lblMapList.TabIndex = 1;
this.lblMapList.Text = "Available maps:";
//
// lblPath
//
this.lblPath.AutoSize = true;
this.lblPath.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.lblPath.Location = new System.Drawing.Point(12, 13);
this.lblPath.Name = "lblPath";
this.lblPath.Size = new System.Drawing.Size(37, 13);
this.lblPath.TabIndex = 5;
this.lblPath.Text = "Path:";
//
// lblPathOut
//
this.lblPathOut.AutoSize = true;
this.lblPathOut.Location = new System.Drawing.Point(55, 13);
this.lblPathOut.Name = "lblPathOut";
this.lblPathOut.Size = new System.Drawing.Size(0, 13);
this.lblPathOut.TabIndex = 6;
// //
// MapSelect // MapSelect
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(472, 299); this.ClientSize = new System.Drawing.Size(494, 402);
this.Controls.Add(this.txtNew); this.Controls.Add(this.splitContainer1);
this.Controls.Add(this.lblNew); this.Controls.Add(this.pnlBottom);
this.Controls.Add(this.btnOk);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.MapList);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false; this.MaximizeBox = false;
this.MinimizeBox = false; this.MinimizeBox = false;
@@ -140,21 +309,41 @@
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Select map"; this.Text = "Select map";
this.Load += new System.EventHandler(this.MapSelect_Load); this.Load += new System.EventHandler(this.MapSelect_Load);
((System.ComponentModel.ISupportInitialize)(this.pbMinimap)).EndInit();
this.pnlBottom.ResumeLayout(false);
this.pnlBottom.PerformLayout();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel1.PerformLayout();
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.Panel2.PerformLayout();
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout();
} }
#endregion #endregion
private System.Windows.Forms.ColumnHeader colMapName;
private System.Windows.Forms.ColumnHeader colTheater;
private System.Windows.Forms.ImageList MapIconsList;
public System.Windows.Forms.ListView MapList; public System.Windows.Forms.ListView MapList;
public System.Windows.Forms.Button btnCancel; public System.Windows.Forms.Button btnCancel;
public System.Windows.Forms.Button btnOk; public System.Windows.Forms.Button btnOk;
public System.Windows.Forms.Label lblNew; public System.Windows.Forms.Label lblNew;
public System.Windows.Forms.TextBox txtNew; public System.Windows.Forms.TextBox txtNew;
private System.Windows.Forms.ColumnHeader colTitle; public System.Windows.Forms.ColumnHeader colMapName;
public System.Windows.Forms.ImageList MapIconsList;
public System.Windows.Forms.PictureBox pbMinimap;
public System.Windows.Forms.Panel pnlBottom;
public System.Windows.Forms.SplitContainer splitContainer1;
public System.Windows.Forms.Label lblMinimap;
public System.Windows.Forms.TextBox txtTheater;
public System.Windows.Forms.Label lblTheater;
public System.Windows.Forms.TextBox txtAuthor;
public System.Windows.Forms.Label lblAuthor;
public System.Windows.Forms.TextBox txtTitle;
public System.Windows.Forms.Label lblMapName;
public System.Windows.Forms.TextBox txtDesc;
public System.Windows.Forms.Label lblDesc;
public System.Windows.Forms.Label lblMapList;
public System.Windows.Forms.Label lblPathOut;
public System.Windows.Forms.Label lblPath;
} }
} }

View File

@@ -26,26 +26,36 @@ namespace OpenRA.Editor
DirectoryInfo directory = new DirectoryInfo(MapFolderPath); DirectoryInfo directory = new DirectoryInfo(MapFolderPath);
DirectoryInfo[] directories = directory.GetDirectories(); DirectoryInfo[] directories = directory.GetDirectories();
MapList.Items.Clear(); MapList.Items.Clear();
lblPathOut.Text = MapFolderPath;
foreach (DirectoryInfo subDirectory in directories) foreach (DirectoryInfo subDirectory in directories)
{ {
ListViewItem map1 = new ListViewItem(subDirectory.Name); ListViewItem map1 = new ListViewItem(subDirectory.Name);
map1.ImageIndex = 0; map1.ImageIndex = 0;
MapList.Items.Add(map1); MapList.Items.Add(map1);
var map = new Map(new Folder(MapFolderPath + "\\" + subDirectory.Name));
map1.SubItems.Add(map.Title);
map1.SubItems.Add(map.Theater);
} }
MapList.Items[0].Selected = true; if (txtNew.Text == "unnamed")
{
//dumb indian code
}
else
{
MapList.Items[0].Selected = true;
}
} }
private void MapList_SelectedIndexChanged(object sender, EventArgs e) private void MapList_SelectedIndexChanged(object sender, EventArgs e)
{ {
if (MapList.SelectedItems.Count > 0) if (MapList.SelectedItems.Count == 1)
{ {
txtNew.Text = MapList.SelectedItems[0].Text; txtNew.Text = MapList.SelectedItems[0].Text;
var map = new Map(new Folder(Path.Combine(MapFolderPath, MapList.SelectedItems[0].Text)));
txtTitle.Text = map.Title;
txtAuthor.Text = map.Author;
txtTheater.Text = map.Theater;
txtDesc.Text = map.Description;
} }
} }
} }
} }

View File

@@ -124,70 +124,70 @@
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACu ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACQ
DgAAAk1TRnQBSQFMAwEBAAEQAQABEAEAARgBAAEYAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABYAMA DgAAAk1TRnQBSQFMAwEBAAEYAQABGAEAARgBAAEYAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABYAMA
ARgDAAEBAQABIAYAASQhAAEBAx8BLAM9AW8DRQGJAzUBWQMYASIDAQECDAADHQEqA0MBhQI/AUABdgMP ARgDAAEBAQABIAYAASQhAAEBAx8BLAM/AW8DSAGJAzYBWQMYASIDAQECDAADHQEqA0cBhQJBAUIBdgMP
ARQDAQECAw0BEgMyAVIDQAF3A0MBpwMPART/ADAAAQEDAwEEAzMBVAFGAUQBQwHCAWYBVgFSAfQBXgFT ARQDAQECAw0BEgMzAVIDQgF3A0wBpwMPART/ADAAAQEDAwEEAzQBVAJNAUwBwgFlAVUBUgH0AV4BVQFU
AVAB2AFIAkcBjQMWAR4DAgEDAwABAQMCAQMDGgElA0QBlAEFAQYBIwH9AUQBRQFPAaQDNQFXAz4BcwI/ AdgBSgJJAY0DFgEeAwIBAwMAAQEDAgEDAxoBJQNKAZQBBgEHASQB/QJMAVABpAM1AVcDQQFzAkoBTQG6
AUMBugImAUkB4wJCAUMBsgMAAQH/ADAAAQEDDAEQAz8BdAFHAUIBQQHYAZkBiAGBAf8BoAGMAYUB/wGB AjIBTgHjAksBTQGyAwABAf8AMAABAQMMARADQQF0AUwBSgFIAdgBmQGIAYEB/wGgAYwBhQH/AX4BcgFp
AXMBawH4AzkBYQMKAQ4DCgENAx0BKgM9AW0DQAG7AQ4CEAH5AQEBCAG/Af8BCwERAUcB+QEgATUBPgHr AfgDOgFhAwoBDgMKAQ0DHQEqAz8BbQNLAbsBEgIUAfkBAAEHAb8B/wEPARUBRwH5ASoBPAFDAesBAAEH
AQEBCAFHAf8CBQFRAf0DDQER/wAxAAMDAQQDHQEpA0QBpAFbAVABTAHtAZsBiwGDAf8BnAGMAYQB/wGW AUYB/wIGAVAB/QMNARH/ADEAAwMBBAMdASkDTAGkAVwBUQFPAe0BmwGLAYMB/wGcAYwBhAH/AZYBhAF5
AYQBegH/AVsBVQFRAdgDMwFTAzMBVANEAZ0BRQE/ATwB0wJMAU4B8wEzAZ4BuwH/ARcBdgGrAf8BFwF4 Af8BWwFWAVUB2AMzAVMDNAFUA0sBnQFLAUcBRgHTAkwBTgHzATIBngG7Af8BFgF1AasB/wEWAXcBvwH/
Ab8B/wETAWkBtgH/ARoBjQHCAf8BMgFhAXYB4QMBAQL/ADAAAQEDCQEMAzABTAFFAUMBQgHDAX4BbQFm ARIBaAG2Af8BGQGNAcIB/wE7AWEBcQHhAwEBAv8AMAABAQMJAQwDMAFMAU4CTAHDAX0BbAFkAfoBqAGZ
AfoBqAGZAY8B/wGTAYQBegH/AYwBegFzAf8BhwF0AW8B/wFLAUkBRwG+Az8BvAE4ATMBLwHlAXkBYQFX AY8B/wGTAYQBeQH/AYwBeQFyAf8BhwFzAW4B/wFRAVABTwG+A0oBvAE/ATwBOAHlAXgBXwFVAfoBgwFv
AfoBgwFwAWgB/wFUAUsBSgH/AREBTgGkAf8BBgEdAbgB/wEQAVQBlQH/ARwBlQHAAf8BKwFxAZIB6wMy AWcB/wFTAUoBSQH/ARABTQGkAf8BBQEcAbgB/wEPAVMBlQH/ARsBlQHAAf8BNAFuAYwB6wMzAVIDDQES
AVIDDQESAwIBA/8AJQADAQECAxgBIQNEAY8BQAI8AdwBmwGOAYUB/QGhAZEBiQH/AYcBdgFuAf8BgQFx AwIBA/8AJQADAQECAxgBIQNJAY8BRwJFAdwBmwGOAYUB/QGhAZEBiQH/AYcBdQFtAf8BgQFwAWcB/wF3
AWgB/wF4AWoBYwH/AVgBTQFGAf0BTQFCAT4B/AGWAYYBfAH/AaMBkgGKAf8BVgFNAVYB/wEGARsB8wH/ AWkBYgH/AVYBTAFFAf0BSwFAAT0B/AGWAYYBewH/AaMBkgGKAf8BVQFMAVUB/wEFARoB8wH/ARQBYgGm
ARUBYwGmAf8BGAF5AZUB/wEyAf0B/gH/AQoBNQGUAf8BGAF9AcgB/wIAAVcB/wNEAZQDGQEj/wAlAAMG Af8BFwF4AZUB/wExAf0B/gH/AQkBNAGUAf8BFwF8AcgB/wIAAVYB/wNKAZQDGQEj/wAlAAMGAQgDLQFG
AQgDLQFGAz0BvAFzAWYBYgH0AaoBmwGRAf8BiQF3AXAB/wGMAXoBcQH/AZoBiQGBAf8BiwF6AXIB/wF4 A0kBvAFwAWUBYgH0AaoBmwGRAf8BiQF2AW8B/wGMAXkBcAH/AZoBiQGBAf8BiwF5AXEB/wF3AWcBYAH/
AWgBYQH/AYYBdAFsAf8BlQGGAX0B/wFEAT8BTQH/ARYBIgGIAf8BDQEUAa4B/wEfAX0BlQH/AS0B3wHi AYYBcwFrAf8BlQGGAXwB/wFDAT4BTAH/ARUBIQGIAf8BDAETAa4B/wEeAXwBlQH/ASwB3wHiAf8BEAFV
Af8BEQFWAXoB/wEMATwBvAH/ARwBgQGqAf8BDQEVAakB/wEWARsBVAH3AkUBRwGg/wAlAAMQARUDPgFy AXkB/wELATsBvAH/ARsBgQGqAf8BDAEUAakB/wEaAR4BUwH3AkwBTQGg/wAlAAMQARUDQQFyAUMBQgFB
ATgBNwE1AdYBkwGEAXgB/QGaAYkBgwH/AY8BgAF2Af8BlgGGAXsB/wGfAY0BhAH/AZYBhQF8Af8BlAGE AdYBkwGEAXYB/QGaAYkBgwH/AY8BgAF1Af8BlgGGAXoB/wGfAY0BhAH/AZYBhQF7Af8BlAGEAXkB/wGU
AXoB/wGUAYMBegH/AZcBhwGAAf8BbQFiAV8B/wFmAVoBWQH/AWMBWAFWAf8BVgFaAVsB/wElAWYBmgH/ AYMBeQH/AZcBhwGAAf8BbAFhAV4B/wFlAVkBWAH/AWIBVwFVAf8BVQFZAVoB/wEkAWUBmgH/AQ8BTQGd
ARABTgGdAf8BIwGOAbAB/wFPAZwBrwH/AWsBmgGuAf8BOwFLAVoB/gFGAUgBSQGf/wAlAAMYASIDRAGV Af8BIgGOAbAB/wFOAZwBrwH/AWoBmgGuAf8BOwFLAVoB/gFMAk0Bn/8AJQADGAEiA0sBlQF+AXcBcQH8
AYABeAFyAfwBqAGYAY4B/wGRAYEBeAH/AY0BegFzAf8BmgGJAYEB/wGTAYMBeQH/AZkBiAGBAf8BnAGL AagBmAGOAf8BkQGBAXcB/wGNAXkBcgH/AZoBiQGBAf8BkwGDAXgB/wGZAYgBgQH/AZwBiwGDAf8BlQGG
AYMB/wGVAYYBewH/AZYBhgF8Af8BoAGPAYcB/wGWAYUBewH/AXkBcgFvAf8BTwFwAYEB/wEhAT4BYAH/ AXoB/wGWAYYBewH/AaABjwGHAf8BlgGFAXoB/wF4AXEBbgH/AU4BbwGBAf8BIAE9AV8B/wEfAZ4BhAH/
ASABngGEAf8BVgGXAakB/wGGAcUB3wH/AYgBvgHXAf8BRQFfAWkB+wE/AkABc/8AJQADGAEiA0QBlQGd AVUBlwGpAf8BhgHFAd8B/wGIAb4B1wH/AUUBXwFmAfsDQQFz/wAlAAMYASIDSwGVAZ0BjwGGAf8BmwGL
AY8BhgH/AZsBiwGDAf8BhgF0AW0B/wGFAXIBawH/AYgBdgFvAf8BiQF3AW8B/wGQAXoBcgH/AZUBhAF6 AYMB/wGGAXMBbAH/AYUBcQFqAf8BiAF1AW4B/wGJAXYBbgH/AZABeQFxAf8BlQGEAXkB/wGWAYUBegH/
Af8BlgGFAXsB/wGfAY8BhgH/AZkBiwGEAf8BcAGAAYYB/wFZAZMBsAH/AV0BpgHHAf8BTwGDAaQB/wEI AZ8BjwGGAf8BmQGLAYQB/wFvAYABhgH/AVgBkwGwAf8BXAGmAccB/wFOAYMBpAH/AQcBGAGgAf8BZQGa
ARkBoAH/AWYBmgGwAf8BggG/AdkB/wF0Aa0ByAH/AV0BegGJAd4DKgFA/wAhAAMDAQQDJgE4A0QBowGa AbAB/wGCAb8B2QH/AXMBrQHIAf8BXQFzAX4B3gMqAUD/ACEAAwMBBAMmATgDSwGjAZoBjAGEAf8BpwGW
AYwBhAH/AacBlgGOAf8BlwGGAX0B/wGUAYIBeQH/AZQBgwF6Af8BlgGFAXsB/wGSAXwBdQH/AY8BfAF1 AY4B/wGXAYYBfAH/AZQBggF4Af8BlAGDAXkB/wGWAYUBegH/AZIBewF0Af8BjwF7AXQB/wGVAYQBegH/
Af8BlQGEAXsB/wGPAXkBbgH/AXMBgAGHAf8BXQGXAbMB/wFSAZoBwgH/AWgBtQHUAf8BaAGkAb4B/wEh AY8BeAFtAf8BcgGAAYcB/wFcAZcBswH/AVEBmgHCAf8BZwG1AdQB/wFnAaQBvgH/ASABLAE3Af8BegG6
AS0BOAH/AXsBugHTAf8BgAG7AdUB/wGBAb8B2gH/AVUBYwFqAbUDDwEU/wAhAAMKAQ0DPgFzAzoBzwGr AdMB/wGAAbsB1QH/AYEBvwHaAf8BVQFdAWABtQMPART/ACEAAwoBDQNBAXMDRQHPAasBmgGRAf8BmgGJ
AZoBkQH/AZoBiQGCAf8BjgF7AXQB/wGRAYEBeAH/AZUBhAF6Af8BmAGIAYAB/wGLAXgBcQH/AZEBfQF2 AYIB/wGOAXoBcwH/AZEBgQF3Af8BlQGEAXkB/wGYAYgBgAH/AYsBdwFwAf8BkQF8AXUB/wF6AXABbAH/
Af8BewFxAW0B/wFyAa8ByAH/AVwBqAHNAf8BXAGrAcwB/wFYAaYByQH/AXgBwwHgAf8BfQHCAd8B/wGD AXEBrwHIAf8BWwGoAc0B/wFbAasBzAH/AVcBpgHJAf8BdwHDAeAB/wF8AcIB3wH/AYMBwAHbAf8BggHB
AcAB2wH/AYIBwQHdAf8BcgGuAcgB/wGLAb8B2wH/AUcBSQFLAYYDBQEH/wAhAAMeASsDRAGgAU8BRwFE Ad0B/wFxAa4ByAH/AYsBvwHbAf8CSAFJAYYDBQEH/wAhAAMeASsDTAGgAVABSgFHAe0BgwFxAWoB/wGD
Ae0BgwFyAWsB/wGDAXEBagH/AYEBbwFoAf8BgQFwAWkB/wGIAXYBbgH/AYcBdQFuAf8BlAGEAXsB/wGF AXABaQH/AYEBbgFnAf8BgQFvAWgB/wGIAXUBbQH/AYcBdAFtAf8BlAGEAXoB/wGFAXgBdQH/AVYBbgGD
AXkBdgH/AVcBbwGDAf8BUAGEAaYB/wFpAbAB0AH/AWABqgHLAf8BZAGxAdEB/wF5Ab8B3QH/AYUByAHj Af8BTwGEAaYB/wFoAbAB0AH/AV8BqgHLAf8BYwGxAdEB/wF4Ab8B3QH/AYUByAHjAf8BgQHEAd8B/wGI
Af8BgQHEAd8B/wGIAccB4gH/AXoBtgHRAf8BcAGeAbYB/wI9AT4BawMCAQP/ACEAAzYBXAFCAkEByAFv AccB4gH/AXkBtgHRAf8BbwGeAbYB/wM+AWsDAgED/wAhAAM3AVwBTAJLAcgBbgFeAVwB+AGRAYABdgH/
AWABXAH4AZEBgAF3Af8BmAGIAYAB/wGVAYQBewH/AY0BegFzAf8BlQGEAXsB/wGYAYcBgAH/AZMBgwF6 AZgBiAGAAf8BlQGEAXoB/wGNAXkBcgH/AZUBhAF6Af8BmAGHAYAB/wGTAYMBeQH/AWoBgAGLAf8BWAGQ
Af8BawGAAYsB/wFZAZABsQH/AToBTQFtAf8BZgGpAcoB/wFjAa4BzwH/AWQBrAHMAf8BeQG/AdwB/wGJ AbEB/wE5AUwBbAH/AWUBqQHKAf8BYgGuAc8B/wFjAawBzAH/AXgBvwHcAf8BiQHMAecB/wGDAcYB4gH/
AcwB5wH/AYMBxgHiAf8BhQHFAeAB/wGHAcMB3gH/AUsBgwGbAf8DPAFoAwQBBf8AIQADQwGJAVIBTgFL AYUBxQHgAf8BhwHDAd4B/wFKAYMBmwH/AzwBaAMEAQX/ACEAA0gBiQFVAVEBTwHiAaQBkwGKAf8BrAGc
AeIBpAGTAYoB/wGsAZwBkwH/AaUBlQGMAf8BlgGGAXwB/wGQAXwBdwH/AZkBiAGBAf8BogGRAYkB/wFx AZMB/wGlAZUBjAH/AZYBhgF7Af8BkAF7AXYB/wGZAYgBgQH/AaIBkQGJAf8BcAFfAVcB/wFmAZUBqwH/
AWABWAH/AWcBlQGrAf8BawG1AdUB/wF1AcEB3QH/AXcBuwHbAf8BYQGsAc4B/wFiAa0BzAH/AXsBwwHg AWoBtQHVAf8BdAHBAd0B/wF2AbsB2wH/AWABrAHOAf8BYQGtAcwB/wF6AcMB4AH/AYgBywHmAf8BhQHG
Af8BiAHLAeYB/wGFAcYB5AH/AYMBxgHiAf8BhwG/Ad0B/wE3AVUBbwHuAxsBJv8AJQADQwGlAWIBWAFV AeQB/wGDAcYB4gH/AYcBvwHdAf8BOwFVAW0B7gMbASb/ACUAA0sBpQFiAVgBVgHvAaMBkwGKAf8BmAGH
Ae8BowGTAYoB/wGYAYcBgAH/AZ8BjgGGAf8BnQGMAYQB/wGQAXwBdgH/AYgBdQFuAf8BiAF5AXIB/wFt AYAB/wGfAY4BhgH/AZ0BjAGEAf8BkAF7AXUB/wGIAXQBbQH/AYgBeAFxAf8BbAGFAY8B/wFqAbAB0AH/
AYUBjwH/AWsBsAHQAf8BcgG8AdoB/wFpAbYB1gH/AWIBsQHQAf8BYAGvAdAB/wF0Ab0B2gH/AXMBuwHa AXEBvAHaAf8BaAG2AdYB/wFhAbEB0AH/AV8BrwHQAf8BcwG9AdoB/wFyAbsB2gH/AYABxAHfAf8BjwHN
Af8BgAHEAd8B/wGPAc0B6QH/AYoByQHlAf8BYQGXAa8B/QJBAUIBeQMAAQH/ACUAA0IBsQFvAWEBXwHz AekB/wGKAckB5QH/AV8BlwGuAf0DQwF5AwABAf8AJQADTAGxAW4CXwHzAaMBkgGKAf8BlQGDAXoB/wGU
AaMBkgGKAf8BlQGDAXsB/wGUAYIBegH/AZQBhQF6Af8BhAGLAY0B/wFeAXYBhgH/AV8BhwGdAf8BZAGv AYIBeQH/AZQBhQF5Af8BhAGLAY0B/wFdAXUBhgH/AV4BhwGdAf8BYwGvAdIB/wFxAbsB2gH/AXkBwQHe
AdIB/wFyAbsB2gH/AXoBwQHeAf8BbwG5AdcB/wFkAbMB0gH/AWwBuQHWAf8BgAHFAeEB/wF7AcIB3wH/ Af8BbgG5AdcB/wFjAbMB0gH/AWsBuQHWAf8BgAHFAeEB/wF6AcIB3wH/AYABxQHhAf8BhQHEAeEB/wGJ
AYABxQHhAf8BhQHEAeEB/wGJAcYB4gH/AVIBfgGRAfMDMQFO/wApAAM4AccBfgF0AW0B+AGrAZsBkgH/ AcYB4gH/AVIBewGMAfMDMQFO/wApAANFAccBfQFzAWsB+AGrAZsBkgH/AZABgAF3Af8BhAFxAWgB/wF0
AZABgAF4Af8BhAFyAWkB/wF1AZoBqwH/AWUBqwHPAf8BZwGyAdMB/wFwAbwB2gH/AW4BuAHVAf8BdAG+ AZoBqwH/AWQBqwHPAf8BZgGyAdMB/wFvAbwB2gH/AW0BuAHVAf8BcwG+AdsB/wF4Ab8B3QH/AXIBvgHb
AdsB/wF5Ab8B3QH/AXMBvgHbAf8BawG5AdYB/wGAAccB4QH/AYkBywHkAf8BigHMAecB/wGNAdEB7AH/ Af8BagG5AdYB/wGAAccB4QH/AYkBywHkAf8BigHMAecB/wGNAdEB7AH/AYUByQHmAf8BbwGzAdQB/wFN
AYUByQHmAf8BcAGzAdQB/wFKAVEBVAGYAzABTAMAAQEDAAEB/wAhAAM9AWwBcQFrAWgByQGXAYkBgwH1 AU8BUAGYAzABTAMAAQEDAAEB/wAhAAM+AWwBaQFmAWMByQGSAYYBgQH1AaQBkwGLAf8BhgGeAakB/wFp
AaQBkwGLAf8BhgGeAakB/wFqAa8B0gH/AXsBxAHgAf8BeQHCAd4B/wF5AcIB3gH/AXQBvwHbAf8BdgG8 Aa8B0gH/AXoBxAHgAf8BeAHCAd4B/wF4AcIB3gH/AXMBvwHbAf8BdQG8AdoB/wF0AbsB2AH/AXYBuwHZ
AdoB/wF1AbsB2AH/AXcBuwHZAf8BdwG/Ad0B/wFkAZ0BwwH/AUQBZgGUAf8BcAGnAcgB/wGHAcQB4AH/ Af8BdgG/Ad0B/wFjAZ0BwwH/AUMBZQGUAf8BbwGnAcgB/wGHAcQB4AH/AYgBzQHpAf8BXwF7AYcB4AMs
AYgBzQHpAf8BXwGDAZMB4AMsAUQDBwEJAwQBBgMAAQH/ACEAAwQBBQMZASMDNAFUAUwCSwGJAVsBZQFq AUQDBwEJAwQBBgMAAQH/ACEAAwQBBQMZASMDNAFUA0oBiQFaAV8BYgHBAWIBfgGJAeIBcAGfAbUB9QF9
AcEBYwGFAZUB4gFyAaQBvAH1AX0BugHVAf4BgAHFAeIB/wF1AbwB2gH/AXQBvAHaAf8BcwG7AdgB/wF4 AbgB0wH+AYABxQHiAf8BdAG8AdoB/wFzAbwB2gH/AXIBuwHYAf8BdwG8AdkB/wGOAc8B6wH/AW8BrwHS
AbwB2QH/AY4BzwHrAf8BcAGvAdIB/wFSAXgBpAH/AW8BqwHNAf8BcQGvAc8B/wGPAcoB5wH/AVQBbwF8 Af8BUQF3AaQB/wFuAasBzQH/AXABrwHPAf8BjwHKAecB/wFXAWoBcwHRAyIBMf8APQADAQECAwkBDAMa
AdEDIgEx/wA9AAMBAQIDCQEMAxoBJQJAAUEBdgFNAV8BbAHqAYcBygHmAf4BigHHAeQB/wF8AcAB3QH/ ASUDQgF2AVABXgFpAeoBhQHIAeQB/gGKAccB5AH/AXsBwAHdAf8BigHGAeIB/wGWAdQB7gH/AXsBuAHX
AYoBxgHiAf8BlgHUAe4B/wF8AbgB1wH/AWQBoQHIAf8BbAGmAcwB/wFcAZIBvwH/AYUByQHjAf4BRAFG Af8BYwGhAcgB/wFrAaYBzAH/AVsBkgG/Af8BgwHHAeEB/gJGAUcBgQMDAQT/AEkAAwIBAwMQARYDMgFQ
AUgBgQMDAQT/AEkAAwIBAwMQARYDMgFQAUwBTwFSAY0BUgFYAVsBnQFTAVkBXQGhAXEBjAGaAeABeAGy AUoBTAFNAY0BUAFTAVQBnQFSAVQBVgGhAWwBgwGMAeABdgGxAcsB/QFiAZcBvgH/AWIBlAHAAf8BcQGo
Ac4B/QFjAZcBvgH/AWMBlAHAAf8BcgGoAc4B/wFDAXwBqgH/AzUBVgMAAQH/AFUAAwIBAwMGAQgDCgEN Ac4B/wFCAXsBqgH/AzUBVgMAAQH/AFUAAwIBAwMGAQgDCgENAygBPQJAAUEBcQFPAlEBnAFYAWgBcgHW
AygBPQFAAUIBQwFxAU4BUgFVAZwBVwFtAXoB1gFlAYoBpAHyAVABhAGqAfwDIAEv/wBwAAEBAwgBCwMk AWUBhwGeAfIBTgGBAacB/AMgAS//AHAAAQEDCAELAyQBNgNGAYEDAwEE/wAxAAFCAU0BPgcAAT4DAAEo
ATYBRAJFAYEDAwEE/wAxAAFCAU0BPgcAAT4DAAEoAwABYAMAARgDAAEBAQABAQUAASABARYAA/8BAAHg AwABYAMAARgDAAEBAQABAQUAASABARYAA/8BAAHgATgBAQkAAcABAAEBCQABwAEAAQMJAAHAAQABAwkA
ATgBAQkAAcABAAEBCQABwAEAAQMJAAHAAQABAwkAAYALAAGACwABgAsAAYALAAGACwABgD0AAQELAAEB AYALAAGACwABgAsAAYALAAGACwABgD0AAQELAAEBCwABAyMAAQcJAAHwAQABBwkAAf4BAAEHCQAB/wHA
CwABAyMAAQcJAAHwAQABBwkAAf4BAAEHCQAB/wHAAQ8JAAH/Af4BDwkACw== AQ8JAAH/Af4BDwkACw==
</value> </value>
</data> </data>
</root> </root>