From fb6c063d5d1cd86b9b10efd59213196809757073 Mon Sep 17 00:00:00 2001 From: Justin Aquadro Date: Wed, 14 Nov 2012 20:14:45 -0500 Subject: [PATCH] Initial work on advanced find/replace --- Controllers/NodeTreeController.cs | 185 +++++++++ Model/DataNode.cs | 22 + NBTExplorer.csproj | 10 + Resources/amp.png | Bin 0 -> 3460 bytes Resources/arrow-315.png | Bin 0 -> 601 bytes Resources/asterisk-yellow.png | Bin 0 -> 720 bytes Resources/edit-replace.png | Bin 0 -> 445 bytes Resources/sql-join-inner.png | Bin 0 -> 739 bytes Resources/sql-join-outer.png | Bin 0 -> 725 bytes Windows/FindReplace.Designer.cs | 571 +++++++++++++++++++++++++ Windows/FindReplace.cs | 139 +++++++ Windows/FindReplace.resx | 668 ++++++++++++++++++++++++++++++ Windows/MainForm.Designer.cs | 423 ++++++++++--------- Windows/MainForm.cs | 6 + Windows/MainForm.resx | 420 +++++++++---------- 15 files changed, 2032 insertions(+), 412 deletions(-) create mode 100644 Controllers/NodeTreeController.cs create mode 100644 Resources/amp.png create mode 100644 Resources/arrow-315.png create mode 100644 Resources/asterisk-yellow.png create mode 100644 Resources/edit-replace.png create mode 100644 Resources/sql-join-inner.png create mode 100644 Resources/sql-join-outer.png create mode 100644 Windows/FindReplace.Designer.cs create mode 100644 Windows/FindReplace.cs create mode 100644 Windows/FindReplace.resx diff --git a/Controllers/NodeTreeController.cs b/Controllers/NodeTreeController.cs new file mode 100644 index 0000000..2c103d2 --- /dev/null +++ b/Controllers/NodeTreeController.cs @@ -0,0 +1,185 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using NBTExplorer.Model; +using Substrate.Nbt; +using NBTExplorer.Windows; + +namespace NBTExplorer.Controllers +{ + public class NodeTreeController + { + private TreeView _nodeTree; + private IconRegistry _iconRegistry; + + private TagCompoundDataNode _rootData; + + public NodeTreeController (TreeView nodeTree) + { + _nodeTree = nodeTree; + InitializeIconRegistry(); + + _rootData = new TagCompoundDataNode(new TagNodeCompound()); + } + + public void CreateNode (TreeNode node, TagType type) + { + if (node == null || !(node.Tag is DataNode)) + return; + + DataNode dataNode = node.Tag as DataNode; + if (!dataNode.CanCreateTag(type)) + return; + + if (dataNode.CreateNode(type)) { + node.Text = dataNode.NodeDisplay; + RefreshChildNodes(node, dataNode); + UpdateUI(dataNode); + } + } + + public void CreateRootNode (TagType type) + { + if (_rootData.CreateNode(type)) { + RefreshRootNodes(); + UpdateUI(_rootData); + } + } + + private void DeleteNode (TreeNode node) + { + if (node == null || !(node.Tag is DataNode)) + return; + + DataNode dataNode = node.Tag as DataNode; + if (!dataNode.CanDeleteNode) + return; + + if (dataNode.DeleteNode()) { + UpdateUI(node.Parent.Tag as DataNode); + UpdateNodeText(node.Parent); + node.Remove(); + } + } + + private void ExpandNode (TreeNode node) + { + if (node == null || !(node.Tag is DataNode)) + return; + + if (node.IsExpanded) + return; + + node.Nodes.Clear(); + + DataNode backNode = node.Tag as DataNode; + if (!backNode.IsExpanded) + backNode.Expand(); + + foreach (DataNode child in backNode.Nodes) + node.Nodes.Add(CreateUnexpandedNode(child)); + } + + public void RefreshRootNodes () + { + if (_rootData.HasUnexpandedChildren) + _rootData.Expand(); + + Dictionary currentNodes = new Dictionary(); + foreach (TreeNode child in _nodeTree.Nodes) { + if (child.Tag is DataNode) + currentNodes.Add(child.Tag as DataNode, child); + } + + _nodeTree.Nodes.Clear(); + foreach (DataNode child in _rootData.Nodes) { + if (!currentNodes.ContainsKey(child)) + _nodeTree.Nodes.Add(CreateUnexpandedNode(child)); + else + _nodeTree.Nodes.Add(currentNodes[child]); + } + + //if (_nodeTree.Nodes.Count == 0 && _rootData.HasUnexpandedChildren) { + // _rootData.Expand(); + // RefreshRootNodes(); + //} + } + + public void RefreshChildNodes (TreeNode node, DataNode dataNode) + { + Dictionary currentNodes = new Dictionary(); + foreach (TreeNode child in node.Nodes) { + if (child.Tag is DataNode) + currentNodes.Add(child.Tag as DataNode, child); + } + + node.Nodes.Clear(); + foreach (DataNode child in dataNode.Nodes) { + if (!currentNodes.ContainsKey(child)) + node.Nodes.Add(CreateUnexpandedNode(child)); + else + node.Nodes.Add(currentNodes[child]); + } + + //foreach (TreeNode child in node.Nodes) + // child.ContextMenuStrip = BuildNodeContextMenu(child.Tag as DataNode); + + if (node.Nodes.Count == 0 && dataNode.HasUnexpandedChildren) { + ExpandNode(node); + node.Expand(); + } + } + + public virtual void UpdateUI (DataNode node) + { + } + + private void InitializeIconRegistry () + { + _iconRegistry = new IconRegistry(); + _iconRegistry.DefaultIcon = 15; + + _iconRegistry.Register(typeof(TagByteDataNode), 0); + _iconRegistry.Register(typeof(TagShortDataNode), 1); + _iconRegistry.Register(typeof(TagIntDataNode), 2); + _iconRegistry.Register(typeof(TagLongDataNode), 3); + _iconRegistry.Register(typeof(TagFloatDataNode), 4); + _iconRegistry.Register(typeof(TagDoubleDataNode), 5); + _iconRegistry.Register(typeof(TagByteArrayDataNode), 6); + _iconRegistry.Register(typeof(TagStringDataNode), 7); + _iconRegistry.Register(typeof(TagListDataNode), 8); + _iconRegistry.Register(typeof(TagCompoundDataNode), 9); + _iconRegistry.Register(typeof(RegionChunkDataNode), 9); + _iconRegistry.Register(typeof(DirectoryDataNode), 10); + _iconRegistry.Register(typeof(RegionFileDataNode), 11); + _iconRegistry.Register(typeof(CubicRegionDataNode), 11); + _iconRegistry.Register(typeof(NbtFileDataNode), 12); + _iconRegistry.Register(typeof(TagIntArrayDataNode), 14); + _iconRegistry.Register(typeof(RootDataNode), 16); + } + + private void UpdateNodeText (TreeNode node) + { + if (node == null || !(node.Tag is DataNode)) + return; + + DataNode dataNode = node.Tag as DataNode; + node.Text = dataNode.NodeDisplay; + } + + private TreeNode CreateUnexpandedNode (DataNode node) + { + TreeNode frontNode = new TreeNode(node.NodeDisplay); + frontNode.ImageIndex = _iconRegistry.Lookup(node.GetType()); + frontNode.SelectedImageIndex = frontNode.ImageIndex; + frontNode.Tag = node; + //frontNode.ContextMenuStrip = BuildNodeContextMenu(node); + + if (node.HasUnexpandedChildren || node.Nodes.Count > 0) + frontNode.Nodes.Add(new TreeNode()); + + return frontNode; + } + } +} diff --git a/Model/DataNode.cs b/Model/DataNode.cs index 1107ebd..8b22ce4 100644 --- a/Model/DataNode.cs +++ b/Model/DataNode.cs @@ -3,6 +3,28 @@ using System.Collections.Generic; namespace NBTExplorer.Model { + public class RootDataNode : DataNode + { + private string _name = "Root"; + private string _display = ""; + + public override string NodeName + { + get { return _name; } + set { _name = value; } + } + + public override string NodeDisplay + { + get { return _display; } + set { _display = value; } + } + } + + // FilterDataNode + // AndFilterDataNode + // OrFilterDataNode + public class DataNode { private DataNode _parent; diff --git a/NBTExplorer.csproj b/NBTExplorer.csproj index c3a14f4..9ceaf8b 100644 --- a/NBTExplorer.csproj +++ b/NBTExplorer.csproj @@ -80,6 +80,7 @@ + @@ -88,6 +89,12 @@ CancelSearchForm.cs + + Form + + + FindReplace.cs + Form @@ -198,6 +205,9 @@ CancelSearchForm.cs + + FindReplace.cs + MainForm.cs Designer diff --git a/Resources/amp.png b/Resources/amp.png new file mode 100644 index 0000000000000000000000000000000000000000..b195f96552483f1c02dbb04b414bde0bbacf8673 GIT binary patch literal 3460 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 literal 0 HcmV?d00001 diff --git a/Resources/asterisk-yellow.png b/Resources/asterisk-yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..f6341ecd94c545d44b0d645c683f7e2410cf34d2 GIT binary patch literal 720 zcmV;>0x$iEP)X}wf z4M{7VKTwYDGD0h%^&=q!ML|k2;98_T9w7I3* z+}YXBcYb@n;X=2r>V@ZgFYnLuy+7Y!Ow)w_5lcaN`N#q+13>wB9)Mxs1e$Mcx}TtZ zLRIs2FfiuqRW0veiwJA!M>h~U3?KDA=sbRAtPAza)V4LIqym%yWWIuDRMTLB-elpx zMlwr=rb7%X@S?3B&l*}0;_)^DU4#CUeIwnutel$xx*_-0W`e>Byy*K#FGwjVUmvC{5forZzU z^JQRnIGjywhg+nL#Mnyc>l{`(f+_E}tq~`G@0fR>x1q7dEjn4(Tp%!?%cf;PumaVq zcGz8wO?%v(U8j3#Y$5Lt0Ue)6e3$f@UQY)fB^uzARG)jFY@yM0000dgajgz0au`GW+)#9bbz=4 ziN6|%SI(T+gyI5rkVa^_Fo*JCAQFgg0&xfs-+=NFp$PQF5`++1F85xnWD-d@A z@iv$k%m4-{B^!ps=9gY-=9vtfLOKj`7Cj7>(YIh4C4hJ-6!!x09+&}4FwH(`n?TGo z8QpkOIrC-)PC*@z$qoV%mLTy-(C~?d(rhS68LAls%0Yqq|Np-~P;cz#m#_edD}Xd1 zg%1bFUN9dmGciJAfK}ad$A4ZiQ*R)fABZb~_#PA|LetDjkQ_K6fdd0!02355Loo{y nn;EJGgh8(S$w+B-1_&?!*xza1<2eJf00000NkvXXu0mjfd=aPk literal 0 HcmV?d00001 diff --git a/Resources/sql-join-inner.png b/Resources/sql-join-inner.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f25cc9d35659e8038554948b8f92cb79ae1e12 GIT binary patch literal 739 zcmV<90v!E`P)zZJAU@zF8Vm+BqKiR7fC_Y*rQKb+ zy-aV;A?q*T!AZX9$#>@adUECrmm~=~%fjf4i%h&&LKtJjaa_4D~GivH61^8m8{rWTHYSKJDcCEw}NI`J4U04~=h3zlVfpacm`H}IQIK$(dGS`vn#*Knv6#z|zJ z1a&`%bV7tF-LTVqN^F8b)v#s8wOExQ4Ptg>2)TY3fEKe&|5VWp-SX-`wZ@@d_fCd~ ziq$>MF7cQn0EmG*KA{fl0ViOb+Ssl6pap}qSBpP>)ost^I3yTN&$%(v^Hn>DbJUH` z10V(tay&+2hs0&(KWu5B+)$MN!?#@RICJan+;<>Sb^vL}YlDkkqyeOkMY>749g&xpCDUC46 zpolu5wO4a1ixqmbvCC2x*M1MF_Na;sFuox}z!0}56@DVLzo4P*vG%zC{u=)ZFaT8E VT1u&g(Y^ox002ovPDHLkV1kPZSXcl6 literal 0 HcmV?d00001 diff --git a/Resources/sql-join-outer.png b/Resources/sql-join-outer.png new file mode 100644 index 0000000000000000000000000000000000000000..698001b915c047d9316005dca1132235aea435ff GIT binary patch literal 725 zcmV;`0xJE9P)8&;-m*Y1P5=N{0hc{UjQSCiNqLR(yFLXkV4B#*-pDV zJG(ox&SOgAor9D7vQPfc^PicWc?PFxicT{KI_1#sKdB?f$syaeX9yvSN}E%RE1HVc zLEY_tv=u4k5@YO}@Ar`o*))|8IA_b%b2gfEO}~`aTkAW_t8MzTkiRHYP?*)5#Ki z<)W1oa>#i7uC*M;qE0C7E>4b_$Q`k`5NV?7aczsXtFAq2=!5_eg9bUMfm-l@SErQD zRVSx=v5;U!Cc(z`e&4@4>lP1b)Css`mZ@hxZ+iXVytT);3=JLYZrO?GTRKO=kdL1& z**FoYIHBuDNjFI7z87`+EMaP4>9bg1gft$DL}{UEnSJo;Qj+Fw+ZV-RR{Eh}LLzFJ z#N>%UB26*uDoO+fEf%Rf(GEL-0bXJl&Pr{)lczxvw7tmdso6))SeXNlNsV9~fEcuZ zi%3ef4W%_2-7 + /// 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 () + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FindReplace)); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.toolStrip1 = new System.Windows.Forms.ToolStrip(); + this.panel2 = new System.Windows.Forms.Panel(); + this.toolStrip2 = new System.Windows.Forms.ToolStrip(); + this.treeView1 = new System.Windows.Forms.TreeView(); + this.treeView2 = new System.Windows.Forms.TreeView(); + this._tbFindDelete = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this._tbReplaceDelete = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.button4 = new System.Windows.Forms.Button(); + this._tbFindAny = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this._tbFindByte = new System.Windows.Forms.ToolStripButton(); + this._tbFindShort = new System.Windows.Forms.ToolStripButton(); + this._tbFindInt = new System.Windows.Forms.ToolStripButton(); + this._tbFindLong = new System.Windows.Forms.ToolStripButton(); + this._tbFindFloat = new System.Windows.Forms.ToolStripButton(); + this._tbFindDouble = new System.Windows.Forms.ToolStripButton(); + this._tbFindString = new System.Windows.Forms.ToolStripButton(); + this._tbReplaceByte = new System.Windows.Forms.ToolStripButton(); + this._tbReplaceShort = new System.Windows.Forms.ToolStripButton(); + this._tbReplaceInt = new System.Windows.Forms.ToolStripButton(); + this._tbReplaceLong = new System.Windows.Forms.ToolStripButton(); + this._tbReplaceFloat = new System.Windows.Forms.ToolStripButton(); + this._tbReplaceDouble = new System.Windows.Forms.ToolStripButton(); + this._tbReplaceByteArray = new System.Windows.Forms.ToolStripButton(); + this._tbReplaceIntArray = new System.Windows.Forms.ToolStripButton(); + this._tbReplaceString = new System.Windows.Forms.ToolStripButton(); + this._tbReplaceList = new System.Windows.Forms.ToolStripButton(); + this._tbReplaceCompound = new System.Windows.Forms.ToolStripButton(); + this.imageList1 = new System.Windows.Forms.ImageList(this.components); + this._tbFindGroupAnd = new System.Windows.Forms.ToolStripButton(); + this._tbFindGroupOr = new System.Windows.Forms.ToolStripButton(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.panel1.SuspendLayout(); + this.toolStrip1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.toolStrip2.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox1.Controls.Add(this.panel1); + this.groupBox1.Location = new System.Drawing.Point(12, 12); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(439, 180); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Find"; + // + // groupBox2 + // + this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox2.Controls.Add(this.panel2); + this.groupBox2.Location = new System.Drawing.Point(12, 198); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(439, 182); + this.groupBox2.TabIndex = 1; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Replace"; + // + // panel1 + // + this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel1.Controls.Add(this.treeView1); + this.panel1.Controls.Add(this.toolStrip1); + this.panel1.Location = new System.Drawing.Point(6, 19); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(427, 155); + this.panel1.TabIndex = 0; + // + // toolStrip1 + // + this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this._tbFindDelete, + this.toolStripSeparator1, + this._tbFindGroupAnd, + this._tbFindGroupOr, + this.toolStripSeparator3, + this._tbFindAny, + this._tbFindByte, + this._tbFindShort, + this._tbFindInt, + this._tbFindLong, + this._tbFindFloat, + this._tbFindDouble, + this._tbFindString}); + this.toolStrip1.Location = new System.Drawing.Point(0, 0); + this.toolStrip1.Name = "toolStrip1"; + this.toolStrip1.Size = new System.Drawing.Size(427, 25); + this.toolStrip1.TabIndex = 0; + this.toolStrip1.Text = "toolStrip1"; + // + // panel2 + // + this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel2.Controls.Add(this.treeView2); + this.panel2.Controls.Add(this.toolStrip2); + this.panel2.Location = new System.Drawing.Point(6, 19); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(427, 157); + this.panel2.TabIndex = 0; + // + // toolStrip2 + // + this.toolStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this._tbReplaceDelete, + this.toolStripSeparator2, + this._tbReplaceByte, + this._tbReplaceShort, + this._tbReplaceInt, + this._tbReplaceLong, + this._tbReplaceFloat, + this._tbReplaceDouble, + this._tbReplaceByteArray, + this._tbReplaceIntArray, + this._tbReplaceString, + this._tbReplaceList, + this._tbReplaceCompound}); + this.toolStrip2.Location = new System.Drawing.Point(0, 0); + this.toolStrip2.Name = "toolStrip2"; + this.toolStrip2.Size = new System.Drawing.Size(427, 25); + this.toolStrip2.TabIndex = 0; + this.toolStrip2.Text = "toolStrip2"; + // + // treeView1 + // + this.treeView1.Dock = System.Windows.Forms.DockStyle.Fill; + this.treeView1.ImageIndex = 0; + this.treeView1.ImageList = this.imageList1; + this.treeView1.Location = new System.Drawing.Point(0, 25); + this.treeView1.Name = "treeView1"; + this.treeView1.SelectedImageIndex = 0; + this.treeView1.ShowPlusMinus = false; + this.treeView1.ShowRootLines = false; + this.treeView1.Size = new System.Drawing.Size(427, 130); + this.treeView1.TabIndex = 1; + // + // treeView2 + // + this.treeView2.Dock = System.Windows.Forms.DockStyle.Fill; + this.treeView2.ImageIndex = 0; + this.treeView2.ImageList = this.imageList1; + this.treeView2.Location = new System.Drawing.Point(0, 25); + this.treeView2.Name = "treeView2"; + this.treeView2.SelectedImageIndex = 0; + this.treeView2.ShowPlusMinus = false; + this.treeView2.ShowRootLines = false; + this.treeView2.Size = new System.Drawing.Size(427, 132); + this.treeView2.TabIndex = 1; + // + // _tbFindDelete + // + this._tbFindDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbFindDelete.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindDelete.Image"))); + this._tbFindDelete.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbFindDelete.Name = "_tbFindDelete"; + this._tbFindDelete.Size = new System.Drawing.Size(23, 22); + this._tbFindDelete.Text = "toolStripButton1"; + this._tbFindDelete.Click += new System.EventHandler(this._tbFindDelete_Click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25); + // + // _tbReplaceDelete + // + this._tbReplaceDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbReplaceDelete.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceDelete.Image"))); + this._tbReplaceDelete.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbReplaceDelete.Name = "_tbReplaceDelete"; + this._tbReplaceDelete.Size = new System.Drawing.Size(23, 22); + this._tbReplaceDelete.Text = "toolStripButton2"; + this._tbReplaceDelete.Click += new System.EventHandler(this._tbReplaceDelete_Click); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25); + // + // button1 + // + this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.button1.Location = new System.Drawing.Point(295, 386); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 2; + this.button1.Text = "Find Next"; + this.button1.UseVisualStyleBackColor = true; + // + // button2 + // + this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.button2.Location = new System.Drawing.Point(376, 386); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(75, 23); + this.button2.TabIndex = 3; + this.button2.Text = "Replace"; + this.button2.UseVisualStyleBackColor = true; + // + // button3 + // + this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.button3.Location = new System.Drawing.Point(376, 415); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(75, 23); + this.button3.TabIndex = 4; + this.button3.Text = "Replace All"; + this.button3.UseVisualStyleBackColor = true; + // + // button4 + // + this.button4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.button4.Location = new System.Drawing.Point(12, 386); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(75, 23); + this.button4.TabIndex = 5; + this.button4.Text = "Cancel"; + this.button4.UseVisualStyleBackColor = true; + // + // _tbFindAny + // + this._tbFindAny.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbFindAny.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindAny.Image"))); + this._tbFindAny.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbFindAny.Name = "_tbFindAny"; + this._tbFindAny.Size = new System.Drawing.Size(23, 22); + this._tbFindAny.Text = "toolStripButton3"; + this._tbFindAny.Click += new System.EventHandler(this._tbFindAny_Click); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25); + // + // _tbFindByte + // + this._tbFindByte.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbFindByte.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindByte.Image"))); + this._tbFindByte.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbFindByte.Name = "_tbFindByte"; + this._tbFindByte.Size = new System.Drawing.Size(23, 22); + this._tbFindByte.Text = "Add Byte Tag Rule"; + this._tbFindByte.Click += new System.EventHandler(this._tbFindByte_Click); + // + // _tbFindShort + // + this._tbFindShort.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbFindShort.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindShort.Image"))); + this._tbFindShort.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbFindShort.Name = "_tbFindShort"; + this._tbFindShort.Size = new System.Drawing.Size(23, 22); + this._tbFindShort.Text = "toolStripButton5"; + this._tbFindShort.Click += new System.EventHandler(this._tbFindShort_Click); + // + // _tbFindInt + // + this._tbFindInt.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbFindInt.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindInt.Image"))); + this._tbFindInt.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbFindInt.Name = "_tbFindInt"; + this._tbFindInt.Size = new System.Drawing.Size(23, 22); + this._tbFindInt.Text = "toolStripButton6"; + this._tbFindInt.Click += new System.EventHandler(this._tbFindInt_Click); + // + // _tbFindLong + // + this._tbFindLong.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbFindLong.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindLong.Image"))); + this._tbFindLong.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbFindLong.Name = "_tbFindLong"; + this._tbFindLong.Size = new System.Drawing.Size(23, 22); + this._tbFindLong.Text = "toolStripButton7"; + this._tbFindLong.Click += new System.EventHandler(this._tbFindLong_Click); + // + // _tbFindFloat + // + this._tbFindFloat.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbFindFloat.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindFloat.Image"))); + this._tbFindFloat.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbFindFloat.Name = "_tbFindFloat"; + this._tbFindFloat.Size = new System.Drawing.Size(23, 22); + this._tbFindFloat.Text = "toolStripButton8"; + this._tbFindFloat.Click += new System.EventHandler(this._tbFindFloat_Click); + // + // _tbFindDouble + // + this._tbFindDouble.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbFindDouble.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindDouble.Image"))); + this._tbFindDouble.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbFindDouble.Name = "_tbFindDouble"; + this._tbFindDouble.Size = new System.Drawing.Size(23, 22); + this._tbFindDouble.Text = "toolStripButton9"; + this._tbFindDouble.Click += new System.EventHandler(this._tbFindDouble_Click); + // + // _tbFindString + // + this._tbFindString.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbFindString.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindString.Image"))); + this._tbFindString.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbFindString.Name = "_tbFindString"; + this._tbFindString.Size = new System.Drawing.Size(23, 22); + this._tbFindString.Text = "toolStripButton10"; + this._tbFindString.Click += new System.EventHandler(this._tbFindString_Click); + // + // _tbReplaceByte + // + this._tbReplaceByte.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbReplaceByte.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceByte.Image"))); + this._tbReplaceByte.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbReplaceByte.Name = "_tbReplaceByte"; + this._tbReplaceByte.Size = new System.Drawing.Size(23, 22); + this._tbReplaceByte.Text = "toolStripButton11"; + this._tbReplaceByte.Click += new System.EventHandler(this._tbReplaceByte_Click); + // + // _tbReplaceShort + // + this._tbReplaceShort.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbReplaceShort.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceShort.Image"))); + this._tbReplaceShort.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbReplaceShort.Name = "_tbReplaceShort"; + this._tbReplaceShort.Size = new System.Drawing.Size(23, 22); + this._tbReplaceShort.Text = "toolStripButton12"; + this._tbReplaceShort.Click += new System.EventHandler(this._tbReplaceShort_Click); + // + // _tbReplaceInt + // + this._tbReplaceInt.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbReplaceInt.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceInt.Image"))); + this._tbReplaceInt.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbReplaceInt.Name = "_tbReplaceInt"; + this._tbReplaceInt.Size = new System.Drawing.Size(23, 22); + this._tbReplaceInt.Text = "toolStripButton13"; + this._tbReplaceInt.Click += new System.EventHandler(this._tbReplaceInt_Click); + // + // _tbReplaceLong + // + this._tbReplaceLong.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbReplaceLong.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceLong.Image"))); + this._tbReplaceLong.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbReplaceLong.Name = "_tbReplaceLong"; + this._tbReplaceLong.Size = new System.Drawing.Size(23, 22); + this._tbReplaceLong.Text = "toolStripButton14"; + this._tbReplaceLong.Click += new System.EventHandler(this._tbReplaceLong_Click); + // + // _tbReplaceFloat + // + this._tbReplaceFloat.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbReplaceFloat.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceFloat.Image"))); + this._tbReplaceFloat.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbReplaceFloat.Name = "_tbReplaceFloat"; + this._tbReplaceFloat.Size = new System.Drawing.Size(23, 22); + this._tbReplaceFloat.Text = "toolStripButton15"; + this._tbReplaceFloat.Click += new System.EventHandler(this._tbReplaceFloat_Click); + // + // _tbReplaceDouble + // + this._tbReplaceDouble.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbReplaceDouble.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceDouble.Image"))); + this._tbReplaceDouble.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbReplaceDouble.Name = "_tbReplaceDouble"; + this._tbReplaceDouble.Size = new System.Drawing.Size(23, 22); + this._tbReplaceDouble.Text = "toolStripButton16"; + this._tbReplaceDouble.Click += new System.EventHandler(this._tbReplaceDouble_Click); + // + // _tbReplaceByteArray + // + this._tbReplaceByteArray.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbReplaceByteArray.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceByteArray.Image"))); + this._tbReplaceByteArray.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbReplaceByteArray.Name = "_tbReplaceByteArray"; + this._tbReplaceByteArray.Size = new System.Drawing.Size(23, 22); + this._tbReplaceByteArray.Text = "toolStripButton17"; + this._tbReplaceByteArray.Click += new System.EventHandler(this._tbReplaceByteArray_Click); + // + // _tbReplaceIntArray + // + this._tbReplaceIntArray.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbReplaceIntArray.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceIntArray.Image"))); + this._tbReplaceIntArray.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbReplaceIntArray.Name = "_tbReplaceIntArray"; + this._tbReplaceIntArray.Size = new System.Drawing.Size(23, 22); + this._tbReplaceIntArray.Text = "toolStripButton18"; + this._tbReplaceIntArray.Click += new System.EventHandler(this._tbReplaceIntArray_Click); + // + // _tbReplaceString + // + this._tbReplaceString.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbReplaceString.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceString.Image"))); + this._tbReplaceString.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbReplaceString.Name = "_tbReplaceString"; + this._tbReplaceString.Size = new System.Drawing.Size(23, 22); + this._tbReplaceString.Text = "toolStripButton19"; + this._tbReplaceString.Click += new System.EventHandler(this._tbReplaceString_Click); + // + // _tbReplaceList + // + this._tbReplaceList.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbReplaceList.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceList.Image"))); + this._tbReplaceList.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbReplaceList.Name = "_tbReplaceList"; + this._tbReplaceList.Size = new System.Drawing.Size(23, 22); + this._tbReplaceList.Text = "toolStripButton20"; + this._tbReplaceList.Click += new System.EventHandler(this._tbReplaceList_Click); + // + // _tbReplaceCompound + // + this._tbReplaceCompound.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbReplaceCompound.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceCompound.Image"))); + this._tbReplaceCompound.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbReplaceCompound.Name = "_tbReplaceCompound"; + this._tbReplaceCompound.Size = new System.Drawing.Size(23, 22); + this._tbReplaceCompound.Text = "toolStripButton21"; + this._tbReplaceCompound.Click += new System.EventHandler(this._tbReplaceCompound_Click); + // + // imageList1 + // + this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream"))); + this.imageList1.TransparentColor = System.Drawing.Color.Transparent; + this.imageList1.Images.SetKeyName(0, "document-attribute-b.png"); + this.imageList1.Images.SetKeyName(1, "document-attribute-s.png"); + this.imageList1.Images.SetKeyName(2, "document-attribute-i.png"); + this.imageList1.Images.SetKeyName(3, "document-attribute-l.png"); + this.imageList1.Images.SetKeyName(4, "document-attribute-f.png"); + this.imageList1.Images.SetKeyName(5, "document-attribute-d.png"); + this.imageList1.Images.SetKeyName(6, "edit-code.png"); + this.imageList1.Images.SetKeyName(7, "edit-small-caps.png"); + this.imageList1.Images.SetKeyName(8, "edit-list.png"); + this.imageList1.Images.SetKeyName(9, "box.png"); + this.imageList1.Images.SetKeyName(10, "folder.png"); + this.imageList1.Images.SetKeyName(11, "block.png"); + this.imageList1.Images.SetKeyName(12, "wooden-box.png"); + this.imageList1.Images.SetKeyName(13, "map.png"); + this.imageList1.Images.SetKeyName(14, "edit-code-i.png"); + this.imageList1.Images.SetKeyName(15, "question-white.png"); + this.imageList1.Images.SetKeyName(16, "arrow-315.png"); + // + // _tbFindGroupAnd + // + this._tbFindGroupAnd.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbFindGroupAnd.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindGroupAnd.Image"))); + this._tbFindGroupAnd.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbFindGroupAnd.Name = "_tbFindGroupAnd"; + this._tbFindGroupAnd.Size = new System.Drawing.Size(23, 22); + this._tbFindGroupAnd.Text = "toolStripButton1"; + // + // _tbFindGroupOr + // + this._tbFindGroupOr.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._tbFindGroupOr.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindGroupOr.Image"))); + this._tbFindGroupOr.ImageTransparentColor = System.Drawing.Color.Magenta; + this._tbFindGroupOr.Name = "_tbFindGroupOr"; + this._tbFindGroupOr.Size = new System.Drawing.Size(23, 22); + this._tbFindGroupOr.Text = "toolStripButton2"; + // + // FindReplace + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(463, 449); + this.Controls.Add(this.button4); + this.Controls.Add(this.button3); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.groupBox2); + this.Controls.Add(this.groupBox1); + this.Name = "FindReplace"; + this.Text = "Replace"; + this.groupBox1.ResumeLayout(false); + this.groupBox2.ResumeLayout(false); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.toolStrip1.ResumeLayout(false); + this.toolStrip1.PerformLayout(); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + this.toolStrip2.ResumeLayout(false); + this.toolStrip2.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.TreeView treeView1; + private System.Windows.Forms.ToolStrip toolStrip1; + private System.Windows.Forms.ToolStripButton _tbFindDelete; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.TreeView treeView2; + private System.Windows.Forms.ToolStrip toolStrip2; + private System.Windows.Forms.ToolStripButton _tbReplaceDelete; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button4; + private System.Windows.Forms.ToolStripButton _tbFindAny; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripButton _tbFindByte; + private System.Windows.Forms.ToolStripButton _tbFindShort; + private System.Windows.Forms.ToolStripButton _tbFindInt; + private System.Windows.Forms.ToolStripButton _tbFindLong; + private System.Windows.Forms.ToolStripButton _tbFindFloat; + private System.Windows.Forms.ToolStripButton _tbFindDouble; + private System.Windows.Forms.ToolStripButton _tbFindString; + private System.Windows.Forms.ToolStripButton _tbReplaceByte; + private System.Windows.Forms.ToolStripButton _tbReplaceShort; + private System.Windows.Forms.ToolStripButton _tbReplaceInt; + private System.Windows.Forms.ToolStripButton _tbReplaceLong; + private System.Windows.Forms.ToolStripButton _tbReplaceFloat; + private System.Windows.Forms.ToolStripButton _tbReplaceDouble; + private System.Windows.Forms.ToolStripButton _tbReplaceByteArray; + private System.Windows.Forms.ToolStripButton _tbReplaceIntArray; + private System.Windows.Forms.ToolStripButton _tbReplaceString; + private System.Windows.Forms.ToolStripButton _tbReplaceList; + private System.Windows.Forms.ToolStripButton _tbReplaceCompound; + private System.Windows.Forms.ImageList imageList1; + private System.Windows.Forms.ToolStripButton _tbFindGroupAnd; + private System.Windows.Forms.ToolStripButton _tbFindGroupOr; + } +} \ No newline at end of file diff --git a/Windows/FindReplace.cs b/Windows/FindReplace.cs new file mode 100644 index 0000000..ccf5f7b --- /dev/null +++ b/Windows/FindReplace.cs @@ -0,0 +1,139 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using NBTExplorer.Controllers; +using Substrate.Nbt; + +namespace NBTExplorer.Windows +{ + public partial class FindReplace : Form + { + private NodeTreeController _findController; + private NodeTreeController _replaceController; + + public FindReplace () + { + InitializeComponent(); + + _findController = new NodeTreeController(treeView1); + _replaceController = new NodeTreeController(treeView2); + } + + #region Find Toolbar Buttons + + private void _tbFindDelete_Click (object sender, EventArgs e) + { + + } + + private void _tbFindAny_Click (object sender, EventArgs e) + { + + } + + private void _tbFindByte_Click (object sender, EventArgs e) + { + _findController.CreateRootNode(TagType.TAG_BYTE); + } + + private void _tbFindShort_Click (object sender, EventArgs e) + { + _findController.CreateRootNode(TagType.TAG_SHORT); + } + + private void _tbFindInt_Click (object sender, EventArgs e) + { + _findController.CreateRootNode(TagType.TAG_INT); + } + + private void _tbFindLong_Click (object sender, EventArgs e) + { + _findController.CreateRootNode(TagType.TAG_LONG); + } + + private void _tbFindFloat_Click (object sender, EventArgs e) + { + _findController.CreateRootNode(TagType.TAG_FLOAT); + } + + private void _tbFindDouble_Click (object sender, EventArgs e) + { + _findController.CreateRootNode(TagType.TAG_DOUBLE); + } + + private void _tbFindString_Click (object sender, EventArgs e) + { + _findController.CreateRootNode(TagType.TAG_STRING); + } + + #endregion + + #region Replace Toolbar Icons + + private void _tbReplaceDelete_Click (object sender, EventArgs e) + { + + } + + private void _tbReplaceByte_Click (object sender, EventArgs e) + { + _replaceController.CreateRootNode(TagType.TAG_BYTE); + } + + private void _tbReplaceShort_Click (object sender, EventArgs e) + { + _replaceController.CreateRootNode(TagType.TAG_SHORT); + } + + private void _tbReplaceInt_Click (object sender, EventArgs e) + { + + } + + private void _tbReplaceLong_Click (object sender, EventArgs e) + { + + } + + private void _tbReplaceFloat_Click (object sender, EventArgs e) + { + + } + + private void _tbReplaceDouble_Click (object sender, EventArgs e) + { + + } + + private void _tbReplaceByteArray_Click (object sender, EventArgs e) + { + + } + + private void _tbReplaceIntArray_Click (object sender, EventArgs e) + { + + } + + private void _tbReplaceString_Click (object sender, EventArgs e) + { + + } + + private void _tbReplaceList_Click (object sender, EventArgs e) + { + + } + + private void _tbReplaceCompound_Click (object sender, EventArgs e) + { + + } + + #endregion + } +} diff --git a/Windows/FindReplace.resx b/Windows/FindReplace.resx new file mode 100644 index 0000000..82627dc --- /dev/null +++ b/Windows/FindReplace.resx @@ -0,0 +1,668 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 235, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADK + NgAAAk1TRnQBSQFMAgEBEQEAATABAQEwAQEBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA + AwABUAMAAQEBAAEYBgABPNUAA/8D/AP6GPgD+QP6A/yWAAP+A/kD8QG6AaIBigG2AYYBVgG2AYYBVgG2 + AYYBVgG2AYYBVgG2AYYBVgG2AYYBVgG2AYYBVgG2AYYBVgG8AaQBjQP3nwAB6AHfAdQBuQGJAVkB/AG4 + ARwB/AGzAQ4B/AGzAQ0B/AGzAQwB/AGyAQsB/AGyAQsB/AGzAQ4BuQGJAVmlAAHpAd8B1QG+AY4BXQH3 + AbYBKAH1AasBDgH1AasBDgH1AasBDgH1AasBDgH2Aa4BFAG+AY4BXagAAdoBwgGqAcMBkwFgAfEBtAE2 + AewBpgEZAewBpgEZAewBpgEZAe4BqgEjAcMBkwFgpQAB7AHiAdcByQGZAWQB7AG2AUoB4wGgASUB4wGg + ASUB4wGgASUB4wGgASUB5gGnATEByQGZAWSiAAHtAeMB2AHNAZ4BaQHqAbkBXAHbAZoBMQHbAZoBMQHb + AZoBMQHmAbIBUgHbAZoBMQHgAaQBPwHNAZ4BaZ8AAe4B5AHZAdMBowFtAe4BwgFxAdQBlgE9AdMBlQE7 + AdMBlQE7AeUBtgFhAdMBowFtAeMBsgFdAdoBogFLAdMBowFtnAAB7wHlAtkBqQFxAfkB0AGEAe4BsgFm + AekBrQFhAd8BowFVAesBwAFyAdkBqQFxAeUBzgGyAdkBqQFxAeQBtQFoAdkBqQFxnAAB3gGuAXUB+gHV + AYkB8QG2AWoB8QG2AWoB8QG2AWoB+QHSAYYB3gGuAXUB7wHmAdoDAAHvAeYB2gHeAa4BdQHeAa4BdZwA + AfEB5wHbAeMBswF4Af0B2wGPAfcBxAF4AfwB2gGOAeMBswF4AfEB5wHbCQAB8QHnAdsB6AHNAayfAAHx + AegB3AHnAbcBewH/Ad8BkwHnAbcBewHxAegB3LQAAfIB6AHcAekBuQF9AfIB6AHc/wD/AC0AA/wD+SH4 + A/kD/AMAA/0D+SH4A/kD/TkAA/8D/AP5EvgD+QP7A/4GAAGWAakBvAFcAYQBrgFcAYQBrgFcAYQBrgFc + AYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgGW + AakBvAMAAs8BywK5AbACuQGwArkBsAK5AbACuQGwArkBsAK5AbACuQGwArkBsAK5AbACuQGwArkBsAK5 + AbACzwHLOQAD/gP4AegC5QHZAbQBqwHqAY4BdwHuAXABUAHuAXABUAHqAY4BdwHZAbQBqwHoAeUB5AP2 + A/4GAAFsAZMBugFVAYgBuwFwAaMB1gFnAZoBzQFnAZoBzQFnAZoBzQFnAZoBzQFnAZoBzQFnAZoBzQFn + AZoBzQFnAZoBzQFnAZoBzQFwAaMB1gFVAYgBuwFsAZMBugMAAsEBuQL5AekC8wHiAvMB4gLzAeIC8wHi + AvMB4gLzAeIC8wHiAvMB4gLzAeIC8wHiAvMB4gL5AekCwQG5PAAB6gHcAdgB7gGCAWcB9QGiAY8B+gHR + AcoB/AHnAeUB/AHmAeUB+QHRAckB9AGhAY4B7gGBAWYB6gHcAdgJAAF+AaIBxwFxAaQB1wFVAYgBuwFx + AaQB1wFxAaQB1wFxAaQB1wFxAaQB1wFxAaQB1wFxAaQB1wFxAaQB1wFxAaQB1wFxAaQB1wFVAYgBuwFx + AaQB1wF+AaIBxwMAAssBwwL0AeQBegGnAZsBhwG3AacBhwG1AaMBiQGzAaIBaAGgAYYBVwGXAXgBWAGT + AXkBaAGQAX4BkgGkAZMBhgGXAYACqAGOAvQB5ALLAcMJAAP+A/wG+QP6BvwD+wb5A/wD/gwAAfMB3wHa + Ae4BewFgAfcB1AHOAfcC6QH3AugB/AL0AfwC9AH3AugB9wLpAfYB0QHKAe4BewFfAfMB3wHaBgABhgGq + Ac0BcwGmAdkBagGdAdABSAF7Aa4BXwGSAcUBTAF/AbIBXwGSAcUBTAF/AbIBXwGSAcUBTAF/AbIBXwGS + AcUBSAF7Aa4BagGdAdABcwGmAdkBhgGqAc0DAALPAccC9QHmAYQBtQGrAZgB1wHHAZAB0QG+AXMBsAGZ + AZcBywG2AacBzgG9AZcBvQGsAZQBugGoAakBvwGvAY4BrQGhAbcBrQGLAvUB5gLPAccJAAP+A/wD+QOz + A1wG/ANcA7QD+QP8A/4JAAH6AfgB9wHnAX4BYgHzAdMBzQHwAuUB7wLkAe8C5AHlAWEBPwHlAWEBPwHv + AuQB7wLkAe8C5AHvAc0BxwHnAX4BYgH6AfgB9wMAAYsBrQHPAXUBqAHbAWwBnwHSAUoBfQGwAWwBnwHS + AVIBhQG4AWwBnwHSAVIBhQG4AWwBnwHSAVIBhQG4AWwBnwHSAUoBfQGwAWwBnwHSAXUBqAHbAYsBrQHP + AwAC0QHJAvYB6QGQAbwBtQG5AeUB2wGmAd0B0AGIAcABsgGHAckBtQF+Ab4BpAGIAbkBowGuAdABvwGp + AccBtQGUAboBqAG2AbUBkQL2AekC0QHJDwADywN1A/gGAAP4A3UDyw8AAegBxQG8AeUBnQGKAeoC4gHn + At8B5wLfAecC3wHWAVkBNwHWAVkBNwHnAt8B5wLfAecC3wHoAuAB4QGXAYQB6AHFAbwDAAGPAbEB0gF3 + AaoB3QFuAaEB1AFHAXoBrQFuAaEB1AFPAYIBtQFuAaEB1AFPAYIBtQFuAaEB1AFPAYIBtQFuAaEB1AFH + AXoBrQFuAaEB1AF3AaoB3QGPAbEB0gMAAtMBzAL3AesBxQG4AYcB/wHeAYwB+AHnAa0B1QHRAbABygHr + AeIBvQHlAdkBoAHKAbsBqgHOAa8BggHBAaQBfgG2ApgBrAGEAvcB6wLTAcwMAAPOA38D+QHdAbMBuQHA + AUkBWgHAAUkBWgHdAbMBuQP5A38DzgwAAdIBhAFuAeoB0AHIAeEC2gHgAtkB4ALZAeAC2QHxAu0B8QLt + AeAC2QHgAtkB4ALZAeAC2QHhAcQBvQHSAYQBbgMAAZMBtAHUAXgBqwHeAW8BogHVAUQBdwGqAW8BogHV + AUwBfwGyAW8BogHVAUwBfwGyAW8BogHVAUwBfwGyAW8BogHVAUQBdwGqAW8BogHVAXgBqwHeAZMBtAHU + AwAC1QHNAvgB7gHRAa4BaQHbAboBcQHeAb4BdAHpAckBfAG/Ac0BqAGVAcwBwgGhAc8BvgGRAcQBrwF/ + Ab0BpgF3AbcBnQGoAaoBdwL4Ae4C1QHNCQAD0AOGA/kGAAHgAbYBvAHRAXsBhwYAA/kDhgPQCQABuwFU + ATUB9AHuAe0B5wLlAdoC1gHYAtQB2ALUAbcBSAEmAbcBSAEmAeMC3wHYAtQB2ALUAdgC1AHhAdgB1gG7 + AVQBNQMAAZgBuAHXAXoBrQHgAXEBpAHXAUEBdAGnAXEBpAHXAUkBfAGvAXEBpAHXAUkBfAGvAXEBpAHX + AUkBfAGvAXEBpAHXAUEBdAGnAXEBpAHXAXoBrQHgAZgBuAHXAwAC1wHPAvkB8QHTAawBZgH/AdMBfgH/ + AdYBggHgAb4BdAH2AeEBmQGwAe0B5AGvAdEBvwGiAeAB0wGYAdgBxgGOAdABugG4AbIBgAL5AfEC1wHP + BgAD7wNsA+8JAAHjAbgBvwHXAYEBjQkAA+8DbAPvBgABsQFQATEB9AHvAe0D7gPqAdwC2wHTAtEBxwGm + AZwBrgFHASUBwQFzAVoB3gLcAdIC0AHSAtAB3wHYAdcBsQFQATEDAAGbAboB2QF8Aa8B4gFzAaYB2QE/ + AXIBpQFzAaYB2QFHAXoBrQFzAaYB2QFHAXoBrQFzAaYB2QFHAXoBrQFzAaYB2QE/AXIBpQFzAaYB2QF8 + Aa8B4gGbAboB2QMAAtkB0QL7AfQB1QGpAWIB/wHOAXkB/wHSAX0B3wG6AW8B/wHYAYMB5gHqAb0BpgHY + Ac0BswHsAeIBuQHkAdABtgHcAcQBqwG+AZcC+wH0AtkB0QkAA9QDkQP5BgAB5gG7AcEB3QGHAZMGAAP5 + A5ED1AkAAcABfQFmAeoB1QHNCfAD6wPgAcgBnAGNAasBRgEkAb0BigF5A84B0gLRAdwBxwLAAX0BZgMA + AZ0BvQHbAX4BsQHkAXUBqAHbATgBawGeAVEBhAG3ATgBawGeAVEBhAG3ATgBawGeAVEBhAG3ATgBawGe + AVEBhAG3ATgBawGeAXUBqAHbAX4BsQHkAZ0BvQHbAwAC2gHTAvwB9wHXAacBXwHaAawBZAHcAbABZwHn + AbwBcAHgAboBbwHjAb4BcwHfAdEBmAHbAc8BlgHVAdEBnAHEAc0BpAGdAdEBwwL8AfcC2gHTDAAD1QOW + A/kB6AG9AcMB3QFmAXcB3QFmAXcB6AG9AcMD+QOWA9UMAAHfAcMBuQHUAZ0BigP1BvMB2gGpAZgB2gGp + AZgBzwGOAXgBswFPAS0B0wGhAZAD8wP1AdQBnAGJAd8BwwG5AwABoAG+AdwBfwGyAeUBZgGZAcwBdgGp + AdwBdgGpAdwBdgGpAdwBdgGpAdwBdgGpAdwBdgGpAdwBdgGpAdwBdgGpAdwBdgGpAdwBZgGZAcwBfwGy + AeUBoAG+AdwDAALbAdQC/QH5AdkBpAFcAf8BxAFvAf8ByAFzAd4BsAFnAf8BzgF5Af8B0gF9AeQBvgFy + Af8B2AGDAe0B5AGoAeIB5gG2AdAB1wGtAv0B+QLbAdQPAAPXA5kD+gYAA/oDmQPXDwAB+QH4AfcBywF7 + AWAB8gHfAdkD+AP3AcEBXQE7AcEBXQE7AcEBXQE7AcEBXQE7AekB0AHIA/gB8gHfAdkBywF7AWAB+QH4 + AfcDAAGjAcAB3gFrAZ4B0QF3AaoB3QF3AaoB3QF3AaoB3QF3AaoB3QF3AaoB3QF3AaoB3QF3AaoB3QF3 + AaoB3QF3AaoB3QF3AaoB3QF3AaoB3QFrAZ4B0QGjAcAB3gMAAt0B1QL+AfwB2gGjAVoB/wG/AWsB/wHC + AW4B3gGsAWIB/wHJAXQB/wHNAXgB4wG5AW4B/wHTAX4B/wHXAYMB/AHeAZUB7AHKAXwC/gH8At0B1RIA + A9gDnQYAA50D2BUAAe4B4AHbAdgBhAFoAfYB4wHcA/wM+wP8AfYB4wHcAdgBhAFoAe4B4AHbBgABpgHD + AeABoAHTAfoBmAHLAfUBkwHGAfMBkwHGAfMBkwHGAfMBkwHGAfMBkwHGAfMBkwHGAfMBkwHGAfMBkwHG + AfMBkwHGAfMBmAHLAfUBoAHTAfoBpgHDAeADAALeAdcC/wH+AdsBoQFYAdsBogFZAdsBpAFbAdsBpQFd + AdsBqQFgAdsBrAFjAdsBrwFmAdsBsQFoAdsBtAFrAdsBtwFuAdsBuQFxAv8B/gLeAdc8AAHwAeIB3QHk + AZQBeAHvAbcBpAH6AeQB3QH+AfkB9wH+AfkB9wH6AeQB3QHvAbcBpAHkAZQBeAHwAeIB3QkAAegB7QHz + AagBxAHhAZcBygH1AZIBxQHzAZIBxQHzAZIBxQHzAZIBxQHzAZIBxQHzAZIBxQHzAZIBxQHzAZIBxQHz + AZIBxQHzAZcBygH1AagBxAHhAegB7QHzAwAC3wHZJ/8C3wHZPwAB+gL4Ae8B0gHIAewBqAGSAewBjgFu + AewBjgFuAewBqAGSAe8B0gHIAfoC+A8AAegB7QHzAakBxQHiAakBxQHiAakBxQHiAakBxQHiAakBxQHi + AakBxQHiAakBxQHiAakBxQHiAakBxQHiAakBxQHiAakBxQHiAegB7QHzBgAC6gHmAuAB2QLgAdkC4AHZ + AuAB2QLgAdkC4AHZAuAB2QLgAdkC4AHZAuAB2QLgAdkC4AHZAuAB2QLqAebDAAP7A/EBlQGvAbwBaAGb + AbYBaAGbAbYBaAGbAbYBaAGbAbYBaAGbAbYBaAGbAbYBaAGbAbYBaAGbAbYBaAGbAbYBaAGbAbYBlQGv + AbwD8QP7FQAS+AP5A/0zAAP8A/kk+AP5A/wD/QP6AXcBqAHBAYYBzwHwAYEBywHtAYEBywHtAYEBywHt + AYEBywHtAYEBywHtAYEBywHtAYYBzwHwAUsBjwGxAYYBzwHwAXcBqAHBAdwB4gHlBv0D+Qz4A/MBiQGl + AY8BVQGLAV8BVQGLAV8BVQGLAV8BVQGLAV8BVQGLAV8BVQGLAV8BlAGtAZkGAAPAAywDwAMAA/sb+AP7 + A/cBkwGmAboBYAGIAa8BYAGIAa8BYAGIAa8BYAGIAa8BYAGIAa8BYAGIAa8BYAGIAa8BYAGIAa8BYAGI + Aa8BYAGIAa8BYAGIAa8BYAGIAa8BkwGmAboD9wYAAYYBtQHNAYQBzgHuAXwBxwHoAXwBxwHoAXwBxwHo + AXwBxwHoAXwBxwHoAXwBxwHoAYQBzgHuAVcBmwG9AYQBzgHuAfQBtgEuAYYBtQHNAwAClAG4AlUBowJV + AaMCVQGjAlUBowJVAaMCVQGjAVUBegGJATUBvQF5AUMBywGHAT4BxgGCAT4BxgGCAT4BxgGCAUMBywGH + AVUBoAFwBgADQAFnAlYDQAMAA/sDYQNeA1wDWQNUA0kDPAMvA2wD+wMAAXIBmAG/AXsBrgHgAXoBrQHf + AXoBrQHfAXoBrQHfAXoBrQHfAXoBrQHfAXoBrQHfAXoBrQHfAXoBrQHfAXoBrQHfAXoBrQHfAXsBrgHg + AXIBmAG/CQABkQG+AdQBhwHQAe8BfwHKAekBfwHKAekBfwHKAekBfwHKAekBfwHKAekBfwHKAekBhwHQ + Ae8BXwGjAcUBhwHQAe8B/gHJAUEBkQG+AdQDAAJVAbQBLwEeAdwBJQETAdgBJQETAdgBJQETAdgBJQET + AdgBJQETAdgBVQF+AZUBNwG/AXsBQgHKAYYBNwG/AXsBNwG/AXsBNwG/AXsBQgHKAYYBVQGnAXYGAAPL + A1UDyycAAYQBpwHLAYEBtAHkAX0BsAHhAX0BsAHhAX0BsAHhAX0BsAHhAX0BsAHhAX0BsAHhAX0BsAHh + AX0BsAHhAX0BsAHhAX0BsAHhAYEBtAHkAYQBpwHLCQABlAHAAdYBigHTAfABggHNAesBggHNAesBggHN + AesBggHNAesBggHNAesBggHNAesBigHTAfABYgGmAcgBigHTAfAC6QHbAZQBwAHWAwACVQG5AS0BHAHe + ARUBAAHVARUBAAHVARUBAAHVARUBAAHVARUBAAHVAVUBgQGaATsBwwF/AUgBzwGMATsBwwF/ATsBwwF/ + ATsBwwF/AUgBzwGMAVUBrQF7NgABigGtAc8BiAG7AeoBggG1AeUBggG1AeUBggG1AeUBggG1AeUBggG1 + AeUBggG1AeUBggG1AeUBggG1AeUBggG1AeUBggG1AeUBiAG7AeoBigGtAc8JAAGYAcMB2AGOAdYB8gGH + AdAB7QGHAdAB7QGHAdAB7QGHAdAB7QGHAdAB7QGHAdAB7QGOAdYB8gFmAaoBzAGOAdYB8gLwAeYBmAHD + AdgDAAJVAb8BNgElAeQBGQEAAdsBGQEAAdsBGQEAAdsBGQEAAdsBGQEAAdsBVQGEAaABPgHGAYIBTQHV + AZEBPgHGAYIBPgHGAYIBPgHGAYIBTQHVAZEBVQGzAYA2AAGOAbAB0QGPAcIB7gGHAboB6QGHAboB6QGH + AboB6QGHAboB6QGHAboB6QGHAboB6QGHAboB6QGHAboB6QGHAboB6QGHAboB6QGPAcIB7gGOAbAB0QkA + AZsBxgHaAZIB2gH0AYsB1AHwAYsB1AHwAYsB1AHwAYsB1AHwAYsB1AHwAYsB1AHwAZIB2gH0AWkBrQHP + AZIB2gH0AvgB8wGbAcYB2gMAAlUBxAE+AS0B7AEcAQAB4wEcAQAB4wEcAQAB4wEcAQAB4wEcAQAB4wFV + AYYBpAFCAcoBhgFRAdkBlQFCAcoBhgFCAcoBhgFCAcoBhgFRAdkBlQFVAbkBhAYAA9ADZwPQJwABkwG0 + AdQBlgHJAfIBjAG/AewBjAG/AewBjAG/AewBRAF3AaoBjAG/AewBRAF3AaoBjAG/AewBjAG/AewBjAG/ + AewBjAG/AewBlgHJAfIBkwG0AdQJAAGfAcgB3QGXAd4B9gGQAdgB8gGQAdgB8gGQAdgB8gGQAdgB8gGQ + AdgB8gGQAdgB8gGXAd4B9gF5Ab0B3AF4Ab0B3AL+Af0BnwHIAd0DAAJVAcgBRgE1AfIBIAEAAekBIAEA + AekBIAEAAekBIAEAAekBIAEAAekBVQGJAagBRAHMAYgBZQHtAakBZQHtAakBZQHtAakBZQHtAakBWAHW + AZYBfwHLAaQGAANsAW8CaQNsBgADdQN0A3EDbgNsA2gDZQNjA2AGAAGYAbgB1wGbAc4B9gGRAcQB8AGR + AcQB8AGRAcQB8AFVAYgBuwFEAXcBqgFVAYgBuwFAAXMBpgGRAcQB8AGRAcQB8AGRAcQB8AGbAc4B9gGY + AbgB1wkAAaIBygHeAZsB4QH3AZQB2wH0AZQB2wH0AZQB2wH0AZQB2wH0AZQB2wH0AZQB2wH0AZQB2wH0 + AZ4B5AH5AXwBwAHeAaIBygHeAe4B8wH1AwACfwHVAWIBYQHnAXYBdQH+AXYBdQH+AXkBYgGjAXsBUAFV + AXsBUAFVAWoBWQE/AWoBbgEyAWoBbgEyAWEBiwFRAVUBwQGKAVUBwQGKAVUBwQGKAeIB7wHoBgAD0wNx + A9MnAAGbAboB2QGfAdIB+QGVAcgB8wGVAcgB8wGVAcgB8wFVAYgBuwFVAYgBuwFVAYgBuwFNAYABswGV + AcgB8wGVAcgB8wGVAcgB8wGfAdIB+QGbAboB2QkAAaUBzQHgAZ4B5QH5AZgB3wH2AZgB3wH2AZgB3wH2 + AZgB3wH2AZgB3wH2AZgB3wH2AZgB3wH2AZgB3wH2AaEB6AH6AaUBzQHgBgAC4gHxAlUBzgJVAc4CVQHO + AW0BUwF1AdwBqQEyAdcBpAEtAdcBpAEtAdcBpAEtAdwBqQEyAbABhgFIQgABnwG9AdsBqQHbAf4BqgHd + Af8BqgHdAf8BqgHdAf8BdwGqAd0BdwGqAd0BdwGqAd0BZgGZAcwBqgHdAf8BqgHdAf8BqgHdAf8BqQHb + Af4BnwG9AdsJAAGoAc4B4gGjAegB+wGdAeMB+QGdAeMB+QGdAeMB+QGdAeMB+QGdAeMB+QGdAeMB+QGd + AeMB+QGdAeMB+QGjAegB+wGoAc4B4hIAAbYBiwFFAdwBqQEyAdEBngEnAdEBngEnAdEBngEnAdwBqQEy + AbYBiwFFQgABxwHXAecBiAG2AeIBgAGzAeYBgAGzAeYBgAGzAeYBTgGBAbQBTgGBAbQBTgGBAbQBSAF7 + Aa4BgAGzAeYBgAGzAeYBgAGzAeYBiAG2AeIBxwHXAecJAAGrAdAB4wGmAesB/AGhAeYB+wGhAeYB+wGh + AeYB+wGhAeYB+wGhAeYB+wGhAeYB+wGhAeYB+wGhAeYB+wGmAesB/AGrAdAB4xIAAbsBkAFBAeEBrgE4 + AdYBowEsAdYBowEsAdYBowEsAeEBrgE4AbsBkAFBEgAD1wN9A9cnAAHjAeoB8QGOAbgB4QGJAbwB7wGI + AbsB7gGIAbsB7gFBAXQBpwFBAXQBpwFBAXQBpwE+AXEBpAGIAbsB7gGIAbsB7gGJAbwB7wGOAbgB4QHj + AeoB8QkAAa4B0gHkAakB7gH9AaQB6QH8AaQB6QH8AaQB6QH8AaQB6QH8AaQB6QH8AaQB6QH8AaQB6QH8 + AaQB6QH8AakB7gH9Aa4B0gHkEgABwAGVAT8B5wG0AT0B2gGnATAB2gGnATAB2gGnATAB5wG0AT0BwAGV + AT8SAAN/A3cDfwYAA4IDgQN/A34DfAN6A3kDdgOrBgAB9QH3AfkBmwG+Ad8BiQG8Ae8BiAG7Ae4BiAG7 + Ae4BNQFoAZsBNQFoAZsBNQFoAZsBNQFoAZsBiAG7Ae4BiAG7Ae4BiQG8Ae8BmwG+Ad8B9QH3AfkJAAGw + AdQB5gGsAfEB/wGnAewB/gGnAewB/gGnAewB/gGnAewB/gGnAewB/gGnAewB/gGnAewB/gGnAewB/gGs + AfEB/wGwAdQB5hIAAcYBmgE9AesBuAFBAd0BqgEzAd0BqgEzAd0BqgEzAesBuAFBAcYBmgE9EgAD2AOC + A9gnAAP+AcsB2gHqAakBxQHiAakBxQHiAakBxQHiAVUBfQGmAVUBfQGmAVUBfQGmAVUBfQGmAakBxQHi + AakBxQHiAakBxQHiAcsB2gHqA/4JAAGyAdUB5gGxAfUB/wGuAfIB/wGuAfIB/wGuAfIB/wGuAfIB/wGu + AfIB/wGuAfIB/wGuAfIB/wGuAfIB/wGxAfUB/wGyAdUB5hIAAdQBswFsAecBuAFGAf4BywFUAf4BywFU + Af4BywFUAecBuAFGAdQBswFsdQAB0AHkAe4BswHWAecBswHWAecBswHWAecBswHWAecBswHWAecBswHW + AecBswHWAecBswHWAecBswHWAecBswHWAecB0AHkAe4SAAHwAesB3gHNAaABOQHNAaABOQHNAaABOQHN + AaABOQHNAaABOQHwAesB3g8AA/sD8QLIAcMCuAGwArgBsAK4AbACuAGwArgBsAK4AbACuAGwArgBsAK4 + AbACuAGwAsgBwwPxBvsD8QLIAcMCuAGwArgBsAK4AbACuAGwArgBsAK4AbACuAGwArgBsAK4AbACuAGw + AsgBwwPxA/tgAAP9A/oCwAG4C/8D/gH9Av4B/AL9AfsC/QH6AvwB+AL+AfkCwAG4A/oG/QP6AsABuAv/ + A/4B/QL+AfwC/QH7Av0B+gL8AfgC/gH5AsABuAP6A/1mAALJAcEG/wP+Av0B/AL9AfsC/AH5AvsB+AL6 + AfYC+AH0AvsB9gLJAcEMAALJAcEG/wP+Av0B/AL9AfsC/AH5AvsB+AL6AfYC+AH0AvsB9gLJAcFsAALP + AccD/wP+Av0B/AL9AfsC/AH5AvsB+AL6AfYC+AH0AvcB8gL7AfUCzwHHDAACzwHHA/8D/gL9AfwC/QH7 + AvwB+QL7AfgC+gH2AvgB9AL3AfIC+wH1As8BxwwAA/4D/Ab5A/oG/AP7BvkD/AP+BgAD/QP8A/oe+AP6 + A/wD/QYAAtAByAL/Af4C/QH8Av0B+wG/AUgBrgHsAc4B5QL6AfYC+AH0AvcB8gL2AfAC+gHzAtAByAwA + AtAByAL/Af4C/QH8AekBzwHrAa4BSAG/Aa4BSAG/Aa4BSAG/AdMBoQHaAvcB8gL2AfAC+gHzAtAByAwA + A/4D/AP5A7MDXAb8A1wDtAP5A/wD/gYAA/0DhAM0A4QD+APiBjQDhAPiA3UDpAP4A4QDNAPpBgAC0gHL + Av4D/QH7AvwB+QHGAU8BtQHsAc8B5QL4AfQC9wHyAvYB8AL1Ae4C+gHyAtIBywwAAtIBywL+A/0B+wHq + AdEB7QG1AU8BxgL6AfYB5wHOAegBtQFPAcYB7gHhAesC9QHuAvoB8gLSAcsSAAPLA3UD+AYAA/gDdQPL + EgADeQP1BgADqgN5BgADywO+A+4DqgPCCQAC1QHNAv4D/AH5AvsB+AHOAVcBvQHOAVcBvQHOAVcBvQHi + AaYB1gL1Ae4C9AHsAvkB7wLVAc0MAALVAc0C/gP8AfkB6wHSAe0BvQFXAc4C+AH0AvcB8gG9AVcBzgHn + Ac0B5QL0AewC+QHvAtUBzQ8AA84DfwP5DAAD+QN/A84PAAPGDGADxgYAA/UJYAPpCQAC1gHOAv0D+wH4 + AvoB9gHWAV8BxQHvAdEB5gL2AfAC9QHuAvQB7ALxAecC9wHqAtYBzgwAAtYBzgL9A/sB+AHsAdMB7gHF + AV8B1gL3AfIB6gHRAeoBxQFfAdYB7QHhAekC8QHnAvcB6gLWAc4MAAPQA4YD+RIAA/kDhgPQDAAD9QOU + A+8D0QNoA/UJAAOTA+8DaAwAAtgB0AL9A/oB9gL4AfQB3AFlAcsB3AFlAcsB3AFlAcsB4gGJAdMC8QHn + AuwB3wL0AeUC2AHQDAAC2AHQAv0D+gH2Ae0B0wHuAcsBZQHcAcsBZQHcAcsBZQHcAd8BrAHjAvEB5wLs + Ad8C9AHlAtgB0AkAA+8DbAPvGAAD7wNsA+8MAAOPA/YDtwOPDAADzAN9A8wMAALaAdIC/AP4AfQC9wHy + AvYB8AL1Ae4C9AHsAvEB5wLsAd8C6AHZAvMB4gLaAdIMAALaAdIC/AP4AfQC9wHyAvYB8AL1Ae4C9AHs + AvEB5wLsAd8C6AHZAvMB4gLaAdIMAAPUA5ED+RIAA/kDkQPUDwADzgPVA3cDzgwAA+wDdwPsDAAC2wHT + AvwD9wHyAvYB8AL1Ae4C9AHsAvEB5wLsAd8C6AHZAuYB1QLyAeEC2wHTDAAC2wHTAvwD9wHyAvYB8AL1 + Ae4C9AHsAvEB5wLsAd8C6AHZAuYB1QLyAeEC2wHTDwAD1QOWA/kMAAP5A5YD1RIAA/YDogN+A/YhAALc + AdUC+wP2AfAC9QHuAvQB7ALxAecC7AHfAugB2QLmAdUC5QHUAvIB4QLcAdUMAALcAdUC+wP2AfAC9QHu + AvQB7ALxAecC7AHfAugB2QLmAdUC5QHUAvIB4QLcAdUSAAPXA5kD+gYAA/oDmQPXGAAGnCQAAt0B1gL6 + AfQC9QHuAvQB7ALxAecC7AHfAugB2QLmAdUCpAGTAqQBkwKkAZMCyQHADAAC3QHWAvoB9AL1Ae4C9AHs + AvEB5wLsAd8C6AHZAuYB1QKkAZMCpAGTAqQBkwLJAcAVAAPYA50GAAOdA9hFAALeAdcC+gHzAvQB7ALx + AecC7AHfAugB2QLmAdUC5QHUArYBpQP/At4B1wL3AfYMAALeAdcC+gHzAvQB7ALxAecC7AHfAugB2QLm + AdUC5QHUArYBpQP/At4B1wL3AfZsAALfAdkC/AH1AvkB7wL2AeoC9AHlAvMB4gLyAeEC8gHhAsIBsQLf + AdkC9wH2DwAC3wHZAvwB9QL5Ae8C9gHqAvQB5QLzAeIC8gHhAvIB4QLCAbEC3wHZAvcB9m8AAuoB5gLg + AdkC4AHZAuAB2QLgAdkC4AHZAuAB2QLgAdkC4AHZAvcB9hIAAuoB5gLgAdkC4AHZAuAB2QLgAdkC4AHZ + AuAB2QLgAdkC4AHZAvcB9mwAA/sD8QLIAcMCuAGwArgBsAK4AbACuAGwArgBsAK4AbACuAGwArgBsAK4 + AbACuAGwAsgBwwPxBvsD8QLIAcMCuAGwArgBsAK4AbACuAGwArgBsAK4AbACuAGwArgBsAK4AbACuAGw + AsgBwwPxBvsD8QLIAcMCuAGwArgBsAK4AbACuAGwArgBsAK4AbACuAGwArgBsAK4AbACuAGwAsgBwwPx + BvsD8QLIAcMCuAGwArgBsAK4AbACuAGwArgBsAK4AbACuAGwArgBsAK4AbACuAGwAsgBwwPxA/sD/QP6 + AsABuAv/A/4B/QL+AfwC/QH7Av0B+gL8AfgC/gH5AsABuAP6Bv0D+gLAAbgL/wP+Af0C/gH8Av0B+wL9 + AfoC/AH4Av4B+QLAAbgD+gb9A/oCwAG4C/8D/gH9Av4B/AL9AfsC/QH6AvwB+AL+AfkCwAG4A/oG/QP6 + AsABuAv/A/4B/QL+AfwC/QH7Av0B+gL8AfgC/gH5AsABuAP6A/0GAALJAcEG/wP+Av0B/AL9AfsC/AH5 + AvsB+AL6AfYC+AH0AvsB9gLJAcEMAALJAcEG/wP+Av0B/AL9AfsC/AH5AvsB+AL6AfYC+AH0AvsB9gLJ + AcEMAALJAcEG/wP+Av0B/AL9AfsC/AH5AvsB+AL6AfYC+AH0AvsB9gLJAcEMAALJAcEG/wP+Av0B/AL9 + AfsC/AH5AvsB+AL6AfYC+AH0AvsB9gLJAcEMAALPAccD/wP+Av0B/AL9AfsC/AH5AvsB+AL6AfYC+AH0 + AvcB8gL7AfUCzwHHDAACzwHHA/8D/gL9AfwC/QH7AvwB+QL7AfgC+gH2AvgB9AL3AfIC+wH1As8BxwwA + As8BxwP/A/4C/QH8Av0B+wL8AfkC+wH4AvoB9gL4AfQC9wHyAvsB9QLPAccMAALPAccD/wP+Av0B/AL9 + AfsC/AH5AvsB+AL6AfYC+AH0AvcB8gL7AfUCzwHHDAAC0AHIAv8B/gL9AfwB3AHPAesBewFIAb8BewFI + Ab8BewFIAb8BiwFeAcYB6AHhAesC9gHwAvoB8wLQAcgMAALQAcgC/wH+Av0B/AL9AfsBggHCAbQBWQGu + AZ0BWQGuAZ0BqQHTAcgC9wHyAvYB8AL6AfMC0AHIDAAC0AHIAv8B/gL9AfwC/QH7Ad4BogGpAb8BSAFZ + Ab8BSAFZAdwBoAGmAvcB8gL2AfAC+gHzAtAByAwAAtAByAL/Af4C/QH8Av0B+wG/AXsBSAG/AXsBSAG/ + AXsBSAHcAboBngL3AfIC9gHwAvoB8wLQAcgMAALSAcsC/gP9AfsB3QHRAe0BggFPAcYC+gH2AvgB9AGC + AU8BxgHZAcwB5QL1Ae4C+gHyAtIBywwAAtIBywL+A/0B+wL8AfkC+wH4AvoB9gHSAegB4AFgAbUBpAL2 + AfAC9QHuAvoB8gLSAcsMAALSAcsC/gP9AfsC/AH5AvsB+AHgAaUBqwHTAXoBhQL3AfIC9gHwAvUB7gL6 + AfIC0gHLDAAC0gHLAv4D/QH7AvwB+QHGAYIBTwHsAdsBzAL4AfQC9wHyAvYB8AL1Ae4C+gHyAtIBywwA + AtUBzQL+A/wB+QHfAdIB7QGKAVcBzgGYAWwB0wGKAVcBzgGlAX8B1wHnAeEB6QL0AewC+QHvAtUBzQwA + AtUBzQL+A/wB+QL7AfgBsgHcAdIBaAG9AawBaAG9AawBrgHZAc0C9QHuAvQB7AL5Ae8C1QHNDAAC1QHN + Av4D/AH5AvsB+AL6AfYB4wGoAa4B2QF/AYsC9gHwAvUB7gL0AewC+QHvAtUBzQwAAtUBzQL+A/wB+QL7 + AfgBzgGKAVcB7gHdAcwC9wHyAvYB8AL1Ae4C9AHsAvkB7wLVAc0MAALWAc4C/QP7AfgB4AHTAe4BkgFf + AdYC9wHyAd0B0AHpAZIBXwHWAvQB7ALxAecC9wHqAtYBzgwAAtYBzgL9A/sB+AL6AfYBcAHFAbQB1QHr + AeIC9gHwAvUB7gL0AewC8QHnAvcB6gLWAc4MAALWAc4C/QP7AfgC+gH2AvgB9AHnAasBsQHeAYUBkAL1 + Ae4C9AHsAvEB5wL3AeoC1gHODAAC1gHOAv0D+wH4AvoB9gHWAZIBXwHvAd4BzQL2AfAC9QHuAvQB7ALx + AecC9wHqAtYBzgwAAtgB0AL9A/oB9gHgAdMB7gGYAWUB3AGYAWUB3AGYAWUB3AHFAawB4wLxAecC7AHf + AvQB5QLYAdAMAALYAdAC/QP6AfYC+AH0AbcB4QHVAXYBywG6AXYBywG6AZUB1QHGAvEB5wLsAd8C9AHl + AtgB0AwAAtgB0AL9A/oB9gL4AfQB6gGvAbQB3AFlAXYB3AFlAXYB6AGsAbEC8QHnAuwB3wL0AeUC2AHQ + DAAC2AHQAv0D+gH2AvgB9AHcAZgBZQHvAd4BzQL1Ae4C9AHsAvEB5wLsAd8C9AHlAtgB0AwAAtoB0gL8 + A/gB9AL3AfIC9gHwAvUB7gL0AewC8QHnAuwB3wLoAdkC8wHiAtoB0gwAAtoB0gL8A/gB9AL3AfIC9gHw + AvUB7gL0AewC8QHnAuwB3wLoAdkC8wHiAtoB0gwAAtoB0gL8A/gB9AL3AfIC9gHwAvUB7gL0AewC8QHn + AuwB3wLoAdkC8wHiAtoB0gwAAtoB0gL8A/gB9AL3AfIC9gHwAvUB7gL0AewC8QHnAuwB3wLoAdkC8wHi + AtoB0gwAAtsB0wL8A/cB8gL2AfAC9QHuAvQB7ALxAecC7AHfAugB2QLmAdUC8gHhAtsB0wwAAtsB0wL8 + A/cB8gL2AfAC9QHuAvQB7ALxAecC7AHfAugB2QLmAdUC8gHhAtsB0wwAAtsB0wL8A/cB8gL2AfAC9QHu + AvQB7ALxAecC7AHfAugB2QLmAdUC8gHhAtsB0wwAAtsB0wL8A/cB8gL2AfAC9QHuAvQB7ALxAecC7AHf + AugB2QLmAdUC8gHhAtsB0wwAAtwB1QL7A/YB8AL1Ae4C9AHsAvEB5wLsAd8C6AHZAuYB1QLlAdQC8gHh + AtwB1QwAAtwB1QL7A/YB8AL1Ae4C9AHsAvEB5wLsAd8C6AHZAuYB1QLlAdQC8gHhAtwB1QwAAtwB1QL7 + A/YB8AL1Ae4C9AHsAvEB5wLsAd8C6AHZAuYB1QLlAdQC8gHhAtwB1QwAAtwB1QL7A/YB8AL1Ae4C9AHs + AvEB5wLsAd8C6AHZAuYB1QLlAdQC8gHhAtwB1QwAAt0B1gL6AfQC9QHuAvQB7ALxAecC7AHfAugB2QLm + AdUCpAGTAqQBkwKkAZMCyQHADAAC3QHWAvoB9AL1Ae4C9AHsAvEB5wLsAd8C6AHZAuYB1QKkAZMCpAGT + AqQBkwLJAcAMAALdAdYC+gH0AvUB7gL0AewC8QHnAuwB3wLoAdkC5gHVAqQBkwKkAZMCpAGTAskBwAwA + At0B1gL6AfQC9QHuAvQB7ALxAecC7AHfAugB2QLmAdUCpAGTAqQBkwKkAZMCyQHADAAC3gHXAvoB8wL0 + AewC8QHnAuwB3wLoAdkC5gHVAuUB1AK2AaUD/wLeAdcC9wH2DAAC3gHXAvoB8wL0AewC8QHnAuwB3wLo + AdkC5gHVAuUB1AK2AaUD/wLeAdcC9wH2DAAC3gHXAvoB8wL0AewC8QHnAuwB3wLoAdkC5gHVAuUB1AK2 + AaUD/wLeAdcC9wH2DAAC3gHXAvoB8wL0AewC8QHnAuwB3wLoAdkC5gHVAuUB1AK2AaUD/wLeAdcC9wH2 + DAAC3wHZAvwB9QL5Ae8C9gHqAvQB5QLzAeIC8gHhAvIB4QLCAbEC3wHZAvcB9g8AAt8B2QL8AfUC+QHv + AvYB6gL0AeUC8wHiAvIB4QLyAeECwgGxAt8B2QL3AfYPAALfAdkC/AH1AvkB7wL2AeoC9AHlAvMB4gLy + AeEC8gHhAsIBsQLfAdkC9wH2DwAC3wHZAvwB9QL5Ae8C9gHqAvQB5QLzAeIC8gHhAvIB4QLCAbEC3wHZ + AvcB9g8AAuoB5gLgAdkC4AHZAuAB2QLgAdkC4AHZAuAB2QLgAdkC4AHZAvcB9hIAAuoB5gLgAdkC4AHZ + AuAB2QLgAdkC4AHZAuAB2QLgAdkC4AHZAvcB9hIAAuoB5gLgAdkC4AHZAuAB2QLgAdkC4AHZAuAB2QLg + AdkC4AHZAvcB9hIAAuoB5gLgAdkC4AHZAuAB2QLgAdkC4AHZAuAB2QLgAdkC4AHZAvcB9gwAAUIBTQE+ + BwABPgMAASgDAAFAAwABUAMAAQEBAAEBBQABgAECFgAD/wEAAv8GAAGAAQEGAAGAAQEGAAHwAQMGAAH4 + AQMGAAH8AQMGAAH4AQMGAAHwAQMGAAHgAQMGAAHAAQMGAAHAASMGAAHAAXMGAAHgAf8GAAHxAf8GAAL/ + BgAC/wcAAQEBAAEBAv8BwAEDAQABAQEAAQEC/wHAAQMBAAEBAQABAQL/AeABBwEAAQEBAAEBAcABAwHA + AQMBAAEBAQABAQHAAQMBgAEBAQABAQEAAQEB8QGPAYABAQEAAQEBAAEBAeABBwGAAQEBAAEBAQABAQHG + AWMBgAEBAQABAQEAAQEBjgFxAYABAQEAAQEBAAEBAcYBYwGAAQEBAAEBAQABAQHgAQcBgAEBAQABAQEA + AQEB8QGPAYABAQEAAQEBAAEBAfkBnwHAAQMBAAEBAQABAQL/AeABBwEAAQEBAAEBAv8B8AEPAYABAwEA + AQEI/wIAAf4BAQL/BQABAQGIAwABwAEBAQABAQGIAQABgAEBAcABAQEAAQEBjwH/AYABAQHAAQEBAAEB + Av8BgAEBAcABAQEAAQEC/wGAAQEBwAEBAQABAQGPAf8BgAEBAcABAQEAAQEBjAEBAYABAQHAAQEBAAEB + AY8B/wGAAQEBwAEDAQABHwL/AYABAQHAAQMB8AEfAv8BgAEBAcABAwHwAR8BjwH/AYABAQHAAQMB8AEf + AYwBAQGAAQEBwAEDAfABHwGPAf8BgAEBAcABAwHwAR8E/wHAAQMB8AEfBAAE/wQABP8BwAEDAcABAwT/ + AcABAwHAAQMBwAEDAgABwAEDAcABAwHAAQMCAAHAAQMBwAEDAfEBjwHMAcEBwAEDAcABAwHjAccBwAHB + AcABAwHAAQMBxwHjAcAB4wHAAQMBwAEDAY8B8QHhAeMBwAEDAcABAwHHAeMB4QHjAcABAwHAAQMB4wHH + AeEB/wHAAQMBwAEDAfEBjwHzAf8BwAEDAcABAwH5AZ8C/wHAAQMBwAEDBP8BwAEHAcABBwT/AcABDwHA + AQ8E/xAAAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHA + AQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHA + AQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHA + AQMBwAEDAcABAwHAAQMBwAEDAcABBwHAAQcBwAEHAcABBwHAAQ8BwAEPAcABDwHAAQ8L + + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFZSURBVDhPzZG9SwNBEMXnL1BO7wRRA4LRLhDRdCkDKQIp + 0liEqEFIG1MkvYJWFtooWEQCfgXBRlAsrMTqBAtBwVYsbGzFwvG95TaId1xaD37szrz3Zo9dkX/1nYrk + uyI+178/FqcZ7xFCxwhrq6VcWdshVvus10Na76AOQt/Npj4WCvrVaChrkA/w36tVo72Wy0YLXV0b5gMI + H7Wa3mQy+lapKGvyVCya3n0uZ3r0Rt79PgTgv5RKeplK6V02q9fptLY9T08SCaVGT+zD7cGwC+NFMqkd + xzEcuq6yR63vq2/DtAPzOU49Q9jCHrXYAVswAP8KwSio0RM5ZAPCJgy3CFtYR/XoDQ1Zg/kBYQvrdRhJ + lBYasADjKkLPGMKVtTXFadYzjs30rMjKIsJzIsuop8AEGAOT8yJL1OhBPQOY6X0D2A2D0YARrENgEFBz + gPdLd4N+31fta/gB8I2yXiCOQTQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJLSURBVDhPzZLbT5JxHMbfVVdd5KmaedHaqo01u8ncvKmL + WnjRljfZcEvbXLOWm4UL7GCBtbIEO3FqDJumliAMEhL3ohhLiciR5siQlzgripRAtC666Pe4t63+gnq3 + z77PnsMLG1DUf/OUtdjy9gnpCnKryi7RNbiVoplj4E+P7eT99cVJYXvlzfHagcmoMpT8PpJM//D0j36Z + ON2+lAbQ8JChgy42ay/BJx8R2095I2l9eCVnDy7n6MnZr66aViYjN6TCABoeMnTQxQZbau8F84Fex2cl + CW3MYtZK7miTZDZ4Xjqf6LOlPwJoeMjYjg0bbClOk4k3F8tYvCyBpdx4Oc+avtu7MPfAkJy4/WzZdk0d + elfOG161eBZkfa9DtwyuqNTpW3mKLcVpNDYwiW+O6dCqEXyKZehd3MGfnbqk42rXwhCQ6JKv4Jmn4o8V + NHNdOcKIhj2LamypnWd0dVOBlOmtP6W3vk9ojO64inPUmBbIgu4WTdwMoOHpnFH5/Zc+MdC7ogpsqR31 + z7kPLV61yR3TSIZ8N1R0oKOK75yvFn6IXOmKWwE0PGQdL3xtcqv/jmjAcw9bqqS2p6i0UdvcY2dknWZf + e9ugVyzVM9qKk9NZgTw2A6DhIUMH3T3ntHxs137KIu5lzu6GfoGw2/XoiT2g0r+JdAvk/rGD9eEsgIaH + DB10sfn9Z1pPxOYNxaX78w9frCs4rmguPKFuLaxW8YsPic4CaHjI0EEXGwK21DrCRtYoIXcbYQshn7CJ + pYDcrWyGDsbYYPuPn1/YcpRhvZgT5gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJBSURBVDhPzZLda1JhAMYPdddFFLSgLiuGsG52FayL9YVE + MAhl9LFFWLsILCKaSduEsukqdXTRpzmnbp6hW4w8bWcfMufSarFQl3O22vSYnuPOKdN151XvMxyxv6Be + +PE+PB+HA+dQ1H9zLhokWYtBsl82SClCGXeL4YcLbPYkO7qbXvzM7ZTifAcndFhF4aXv17ehwO9MV58U + adKnYwAaHjJ00MVm/SHyq3OyhusxwUyLy7R/Len2lxKu8eKCyrQ83DtajANoeMjQQRcbbKm6pmm7uisp + 9E+WEn0TxTjtLy1qrZmpzn4+DA9Aw0OGDjxssKVqGnwpC80vOcaK88DtX/tyrnORsTGFyKNXUshIi5Nm + z+pMo37BZ/KIU3pXftToFifu9Wai2FL75YNlB1v4ahspRIBrrJg41RYdtnilYHsP7wMmrzQNz+z5692n + 8yFsqX3Hh1JGx/fks9c/P5m9UujBgBRU3vk8YqDzQa0txwBoeEb3amDDa32cmsWWqj7J2pvbY/zDAfGt + xpp7o7ML41e6l/w3nqwE2npyLICGh+zWixwDr1ETTWNLHVSEZbXK2fw1CxfRWrPszecZRu/kZ07rYuxd + Jx8G0PCQaW1ZFt1a5QcB2/VPWXPCqTh8IZlv1nFc69PsR6NbeK/uXpk7po4nATQ8DcnQQRebjZ9pKxG7 + qg4o5YeU7wbrVVnu6CW+fESVS9edjXhBPdHwkKGDLjYEbKkthG0VYy+59xCqCDsI2yvsJPfuSoYOxthg + +4/PH5mFqtsT5Zp5AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAH7SURBVDhPY2CgFdi1mNl512KmvSC8czFTPFH2bJnPIAFT + uG0+075vr2d8//12+p9tC5h2wcSR1aAYunEOU8KmuUz7Ns1lXr5xNrMHiP373cz/Xx5X/EWIMS8HiYPU + Yrhow0ym/d9fTf7//mH790Mb9M6D+N9e9P9/eS3lx/qZTKsPrdM5//Zew/cvz7r+g+QwDFg9henA/TPh + P55eSfz/6lbx//2rtC68f9j8//bJwE/7VmlceHmz4D9IDqQGpBbDgOUTGayW9zOu3LNC+ebJbRYvHl1K + /Q/Cd04H/394Mfk/SAwkB1IDUoszUBd2Mbss7GY6dGqH1YdrRz3+gzCIDRIDyeHUOLuVwXpOG+PqXSuN + gS5wfHnlsMt/EL5xwh9MH9ts/XLHEq2bIDUgtRgGTWtgOnL3bOKPWye9/18/5vJ/6SThy6d3Wny+dy4M + zAaJ3Tjh8f/qUZ8fILUYBvRXMh29c9rl/6VDNj8W9Qhd6a9k3HDlsO2P++cD/4PkQGIgOZAaEB/DgPYC + hpSWXMYTQLweyPYG0ffPOf59esXnP0gcJgZlp2ANCytDBimYRGUy47Enl13+3j3l8LMyifEUTBxZDTZD + eIGCikCs7mfPUFGXyXEBhO1NGBJBYkCsDMQCQMyIKzY4gBJiQAxyCTYsDhTnwmcAUZkOWREA1X0d4o/X + sU8AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHTSURBVDhPjZI5S0NBFIVTKnYWWgumCAgWggSxUjApFMU1 + hahN1GCCREIEE3lgI2inTX6A6WxsbAVBK3FfEJQYJZvGLft+vWfIC8LE4MDlvXmc+70zZ65GU17jq6sD + Y4oyW6tGFaVV1UvPUZdrLlko0Gc2S6+pFAUSCXqOx8kfi4naOzwkaIbdbm1VyNDKynw8l6MoN4a+v8kX + jdJ9OEw3wSBdBwLk3d8nLOiqQgacTkuCAR/JZFXI9s4OqaU1GNySi36HYyGVz9MX2/8LAic4DrQSoM9u + t6Y5g1g6XRMCALQSoNdms2UYkMhkakIQLLQSoMdiWcwVi5RCDldP9GD2VOpl96gSLG4HWgnQbTbb8wzI + cA4A3E5vCSeR80fxrt7OK3+DVgJ0zcwsFUolyvIx3i99dDqxQVdWj3jeKV6K+EMCgjmBVgJ0Tk46igyA + i/eLRzoeXBPHQSZ4D5zci9uJ8TdoJUCHyeQs8aAUGPB29kAHRleljqc26c0fFreDYYNWArSPjCxj0krs + AhA4wXGQieoEmSR5D60E0Br5l+VVC4Jhg/Y3oJ43Tc16/ZoKEE64kAmChRtcMeYky3to0cOFXk0jV1td + S8tSg063/p+CFj3o/QGV+z7QMPhyMQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHDSURBVDhPjZK7S4JhFMYdi7aGmoMchKAhCImmgmxIiLQw + cHCplJIyxMALgkt/QDS22RCEUJhB0CIUQbRYDkJQCpqUdPF+P53no0+E16wXHj7ej+f8OOd5j0Lxc5Y8 + Hu2i17vaTXqvd1j2C1+9y7VWqNfpo1Kh12KRkvk8JXI5imezkk7CYYJnwe1WdoTMO53mXLVKGS58+fqi + p0yGYuk0RVMpekgm6TAUIhz4OkK0Doclz4D3QqEjZM/vJ1lKjcYtdDFnt68XazX65PZ/g6ATjAOvAJix + 2TZKnEG2VOoKAQBeATBttVrLDMiXy10hCBZeATBlsWxWGw0qcg6AROPndHHrkHQd3W8Fi9eBVwBMrqzY + agwocw6ABK+2KPEWFcZ55RHhFQATJtN2vdmkCo8BSOTxlI4vzZLuYoFWsNgTeAXAuNFobzAAXcgQdPKc + jpD/zNTqJMv/4BUAYwaDo8mLUmcAIMGwjw4Cy5Ju7o9awWLZ4BUAozrdDjatyV3IkPZO5Ncp8HjwCgDl + 7KxL2tU/IFg2eNsBvXwZGFSrfTJAgrCQCYLFSHhi7EmF7/CihoVaRT9rpGdoaLtPpdr9j+BFDWq/AfnI + RpkLgwRoAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAG9SURBVDhPjZLNSwJRFMVdFu1a1DrIhRC0CCKiVUG5KIi0 + KGjRxkpKwpAJ1BgIpEWboH8gwqIoCiHaBv4L1UIQ+8ISkcpxZvz2ds/QRPLMenB4PDj3x73nXYvl68xs + bk5My/JiMzlludv0C7czEFjSKhV6LxYpreuUVFV6yuXoUVEMRaJRgmcqGLQ2hEz6/cu5UokyXPiazdJ9 + JkOxVIruXl7oNpmkw6srwoGvIWRCktwqA940rSFkLxwmU9axsaDQxbjPt6KXy/TB7f8GQScYB14BMOr1 + ruY5AyWfbwoBAF4BMOLxeAoMUAuFphAEC68AGHa710rVKumcAyCXF2mSXHFDkbPUd7D4HXgFwJDL5S0z + oMA5mJDI6SvthhJ1maR5RHgFwODCwnqlVqMij2FCzo+faUeO1WWCPYFXAPTPz/uqDEAXJuT08IFC/pu6 + TBQeEV4B0Dc7K9V4USoMAOTkIEFz9mtDR/vxbwiWDV4B0OtwbGDTatyFCfk5jvk7GmcErwCw2u0BY1f/ + gGDZ4P0JaOVHR+fAwJYJMCAsZIJgMRK+GHtS5De8qGGh1tLO6mnp6lpvs9m2/yN4UYPaT6iBRnEAJMyK + AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGzSURBVDhPjZK9S4JRFMYdi7aGmoUchKAhCImmgnRIiuzD + QcjFSkpCEQM/EFyCxlqamuwPaHFoCRyarKmCyIoCTUQ0X/X1+z2dR3olumZdeLhceM6Pc557NJqvsxYK + mVfD4c1+WgmHx1S/cK8EAluVVosK9TplZZlS5TK9lUr0KkkdncfjBM9yMKjrCVny+7dLjQbluPC9WKSX + XI4eMhm6S6fpNpWis1iMcODrCTH7fM4yA/KVSk/IcTRKqnRGY1DoYsHr3ZGbTfrg9n+DoBOMA68AmHe7 + d6ucgVSt9oUAAK8AmHO5XDUGlGu1vhAEC68AmHU69xrtNsmcAyCOkyRdPxeEcfA78AqAGYfD3WRAjXMA + ZOPovgP4mUmWR4RXAEzb7Z6WolCdxwBk/fCGEk95YRzsCbwCYMpm87YZgC4AWYxcUeIxJ2QicXfwCoBJ + q9Wn8KK0GACIKXDZ1elFstsJlg1eATBhsexj0xTuQoWo46jB4osrPB68AkBnMgU6u/oHBMsG73fAID9G + Rg2GiAroQFjIBMFiJHwx9qTOb3hRw0KtZpg1PqDVeob0+oP/CF7UoPYTXb5IoCRPHYoAAAAASUVORK5C + YII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAG1SURBVDhPjZK9S4JRFMYdi7aGmoUchKAhCImmgnRIirRy + EHKxkpJQxMAPhJZo7l+oxqAhtwiEWgIjKiEIIuE1kZfM1+/P03mk9yW4Zl14uFx4zo9znnt0uu+zGo1a + V2KxjX6yx2Jjql+47eHwZrnVony9TrlKhaRSidLFIr0pSlfniQTBsxyJGHpClkKhrWKjQTIXvhcK9CrL + 9JzN0lMmQ4+SRCfxOOHA1xNiDQY9JQZ8lMs9IUfHx6TKYDZHhC4WAoHtSrNJn9z+bxB0gnHgFQDzPt9O + lTNQqtW+EADgFQBzXq+3xoBSrdYXgmDhFQCzHs9uo92mCucAyK37RdPDYVoLFr8DrwCYcbt9TQbUOAdA + rtdTlLnPC+PkeER4BcC0y+VvdTpU5zEAuVxLakqdprVgsSfwCoAppzPQZgC6AORi8YakO1nIROHu4BUA + kw5HsMOL0mIAIGeWK5KSspaJ+jtYNngFwITNtodN63AXKkQdRw0WkDKPB68AMFgs4e6u/gHBssH7EzDI + j5FRk2lfBXQhLGSCYDESvhh7Uuc3vKhhoVY3zBof0Ov9Q0bjwX8EL2pQ+wUVkUjMVKxfkgAAAABJRU5E + rkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHPSURBVDhPjZLLK4RhFMZnSXYWrJVZTCkLJcmKYhYmcl8o + sxlMTJppGjWXpmz8Af4CxU7Kgp2UYiMjBkVKQ3O/MPf7HOd5M1/qHcNXp+99v57z+855zlGpvp85l0s3 + 63YvN4sZt7u7rpfeMw7HSrZSoY9ikSK5HPkzGXpLp8mXSok4Oj8naKacTnVDyKTdvpoulSjGicFkkl5j + MXoKheghEKB7v5/2T04ID3QNITqbzZhhQCKbbQjZ2dujeqjHxpxSFeNW61quXKZPLv83CCpBO9BKgFGz + eT3PHqTy+aYQAKCVACMmk6nAgEyh0BQCY6GVAMNG40apWqUcfPDG6cVwpcT7watiLKYDrQQYMhjMZQYU + 2IeEN0aPSxeikshtRJzDvriARPgbtBJgUK+3VGo1KnIb8bsoeeZPlXZw9l8HxXSwJ9BKgP7FRWuVAagi + zn+9nDgW7YQ8QXGO+hJiOin+Bq0E6FtYsNV4USoMiN6E6Ux7qMTzrlcxFssGrQTonZ7exKbVuApAUAna + gSeopD6dLN+hlQBqrdYhdvUPCJYN2p+AVr50dA4MbNUBAsIBT2AsqsGIsSdFvkOLHA7kqto5elq6uixt + Gs32fwJa5CD3C+PNRA3m0ZBNAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADBSURBVDhPY2AYBRghwMjIOB2EyQ0aeaDmiUC8HmiAPDmG + JAM1RQEN2AKkQWx0YA6VM8dqOFByEVBCEYhroWx0dWlA8Q1AwTRsBigBJecCJQyAOAHI3g+klZAVAsXm + geShchhm5AIljiJjoIpcJFXKaHI2KCYAJTcDBVRggkB+F1QMJpQOZJQCsTFIDkgXwiQ4gIxVQPwQSksB + aXcoHyYG4m8F4n4gBsnD1NuCDAEZwAfEolBJkAJCGKQWpAekd6gDAOMVIZFrkI0gAAAAAElFTkSuQmCC + + + + 122, 17 + + + + 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 + RpkLgwRoAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAG9SURBVDhPjZLNSwJRFMVdFu1a1DrIhRC0CCKiVUG5KIi0 + KGjRxkpKwpAJ1BgIpEWboH8gwqIoCiHaBv4L1UIQ+8ISkcpxZvz2ds/QRPLMenB4PDj3x73nXYvl68xs + bk5My/JiMzlludv0C7czEFjSKhV6LxYpreuUVFV6yuXoUVEMRaJRgmcqGLQ2hEz6/cu5UokyXPiazdJ9 + JkOxVIruXl7oNpmkw6srwoGvIWRCktwqA940rSFkLxwmU9axsaDQxbjPt6KXy/TB7f8GQScYB14BMOr1 + ruY5AyWfbwoBAF4BMOLxeAoMUAuFphAEC68AGHa710rVKumcAyCXF2mSXHFDkbPUd7D4HXgFwJDL5S0z + oMA5mJDI6SvthhJ1maR5RHgFwODCwnqlVqMij2FCzo+faUeO1WWCPYFXAPTPz/uqDEAXJuT08IFC/pu6 + TBQeEV4B0Dc7K9V4USoMAOTkIEFz9mtDR/vxbwiWDV4B0OtwbGDTatyFCfk5jvk7GmcErwCw2u0BY1f/ + gGDZ4P0JaOVHR+fAwJYJMCAsZIJgMRK+GHtS5De8qGGh1tLO6mnp6lpvs9m2/yN4UYPaT6iBRnEAJMyK + AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGzSURBVDhPjZK9S4JRFMYdi7aGmoUchKAhCImmgnRIiuzD + QcjFSkpCEQM/EFyCxlqamuwPaHFoCRyarKmCyIoCTUQ0X/X1+z2dR3olumZdeLhceM6Pc557NJqvsxYK + mVfD4c1+WgmHx1S/cK8EAluVVosK9TplZZlS5TK9lUr0KkkdncfjBM9yMKjrCVny+7dLjQbluPC9WKSX + XI4eMhm6S6fpNpWis1iMcODrCTH7fM4yA/KVSk/IcTRKqnRGY1DoYsHr3ZGbTfrg9n+DoBOMA68AmHe7 + d6ucgVSt9oUAAK8AmHO5XDUGlGu1vhAEC68AmHU69xrtNsmcAyCOkyRdPxeEcfA78AqAGYfD3WRAjXMA + ZOPovgP4mUmWR4RXAEzb7Z6WolCdxwBk/fCGEk95YRzsCbwCYMpm87YZgC4AWYxcUeIxJ2QicXfwCoBJ + q9Wn8KK0GACIKXDZ1elFstsJlg1eATBhsexj0xTuQoWo46jB4osrPB68AkBnMgU6u/oHBMsG73fAID9G + Rg2GiAroQFjIBMFiJHwx9qTOb3hRw0KtZpg1PqDVeob0+oP/CF7UoPYTXb5IoCRPHYoAAAAASUVORK5C + YII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAG1SURBVDhPjZK9S4JRFMYdi7aGmoUchKAhCImmgnRIirRy + EHKxkpJQxMAPhJZo7l+oxqAhtwiEWgIjKiEIIuE1kZfM1+/P03mk9yW4Zl14uFx4zo9znnt0uu+zGo1a + V2KxjX6yx2Jjql+47eHwZrnVony9TrlKhaRSidLFIr0pSlfniQTBsxyJGHpClkKhrWKjQTIXvhcK9CrL + 9JzN0lMmQ4+SRCfxOOHA1xNiDQY9JQZ8lMs9IUfHx6TKYDZHhC4WAoHtSrNJn9z+bxB0gnHgFQDzPt9O + lTNQqtW+EADgFQBzXq+3xoBSrdYXgmDhFQCzHs9uo92mCucAyK37RdPDYVoLFr8DrwCYcbt9TQbUOAdA + rtdTlLnPC+PkeER4BcC0y+VvdTpU5zEAuVxLakqdprVgsSfwCoAppzPQZgC6AORi8YakO1nIROHu4BUA + kw5HsMOL0mIAIGeWK5KSspaJ+jtYNngFwITNtodN63AXKkQdRw0WkDKPB68AMFgs4e6u/gHBssH7EzDI + j5FRk2lfBXQhLGSCYDESvhh7Uuc3vKhhoVY3zBof0Ov9Q0bjwX8EL2pQ+wUVkUjMVKxfkgAAAABJRU5E + rkJggg== + + + + + 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 + + + \ No newline at end of file diff --git a/Windows/MainForm.Designer.cs b/Windows/MainForm.Designer.cs index 8a2baef..3443b5e 100644 --- a/Windows/MainForm.Designer.cs +++ b/Windows/MainForm.Designer.cs @@ -31,44 +31,40 @@ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this._menuItemOpen = new System.Windows.Forms.ToolStripMenuItem(); - this._menuItemOpenFolder = new System.Windows.Forms.ToolStripMenuItem(); this._menuItemOpenMinecraftSaveFolder = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this._menuItemSave = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); this._menuItemRecentFiles = new System.Windows.Forms.ToolStripMenuItem(); this._menuItemRecentFolders = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); - this._menuItemExit = new System.Windows.Forms.ToolStripMenuItem(); this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this._menuItemCut = new System.Windows.Forms.ToolStripMenuItem(); - this._menuItemCopy = new System.Windows.Forms.ToolStripMenuItem(); - this._menuItemPaste = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); - this._menuItemRename = new System.Windows.Forms.ToolStripMenuItem(); - this._menuItemEditValue = new System.Windows.Forms.ToolStripMenuItem(); - this._menuItemDelete = new System.Windows.Forms.ToolStripMenuItem(); this.searchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this._menuItemFind = new System.Windows.Forms.ToolStripMenuItem(); - this._menuItemFindNext = new System.Windows.Forms.ToolStripMenuItem(); this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this._menuItemAbout = new System.Windows.Forms.ToolStripMenuItem(); this._nodeTree = new System.Windows.Forms.TreeView(); this.imageList1 = new System.Windows.Forms.ImageList(this.components); this.toolStrip1 = new System.Windows.Forms.ToolStrip(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); + this.BottomToolStripPanel = new System.Windows.Forms.ToolStripPanel(); + this.TopToolStripPanel = new System.Windows.Forms.ToolStripPanel(); + this.RightToolStripPanel = new System.Windows.Forms.ToolStripPanel(); + this.LeftToolStripPanel = new System.Windows.Forms.ToolStripPanel(); + this.ContentPanel = new System.Windows.Forms.ToolStripContentPanel(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.testToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this._buttonOpen = new System.Windows.Forms.ToolStripButton(); this._buttonOpenFolder = new System.Windows.Forms.ToolStripButton(); this._buttonSave = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this._buttonRefresh = new System.Windows.Forms.ToolStripButton(); this._buttonCut = new System.Windows.Forms.ToolStripButton(); this._buttonCopy = new System.Windows.Forms.ToolStripButton(); this._buttonPaste = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); this._buttonRename = new System.Windows.Forms.ToolStripButton(); this._buttonEdit = new System.Windows.Forms.ToolStripButton(); this._buttonDelete = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this._buttonAddTagByte = new System.Windows.Forms.ToolStripButton(); this._buttonAddTagShort = new System.Windows.Forms.ToolStripButton(); this._buttonAddTagInt = new System.Windows.Forms.ToolStripButton(); @@ -80,17 +76,23 @@ this._buttonAddTagString = new System.Windows.Forms.ToolStripButton(); this._buttonAddTagList = new System.Windows.Forms.ToolStripButton(); this._buttonAddTagCompound = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); this._buttonFindNext = new System.Windows.Forms.ToolStripButton(); - this.BottomToolStripPanel = new System.Windows.Forms.ToolStripPanel(); - this.TopToolStripPanel = new System.Windows.Forms.ToolStripPanel(); - this.RightToolStripPanel = new System.Windows.Forms.ToolStripPanel(); - this.LeftToolStripPanel = new System.Windows.Forms.ToolStripPanel(); - this.ContentPanel = new System.Windows.Forms.ToolStripContentPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.testToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this._buttonRefresh = new System.Windows.Forms.ToolStripButton(); + this._menuItemOpen = new System.Windows.Forms.ToolStripMenuItem(); + this._menuItemOpenFolder = new System.Windows.Forms.ToolStripMenuItem(); + this._menuItemSave = new System.Windows.Forms.ToolStripMenuItem(); this._menuItemRefresh = new System.Windows.Forms.ToolStripMenuItem(); + this._menuItemExit = new System.Windows.Forms.ToolStripMenuItem(); + this._menuItemCut = new System.Windows.Forms.ToolStripMenuItem(); + this._menuItemCopy = new System.Windows.Forms.ToolStripMenuItem(); + this._menuItemPaste = new System.Windows.Forms.ToolStripMenuItem(); + this._menuItemRename = new System.Windows.Forms.ToolStripMenuItem(); + this._menuItemEditValue = new System.Windows.Forms.ToolStripMenuItem(); + this._menuItemDelete = new System.Windows.Forms.ToolStripMenuItem(); + this._menuItemFind = new System.Windows.Forms.ToolStripMenuItem(); + this._menuItemFindNext = new System.Windows.Forms.ToolStripMenuItem(); + this._menuItemAbout = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); + this.replaceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout(); this.contextMenuStrip1.SuspendLayout(); @@ -127,23 +129,6 @@ this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); this.fileToolStripMenuItem.Text = "&File"; // - // _menuItemOpen - // - this._menuItemOpen.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemOpen.Image"))); - this._menuItemOpen.Name = "_menuItemOpen"; - this._menuItemOpen.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); - this._menuItemOpen.Size = new System.Drawing.Size(223, 22); - this._menuItemOpen.Text = "&Open..."; - // - // _menuItemOpenFolder - // - this._menuItemOpenFolder.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemOpenFolder.Image"))); - this._menuItemOpenFolder.Name = "_menuItemOpenFolder"; - this._menuItemOpenFolder.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.O))); - this._menuItemOpenFolder.Size = new System.Drawing.Size(223, 22); - this._menuItemOpenFolder.Text = "Open &Folder..."; - // // _menuItemOpenMinecraftSaveFolder // this._menuItemOpenMinecraftSaveFolder.Name = "_menuItemOpenMinecraftSaveFolder"; @@ -155,14 +140,6 @@ this.toolStripSeparator3.Name = "toolStripSeparator3"; this.toolStripSeparator3.Size = new System.Drawing.Size(220, 6); // - // _menuItemSave - // - this._menuItemSave.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemSave.Image"))); - this._menuItemSave.Name = "_menuItemSave"; - this._menuItemSave.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); - this._menuItemSave.Size = new System.Drawing.Size(223, 22); - this._menuItemSave.Text = "&Save"; - // // toolStripSeparator4 // this.toolStripSeparator4.Name = "toolStripSeparator4"; @@ -185,14 +162,6 @@ this.toolStripSeparator8.Name = "toolStripSeparator8"; this.toolStripSeparator8.Size = new System.Drawing.Size(220, 6); // - // _menuItemExit - // - this._menuItemExit.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemExit.Image"))); - this._menuItemExit.Name = "_menuItemExit"; - this._menuItemExit.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4))); - this._menuItemExit.Size = new System.Drawing.Size(223, 22); - this._menuItemExit.Text = "E&xit"; - // // editToolStripMenuItem // this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -207,84 +176,22 @@ this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20); this.editToolStripMenuItem.Text = "&Edit"; // - // _menuItemCut - // - this._menuItemCut.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemCut.Image"))); - this._menuItemCut.Name = "_menuItemCut"; - this._menuItemCut.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X))); - this._menuItemCut.Size = new System.Drawing.Size(166, 22); - this._menuItemCut.Text = "Cu&t"; - // - // _menuItemCopy - // - this._menuItemCopy.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemCopy.Image"))); - this._menuItemCopy.Name = "_menuItemCopy"; - this._menuItemCopy.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C))); - this._menuItemCopy.Size = new System.Drawing.Size(166, 22); - this._menuItemCopy.Text = "&Copy"; - // - // _menuItemPaste - // - this._menuItemPaste.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemPaste.Image"))); - this._menuItemPaste.Name = "_menuItemPaste"; - this._menuItemPaste.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V))); - this._menuItemPaste.Size = new System.Drawing.Size(166, 22); - this._menuItemPaste.Text = "&Paste"; - // // toolStripSeparator7 // this.toolStripSeparator7.Name = "toolStripSeparator7"; this.toolStripSeparator7.Size = new System.Drawing.Size(163, 6); // - // _menuItemRename - // - this._menuItemRename.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemRename.Image"))); - this._menuItemRename.Name = "_menuItemRename"; - this._menuItemRename.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R))); - this._menuItemRename.Size = new System.Drawing.Size(166, 22); - this._menuItemRename.Text = "&Rename"; - // - // _menuItemEditValue - // - this._menuItemEditValue.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemEditValue.Image"))); - this._menuItemEditValue.Name = "_menuItemEditValue"; - this._menuItemEditValue.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E))); - this._menuItemEditValue.Size = new System.Drawing.Size(166, 22); - this._menuItemEditValue.Text = "&Edit Value"; - // - // _menuItemDelete - // - this._menuItemDelete.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemDelete.Image"))); - this._menuItemDelete.Name = "_menuItemDelete"; - this._menuItemDelete.ShortcutKeys = System.Windows.Forms.Keys.Delete; - this._menuItemDelete.Size = new System.Drawing.Size(166, 22); - this._menuItemDelete.Text = "&Delete"; - // // searchToolStripMenuItem // this.searchToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this._menuItemFind, - this._menuItemFindNext}); + this._menuItemFindNext, + this.toolStripSeparator9, + this.replaceToolStripMenuItem}); this.searchToolStripMenuItem.Name = "searchToolStripMenuItem"; this.searchToolStripMenuItem.Size = new System.Drawing.Size(54, 20); this.searchToolStripMenuItem.Text = "&Search"; // - // _menuItemFind - // - this._menuItemFind.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemFind.Image"))); - this._menuItemFind.Name = "_menuItemFind"; - this._menuItemFind.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F))); - this._menuItemFind.Size = new System.Drawing.Size(152, 22); - this._menuItemFind.Text = "Find..."; - // - // _menuItemFindNext - // - this._menuItemFindNext.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemFindNext.Image"))); - this._menuItemFindNext.Name = "_menuItemFindNext"; - this._menuItemFindNext.ShortcutKeys = System.Windows.Forms.Keys.F3; - this._menuItemFindNext.Size = new System.Drawing.Size(152, 22); - this._menuItemFindNext.Text = "Find Next"; - // // helpToolStripMenuItem // this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -293,14 +200,6 @@ this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); this.helpToolStripMenuItem.Text = "&Help"; // - // _menuItemAbout - // - this._menuItemAbout.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemAbout.Image"))); - this._menuItemAbout.Name = "_menuItemAbout"; - this._menuItemAbout.ShortcutKeys = System.Windows.Forms.Keys.F1; - this._menuItemAbout.Size = new System.Drawing.Size(152, 22); - this._menuItemAbout.Text = "&About"; - // // _nodeTree // this._nodeTree.AllowDrop = true; @@ -373,6 +272,75 @@ this.toolStrip1.Stretch = true; this.toolStrip1.TabIndex = 0; // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25); + // + // toolStripSeparator6 + // + this.toolStripSeparator6.Name = "toolStripSeparator6"; + this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25); + // + // toolStripSeparator5 + // + this.toolStripSeparator5.Name = "toolStripSeparator5"; + this.toolStripSeparator5.Size = new System.Drawing.Size(6, 25); + // + // BottomToolStripPanel + // + this.BottomToolStripPanel.Location = new System.Drawing.Point(0, 0); + this.BottomToolStripPanel.Name = "BottomToolStripPanel"; + this.BottomToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal; + this.BottomToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.BottomToolStripPanel.Size = new System.Drawing.Size(0, 0); + // + // TopToolStripPanel + // + this.TopToolStripPanel.Location = new System.Drawing.Point(0, 0); + this.TopToolStripPanel.Name = "TopToolStripPanel"; + this.TopToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal; + this.TopToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.TopToolStripPanel.Size = new System.Drawing.Size(0, 0); + // + // RightToolStripPanel + // + this.RightToolStripPanel.Location = new System.Drawing.Point(0, 0); + this.RightToolStripPanel.Name = "RightToolStripPanel"; + this.RightToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal; + this.RightToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.RightToolStripPanel.Size = new System.Drawing.Size(0, 0); + // + // LeftToolStripPanel + // + this.LeftToolStripPanel.Location = new System.Drawing.Point(0, 0); + this.LeftToolStripPanel.Name = "LeftToolStripPanel"; + this.LeftToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal; + this.LeftToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.LeftToolStripPanel.Size = new System.Drawing.Size(0, 0); + // + // ContentPanel + // + this.ContentPanel.Size = new System.Drawing.Size(562, 376); + // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.testToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(97, 26); + // + // testToolStripMenuItem + // + this.testToolStripMenuItem.Name = "testToolStripMenuItem"; + this.testToolStripMenuItem.Size = new System.Drawing.Size(96, 22); + this.testToolStripMenuItem.Text = "Test"; + // // _buttonOpen // this._buttonOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; @@ -400,10 +368,15 @@ this._buttonSave.Size = new System.Drawing.Size(23, 22); this._buttonSave.Text = "Save All Modified Tags"; // - // toolStripSeparator1 + // _buttonRefresh // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25); + this._buttonRefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this._buttonRefresh.Image = ((System.Drawing.Image)(resources.GetObject("_buttonRefresh.Image"))); + this._buttonRefresh.ImageTransparentColor = System.Drawing.Color.Magenta; + this._buttonRefresh.Name = "_buttonRefresh"; + this._buttonRefresh.Size = new System.Drawing.Size(23, 22); + this._buttonRefresh.Text = "Refresh Content From Disk"; + this._buttonRefresh.Click += new System.EventHandler(this._buttonRefresh_Click); // // _buttonCut // @@ -432,11 +405,6 @@ this._buttonPaste.Size = new System.Drawing.Size(23, 22); this._buttonPaste.Text = "Paste"; // - // toolStripSeparator6 - // - this.toolStripSeparator6.Name = "toolStripSeparator6"; - this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25); - // // _buttonRename // this._buttonRename.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; @@ -464,11 +432,6 @@ this._buttonDelete.Size = new System.Drawing.Size(23, 22); this._buttonDelete.Text = "Delete Tag"; // - // toolStripSeparator2 - // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25); - // // _buttonAddTagByte // this._buttonAddTagByte.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; @@ -569,11 +532,6 @@ this._buttonAddTagCompound.Size = new System.Drawing.Size(23, 22); this._buttonAddTagCompound.Text = "Add Compound Tag"; // - // toolStripSeparator5 - // - this.toolStripSeparator5.Name = "toolStripSeparator5"; - this.toolStripSeparator5.Size = new System.Drawing.Size(6, 25); - // // _buttonFindNext // this._buttonFindNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; @@ -583,64 +541,30 @@ this._buttonFindNext.Size = new System.Drawing.Size(23, 22); this._buttonFindNext.Text = "Find / Find Next"; // - // BottomToolStripPanel + // _menuItemOpen // - this.BottomToolStripPanel.Location = new System.Drawing.Point(0, 0); - this.BottomToolStripPanel.Name = "BottomToolStripPanel"; - this.BottomToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal; - this.BottomToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0); - this.BottomToolStripPanel.Size = new System.Drawing.Size(0, 0); + this._menuItemOpen.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemOpen.Image"))); + this._menuItemOpen.Name = "_menuItemOpen"; + this._menuItemOpen.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); + this._menuItemOpen.Size = new System.Drawing.Size(223, 22); + this._menuItemOpen.Text = "&Open..."; // - // TopToolStripPanel + // _menuItemOpenFolder // - this.TopToolStripPanel.Location = new System.Drawing.Point(0, 0); - this.TopToolStripPanel.Name = "TopToolStripPanel"; - this.TopToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal; - this.TopToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0); - this.TopToolStripPanel.Size = new System.Drawing.Size(0, 0); + this._menuItemOpenFolder.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemOpenFolder.Image"))); + this._menuItemOpenFolder.Name = "_menuItemOpenFolder"; + this._menuItemOpenFolder.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.O))); + this._menuItemOpenFolder.Size = new System.Drawing.Size(223, 22); + this._menuItemOpenFolder.Text = "Open &Folder..."; // - // RightToolStripPanel + // _menuItemSave // - this.RightToolStripPanel.Location = new System.Drawing.Point(0, 0); - this.RightToolStripPanel.Name = "RightToolStripPanel"; - this.RightToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal; - this.RightToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0); - this.RightToolStripPanel.Size = new System.Drawing.Size(0, 0); - // - // LeftToolStripPanel - // - this.LeftToolStripPanel.Location = new System.Drawing.Point(0, 0); - this.LeftToolStripPanel.Name = "LeftToolStripPanel"; - this.LeftToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal; - this.LeftToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0); - this.LeftToolStripPanel.Size = new System.Drawing.Size(0, 0); - // - // ContentPanel - // - this.ContentPanel.Size = new System.Drawing.Size(562, 376); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.testToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(97, 26); - // - // testToolStripMenuItem - // - this.testToolStripMenuItem.Name = "testToolStripMenuItem"; - this.testToolStripMenuItem.Size = new System.Drawing.Size(96, 22); - this.testToolStripMenuItem.Text = "Test"; - // - // _buttonRefresh - // - this._buttonRefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this._buttonRefresh.Image = ((System.Drawing.Image)(resources.GetObject("_buttonRefresh.Image"))); - this._buttonRefresh.ImageTransparentColor = System.Drawing.Color.Magenta; - this._buttonRefresh.Name = "_buttonRefresh"; - this._buttonRefresh.Size = new System.Drawing.Size(23, 22); - this._buttonRefresh.Text = "Refresh Content From Disk"; - this._buttonRefresh.Click += new System.EventHandler(this._buttonRefresh_Click); + this._menuItemSave.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemSave.Image"))); + this._menuItemSave.Name = "_menuItemSave"; + this._menuItemSave.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); + this._menuItemSave.Size = new System.Drawing.Size(223, 22); + this._menuItemSave.Text = "&Save"; // // _menuItemRefresh // @@ -651,6 +575,99 @@ this._menuItemRefresh.Text = "Refresh"; this._menuItemRefresh.Click += new System.EventHandler(this.refreshToolStripMenuItem_Click); // + // _menuItemExit + // + this._menuItemExit.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemExit.Image"))); + this._menuItemExit.Name = "_menuItemExit"; + this._menuItemExit.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4))); + this._menuItemExit.Size = new System.Drawing.Size(223, 22); + this._menuItemExit.Text = "E&xit"; + // + // _menuItemCut + // + this._menuItemCut.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemCut.Image"))); + this._menuItemCut.Name = "_menuItemCut"; + this._menuItemCut.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X))); + this._menuItemCut.Size = new System.Drawing.Size(166, 22); + this._menuItemCut.Text = "Cu&t"; + // + // _menuItemCopy + // + this._menuItemCopy.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemCopy.Image"))); + this._menuItemCopy.Name = "_menuItemCopy"; + this._menuItemCopy.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C))); + this._menuItemCopy.Size = new System.Drawing.Size(166, 22); + this._menuItemCopy.Text = "&Copy"; + // + // _menuItemPaste + // + this._menuItemPaste.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemPaste.Image"))); + this._menuItemPaste.Name = "_menuItemPaste"; + this._menuItemPaste.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V))); + this._menuItemPaste.Size = new System.Drawing.Size(166, 22); + this._menuItemPaste.Text = "&Paste"; + // + // _menuItemRename + // + this._menuItemRename.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemRename.Image"))); + this._menuItemRename.Name = "_menuItemRename"; + this._menuItemRename.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R))); + this._menuItemRename.Size = new System.Drawing.Size(166, 22); + this._menuItemRename.Text = "&Rename"; + // + // _menuItemEditValue + // + this._menuItemEditValue.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemEditValue.Image"))); + this._menuItemEditValue.Name = "_menuItemEditValue"; + this._menuItemEditValue.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E))); + this._menuItemEditValue.Size = new System.Drawing.Size(166, 22); + this._menuItemEditValue.Text = "&Edit Value"; + // + // _menuItemDelete + // + this._menuItemDelete.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemDelete.Image"))); + this._menuItemDelete.Name = "_menuItemDelete"; + this._menuItemDelete.ShortcutKeys = System.Windows.Forms.Keys.Delete; + this._menuItemDelete.Size = new System.Drawing.Size(166, 22); + this._menuItemDelete.Text = "&Delete"; + // + // _menuItemFind + // + this._menuItemFind.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemFind.Image"))); + this._menuItemFind.Name = "_menuItemFind"; + this._menuItemFind.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F))); + this._menuItemFind.Size = new System.Drawing.Size(167, 22); + this._menuItemFind.Text = "&Find..."; + // + // _menuItemFindNext + // + this._menuItemFindNext.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemFindNext.Image"))); + this._menuItemFindNext.Name = "_menuItemFindNext"; + this._menuItemFindNext.ShortcutKeys = System.Windows.Forms.Keys.F3; + this._menuItemFindNext.Size = new System.Drawing.Size(167, 22); + this._menuItemFindNext.Text = "Find &Next"; + // + // _menuItemAbout + // + this._menuItemAbout.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemAbout.Image"))); + this._menuItemAbout.Name = "_menuItemAbout"; + this._menuItemAbout.ShortcutKeys = System.Windows.Forms.Keys.F1; + this._menuItemAbout.Size = new System.Drawing.Size(126, 22); + this._menuItemAbout.Text = "&About"; + // + // toolStripSeparator9 + // + this.toolStripSeparator9.Name = "toolStripSeparator9"; + this.toolStripSeparator9.Size = new System.Drawing.Size(164, 6); + // + // replaceToolStripMenuItem + // + this.replaceToolStripMenuItem.Name = "replaceToolStripMenuItem"; + this.replaceToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.H))); + this.replaceToolStripMenuItem.Size = new System.Drawing.Size(167, 22); + this.replaceToolStripMenuItem.Text = "&Replace..."; + this.replaceToolStripMenuItem.Click += new System.EventHandler(this.replaceToolStripMenuItem_Click); + // // MainForm // this.AllowDrop = true; @@ -738,6 +755,8 @@ private System.Windows.Forms.ToolStripSeparator toolStripSeparator8; private System.Windows.Forms.ToolStripButton _buttonRefresh; private System.Windows.Forms.ToolStripMenuItem _menuItemRefresh; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator9; + private System.Windows.Forms.ToolStripMenuItem replaceToolStripMenuItem; } } diff --git a/Windows/MainForm.cs b/Windows/MainForm.cs index cf68595..d6b93c4 100644 --- a/Windows/MainForm.cs +++ b/Windows/MainForm.cs @@ -1042,6 +1042,12 @@ namespace NBTExplorer.Windows RefreshNode(_nodeTree.SelectedNode); } + private void replaceToolStripMenuItem_Click (object sender, EventArgs e) + { + Form form = new FindReplace(); + form.ShowDialog(); + } + #endregion #endregion diff --git a/Windows/MainForm.resx b/Windows/MainForm.resx index 203c890..40cbbca 100644 --- a/Windows/MainForm.resx +++ b/Windows/MainForm.resx @@ -121,169 +121,6 @@ 17, 17 - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACkklEQVQ4T43SX0hTURzA8d9b - 9O/BHjPowfZkRgTRgxVFJgrBRKT2kJWjEsUsKyprtZyumdoSZ86hGdU0LUOTsJXGahCYthIUs6au/fPf - nJvzOvfXX+ccusINgg584Hfhni/ncC8MqACoL+WQQ5T8pxx+H/STzX+UcpZynPl4CmeNJ5Ebuo0xRyPi - 5BOh2RYk75fy+6BPCTwlLrzEFe8LDNpr0dNXiG+1h/DdG7VAT68GO8vi69Ql+6FKvg/gU9kqVWy+DaMz - eibmfY7mjnPo9HhwiuPQQdj8fnxlMqFSnmrIlMlEGcXFACbFqoqouwUjk48ZOn9uleKwxYLfRkdx3O3G - kakpbO7uRrrI5jxCBEY58O5Fpp9iyPGQobPpkQS/j42xyKTPxyIavX6VKD1dBj03gVcdcjVhwFrP0NnY - eBR/TEywyBy5Ah+hJ6HXSSsqKgDDDeDVLtsakLPUMnTu1WWixWplEe/SkiDiWFzElIKCQnh9DXjawIQW - /aPVDJ0NdWIct9lYZGF5WRCZDgTwQG7uBei8ArwG7mcN+oYrGTp31xxBKwnQCBcMCiLz5HmvVHoRFMcA - 2i8xTf4RNXoGVQydu+6noc1uZ5FAOCyI+Mnznuzsy0DXrSyAZ+dB7xuqQLdZwdC5ozIV7Q4HiwQjEUGE - I4FdEgk5P8BaYpPuLHR5B8mv3C9nvOQU7XdT0Ol0skgkGhVElkhwu1hMviFAHLEtPxXq31fv9o8b8sJz - Awqc/6rE1jsH0eVyoZOIraxglAjHYhgisRCZ45OTy9kV6Dq8A0B3BjK0p0HXdn3LB3Nz5q+rWWvs60Qi - zYbExIqNSUmqv61PSMgXBMhm0EgB1CdgZ9VxkJVJ4AF5YSux+R/ifgP/44T3ShVnvwAAAABJRU5ErkJg - gg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAI/SURBVDhPjdJPSJNxGAfw5xYd6+hZJIhCkm5d8hBeIq/9 - AftDgRcPHQzEqVPn5sRcNptjuVjZYlkUFZZpusQIFf+h2Zwuc0NJl5vatub+fXufB1e8DKTBhz1s3+f7 - vr+Xl2jvM2GgK+MG0v4Pzmb3/n6PNVFDZMmAdfdlbAyVITJbh3TgPrD2UG3DCc7mFHxuJB22nyMT7kHc - 34HN0QosuEqQWepUwaoDnM0pGGkkfTrkQmq9W6TDTzHjKMb2jAlJ7z2kFy0iE3gAzuYUDGvJmAo6kVxz - CJ6nuk7BP6IXKaWEpf12cDanYKiGWpM/HmE30CV4/mQ+iZVhnUh4zCK1bANncwr6NWTaXbUjttwpeHab - TmDZ3SDi8+0i4bOCs30aKlKVvKsi8+8VGyKLZsHzQGshfINaEZsziV1+FpkMOK8qeFNJltg3C3Y8JsHz - 2+ZjWPpQJ6KzbSK+0IFQNArOqwpeVpIt4m3H1lyL4Pm17ii8A7Xi10yriH29C18wCM6rCp7dJPvO/G1s - TusFzy/qj8DzXiO2p1pE9MsdnB7NgPOqAmcFdW/NGhGcqBc899QUwNNXLbYmjSKiHON4bwSczxYcVIbD - 1uv0KjytvMpjtSKs3IVLU4BF5fZZ9ghR5UFy9loxnVX2eJcOKfLLz1Bnv6lox9dbnvg5Xo/QpA7NFyh8 - 6xyNsJZLNJjFWd7Z2/13EusNKrVcJeuTqjz3+OPS780X6aPyb15JPh3IeXH2+6GtjAqVq1U3nad2Jbfv - 8h/ayQIkRwIF8QAAAABJRU5ErkJggg== - - - - - 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 - gsnRJ2HiAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACc0lEQVQ4T43SW0hUURQG4PWS - 0JsIFUQ9lWMTFo63RqXRLKoRDMbMcbyMWtqY5qBOjsEEFmlRJAaTlJRdTLtn+ZBBL4EE9rBDu0AlIURZ - D4VQjo3j7W+v0+xT+tSBj7M5Z6+ftdc5dC6diLVn/HXIaozIzc3NkVxhOfzs3z2qTisOB3TIDYKdMNFw - 12H3l5GRD2C85mfqvbx36AF+GRAm3rfvRV9NKgYHX2Fo6B1GRz9reM3P+N1bfynkfqHq6OxmUsTrtiJc - L4nFRftaXCtej5v74nC7Ih7dpRtwuSAGPWUb8bK1ALJGqDpqTSVFDJ9x4NnRbDz2ZGguNNjQ1ujQnW8q - Q2eLC83bl72pLbSQ25FGdNqsEy9O5eGpb6fO7yvGr7k5/JyexvepKYwFAugbGECtPeWjzeeLzvZ6iU4m - 6cTzZhueeLfqWr35mJyZwfjkJL5NTODT+Dh6+vvBlyyukgx0PIEUwe0/qrNoeGDHqrIRnJ3Fj2BQD/F3 - d0OJtlqPUFMcKYLbv38gWRvkpfxoNJRkIiSPEAiFFoRwJ2Oyq23V1W7yxZIi+uvTcaVwHTodBo3HmYkZ - GRCUM1gcwjOxVFTUUaORFPGg2oyrRUZdXfEWzM3PIySPsTiEB2t2Oj1UbyBF9MqALtm+4i7MwLwc2Kzs - YnFIQAbE2+1e2r2SyL1GI3qrNmk/i1KZl6ZNnEO4Ez4Oz4QHOyXvMVlZPuJr1woi1+o/AbfKTboaWzzy - raYFHFkmJBlXfY00mVqiEhPLuX6ptHxPJImHB1O0r3CvMgl3XYm6O/sTwPi3ZryXa8K1FCUXsclL6MaO - CBL/g/dyjRT1G7y5F+bDPK+HAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAt0lEQVQ4T6VSSwoCMQxNTzBL - wYX3cu9F5j7iQhAFQXAxC8/gATxGzQuNhEdHM1h4NOn7tBlGaq3yD6SUAoyKfauxZ2p4xAMOzex9ZjdP - RvhV4+QxvAD1VhHPeiHGO3GiEbjvBZhm7nmX7DfxgCsZuO9dZBonbhTAfS/ANHMj3JeOMJGB+95FpnHi - EQJQ7xTxTLDoEuN//kjmDItHc+rJwkT/8WxUfFa8mgl7poYHXhkUK8V6IeAZ3llKVtf+E8JOAAAAAElF - TkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADaWlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBSaWdodHM9Imh0dHA6Ly9ucy5hZG9i - ZS5jb20veGFwLzEuMC9yaWdodHMvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAv - MS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNv - dXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wUmlnaHRz - Ok1hcmtlZD0iRmFsc2UiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzA0RUI0NjQwMzg3MTFFMUFE - RTJDQkMzMDBBQjU2MjYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzA0RUI0NjMwMzg3MTFFMUFE - RTJDQkMzMDBBQjU2MjYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dz - Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6QUMxRjJFODMzMjRBREYx - MUFBQjhDNTM5MEQ4NUI1QjMiIHN0UmVmOmRvY3VtZW50SUQ9InV1aWQ6QzlEMzQ5NjY0QTNDREQxMUIw - OEFCQkJDRkYxNzIxNTYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ - IDw/eHBhY2tldCBlbmQ9InIiPz4xPsWJAAACIElEQVQ4T4WSXUhTYRiA3/dbG7omFjZGFyFBJBkW9nMR - SD/o2kUF5+aElZo0LyYG9oOh5aIakxlpKAxrQ1jUZEWRRT/EvBiKFLEslW6CmeWwCyFJangRvL3fwcmx - OnrguTgcnuf7zve9ACs8JUUIbU0IqqpqpBG3TiL2jiHue4FobGfFp2EEyUKgcMBu76VAgIYRXz1DLP+n - 8LeoC2xSFKU+k8nQvMdDc1VVFAN4shgwErVACPcHffa7Uk4mk5RKpchnsTyPAOyA4kIAbw1o2/wvLD8K - 4kv6HqD4g52a7HA4fKW5uVtUsxkg2grQ5zUI6OTfMz6aeHeUblzM6bfZbNutVitIjAM6ef7bZZp8f5we - Bk2J/pCpPCsbB3Tyz6lmmhqrpnsdYvB+t6h4fNukrWy8A508O3GW0uO1FPaLoTvXhTPWJWD5gE6e+VSv - yd2tYvjWNeGMtAvQB8zyAOWzeIg6efqjm+WT1H4eX99sQWfPVQHZQOURsXR2ZIApinVgn7yqr6PV9OXD - CbrSgG/azuDBzmYEGVCcBmMbbgJLzzk4/SOdmE3GK+jzSCW1uPGt14MufyOCq2yZeZd76WzAPfHoqcTc - 9CClRiK/Go/h0IVacO3dtYKY/ZFLNeiXcrRLHa07jKEDpajwNztTwKxl8pk8hqcGchgLs4oxMdoqVHcI - Q2Xb0J1nxd38XsIUM5uZjcwGZj2zjlnDrF4IyWsQfwCLISjKZ5nx7AAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABfUlEQVQ4T6WTu0vDUBTGz1+g - VBtB1KBgdSsUNFvHQoZChw4upWoRupYO7a6giw66KCj4wgciuAiKg5M4XcFBUHAVBxdXcfD4fTGJqaZT - hx+353yPezNUVFU6oaMwL/YKDkXkCJyIuMDw5LzvE6cx87eAIaPNpvIEbqTA0z5qtVBrKfCN5qvR0Id8 - Xj/rdcXOAJYQ81apeNpLqRRovy/YxXOAuwPje7Wq146jr+WyciaPhYK3u8vlvB29zISfwAGCbEHYhOG5 - WNSLdFpvs1m9ymR027L02LaVGj30xhbAIBswrMN4nkrpXiLhcZBMKnfU6PlXsIjlElgBqzCtwXyGW08R - DuCOGj30MhN+QlCw/GMwlwjGQY2edgUUzA3CAZzb7NyWF8zjOcDcIxzAeQG3kTiNmfATbAxTMNYRekIJ - T87D2JM4jZmwAL8HwdiEyNw0wpMis5hHwRAYACOOyAw1ejCPMxMt6MKiF/T79OHsAd2AWgJYET3JfVjQ - yd/5G8s+qAWdGU8YAAAAAElFTkSuQmCC - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -314,25 +151,6 @@ vfUZSHwAht7/I7cJcE2ofj6OjY1BkiS6Mj/9kcJoaGj4ub/9hNDiv7nU0n9759jFhzg6/gCW0fvofAW0 hu78pprE/e3EE+K7GhrQc/puZapZqR84c2OH0VmcL6q9gpGCiWgjDv8P3dnFe/tOz1+o9hj/AtmlLdLj WupUAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAC5klEQVQ4T12OX0iTURjGD4kM - 8y4JCYqQbJZkLhWElStG08lybm5q/k/TajCM/ANOlmmBaEQEqeGFDBd4ITNNIRC0LaXc0vmp6edQYzrN - C0WvvH/63tOM6MDv4/ne9/kdDsvNzWUGg4Hl5eUxk8nEzGbz6fz8fJUEnfthKKtoRx3qkkMu/4QvkEnL - jPr6+iav17u0t7eH3d1dDuWZmZmlurq6JupIF8j+v0BmNBpzHA5HPwnvR1bR+GoBOqufQ9k5LGJnZxt9 - fX391JUukPEX6PV64qa0cAaDQZTbZnG3eR21bw7R0HOE+u4jWF8foKBpje82NtbR29vrJIdcptPpYq1W - q31zM4jiRi8qX4Tw6OU+ch6v4PhQftCxh9KWP51AIACLxWInl2m1WrXb/Xm52+lDXsMKKtpCMNQFoHno - /3sBZZoV24O4U7uIrv4ZjI2NLpPLNBpNKT2rxu5BeWsQWRaBo67+Drn2Ay5oXEjIHkF85hBHdW+ad+fm - ZkEuU6vVVkEQcL1kAiVPf+JWlQ8K0yQuZo9KpTn4/X7Eaz9K/2OclPxJ3p2enga5TKVS1VIxvXAcOU9W - kGhwI0E/CblunMuiKPJMM+Kq+QvvejwekMuUSmWlICygrGEcqmoBiWYf55JhisuhUIjn4/kV81fe9Xim - QC5LT0/PGhx0rXa+8+BagRupFQEkFUsvMc9y+eDggGeaEZdzJ9DR7YbD4Vwll6WlpZ0xGk3t8/PLuF0x - huRCH1Iqt5BU9IPLh4eHPCsqtpBo8vKOz7cAg8HYTi5TKBQsOTlZ29Ly3LW4uI4bhS6cz/yExCIRiqpf - HMo0o50grMFub3ORQy6LjY1lcXFxUXK5vNRmax0WxR109nyDvnoIp1K7OJRpJorbsNmeDVOXHHLpnJA4 - KZPJzsbExJQplRlvBwZGN9bW9vEvNKMddaTuOXLCLouQQoyEXCIlMjJSHRUVVRMdHd0s0RGmmWa0o45E - QtiJ+A2+oxJO8d3MEAAAAABJRU5ErkJggg== @@ -343,7 +161,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADQ - MwAAAk1TRnQBSQFMAgEBEAEAASABAQEgAQEBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA + MwAAAk1TRnQBSQFMAgEBEAEAASgBAQEoAQEBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA AwABUAMAAQEBAAEYBgABPP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AB4AA/wD+SH4A/kD/AMAA/0D+SH4 A/kD/TkAA/8D/AP5EvgD+QP7A/4GAAGWAakBvAFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFc AYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgGWAakBvAMAAs8BywK5 @@ -570,6 +388,9 @@ 132, 17 + + 347, 17 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -619,33 +440,33 @@ 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 - 610f4QAAAABJRU5ErkJggg== + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHCSURBVDhPrVI9SAJhGH5vlygi+jFIBJEb4pwECQTBRaRB + aQmbrFmkwOQWwQicazCKoC1qkFoiEsJBCEK4iFuSFqGQOIiGCgry630+vFAxaUh4eL/3+bvvVKL/+MTj + 8flYLKb9pQs++Lu8yWRSB6LR6MAS6La3q8Dj8eiGYYhEIqGHQqG+JeChwwd/7201kKZpCr6i7vP5ukqw + g4feDvd9iOb1evV6vS4ikYjORmnCxA4eOlMDX1OWNBoNEQwGdafTuYCJ/S9h+Vpz/ARVVfVmsynC4fBF + pVIR2MH/+is9ETkeiRYfFGWLcVxSlPKGy2ValiWqDod5wzt46PDB/1Nm8nKvKJtWIFB7T6VeXnO5ligU + xG06LS6J3nAGwEOHD37kZIlBtNTw+w2YTtzuu22i2lc+L854nhMVMbGDhw4f/MjJgqqi7HeGPzIZccpm + hjRgYgffWYKcLCgRlZ8zmRbEz2xWHPI8stvbL4odPHT44EdOyjtEu9ea1sQtDlhc7wnbXxZ46PDBj5zU + vEShItEeE1fLRGtMzeL/w5hhOBnTDDdDXSFahQ9+5OzyKT7YmOTzOGOUMcwYamOE5xhjosOLDH0D5k/s + L/8Jy7AAAAAASUVORK5CYII= @@ -838,11 +659,11 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFySURBVDhPY2CgBthfz8CyP4kl40AiczcM19sxnEHGyHIg tSA9cLv3xrErn6rWXPp+T+f/d7s7wHh2hikKhomD1IDUgvTADdiVwOx+c4r3EWQDlpc4/ofhJYV2cINB - akBqQXrgBuyIZ8m9vyz7wbPNDf9heEuj338YXlftARcHyYPUgvTADdgawzz11v7lf//fXfUfhu+uKgcy + akBqQXrgBuyIZ8m9vyz7wbPNDf9heEuj338YXlftARcHyYPUgvTADdgawzz15v7lf//fXfUfhu+uKgcy IfjMzDS4OEgepBakB27A5ijmGT8vzf//+cRUON7dEfofhjc3+KLIgdSC9MAN2BDFPPvbudn/PxyZCMcg zavKXcCGLCt2QJEDqQXpgRuwOoJ5/qeT0/6/2d8DxyDNID6MRpYDqQXpgRuwPIx58btD/f9f7monCoPU gvTADVgSwrjsFTDun25tIgqD1IL0wA2YH8C4+smWxv8PN9QShUFqQXrgBkzxZNzxYF31//trq4jCILUg - PTAD5FKNGee1uTAeJQWD9AANkAMZwg/E4kAsRSIG6QHppQwAAGQE3TzRiGWiAAAAAElFTkSuQmCC + PTAD5FKNGee1uTAeJQWD9AANkAMZwg/E4kAsRSIG6QHppQwAAF6s3TqmkN8mAAAAAElFTkSuQmCC @@ -861,9 +682,54 @@ iGGIYd//sOfU/B3Fida5fs3Ab3OLJ81GwikSAAAAAElFTkSuQmCC - - 347, 17 - + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACkklEQVQ4T43SX0hTURzA8d9b + 9O/BHjPowfZkRgTRgxVFJgrBRKT2kJWjEsUsKyprtZyumdoSZ86hGdU0LUOTsJXGahCYthIUs6au/fPf + nJvzOvfXX+ccusINgg584Hfhni/ncC8MqACoL+WQQ5T8pxx+H/STzX+UcpZynPl4CmeNJ5Ebuo0xRyPi + 5BOh2RYk75fy+6BPCTwlLrzEFe8LDNpr0dNXiG+1h/DdG7VAT68GO8vi69Ql+6FKvg/gU9kqVWy+DaMz + eibmfY7mjnPo9HhwiuPQQdj8fnxlMqFSnmrIlMlEGcXFACbFqoqouwUjk48ZOn9uleKwxYLfRkdx3O3G + kakpbO7uRrrI5jxCBEY58O5Fpp9iyPGQobPpkQS/j42xyKTPxyIavX6VKD1dBj03gVcdcjVhwFrP0NnY + eBR/TEywyBy5Ah+hJ6HXSSsqKgDDDeDVLtsakLPUMnTu1WWixWplEe/SkiDiWFzElIKCQnh9DXjawIQW + /aPVDJ0NdWIct9lYZGF5WRCZDgTwQG7uBei8ArwG7mcN+oYrGTp31xxBKwnQCBcMCiLz5HmvVHoRFMcA + 2i8xTf4RNXoGVQydu+6noc1uZ5FAOCyI+Mnznuzsy0DXrSyAZ+dB7xuqQLdZwdC5ozIV7Q4HiwQjEUGE + I4FdEgk5P8BaYpPuLHR5B8mv3C9nvOQU7XdT0Ol0skgkGhVElkhwu1hMviFAHLEtPxXq31fv9o8b8sJz + Awqc/6rE1jsH0eVyoZOIraxglAjHYhgisRCZ45OTy9kV6Dq8A0B3BjK0p0HXdn3LB3Nz5q+rWWvs60Qi + zYbExIqNSUmqv61PSMgXBMhm0EgB1CdgZ9VxkJVJ4AF5YSux+R/ifgP/44T3ShVnvwAAAABJRU5ErkJg + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAI/SURBVDhPjdJPSJNxGAfw5xYd6+hZJIhCkm5d8hBeIq/9 + AftDgRcPHQzEqVPn5sRcNptjuVjZYlkUFZZpusQIFf+h2Zwuc0NJl5vatub+fXufB1e8DKTBhz1s3+f7 + vr+Xl2jvM2GgK+MG0v4Pzmb3/n6PNVFDZMmAdfdlbAyVITJbh3TgPrD2UG3DCc7mFHxuJB22nyMT7kHc + 34HN0QosuEqQWepUwaoDnM0pGGkkfTrkQmq9W6TDTzHjKMb2jAlJ7z2kFy0iE3gAzuYUDGvJmAo6kVxz + CJ6nuk7BP6IXKaWEpf12cDanYKiGWpM/HmE30CV4/mQ+iZVhnUh4zCK1bANncwr6NWTaXbUjttwpeHab + TmDZ3SDi8+0i4bOCs30aKlKVvKsi8+8VGyKLZsHzQGshfINaEZsziV1+FpkMOK8qeFNJltg3C3Y8JsHz + 2+ZjWPpQJ6KzbSK+0IFQNArOqwpeVpIt4m3H1lyL4Pm17ii8A7Xi10yriH29C18wCM6rCp7dJPvO/G1s + TusFzy/qj8DzXiO2p1pE9MsdnB7NgPOqAmcFdW/NGhGcqBc899QUwNNXLbYmjSKiHON4bwSczxYcVIbD + 1uv0KjytvMpjtSKs3IVLU4BF5fZZ9ghR5UFy9loxnVX2eJcOKfLLz1Bnv6lox9dbnvg5Xo/QpA7NFyh8 + 6xyNsJZLNJjFWd7Z2/13EusNKrVcJeuTqjz3+OPS780X6aPyb15JPh3IeXH2+6GtjAqVq1U3nad2Jbfv + 8h/ayQIkRwIF8QAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABwklEQVQ4T6XOT0iTcRzH8e+e + 7e7BgxDixbuXELyKlxQPgiwx/JOa4UE8CR4UFcTUubUJk4nhX6ytRHCCqJvicuEk6KBWZKgVRaIM/IPK + YLBPv8+jgwR5VBy8tvH7fd7PJgDkPqTa7FRcdUqvta3t+W1we9E4RarUm+LYenOi/giQuAE33LJhK0/N + DnJujkYRTyQQi8cNccMtG7ZSabZT3/rwAc5UfHR+bogbbtmwlQqzjdyfBv/iMBbD3vGxIW64ZcNWyrQu + 8nz0/Ma++vUf0aghbrhlw1aeaJ00GHH/xO7OEf6cnhrihls2bKVU66ChsGsbga7NW+GWDVsp0dppNOTY + Qs/jcXRbx67Fu6S1/l9gw1asWitNLPZ8gb30NSKRNayshK/gGe/eNYXhLPPhQ98O2LCVYq2ZfAsvNuAq + f4tgMISW/H7dzMycjme84wM8z6bx/uV3sGErRVoTTQW7P8NdNQW/P6B/ks/n1yXP+ICR+nks27+BDVtJ + NaVLjqk4t8DUEGh/9OpwcnIBA7V+ndc7q0ue8QHexhCWbF/BPVu+MpSsTMmuyZPaVYvFYrsO7/73UAqH + L1tJUV/SlAd3xCblH+s4aw2T/BzJAAAAAElFTkSuQmCC + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -881,6 +747,140 @@ TqlNckhQsNYeVjL/EKLcAtCqA3fp34rtExQ6dtHzUa/qiVlO8yIGVi/lhJ5V2KtcfUghXhmW60O5ByBy MQFweVCh2VUULz0Lap6dO1dA7T6RT0XfqKX2l/eBTipKXkoFH0uxW+cdCme4wA2s+BPgCI0r2ADY/4A8 7AAoEvALSboOLClv94sAAAAASUVORK5CYII= + + + + + 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 + gsnRJ2HiAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACc0lEQVQ4T43SW0hUURQG4PWS + 0JsIFUQ9lWMTFo63RqXRLKoRDMbMcbyMWtqY5qBOjsEEFmlRJAaTlJRdTLtn+ZBBL4EE9rBDu0AlIURZ + D4VQjo3j7W+v0+xT+tSBj7M5Z6+ftdc5dC6diLVn/HXIaozIzc3NkVxhOfzs3z2qTisOB3TIDYKdMNFw + 12H3l5GRD2C85mfqvbx36AF+GRAm3rfvRV9NKgYHX2Fo6B1GRz9reM3P+N1bfynkfqHq6OxmUsTrtiJc + L4nFRftaXCtej5v74nC7Ih7dpRtwuSAGPWUb8bK1ALJGqDpqTSVFDJ9x4NnRbDz2ZGguNNjQ1ujQnW8q + Q2eLC83bl72pLbSQ25FGdNqsEy9O5eGpb6fO7yvGr7k5/JyexvepKYwFAugbGECtPeWjzeeLzvZ6iU4m + 6cTzZhueeLfqWr35mJyZwfjkJL5NTODT+Dh6+vvBlyyukgx0PIEUwe0/qrNoeGDHqrIRnJ3Fj2BQD/F3 + d0OJtlqPUFMcKYLbv38gWRvkpfxoNJRkIiSPEAiFFoRwJ2Oyq23V1W7yxZIi+uvTcaVwHTodBo3HmYkZ + GRCUM1gcwjOxVFTUUaORFPGg2oyrRUZdXfEWzM3PIySPsTiEB2t2Oj1UbyBF9MqALtm+4i7MwLwc2Kzs + YnFIQAbE2+1e2r2SyL1GI3qrNmk/i1KZl6ZNnEO4Ez4Oz4QHOyXvMVlZPuJr1woi1+o/AbfKTboaWzzy + raYFHFkmJBlXfY00mVqiEhPLuX6ptHxPJImHB1O0r3CvMgl3XYm6O/sTwPi3ZryXa8K1FCUXsclL6MaO + CBL/g/dyjRT1G7y5F+bDPK+HAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAt0lEQVQ4T6VSSwoCMQxNTzBL + wYX3cu9F5j7iQhAFQXAxC8/gATxGzQuNhEdHM1h4NOn7tBlGaq3yD6SUAoyKfauxZ2p4xAMOzex9ZjdP + RvhV4+QxvAD1VhHPeiHGO3GiEbjvBZhm7nmX7DfxgCsZuO9dZBonbhTAfS/ANHMj3JeOMJGB+95FpnHi + EQJQ7xTxTLDoEuN//kjmDItHc+rJwkT/8WxUfFa8mgl7poYHXhkUK8V6IeAZ3llKVtf+E8JOAAAAAElF + TkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADaWlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBSaWdodHM9Imh0dHA6Ly9ucy5hZG9i + ZS5jb20veGFwLzEuMC9yaWdodHMvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAv + MS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNv + dXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wUmlnaHRz + Ok1hcmtlZD0iRmFsc2UiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzA0RUI0NjQwMzg3MTFFMUFE + RTJDQkMzMDBBQjU2MjYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzA0RUI0NjMwMzg3MTFFMUFE + RTJDQkMzMDBBQjU2MjYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dz + Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6QUMxRjJFODMzMjRBREYx + MUFBQjhDNTM5MEQ4NUI1QjMiIHN0UmVmOmRvY3VtZW50SUQ9InV1aWQ6QzlEMzQ5NjY0QTNDREQxMUIw + OEFCQkJDRkYxNzIxNTYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ + IDw/eHBhY2tldCBlbmQ9InIiPz4xPsWJAAACIElEQVQ4T4WSXUhTYRiA3/dbG7omFjZGFyFBJBkW9nMR + SD/o2kUF5+aElZo0LyYG9oOh5aIakxlpKAxrQ1jUZEWRRT/EvBiKFLEslW6CmeWwCyFJangRvL3fwcmx + OnrguTgcnuf7zve9ACs8JUUIbU0IqqpqpBG3TiL2jiHue4FobGfFp2EEyUKgcMBu76VAgIYRXz1DLP+n + 8LeoC2xSFKU+k8nQvMdDc1VVFAN4shgwErVACPcHffa7Uk4mk5RKpchnsTyPAOyA4kIAbw1o2/wvLD8K + 4kv6HqD4g52a7HA4fKW5uVtUsxkg2grQ5zUI6OTfMz6aeHeUblzM6bfZbNutVitIjAM6ef7bZZp8f5we + Bk2J/pCpPCsbB3Tyz6lmmhqrpnsdYvB+t6h4fNukrWy8A508O3GW0uO1FPaLoTvXhTPWJWD5gE6e+VSv + yd2tYvjWNeGMtAvQB8zyAOWzeIg6efqjm+WT1H4eX99sQWfPVQHZQOURsXR2ZIApinVgn7yqr6PV9OXD + CbrSgG/azuDBzmYEGVCcBmMbbgJLzzk4/SOdmE3GK+jzSCW1uPGt14MufyOCq2yZeZd76WzAPfHoqcTc + 9CClRiK/Go/h0IVacO3dtYKY/ZFLNeiXcrRLHa07jKEDpajwNztTwKxl8pk8hqcGchgLs4oxMdoqVHcI + Q2Xb0J1nxd38XsIUM5uZjcwGZj2zjlnDrF4IyWsQfwCLISjKZ5nx7AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABfUlEQVQ4T6WTu0vDUBTGz1+g + VBtB1KBgdSsUNFvHQoZChw4upWoRupYO7a6giw66KCj4wgciuAiKg5M4XcFBUHAVBxdXcfD4fTGJqaZT + hx+353yPezNUVFU6oaMwL/YKDkXkCJyIuMDw5LzvE6cx87eAIaPNpvIEbqTA0z5qtVBrKfCN5qvR0Id8 + Xj/rdcXOAJYQ81apeNpLqRRovy/YxXOAuwPje7Wq146jr+WyciaPhYK3u8vlvB29zISfwAGCbEHYhOG5 + WNSLdFpvs1m9ymR027L02LaVGj30xhbAIBswrMN4nkrpXiLhcZBMKnfU6PlXsIjlElgBqzCtwXyGW08R + DuCOGj30MhN+QlCw/GMwlwjGQY2edgUUzA3CAZzb7NyWF8zjOcDcIxzAeQG3kTiNmfATbAxTMNYRekIJ + T87D2JM4jZmwAL8HwdiEyNw0wpMis5hHwRAYACOOyAw1ejCPMxMt6MKiF/T79OHsAd2AWgJYET3JfVjQ + yd/5G8s+qAWdGU8YAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAC5klEQVQ4T12OX0iTURjGD4kM + 8y4JCYqQbJZkLhWElStG08lybm5q/k/TajCM/ANOlmmBaEQEqeGFDBd4ITNNIRC0LaXc0vmp6edQYzrN + C0WvvH/63tOM6MDv4/ne9/kdDsvNzWUGg4Hl5eUxk8nEzGbz6fz8fJUEnfthKKtoRx3qkkMu/4QvkEnL + jPr6+iav17u0t7eH3d1dDuWZmZmlurq6JupIF8j+v0BmNBpzHA5HPwnvR1bR+GoBOqufQ9k5LGJnZxt9 + fX391JUukPEX6PV64qa0cAaDQZTbZnG3eR21bw7R0HOE+u4jWF8foKBpje82NtbR29vrJIdcptPpYq1W + q31zM4jiRi8qX4Tw6OU+ch6v4PhQftCxh9KWP51AIACLxWInl2m1WrXb/Xm52+lDXsMKKtpCMNQFoHno + /3sBZZoV24O4U7uIrv4ZjI2NLpPLNBpNKT2rxu5BeWsQWRaBo67+Drn2Ay5oXEjIHkF85hBHdW+ad+fm + ZkEuU6vVVkEQcL1kAiVPf+JWlQ8K0yQuZo9KpTn4/X7Eaz9K/2OclPxJ3p2enga5TKVS1VIxvXAcOU9W + kGhwI0E/CblunMuiKPJMM+Kq+QvvejwekMuUSmWlICygrGEcqmoBiWYf55JhisuhUIjn4/kV81fe9Xim + QC5LT0/PGhx0rXa+8+BagRupFQEkFUsvMc9y+eDggGeaEZdzJ9DR7YbD4Vwll6WlpZ0xGk3t8/PLuF0x + huRCH1Iqt5BU9IPLh4eHPCsqtpBo8vKOz7cAg8HYTi5TKBQsOTlZ29Ly3LW4uI4bhS6cz/yExCIRiqpf + HMo0o50grMFub3ORQy6LjY1lcXFxUXK5vNRmax0WxR109nyDvnoIp1K7OJRpJorbsNmeDVOXHHLpnJA4 + KZPJzsbExJQplRlvBwZGN9bW9vEvNKMddaTuOXLCLouQQoyEXCIlMjJSHRUVVRMdHd0s0RGmmWa0o45E + QtiJ+A2+oxJO8d3MEAAAAABJRU5ErkJggg==