diff --git a/WifiScan/App.config b/WifiScan/App.config
index 8e15646..4bfa005 100644
--- a/WifiScan/App.config
+++ b/WifiScan/App.config
@@ -1,6 +1,6 @@
-
+
-
+
-
\ No newline at end of file
+
diff --git a/WifiScan/Form1.Designer.cs b/WifiScan/Form1.Designer.cs
index f65986d..e1a86c6 100644
--- a/WifiScan/Form1.Designer.cs
+++ b/WifiScan/Form1.Designer.cs
@@ -54,12 +54,16 @@
this.tvTree.ImageIndex = 0;
this.tvTree.ImageList = this.imageListDevices;
this.tvTree.Location = new System.Drawing.Point(0, 0);
+ this.tvTree.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tvTree.Name = "tvTree";
this.tvTree.SelectedImageIndex = 0;
- this.tvTree.Size = new System.Drawing.Size(350, 437);
+ this.tvTree.Size = new System.Drawing.Size(233, 285);
this.tvTree.StateImageList = this.imageListDevices;
this.tvTree.TabIndex = 0;
+ this.tvTree.DrawNode += new System.Windows.Forms.DrawTreeNodeEventHandler(this.tvTree_DrawNode);
this.tvTree.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tvTree_AfterSelect);
+ this.tvTree.DoubleClick += new System.EventHandler(this.tvTree_DoubleClick);
+ this.tvTree.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.tvTree_KeyPress);
//
// imageListDevices
//
@@ -74,6 +78,7 @@
//
this.scMain.Dock = System.Windows.Forms.DockStyle.Fill;
this.scMain.Location = new System.Drawing.Point(0, 0);
+ this.scMain.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.scMain.Name = "scMain";
//
// scMain.Panel1
@@ -84,9 +89,9 @@
// scMain.Panel2
//
this.scMain.Panel2.Paint += new System.Windows.Forms.PaintEventHandler(this.splitContainer1_Panel2_Paint);
- this.scMain.Size = new System.Drawing.Size(1237, 567);
- this.scMain.SplitterDistance = 350;
- this.scMain.SplitterWidth = 15;
+ this.scMain.Size = new System.Drawing.Size(825, 369);
+ this.scMain.SplitterDistance = 233;
+ this.scMain.SplitterWidth = 10;
this.scMain.TabIndex = 1;
//
// pwinfo
@@ -97,9 +102,10 @@
this.pwinfo.Controls.Add(this.btColor);
this.pwinfo.Controls.Add(this.pbSignal);
this.pwinfo.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.pwinfo.Location = new System.Drawing.Point(0, 437);
+ this.pwinfo.Location = new System.Drawing.Point(0, 285);
+ this.pwinfo.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.pwinfo.Name = "pwinfo";
- this.pwinfo.Size = new System.Drawing.Size(350, 130);
+ this.pwinfo.Size = new System.Drawing.Size(233, 84);
this.pwinfo.TabIndex = 2;
//
// lbInfo2
@@ -108,20 +114,22 @@
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lbInfo2.AutoSize = true;
- this.lbInfo2.Location = new System.Drawing.Point(12, 23);
+ this.lbInfo2.Location = new System.Drawing.Point(8, 15);
+ this.lbInfo2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lbInfo2.Name = "lbInfo2";
- this.lbInfo2.Size = new System.Drawing.Size(21, 20);
+ this.lbInfo2.Size = new System.Drawing.Size(16, 13);
this.lbInfo2.TabIndex = 4;
this.lbInfo2.Text = " ";
//
// cbVisible
//
this.cbVisible.AutoSize = true;
- this.cbVisible.Location = new System.Drawing.Point(12, 56);
+ this.cbVisible.Location = new System.Drawing.Point(8, 36);
+ this.cbVisible.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.cbVisible.Name = "cbVisible";
- this.cbVisible.Size = new System.Drawing.Size(139, 24);
+ this.cbVisible.Size = new System.Drawing.Size(102, 17);
this.cbVisible.TabIndex = 3;
- this.cbVisible.Text = "Show graphics";
+ this.cbVisible.Text = "Show in graphic";
this.cbVisible.UseVisualStyleBackColor = true;
this.cbVisible.CheckedChanged += new System.EventHandler(this.cbVisible_CheckedChanged);
//
@@ -132,18 +140,20 @@
| System.Windows.Forms.AnchorStyles.Right)));
this.lbInfo.AutoSize = true;
this.lbInfo.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.lbInfo.Location = new System.Drawing.Point(12, 3);
+ this.lbInfo.Location = new System.Drawing.Point(8, 2);
+ this.lbInfo.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lbInfo.Name = "lbInfo";
- this.lbInfo.Size = new System.Drawing.Size(24, 20);
+ this.lbInfo.Size = new System.Drawing.Size(19, 13);
this.lbInfo.TabIndex = 2;
this.lbInfo.Text = " ";
//
// btColor
//
this.btColor.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.btColor.Location = new System.Drawing.Point(315, 86);
+ this.btColor.Location = new System.Drawing.Point(210, 56);
+ this.btColor.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.btColor.Name = "btColor";
- this.btColor.Size = new System.Drawing.Size(32, 32);
+ this.btColor.Size = new System.Drawing.Size(21, 21);
this.btColor.TabIndex = 1;
this.btColor.UseVisualStyleBackColor = false;
this.btColor.Click += new System.EventHandler(this.btColor_Click);
@@ -152,9 +162,10 @@
//
this.pbSignal.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
- this.pbSignal.Location = new System.Drawing.Point(12, 86);
+ this.pbSignal.Location = new System.Drawing.Point(8, 56);
+ this.pbSignal.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.pbSignal.Name = "pbSignal";
- this.pbSignal.Size = new System.Drawing.Size(297, 32);
+ this.pbSignal.Size = new System.Drawing.Size(198, 21);
this.pbSignal.TabIndex = 0;
//
// WifiTimer
@@ -165,14 +176,15 @@
//
// Form1
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(1237, 567);
+ this.ClientSize = new System.Drawing.Size(825, 369);
this.Controls.Add(this.scMain);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "WifiScan V1.1";
+ this.Text = "WifiScan V1.2 by XWolf Override";
this.scMain.Panel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.scMain)).EndInit();
this.scMain.ResumeLayout(false);
diff --git a/WifiScan/Form1.cs b/WifiScan/Form1.cs
index 23469a4..41f6fae 100644
--- a/WifiScan/Form1.cs
+++ b/WifiScan/Form1.cs
@@ -9,11 +9,15 @@
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace WifiScan
{
public partial class Form1 : Form
{
+ // Create a Font object for the node tags.
+ Font tagFont = new Font("Helvetica", 8, FontStyle.Bold);
+
public Form1()
{
InitializeComponent();
@@ -34,6 +38,7 @@
objMethodInfo.Invoke(scMain.Panel1, objArgs);
objMethodInfo.Invoke(scMain.Panel2, objArgs);
+ //objMethodInfo.Invoke(tvTree, objArgs);
}
#region Tree Management
@@ -56,11 +61,8 @@
node.Tag = wifi;
return node;
}
- TreeNode nnode = nodes.Add(wifi.SSID);
+ TreeNode nnode = nodes.Add("");
nnode.Tag = wifi;
- nnode.ImageIndex = 1;
- nnode.SelectedImageIndex = 1;
- nnode.ForeColor = wifi.Conf.Color;
return nnode;
}
@@ -79,30 +81,38 @@
private void PopulateTree()
{
- ArrayList nodes = new ArrayList(tvTree.Nodes);
+ ArrayList nodesToDelete = new ArrayList(tvTree.Nodes);// Fill with all (discard found later)
foreach (WifiDevice dev in WifiDevice.List())
{
TreeNode node = GetNodeFor(dev);
- bool empty = node.Nodes.Count == 0;
- nodes.Remove(node);
+ bool wasEmpty = node.Nodes.Count == 0;
+ nodesToDelete.Remove(node);
Wifi[] wifis = dev.Networks;
- ArrayList netnodes = new ArrayList(node.Nodes);
+ ArrayList disabledNetNodes = new ArrayList(node.Nodes);// Fill with all (discard found later)
foreach (Wifi wifi in wifis)
{
TreeNode nwnode = GetNodeFor(wifi, node.Nodes);
+ if (string.IsNullOrEmpty(wifi.SSID))
+ {
+ nwnode.Text = $"[{wifi.BSSID}]"; // Update network name (for configuration changes)
+ }
+ else
+ {
+ nwnode.Text = wifi.SSID; // Update network name (for configuration changes)
+ }
nwnode.ImageIndex = nwnode.SelectedImageIndex = 1;
- nwnode.ForeColor = wifi.Conf.Color;
- netnodes.Remove(nwnode);
+ nwnode.BackColor = wifi.Conf.Color;
+ disabledNetNodes.Remove(nwnode);
}
- foreach (TreeNode nwdel in netnodes)
+ foreach (TreeNode nwdel in disabledNetNodes)
{
- nwdel.ImageIndex = nwdel.SelectedImageIndex = 2; //node.Nodes.Remove(nwdel);
+ nwdel.ImageIndex = nwdel.SelectedImageIndex = 2;
}
- if (empty && node.Nodes.Count > 0)
+ if (wasEmpty && node.Nodes.Count > 0)
node.Expand();
}
// remove old
- foreach (TreeNode ndel in nodes)
+ foreach (TreeNode ndel in nodesToDelete)
tvTree.Nodes.Remove(ndel);
}
@@ -134,8 +144,32 @@
foreach (TreeNode n in ns)
{
n.StateImageIndex = w.Conf.Visible ? -1 : 3;
- n.ForeColor = w.Conf.Color;
+ n.BackColor = w.Conf.Color;
}
+ scMain.Panel2.Invalidate();
+ }
+
+ // Returns the bounds of the specified node, including the region
+ // occupied by the node label and any node tag displayed.
+ private Rectangle NodeBounds(TreeNode node)
+ {
+ // Set the return value to the normal node bounds.
+ Rectangle bounds = node.Bounds;
+ if (node.Tag != null)
+ {
+ // Retrieve a Graphics object from the TreeView handle
+ // and use it to calculate the display width of the tag.
+ Graphics g = tvTree.CreateGraphics();
+ int tagWidth = (int)g.MeasureString
+ (node.Tag.ToString(), tagFont).Width + 6;
+
+ // Adjust the node bounds using the calculated value.
+ bounds.Offset(tagWidth / 2, 0);
+ bounds = Rectangle.Inflate(bounds, tagWidth / 2, 0);
+ g.Dispose();
+ }
+
+ return bounds;
}
private void WifiTimer_Tick(object sender, EventArgs e)
@@ -181,5 +215,79 @@
ShowWifi(w);
UpdateNode(w);
}
+
+ private void tvTree_DoubleClick(object sender, EventArgs e)
+ {
+ if (tvTree.SelectedNode == null)
+ return;
+ Wifi w = tvTree.SelectedNode.Tag as Wifi;
+ if (w == null)
+ return;
+ w.Conf.Visible = !w.Conf.Visible;
+ UpdateNode(w);
+ }
+
+ private void tvTree_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ if (e.KeyChar == ' ')
+ {
+ if (tvTree.SelectedNode == null)
+ return;
+ Wifi w = tvTree.SelectedNode.Tag as Wifi;
+ if (w == null)
+ return;
+ w.Conf.Visible = !w.Conf.Visible;
+ UpdateNode(w);
+ }
+ }
+
+ private void tvTree_DrawNode(object sender, DrawTreeNodeEventArgs e)
+ {
+ // Draw the background and node text for a selected node.
+ if ((e.State & TreeNodeStates.Selected) != 0)
+ {
+ // Draw the background of the selected node. The NodeBounds
+ // method makes the highlight rectangle large enough to
+ // include the text of a node tag, if one is present.
+ e.Graphics.FillRectangle(Brushes.Green, NodeBounds(e.Node));
+
+ // Retrieve the node font. If the node font has not been set,
+ // use the TreeView font.
+ Font nodeFont = e.Node.NodeFont;
+ if (nodeFont == null) nodeFont = ((System.Windows.Forms.TreeView)sender).Font;
+
+ // Draw the node text.
+ e.Graphics.DrawString(e.Node.Text, nodeFont, Brushes.White,
+ Rectangle.Inflate(e.Bounds, 2, 0));
+ }
+
+ // Use the default background and node text.
+ else
+ {
+ e.DrawDefault = true;
+ }
+
+ // If a node tag is present, draw its string representation
+ // to the right of the label text.
+ if (e.Node.Tag != null)
+ {
+ e.Graphics.DrawString(e.Node.Tag.ToString(), tagFont,
+ Brushes.Yellow, e.Bounds.Right + 2, e.Bounds.Top);
+ }
+
+ // If the node has focus, draw the focus rectangle large, making
+ // it large enough to include the text of the node tag, if present.
+ if ((e.State & TreeNodeStates.Focused) != 0)
+ {
+ using (Pen focusPen = new Pen(Color.Black))
+ {
+ focusPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot;
+ Rectangle focusBounds = NodeBounds(e.Node);
+ focusBounds.Size = new Size(focusBounds.Width - 1,
+ focusBounds.Height - 1);
+ e.Graphics.DrawRectangle(focusPen, focusBounds);
+ }
+ }
+ }
}
}
diff --git a/WifiScan/Form1.resx b/WifiScan/Form1.resx
index e7af932..fc6ef89 100644
--- a/WifiScan/Form1.resx
+++ b/WifiScan/Form1.resx
@@ -124,110 +124,109 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
- ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD+
- FwAAAk1TRnQBSQFMAgEBBAEAASgBAAEoAQABGgEAARoBAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFo
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC2
+ FwAAAk1TRnQBSQFMAgEBBAEAATABAAEwAQABGgEAARoBAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFo
AwABNAMAAQEBAAEgBQABgAFU/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AjAADLgH/Ay4B//8AmQADLgH/
Ay4B/xQAAy4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf//AFkAAy4B/wMu
Af8UAAMuAf8EAAMuAf8EAAMuAf8EAAMuAf8EAAMuAf8EAAMuAf//AFkAAy4B/wMuAf8UAAMuAf8EAAMu
- Af8EAAMuAf8EAAMuAf8EAAMuAf8EAAMuAf/sAAMaASQDQgGuA0QBlwMIAQsMAAMgAS4DRAGhAz8BugM+
- AbsDRAGmA0ABegMkATYDAAEBMAADLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wQAAy4B/wQA
- Ay4B/wQAAy4B/wQAAy4B/wQAAy4B/wMuAf8DRgHvA0YBgDQAAyIBMgNPAZ4DBAEFXAADJgE4AyYBODwA
- A0IBrgMAAf8DAAH/AzwBwAMJAQwIAAMBAQIDRAGaAwAB/wMAAf8DAAH/AwAB/wMAAf8DMAHVAzYBWwMA
- AQEoAAMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/
- Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wNGAYAsAAMhATEDAAH/AwAB/wNPAZwDAgEDVAADJgE4
- AZQBlQGUAfEBlAGVAZQB8QMmATg4AANEAZcDAAH/AwAB/wMAAf8DPAHAAwkBDAgAAwEBAgNEAZoDAAH/
- AwAB/wMAAf8DAAH/AwAB/wMAAf8DPgG+AxQBGyQAAy4B/wMuAf9AAAMqAUADVAGvAy4B/wMuAf8oAAMl
- ATcDFwH4AwAB/wMAAf8DAAH/A08BnlAAAyYBOAGUAZUBlAHxAZ8BogGfAf8BnwGiAZ8B/wGUAZUBlAHx
- AyYBODQAAwgBCwM6AcYDAAH/AwAB/wMAAf8DPAHAAwkBDAgAAwEBAgM/AXQDQwGoAyIB5AMAAf8DAAH/
- AwAB/wMAAf8DHwHnAyMBMyAAAy4B/wMuAf9EAAMXASADLgH/Ay4B/yQAAyQBNgMsAe8DAAH/AwAB/wMA
- Af8DAAH/AwAB/wNOAZhIAAMmATkBlAGVAZQB8QGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/
- AZQBlQGUAfEDJgE5MAADHQEqAx4B6QMAAf8DAAH/AwAB/wMAAf8DPAHAAwgBCxAAAwEBAgMvAUsDMgHS
- AwAB/wMAAf8DAAH/AxMB8AMjATMcAAMuAf8DLgH/JAADRgHvAy4B/wMuAf8DLgH/Ay4B/wMuAf8DRgHv
- CAADLgH/Ay4B/yQAAwUBBwNDAXgDGwH1AwAB/wMAAf8DAAH/A1MBvAMeAStIAAMlATYBgwGFAYMB2wGf
- AaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AYMBhQGDAdsDJQE2LAADFQEdAyQB4wMAAf8DAAH/
- AwAB/wMAAf8DAAH/AwAB/wM8AcADCQEMFAADBAEGA0MBkgMAAf8DAAH/AwAB/wMeAekDGAEiGAADLgH/
- Ay4B/yQAAy4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wgAAy4B/wMuAf8cAAMlATcDVAG7AxoBJQQA
- AwgBCwMqAUADMAFLAxoBJAMAAQEDBAEFA0QBegNPAZ44AAMmATkDPwFnBAADBAEFAzEBTQFMAU0BTAGB
- AUwBTQFMAYEDMQFNAwQBBQQAAz8BZwMmATkgAAMHAQoDNQHOAwAB/wMAAf8DAAH/A0MBhQM8AcADAAH/
- AwAB/wMAAf8DPAHAAwkBDBgAA0ABeQMAAf8DAAH/AwAB/wMyAdIDBwEKFAADLgH/Ay4B/wgAA1cBzwMu
- Af8DVwHPEAADLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/CAADLgH/Ay4B/xgAAyEBMQMXAfgDAAH/
- AxQB+QNGAYEDIwE0AxMBGgMPARQDGQEjAzIEUAHQAwAB/wMAAf8DTwGeAwIBAywAAyYBOAGUAZUBlAHx
- AZ8BogGfAf8BZwFoAWcBsgMlATYQAAMlATYBZwFoAWcBsgGfAaIBnwH/AZQBlQGUAfEDJgE4HAADQwGe
- AwAB/wMAAf8DAAH/A0MBjQQAAwgBCwM8AcADAAH/AwAB/wMAAf8DPAHAAwgBCxgAA0IBiAMAAf8DAAH/
- AwAB/wNEAZ0UAAMuAf8DLgH/CAADLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/
- Ay4B/wMuAf8DLgH/Ay4B/wgAAy4B/wMuAf8UAAMgAS8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
- AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNPAZwDAwEEJAADJgE4AZQBlQGUAfEBnwGiAZ8B/wGf
- AaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGLAY0BiwHlAXIBdAFyAcMBcgF0AXIBwwGLAY0BiwHlAZ8BogGf
- Af8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BlAGVAZQB8QMmATgUAAMzAVMDAAH/AwAB/wMAAf8DQgGy
- AwEBAggAAwkBDAM8AcADAAH/AwAB/wMAAf8DPAHAAwkBDBQAAwEBAgNBAbMDAAH/AwAB/wMAAf8DMgFS
- EAADLgH/Ay4B/wgAA1cBzwMuAf8DVwHPEAADLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/CAADLgH/
- Ay4B/xQAAyIBMgMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
- Af8DAAH/A1IBtgMCAQMkAANgAaUBnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/
- AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGi
- AZ8B/wGfAaIBnwH/A2ABpRQAAyQB4wMAAf8DAAH/AyYB4QMNAREQAAMkATYDAAH/AwAB/wMAAf8DAAH/
- AzwBwAMIAQsUAAMNARIDJQHiAwAB/wMAAf8DJAHjEAADLgH/Ay4B/yQAAy4B/wMuAf8DLgH/Ay4B/wMu
- Af8DLgH/Ay4B/wgAAy4B/wMuAf8MAAMnAToDNQFYBAADFAEbA00B1QMAAf8DAAH/AwAB/wMAAf8DAAH/
- AwAB/wMAAf8DAAH/AwAB/wMAAf8DGgH3AzoBYQMBAQIDBAEFA0MBeBgAAyEBMAMJAQwDAwEEA04BgwGa
- AZ0BmgH8AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGf
- Af8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BmgGdAZoB/ANOAYMDAwEEAwkBDAMhATAMAAMkAeMDAAH/
- AwAB/wMlAeIDDQESEAADIgEyAwAB/wMAAf8DAAH/AwAB/wMAAf8DPAHAAwgBCxAAAw0BEgMlAeIDAAH/
- AwAB/wMkAeMQAAMuAf8DLgH/JAADRgHvAy4B/wMuAf8DLgH/Ay4B/wMuAf8DRgHvCAADLgH/Ay4B/wgA
- AykBPgMxAe0DFAH5A0oBigcAAQEDKwFCA1MBrQMUAfkDAAH/AwAB/wMAAf8DAAH/AwAB/wNKAdoDQQFz
- AxIBGAQAAxoBJANEAd4DAAH/A08BnRAAAycBOgGUAZYBlAHyAXgBeQF4AcwDFgEfBAADHwEsAWEBYgFh
- AacBmwGeAZsB+gGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGb
- AZ4BmwH6AWEBYgFhAacDHwEsBAADFgEfAXgBeQF4AcwBlAGWAZQB8gMnAToIAAMyAVIDAAH/AwAB/wMA
- Af8DQQGzAwEBAgwAAwIBAwMsAdkDAAH/AwAB/wMAAf8DAAH/AwAB/wM8AcADCQEMDAADPQFvAwAB/wMA
- Af8DAAH/AzIBURAAAy4B/wMuAf9EAAMXASADLgH/Ay4B/wQAAycBOgMxAe0DAAH/AwAB/wMAAf8DUAHN
- AzEBTgMBAQIEAAMNAREDKQE+AzUBVgM3AVsDMAFMAxwBKAMAAQEEAAMRARcDTQGWAwoB+wMAAf8DAAH/
- AwAB/wNPAZ0IAAMnAToBlAGWAZQB8gGfAaIBnwH/AZ8BogGfAf8BkQGUAZEB8AFAAUEBQAFqAwMBBAQA
- AwwBEAMzAVADTAGAAVcBWAFXAZYBVwFYAVcBlgNMAYADMwFQAwwBEAQAAwMBBAFAAUEBQAFqAZEBlAGR
- AfABnwGiAZ8B/wGfAaIBnwH/AZQBlgGUAfIDJwE6CAADRAGdAwAB/wMAAf8DAAH/A0IBiBAAAx4BKwMs
- AdkDAAH/AwAB/wMAAf8DAAH/AwAB/wM8AcADCAELCAADAQECA0QBmgMAAf8DRAGbFAADLgH/Ay4B/0AA
- AxcBIANQAZ8DLgH/Ay4B/wQAA1MBwwMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNQAdADQwF3AyYBOQMS
- ARgDBQEHAwEBAgMKAQ0DGwEmAzUBVgNRAacDFwH4AwAB/wMAAf8DAAH/AwAB/wMAAf8DIAH0AyEBMAMM
- ARABkQGTAZEB7gGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BhgGHAYYB4ANI
- AXkDGgEkGAADGgEkA0gBeQGGAYcBhgHgAZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGi
- AZ8B/wGRAZMBkQHuAwwBEAQAAwcBCgMyAdIDAAH/AwAB/wMAAf8DQAF3EAADAgEDAyIBMgMkATYDPAHA
- AwAB/wMAAf8DAAH/AzwBwAMIAQsIAAMBAQIDQAF4AwcBChQAAy4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/
- Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/
- A1ABnwcAAQEDUgG2AwUB/QMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
- AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DNwHrAzABSwgAAzEBTQGUAZcBlAH0AZ8BogGf
- Af8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8DjQHoA3MBxANl
- Aa0DZQGtA3MBxAONAegBnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGf
- Af8BnwGiAZ8B/wGUAZcBlAH0AzEBTQwAAxgBIgMeAekDAAH/AwAB/wMAAf8DRAGQAwQBBRQAAwkBDAM8
- AcADAAH/AwAB/wMAAf8DPAHAAwkBDCQAAy4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/
- Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DUAGfAwwBEAwAA0ABcAMa
- AfcDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
- Af8DAAH/AwAB/gNRAcwDDQEREAADHQEpAXoBewF6Ac4BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGi
+ Af8EAAMuAf8EAAMuAf8EAAMuAf8EAAMuAf/sAAMaASQDTAGuA0sBlwMJAQsMAAMgAS4DTAGhA0sBugNK
+ AbsDTQGmA0MBegMlATYEATAAAy4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8EAAMuAf8EAAMu
+ Af8EAAMuAf8EAAMuAf8EAAMuAf8DLgH/A0oB7wNGAYA0AAMjATIDUAGeAwQBBVwAAyYBOAMmATg8AANM
+ Aa4DAAH/AwAB/wNIAcADCQEMCAAEAgNLAZoDAAH/AwAB/wMAAf8DAAH/AwAB/wM+AdUDNwFbBAEoAAMu
+ Af8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMu
+ Af8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wNGAYAsAAMiATEDAAH/AwAB/wNQAZwDAgEDVAADJgE4AZABkQGQ
+ AfEBkAGRAZAB8QMmATg4AANLAZcDAAH/AwAB/wMAAf8DSAHAAwkBDAgABAIDSwGaAwAB/wMAAf8DAAH/
+ AwAB/wMAAf8DAAH/A0oBvgMUARskAAMuAf8DLgH/QAADKgFAA1UBrwMuAf8DLgH/KAADJQE3AxoB+AMA
+ Af8DAAH/AwAB/wNQAZ5QAAMmATgBkAGRAZAB8QGfAaIBnwH/AZ8BogGfAf8BkAGRAZAB8QMmATg0AAMJ
+ AQsDRwHGAwAB/wMAAf8DAAH/A0gBwAMJAQwIAAQCA0IBdANMAagDLgHkAwAB/wMAAf8DAAH/AwAB/wMr
+ AecDIwEzIAADLgH/Ay4B/0QAAxgBIAMuAf8DLgH/JAADJQE2AzIB7wMAAf8DAAH/AwAB/wMAAf8DAAH/
+ A04BmEgAAyYBOQGQAZEBkAHxAZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BkAGRAZAB8QMm
+ ATkwAAMeASoDKAHpAwAB/wMAAf8DAAH/AwAB/wNIAcADCQELEAAEAgMwAUsDPwHSAwAB/wMAAf8DAAH/
+ AxwB8AMjATMcAAMuAf8DLgH/JAADSgHvAy4B/wMuAf8DLgH/Ay4B/wMuAf8DSgHvCAADLgH/Ay4B/yQA
+ AwYBBwNEAXgDIQH1AwAB/wMAAf8DAAH/A1UBvAMeAStIAAMlATYDewHbAZ8BogGfAf8BnwGiAZ8B/wGf
+ AaIBnwH/AZ8BogGfAf8DewHbAyUBNiwAAxUBHQMwAeMDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DSAHA
+ AwkBDBQAAwUBBgNJAZIDAAH/AwAB/wMAAf8DKAHpAxkBIhgAAy4B/wMuAf8kAAMuAf8DLgH/Ay4B/wMu
+ Af8DLgH/Ay4B/wMuAf8IAAMuAf8DLgH/HAADJQE3A1cBuwMbASUEAAMJAQsDKgFAAzABSwMaASQEAQME
+ AQUDRAF6A1ABnjgAAyYBOQM9AWcEAAMEAQUDMQFNA0gBgQNIAYEDMQFNAwQBBQQAAz0BZwMmATkgAAMI
+ AQoDRAHOAwAB/wMAAf8DAAH/A0cBhQNIAcADAAH/AwAB/wMAAf8DSAHAAwkBDBgAA0MBeQMAAf8DAAH/
+ AwAB/wM/AdIDCAEKFAADLgH/Ay4B/wgAA1oBzwMuAf8DWgHPEAADLgH/Ay4B/wMuAf8DLgH/Ay4B/wMu
+ Af8DLgH/CAADLgH/Ay4B/xgAAyIBMQMaAfgDAAH/AxgB+QNGAYEDJAE0AxMBGgMPARQDGQEjAzMBUANU
+ AdADAAH/AwAB/wNQAZ4DAgEDLAADJgE4AZABkQGQAfEBnwGiAZ8B/wFfAWABXwGyAyUBNhAAAyUBNgFf
+ AWABXwGyAZ8BogGfAf8BkAGRAZAB8QMmATgcAANMAZ4DAAH/AwAB/wMAAf8DSAGNBAADCQELA0gBwAMA
+ Af8DAAH/AwAB/wNIAcADCQELGAADRwGIAwAB/wMAAf8DAAH/A0wBnRQAAy4B/wMuAf8IAAMuAf8DLgH/
+ Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/CAADLgH/Ay4B/xQA
+ AyEBLwMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
+ A1ABnAMDAQQkAAMmATgBkAGRAZAB8QGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AYQBhgGE
+ AeUBaAFqAWgBwwFoAWoBaAHDAYQBhgGEAeUBnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGQ
+ AZEBkAHxAyYBOBQAAzQBUwMAAf8DAAH/AwAB/wNMAbIEAggAAwkBDANIAcADAAH/AwAB/wMAAf8DSAHA
+ AwkBDBQABAIDTQGzAwAB/wMAAf8DAAH/AzMBUhAAAy4B/wMuAf8IAANaAc8DLgH/A1oBzxAAAy4B/wMu
+ Af8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wgAAy4B/wMuAf8UAAMjATIDAAH/AwAB/wMAAf8DAAH/AwAB/wMA
+ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNVAbYDAgEDJAADVwGlAZ8BogGfAf8BnwGi
AZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/
- AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BegF7
- AXoBzgMdASkUAAMjATMDEwHwAwAB/wMAAf8DAAH/AzUBzwMtAUcDAAEBEAADCgEOAyoB3QMAAf8DAAH/
- AwAB/wM8AcADCQEMIAADLgH/Ay4B/2AAAw0BEgNRAaEDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
- AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMpAfADJwE6AwIBAxgAAwMBBANDAW8BjQGPAY0B6gGf
+ AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wNXAaUUAAMwAeMDAAH/AwAB/wM0
+ AeEDDQEREAADJQE2AwAB/wMAAf8DAAH/AwAB/wNIAcADCQELFAADDgESAzMB4gMAAf8DAAH/AzAB4xAA
+ Ay4B/wMuAf8kAAMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8IAAMuAf8DLgH/DAADJwE6AzYBWAQA
+ AxQBGwNSAdUDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/Ax4B9wM6AWEEAgME
+ AQUDRAF4GAADIQEwAwkBDAMDAQQDSQGDAZcBmgGXAfwBnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGi
+ AZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGXAZoBlwH8
+ A0kBgwMDAQQDCQEMAyEBMAwAAzAB4wMAAf8DAAH/AzMB4gMOARIQAAMjATIDAAH/AwAB/wMAAf8DAAH/
+ AwAB/wNIAcADCQELEAADDgESAzMB4gMAAf8DAAH/AzAB4xAAAy4B/wMuAf8kAANKAe8DLgH/Ay4B/wMu
+ Af8DLgH/Ay4B/wNKAe8IAAMuAf8DLgH/CAADKQE+AzkB7QMYAfkDSgGKBAAEAQMrAUIDVAGtAxgB+QMA
+ Af8DAAH/AwAB/wMAAf8DAAH/A1AB2gNBAXMDEgEYBAADGgEkA0oB3gMAAf8DUAGdEAADJwE6AY8BkAGP
+ AfIBbgFvAW4BzAMXAR8EAAMfASwDWgGnAZkBnAGZAfoBnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGi
+ AZ8B/wGfAaIBnwH/AZ8BogGfAf8BmQGcAZkB+gNaAacDHwEsBAADFwEfAW4BbwFuAcwBjwGQAY8B8gMn
+ AToIAAMzAVIDAAH/AwAB/wMAAf8DTQGzBAIMAAMCAQMDOgHZAwAB/wMAAf8DAAH/AwAB/wMAAf8DSAHA
+ AwkBDAwAA0ABbwMAAf8DAAH/AwAB/wMzAVEQAAMuAf8DLgH/RAADGAEgAy4B/wMuAf8EAAMnAToDOQHt
+ AwAB/wMAAf8DAAH/A1QBzQMxAU4EAgQAAw0BEQMpAT4DNQFWAzgBWwMwAUwDHQEoBAEEAAMSARcDTgGW
+ Aw0B+wMAAf8DAAH/AwAB/wNQAZ0IAAMnAToBjwGQAY8B8gGfAaIBnwH/AZ8BogGfAf8BiwGNAYsB8AM+
+ AWoDAwEEBAADDAEQAzMBUANIAYABUQFSAVEBlgFRAVIBUQGWA0gBgAMzAVADDAEQBAADAwEEAz4BagGL
+ AY0BiwHwAZ8BogGfAf8BnwGiAZ8B/wGPAZABjwHyAycBOggAA0wBnQMAAf8DAAH/AwAB/wNHAYgQAAMe
+ ASsDOgHZAwAB/wMAAf8DAAH/AwAB/wMAAf8DSAHAAwkBCwgABAIDSwGaAwAB/wNLAZsUAAMuAf8DLgH/
+ QAADGAEgA1ABnwMuAf8DLgH/BAADVgHDAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A1QB0ANDAXcDJgE5
+ AxIBGAMGAQcEAgMKAQ0DGwEmAzUBVgNSAacDGgH4AwAB/wMAAf8DAAH/AwAB/wMAAf8DJgH0AyEBMAMM
+ ARABigGMAYoB7gGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BfgF/AX4B4ANF
+ AXkDGgEkGAADGgEkA0UBeQF+AX8BfgHgAZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGi
+ AZ8B/wGKAYwBigHuAwwBEAQAAwgBCgM/AdIDAAH/AwAB/wMAAf8DQwF3EAADAgEDAyMBMgMlATYDSAHA
+ AwAB/wMAAf8DAAH/A0gBwAMJAQsIAAQCA0MBeAMIAQoUAAMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMu
+ Af8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wNQ
+ AZ8EAAQBA1UBtgMHAf0DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
+ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/Az8B6wMwAUsIAAMxAU0BkAGSAZAB9AGfAaIBnwH/
+ AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/A4UB6ANpAcQDXQGt
+ A10BrQNpAcQDhQHoAZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/
+ AZ8BogGfAf8BkAGSAZAB9AMxAU0MAAMZASIDKAHpAwAB/wMAAf8DAAH/A0kBkAMEAQUUAAMJAQwDSAHA
+ AwAB/wMAAf8DAAH/A0gBwAMJAQwkAAMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMu
+ Af8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/Ay4B/wMuAf8DLgH/A1ABnwMMARAMAANAAXADHgH3
+ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
+ AwAB/wMBAf4DVgHMAw0BERAAAx0BKQNxAc4BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGf
AaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGf
- Af8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BjQGPAY0B6gND
- AW8DAwEEHAADIwEzAx8B5wMAAf8DAAH/AwAB/wMAAf8DJgHfA0MBogNDAYQDQwGFA0MBpQMhAeUDAAH/
- AwAB/wMAAf8DAAH/AwAB/wM8AcADCAELHAADLgH/Ay4B/2cAAQEDFAEcAzkBXwNQAdADAAH/AwAB/wMA
- Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMpAfEDTgGXAyABLwMEAQUoAAMHAQoDPgFmA3MBxAGfAaIBnwH9
- AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGi
- AZ8B/wGfAaIBnwH9A3MBxAM+AWYDBwEKKAADFAEbAz4BvgMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
- Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNEAZccAAMuAf8DLgH/dAADEAEWAyUBNwMy
- AVADNwFbAzkBXwM1AVYDKwFDAxwBJwMEAQVAAAMPARQDMgFOA0kBewFXAVgBVwGWA14BogNeAaIBVwFY
- AVcBlgNJAXsDMgFOAw8BFDsAAQEDNgFbAzAB1QMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
- AzkByQMyAVADPAHAAwAB/wMAAf8DQgGuGAADFwEgAy4B/wMuAf//AEQAAQEDJAE2A0ABegNEAaYDPgG7
- Az4BuwNDAaQDPwF1Ax8BLQgAAwgBCwNEAZcDQgGuAxoBJBQAAwwBEANQAZ8DLgH/A1QBr/8AiQADLgH/
- Ay4B/wMuAf8DLgH/Ay4B/wMqAUD/AIkAAy4B/wMuAf8DLgH/A1cBzwMqAUD/AI0AAUIBTQE+BwABPgMA
- ASgDAAFoAwABNAMAAQEBAAEBBQABQAEDFgAD//8AogAB8wz/AwAB8wHgAQMK/wMAAfMB6gGrCv8DAAHz
- AeoBqwf/AYcBAAH/AwAB8AEKAagBfwH8AX8C/wE/Af8BgwEAAT8DAAHwAgABPwH4AT8B/wH+AR8B/wGB
- AYABHwMAAfMB/wH8AT8B8AE/Af8B/AEPAf8BgAHAAQ8DAAHzAf8B/gE/AeABHwH/AfgBBwH/AYABeAEH
- AwAB8wH+AQMBPwHgAR8B/wH4AQcB/wEAAT4BAwMAAfMB/gEDAT8BiAEHAf8B5AEJAf4BAAEfAYEDAAHz
- AR4BAwE/AQABAQH/AcEB4AH+AQgBDwHBAwAB8wEAAQMBPgIAAf8BgAEAAXwBDAEHAcADAAHzAR4BAwE+
- AgAB/wGAAQABfAEeAQMB4AMAAfMB/gEDATkCAAF+AgABHAEeAQEB4AMAAfMB/gEDATABgAEEATwBIAEB
- AQwBDgEAAeADAAHzAf8B/gEgAhABGAEIAQQBBgEPAQABYQMAAfMB/wH8ASADAAEDAfABAgEHAYABMQMA
- AfACAAEgAgABGAIAAQcBAQHwAR8DAAHwAgABOAIAATwCAAEPAYABeAEPAwAB8wL/AfwCAAF+AgABHwHA
- AQABBwMAAfMC/wH+AQABAQH/AYABAAF/AeABAAEHAwAB8wP/AeABDwH/AfABAwH/AfABAAEHAwAB4wn/
- AfwBAQGHAwABwwz/AwABAwz/AwABBwz/AwAL
+ Af8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8DcQHOAx0BKRQA
+ AyMBMwMcAfADAAH/AwAB/wMAAf8DQwHPAy4BRwQBEAADCwEOAzcB3QMAAf8DAAH/AwAB/wNIAcADCQEM
+ IAADLgH/Ay4B/2AAAw4BEgNRAaEDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
+ AwAB/wMAAf8DAAH/AwAB/wMwAfADJwE6AwIBAxgAAwMBBANAAW8BhQGHAYUB6gGfAaIBnwH/AZ8BogGf
+ Af8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGf
+ AaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BhQGHAYUB6gNAAW8DAwEEHAADIwEz
+ AysB5wMAAf8DAAH/AwAB/wMAAf8DMwHfA0wBogNHAYQDRwGFA0wBpQMvAeUDAAH/AwAB/wMAAf8DAAH/
+ AwAB/wNIAcADCQELHAADLgH/Ay4B/2QABAEDFQEcAzkBXwNUAdADAAH/AwAB/wMAAf8DAAH/AwAB/wMA
+ Af8DAAH/AwAB/wMwAfEDTgGXAyEBLwMEAQUoAAMIAQoDPQFmA2kBxAGfAaIBnwH9AZ8BogGfAf8BnwGi
+ AZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH/AZ8BogGfAf8BnwGiAZ8B/wGfAaIBnwH9
+ A2kBxAM9AWYDCAEKKAADFAEbA0oBvgMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
+ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wNLAZccAAMuAf8DLgH/dAADEQEWAyUBNwMzAVADOAFbAzkBXwM1
+ AVYDLAFDAxwBJwMEAQVAAAMPARQDMQFOA0UBewFRAVIBUQGWA1cBogNXAaIBUQFSAVEBlgNFAXsDMQFO
+ Aw8BFDgABAEDNwFbAz4B1QMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A0cByQMzAVADSAHA
+ AwAB/wMAAf8DTAGuGAADGAEgAy4B/wMuAf//AEEABAEDJQE2A0MBegNNAaYDSgG7A0oBuwNLAaQDQgF1
+ AyABLQgAAwkBCwNLAZcDTAGuAxoBJBQAAwwBEANQAZ8DLgH/A1UBr/8AiQADLgH/Ay4B/wMuAf8DLgH/
+ Ay4B/wMqAUD/AIkAAy4B/wMuAf8DLgH/A1oBzwMqAUD/AI0AAUIBTQE+BwABPgMAASgDAAFoAwABNAMA
+ AQEBAAEBBQABQAEDFgAD//8AogAB8wz/AwAB8wHgAQMK/wMAAfMB6gGrCv8DAAHzAeoBqwf/AYcBAAH/
+ AwAB8AEKAagBfwH8AX8C/wE/Af8BgwEAAT8DAAHwAgABPwH4AT8B/wH+AR8B/wGBAYABHwMAAfMB/wH8
+ AT8B8AE/Af8B/AEPAf8BgAHAAQ8DAAHzAf8B/gE/AeABHwH/AfgBBwH/AYABeAEHAwAB8wH+AQMBPwHg
+ AR8B/wH4AQcB/wEAAT4BAwMAAfMB/gEDAT8BiAEHAf8B5AEJAf4BAAEfAYEDAAHzAR4BAwE/AQABAQH/
+ AcEB4AH+AQgBDwHBAwAB8wEAAQMBPgIAAf8BgAEAAXwBDAEHAcADAAHzAR4BAwE+AgAB/wGAAQABfAEe
+ AQMB4AMAAfMB/gEDATkCAAF+AgABHAEeAQEB4AMAAfMB/gEDATABgAEEATwBIAEBAQwBDgEAAeADAAHz
+ Af8B/gEgAhABGAEIAQQBBgEPAQABYQMAAfMB/wH8ASADAAEDAfABAgEHAYABMQMAAfACAAEgAgABGAIA
+ AQcBAQHwAR8DAAHwAgABOAIAATwCAAEPAYABeAEPAwAB8wL/AfwCAAF+AgABHwHAAQABBwMAAfMC/wH+
+ AQABAQH/AYABAAF/AeABAAEHAwAB8wP/AeABDwH/AfABAwH/AfABAAEHAwAB4wn/AfwBAQGHAwABwwz/
+ AwABAwz/AwABBwz/AwAL
diff --git a/WifiScan/Properties/Resources.Designer.cs b/WifiScan/Properties/Resources.Designer.cs
index 9002597..22843d7 100644
--- a/WifiScan/Properties/Resources.Designer.cs
+++ b/WifiScan/Properties/Resources.Designer.cs
@@ -1,69 +1,61 @@
//------------------------------------------------------------------------------
//
// Este código fue generado por una herramienta.
-// Versión de runtime: 4.0.30319.42000
+// Versión de runtime:4.0.30319.42000
//
-// Los cambios de este archivo pueden provocar un comportamiento inesperado y se perderán si
-// el código se vuelve a generar.
+// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
+// se vuelve a generar el código.
//
//------------------------------------------------------------------------------
-namespace WifiScan.Properties
-{
-
-
+namespace WifiScan.Properties {
+ using System;
+
+
///
- /// Clase de recurso fuertemente tipado para buscar cadenas traducidas, etc.
+ /// Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc.
///
// StronglyTypedResourceBuilder generó automáticamente esta clase
// a través de una herramienta como ResGen o Visual Studio.
// Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen
// con la opción /str o recompile su proyecto de VS.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
-
+ internal class Resources {
+
private static global::System.Resources.ResourceManager resourceMan;
-
+
private static global::System.Globalization.CultureInfo resourceCulture;
-
+
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
+ internal Resources() {
}
-
+
///
- /// Devuelve la instancia ResourceManager almacenada en caché utilizada por esta clase.
+ /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase.
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WifiScan.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
-
+
///
- /// Invalida la propiedad CurrentUICulture del subproceso actual para todas las
- /// búsquedas de recursos usando esta clase de recursos fuertemente tipados.
+ /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las
+ /// búsquedas de recursos mediante esta clase de recurso fuertemente tipado.
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get
- {
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
return resourceCulture;
}
- set
- {
+ set {
resourceCulture = value;
}
}
diff --git a/WifiScan/Properties/Settings.Designer.cs b/WifiScan/Properties/Settings.Designer.cs
index 356eb88..b2f4381 100644
--- a/WifiScan/Properties/Settings.Designer.cs
+++ b/WifiScan/Properties/Settings.Designer.cs
@@ -1,28 +1,24 @@
//------------------------------------------------------------------------------
//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
+// Este código fue generado por una herramienta.
+// Versión de runtime:4.0.30319.42000
//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
+// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
+// se vuelve a generar el código.
//
//------------------------------------------------------------------------------
-namespace WifiScan.Properties
-{
-
-
+namespace WifiScan.Properties {
+
+
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
- {
-
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default
- {
- get
- {
+
+ public static Settings Default {
+ get {
return defaultInstance;
}
}
diff --git a/WifiScan/WifiDevice.cs b/WifiScan/WifiDevice.cs
index 6c56983..f120c2b 100644
--- a/WifiScan/WifiDevice.cs
+++ b/WifiScan/WifiDevice.cs
@@ -7,6 +7,9 @@
namespace WifiScan
{
+ ///
+ /// Wifi Antenas on computer.
+ ///
class WifiDevice
{
@@ -29,7 +32,7 @@
public static List List()
{
- List del = new List(devices);
+ List del = new List(devices); // Devices to delete
foreach (WlanClient.WlanInterface wlanIface in client.Interfaces)
{
WifiDevice dev = GetFor(wlanIface);
diff --git a/WifiScan/WifiScan.csproj b/WifiScan/WifiScan.csproj
index 3477065..48aa35b 100644
--- a/WifiScan/WifiScan.csproj
+++ b/WifiScan/WifiScan.csproj
@@ -8,8 +8,9 @@
WinExe
WifiScan
WifiScan
- v4.5
+ v4.8
512
+
AnyCPU
@@ -74,6 +75,7 @@
True
Resources.resx
+ True
SettingsSingleFileGenerator