diff --git a/Binary/poshsecframework.zip b/Binary/poshsecframework.zip
index 337fffa..17e5f47 100644
Binary files a/Binary/poshsecframework.zip and b/Binary/poshsecframework.zip differ
diff --git a/poshsecframework/Interface/frmMain.Designer.cs b/poshsecframework/Interface/frmMain.Designer.cs
index e1fbb32..a534f57 100644
--- a/poshsecframework/Interface/frmMain.Designer.cs
+++ b/poshsecframework/Interface/frmMain.Designer.cs
@@ -30,9 +30,9 @@ private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain));
- System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("Local Network");
- System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("Networks", new System.Windows.Forms.TreeNode[] {
- treeNode3});
+ System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("Local Network");
+ System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("Networks", new System.Windows.Forms.TreeNode[] {
+ treeNode1});
this.mnuMain = new System.Windows.Forms.MenuStrip();
this.mnuFile = new System.Windows.Forms.ToolStripMenuItem();
this.mnuScan = new System.Windows.Forms.ToolStripMenuItem();
@@ -107,6 +107,7 @@ private void InitializeComponent()
this.btnExportSystems = new System.Windows.Forms.ToolStripButton();
this.tslSystemCount = new System.Windows.Forms.ToolStripLabel();
this.tbpPowerShell = new System.Windows.Forms.TabPage();
+ this.txtPShellOutput = new poshsecframework.Controls.RichTextBoxCaret();
this.cmnuPSFConsole = new System.Windows.Forms.ContextMenuStrip(this.components);
this.cmbtnCopy = new System.Windows.Forms.ToolStripMenuItem();
this.cmbtnPaste = new System.Windows.Forms.ToolStripMenuItem();
@@ -158,7 +159,6 @@ private void InitializeComponent()
this.cmnuNotify = new System.Windows.Forms.ContextMenuStrip(this.components);
this.cmnuRestore = new System.Windows.Forms.ToolStripMenuItem();
this.cmnuExit = new System.Windows.Forms.ToolStripMenuItem();
- this.txtPShellOutput = new poshsecframework.Controls.RichTextBoxCaret();
this.mnuMain.SuspendLayout();
this.stsMain.SuspendLayout();
this.tbMain.SuspendLayout();
@@ -675,15 +675,15 @@ private void InitializeComponent()
this.tvwNetworks.ImageList = this.imgList16;
this.tvwNetworks.Location = new System.Drawing.Point(0, 25);
this.tvwNetworks.Name = "tvwNetworks";
- treeNode3.ImageKey = "Diagram.png";
- treeNode3.Name = "ndNone";
- treeNode3.SelectedImageKey = "Diagram.png";
- treeNode3.Tag = "1";
- treeNode3.Text = "Local Network";
- treeNode4.Name = "ndNetwork";
- treeNode4.Text = "Networks";
+ treeNode1.ImageKey = "Diagram.png";
+ treeNode1.Name = "ndNone";
+ treeNode1.SelectedImageKey = "Diagram.png";
+ treeNode1.Tag = "1";
+ treeNode1.Text = "Local Network";
+ treeNode2.Name = "ndNetwork";
+ treeNode2.Text = "Networks";
this.tvwNetworks.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
- treeNode4});
+ treeNode2});
this.tvwNetworks.SelectedImageIndex = 1;
this.tvwNetworks.ShowPlusMinus = false;
this.tvwNetworks.ShowRootLines = false;
@@ -937,6 +937,25 @@ private void InitializeComponent()
this.tbpPowerShell.TabIndex = 1;
this.tbpPowerShell.Text = "PowerShell";
//
+ // txtPShellOutput
+ //
+ this.txtPShellOutput.BackColor = System.Drawing.Color.SteelBlue;
+ this.txtPShellOutput.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.txtPShellOutput.ContextMenuStrip = this.cmnuPSFConsole;
+ this.txtPShellOutput.Cursor = System.Windows.Forms.Cursors.Arrow;
+ this.txtPShellOutput.DetectUrls = false;
+ this.txtPShellOutput.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.txtPShellOutput.Font = new System.Drawing.Font("Lucida Console", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txtPShellOutput.ForeColor = System.Drawing.Color.White;
+ this.txtPShellOutput.Location = new System.Drawing.Point(3, 3);
+ this.txtPShellOutput.Margin = new System.Windows.Forms.Padding(5, 5, 5, 0);
+ this.txtPShellOutput.Name = "txtPShellOutput";
+ this.txtPShellOutput.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical;
+ this.txtPShellOutput.Size = new System.Drawing.Size(942, 307);
+ this.txtPShellOutput.TabIndex = 0;
+ this.txtPShellOutput.Text = "";
+ this.txtPShellOutput.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtPShellOutput_KeyDown);
+ //
// cmnuPSFConsole
//
this.cmnuPSFConsole.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -1392,25 +1411,6 @@ private void InitializeComponent()
this.cmnuExit.Text = "Exit";
this.cmnuExit.Click += new System.EventHandler(this.cmnuExit_Click);
//
- // txtPShellOutput
- //
- this.txtPShellOutput.BackColor = System.Drawing.Color.SteelBlue;
- this.txtPShellOutput.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.txtPShellOutput.ContextMenuStrip = this.cmnuPSFConsole;
- this.txtPShellOutput.Cursor = System.Windows.Forms.Cursors.Arrow;
- this.txtPShellOutput.DetectUrls = false;
- this.txtPShellOutput.Dock = System.Windows.Forms.DockStyle.Fill;
- this.txtPShellOutput.Font = new System.Drawing.Font("Lucida Console", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.txtPShellOutput.ForeColor = System.Drawing.Color.White;
- this.txtPShellOutput.Location = new System.Drawing.Point(3, 3);
- this.txtPShellOutput.Margin = new System.Windows.Forms.Padding(5, 5, 5, 0);
- this.txtPShellOutput.Name = "txtPShellOutput";
- this.txtPShellOutput.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical;
- this.txtPShellOutput.Size = new System.Drawing.Size(942, 307);
- this.txtPShellOutput.TabIndex = 0;
- this.txtPShellOutput.Text = "";
- this.txtPShellOutput.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtPShellOutput_KeyDown);
- //
// frmMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
diff --git a/poshsecframework/Interface/frmMain.resx b/poshsecframework/Interface/frmMain.resx
index 93fa647..7e1ef57 100644
--- a/poshsecframework/Interface/frmMain.resx
+++ b/poshsecframework/Interface/frmMain.resx
@@ -126,11 +126,8 @@
957, 17
-
- 253, 56
-
-
- 145, 56
+
+ 367, 17
1047, 17
@@ -140,16 +137,16 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACI
- KQAAAk1TRnQBSQFMAgEBCQEAATgBDgE4AQ4BEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
+ KQAAAk1TRnQBSQFMAgEBCQEAAXgBDgF4AQ4BEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABMAMAAQEBAAEgBgABMBYAAxoBJAMzAVIDMwFSAzMBUgMzAVIDMwFSAzMBUgMzAVIDQgF1AzgBXQMj
ATQDHQEpAxsBJgMGAQjIAAMzAVIw/wMtAUUDBgEIxAADMwFSMP8DLgFIAwcBCsQAAzMBUjD/Ay8BSQMH
AQrEAAMzAVIw/wMzAVIDAgEDxAADMwFSBf8BlAEAAv8BlAEAAv8BlAEAAv8BlAEAAv8BlAEAAv8BlAEA
- Af8BvwGJAQcB/wG/AYkBBwH/Ab8BiQEHAv8BlAEABf8DMwFSyAADMwFSBf8BlAEABf8BvwGJAQcC/wGU
- AQAC/wGUAQAC/wGUAQAO/wGUAQAF/wMzAVLIAAMzAVIF/wGUAQAB/wG/AYkBBwn/Ab8BiQEHAv8BlAEA
- Af8BvwGJAQcB/wG/AYkBBwH/Ab8BiQEHAv8BlAEABf8DMwFSyAADMwFSBf8BlAEAAv8BlAEAAv8BlAEA
- Af8BvwGJAQcG/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAF/wMzAVLIAAMzAVIF/wGUAQAB/wG/
- AYkBBwn/Ab8BiQEHAv8BlAEAAv8BlAEAAv8BlAEAAv8BlAEAAv8BlAEABf8DMwFSyAADMwFSBf8BlAEA
- Bf8BvwGJAQcC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAF/wMzAVLIAAMz
+ Af8BvwGJAQAB/wG/AYkBAAH/Ab8BiQEAAv8BlAEABf8DMwFSyAADMwFSBf8BlAEABf8BvwGJAQAC/wGU
+ AQAC/wGUAQAC/wGUAQAO/wGUAQAF/wMzAVLIAAMzAVIF/wGUAQAB/wG/AYkBAAn/Ab8BiQEAAv8BlAEA
+ Af8BvwGJAQAB/wG/AYkBAAH/Ab8BiQEAAv8BlAEABf8DMwFSyAADMwFSBf8BlAEAAv8BlAEAAv8BlAEA
+ Af8BvwGJAQAG/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAF/wMzAVLIAAMzAVIF/wGUAQAB/wG/
+ AYkBAAn/Ab8BiQEAAv8BlAEAAv8BlAEAAv8BlAEAAv8BlAEAAv8BlAEABf8DMwFSyAADMwFSBf8BlAEA
+ Bf8BvwGJAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAF/wMzAVLIAAMz
AVIF/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGUAQAC/wGU
AQAF/wMzAVLIAAMzAVIw/wMzAVLIAAMzAVIw/wMzAVLIAAMzAVIw/wMzAVLIAAMWAR8DMwFSAzMBUgMz
AVIDMwFSAzMBUgMzAVIDMwFSAzMBUgMzAVIDMwFSAzMBUgMzAVIDGgEkxAAI/wO3Af8DnwH/A58B/wOf
@@ -320,15 +317,6 @@
AQMBAQGABP8B/gEPAccB4ws=
-
- 1264, 17
-
-
- 694, 56
-
-
- 367, 17
-
253, 56
@@ -343,7 +331,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACW
- DgAAAk1TRnQBSQFMAgEBBAEAAUgBDQFIAQ0BEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
+ DgAAAk1TRnQBSQFMAgEBBAEAAYgBDQGIAQ0BEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEgBgABIP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AQgADJgE4AxYBHjgA
AyYBOAMWAR44AAMmATgDFgEeOAADJgE4AxYBHjQAAyYBOANiAfYDtgH/AxgBITAAAyYBOANiAfYDtgH/
AxgBITAAAyYBOANiAfYDtgH/AxgBITAAAyYBOANiAfYDtgH/AxgBISwAAyYBOANiAfYD4AH/A9gB/wO2
@@ -411,6 +399,9 @@
145, 56
+
+ 1264, 17
+
694, 56
@@ -420,9 +411,6 @@
501, 56
-
- 275, 17
-
17, 17
@@ -434,7 +422,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAe
- GAAAAk1TRnQBSQFMAgEBBQEAAVABDQFQAQ0BEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
+ GAAAAk1TRnQBSQFMAgEBBQEAAZABDQGQAQ0BEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEgBgABIP8AIwADGQEjA0UBfQJaAV8B2wJMAV8B8wJMAV8B8wJaAV8B2wNFAX0DGQEj
3AADMwFTAlgBYQHmAgAB1AH/AYQBkAHnAf8BlQGgAe4B/wGVAZ8B7QH/AYMBjgHlAf8CAAHOAf8CWAFh
AeYDMwFT1AADMwFTAlIBZQH0AQABhAHjAf8BoQGsAfQB/wEAAYsB7AH/AgAB5AH/AgAB4wH/AQABhwHq
@@ -542,9 +530,6 @@
275, 17
-
- 485, 17
-
350, 56
@@ -3119,7 +3104,7 @@
- 166
+ 25
diff --git a/poshsecframework/Interface/frmSettings.Designer.cs b/poshsecframework/Interface/frmSettings.Designer.cs
index a7643d7..6e957b9 100644
--- a/poshsecframework/Interface/frmSettings.Designer.cs
+++ b/poshsecframework/Interface/frmSettings.Designer.cs
@@ -105,6 +105,9 @@ private void InitializeComponent()
this.btnEditModule = new System.Windows.Forms.ToolStripButton();
this.btnDeleteModule = new System.Windows.Forms.ToolStripButton();
this.btnCheckUpdates = new System.Windows.Forms.ToolStripButton();
+ this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+ this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
+ this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.ttPSFHelp = new System.Windows.Forms.ToolTip(this.components);
this.panel1.SuspendLayout();
this.tbpGeneral.SuspendLayout();
@@ -883,7 +886,10 @@ private void InitializeComponent()
this.lblRestartRequired,
this.btnEditModule,
this.btnDeleteModule,
- this.btnCheckUpdates});
+ this.btnCheckUpdates,
+ this.toolStripSeparator1,
+ this.toolStripLabel1,
+ this.toolStripButton1});
this.tbModules.Location = new System.Drawing.Point(3, 3);
this.tbModules.Name = "tbModules";
this.tbModules.Size = new System.Drawing.Size(517, 25);
@@ -954,6 +960,25 @@ private void InitializeComponent()
this.btnCheckUpdates.ToolTipText = "Check for Updates";
this.btnCheckUpdates.Click += new System.EventHandler(this.btnCheckUpdates_Click);
//
+ // toolStripSeparator1
+ //
+ this.toolStripSeparator1.Name = "toolStripSeparator1";
+ this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
+ //
+ // toolStripLabel1
+ //
+ this.toolStripLabel1.Name = "toolStripLabel1";
+ this.toolStripLabel1.Size = new System.Drawing.Size(81, 22);
+ this.toolStripLabel1.Text = "Update Alerts:";
+ //
+ // toolStripButton1
+ //
+ this.toolStripButton1.Image = global::poshsecframework.Properties.Resources.dialogyes;
+ this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.toolStripButton1.Name = "toolStripButton1";
+ this.toolStripButton1.Size = new System.Drawing.Size(43, 22);
+ this.toolStripButton1.Text = "On";
+ //
// ttPSFHelp
//
this.ttPSFHelp.ToolTipIcon = System.Windows.Forms.ToolTipIcon.Info;
@@ -1093,5 +1118,8 @@ private void InitializeComponent()
private System.Windows.Forms.Panel panel5;
private System.Windows.Forms.CheckBox ckShowinTaskbar;
private System.Windows.Forms.Label lblShowinTaskbar;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+ private System.Windows.Forms.ToolStripLabel toolStripLabel1;
+ private System.Windows.Forms.ToolStripButton toolStripButton1;
}
}
\ No newline at end of file
diff --git a/poshsecframework/Interface/frmSettings.cs b/poshsecframework/Interface/frmSettings.cs
index aadfd11..1adf004 100644
--- a/poshsecframework/Interface/frmSettings.cs
+++ b/poshsecframework/Interface/frmSettings.cs
@@ -574,7 +574,10 @@ private void btnCheckUpdates_Click(object sender, EventArgs e)
frm.DoUpdate = true;
if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
- restart = frm.Restart;
+ if (!restart)
+ {
+ restart = frm.Restart;
+ }
AddModule(frm.RepositoryName, frm.LocationName, frm.Branch, frm.LastModified);
SaveModules();
}
diff --git a/poshsecframework/Interface/frmSettings.resx b/poshsecframework/Interface/frmSettings.resx
index 1d4228a..32db093 100644
--- a/poshsecframework/Interface/frmSettings.resx
+++ b/poshsecframework/Interface/frmSettings.resx
@@ -125,9 +125,6 @@
If you use your Github Personal Access Token it will increase to 5000 per hour.
Click this button for more information.
-
- 17, 17
-
242, 17
@@ -135,101 +132,100 @@ Click this button for more information.
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
- ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADQ
- FQAAAk1TRnQBSQFMAgEBAwEAAagBAAGoAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
- AwABEAMAAQEBAAEgBgABEBIAAVIBUwFSAagBVQFcAVUB6gEAAVwBJQH/AQABXAElAf8BAAFcASUB/wEA
- AVwBJQH/AQABXAElAf8BAAFcASUB/wEAAVwBJQH/AQABXAElAf8BAAFcASUB/wEAAVwBJQH/AQABXAEl
- Af8BAAFcASUB/wEAAVwBJQH/AVYBWAFWAbsDPAFmAYUBigGIAf8BhQGKAYgB/wGFAYoBiAH/AYUBigGI
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADG
+ FQAAAk1TRnQBSQFMAgEBAwEAAcgBAAHIAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
+ AwABEAMAAQEBAAEgBgABEBIAAVIBUwFSAagBVQFcAVUB6gEAAVgBIQH/AQABWAEhAf8BAAFYASEB/wEA
+ AVgBIQH/AQABWAEhAf8BAAFYASEB/wEAAVgBIQH/AQABWAEhAf8BAAFYASEB/wEAAVgBIQH/AQABWAEh
+ Af8BAAFYASEB/wEAAVgBIQH/AVYBWAFWAbsDPAFmAYUBigGIAf8BhQGKAYgB/wGFAYoBiAH/AYUBigGI
Af8BhQGKAYgB/wGFAYoBiAH/AYUBigGIAf8BhQGKAYgB/wGFAYoBiAH/AYUBigGIAf8BhQGKAYgB/wGF
AYoBiAH/AYUBigGIAf8BhQGKAYgB/wM8AWYCUgFTAagCAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGk
Af8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CVgFY
- AbtBAAFcASUB/wEAAY8BOAH/AQABjwE4Af8BAAGOATYB/wEAAY8BOAH/AQABjwE2Af8BAAGPATYB/wEA
- AY8BNgH/AQABjgE2Af8BAAGPATYB/wEAAY8BNgH/AQABjwE2Af8BAAGPATYB/wEAAY4BNgH/AQABjwE2
- Af8BAAFcASUB/wGFAYoBiAH/Ae0C7wH/Ae0C7wH/Ae0C7wH/Ae0B7wHuAf8B7QLvAf8B7ALvAf8B7AHv
- Ae4B/wEMAaQBSwH/AYUByQGmAf8B7QLuAf8B7QLvAf8B7QHvAe4B/wHtAe8B7gH/AewC7gH/AYUBigGI
+ AbtBAAFYASEB/wEAAY8BNAH/AQABjwE0Af8BAAGOATIB/wEAAY8BNAH/AQABjwEyAf8BAAGPATIB/wEA
+ AY8BMgH/AQABjgEyAf8BAAGPATIB/wEAAY8BMgH/AQABjwEyAf8BAAGPATIB/wEAAY4BMgH/AQABjwEy
+ Af8BAAFYASEB/wGFAYoBiAH/Ae0C7wH/Ae0C7wH/Ae0C7wH/Ae0B7wHuAf8B7QLvAf8B7ALvAf8B7AHv
+ Ae4B/wEIAaQBRwH/AYUByQGmAf8B7QLuAf8B7QLvAf8B7QHvAe4B/wHtAe8B7gH/AewC7gH/AYUBigGI
Af8CAAGkAf8CAAHMAf8CAAHMAf8CAAHNAf8CAAHNAf8CAAHNAf8CAAHMAf8CAAHMAf8CAAHMAf8CAAHN
- Af8CAAHNAf8CAAHMAf8CAAHNAf8CAAHNAf8CAAHMAf8CAAGkAf9BAAFcASUB/wEAAZIBOQH/AQABkgE5
- Af8BAAGVATkB/wEAAZUBOQH/AQABkgE5Af8BAAGSAToB/wEAAZIBOQH/AQABkgE5Af8BAAGSATkB/wEA
- AZIBOAH/AQABkgE5Af8BAAGSATkB/wEAAZIBOQH/AQABkgE5Af8BAAFcASUB/wGFAYoBiAH/Ae8C8AH/
- Ae8C8AH/Ae4C8QH/Ae4C8AH/Ae4B8QHwAf8B7gLwAf8B7gLwAf8BAAGaATkB/wEAAZoBOQH/AaMB1AG7
+ Af8CAAHNAf8CAAHMAf8CAAHNAf8CAAHNAf8CAAHMAf8CAAGkAf9BAAFYASEB/wEAAZIBNQH/AQABkgE1
+ Af8BAAGVATUB/wEAAZUBNQH/AQABkgE1Af8BAAGSATYB/wEAAZIBNQH/AQABkgE1Af8BAAGSATUB/wEA
+ AZIBNAH/AQABkgE1Af8BAAGSATUB/wEAAZIBNQH/AQABkgE1Af8BAAFYASEB/wGFAYoBiAH/Ae8C8AH/
+ Ae8C8AH/Ae4C8QH/Ae4C8AH/Ae4B8QHwAf8B7gLwAf8B7gLwAf8BAAGaATUB/wEAAZoBNQH/AaMB1AG7
Af8B7wLwAf8B7gLwAf8B7gLwAf8B7gHwAe8B/wGFAYoBiAH/AgABpAH/AgABzwH/AgABzwH/AgABzwH/
AgAB0AH/AgAB0AH/AgABzwH/AgABzwH/AgABzwH/AgAB0AH/AgAB0AH/AgAB0AH/AgABzwH/AgABzwH/
- AgABzwH/AgABpAH/QQABXAElAf8BAAGVATsB/wEAAZUBOwH/AQABlQE7Af8BAAGVATsB/wEAAZUBOwH/
- AQABlQE6Af8BAAGVATsB/wEAAZUBOwH/AQABlQE7Af8BAAGWATsB/wEAAZUBOwH/AQABlQE7Af8BAAGV
- ATsB/wEAAZUBOgH/AQABXAElAf8BhQGKAYgB/wHwAfIB8QH/AfAB8gHxAf8B8AHyAfEB/wGPAc0BrQH/
- ARIBpQFQAf8BAAGaATkB/wEAAZoBOQH/AQABmgE5Af8BNAGeAV4B/wEAAZoBOQH/AWIBxAGdAf8B7wLx
+ AgABzwH/AgABpAH/QQABWAEhAf8BAAGVATcB/wEAAZUBNwH/AQABlQE3Af8BAAGVATcB/wEAAZUBNwH/
+ AQABlQE2Af8BAAGVATcB/wEAAZUBNwH/AQABlQE3Af8BAAGWATcB/wEAAZUBNwH/AQABlQE3Af8BAAGV
+ ATcB/wEAAZUBNgH/AQABWAEhAf8BhQGKAYgB/wHwAfIB8QH/AfAB8gHxAf8B8AHyAfEB/wGPAc0BrQH/
+ AQ4BpQFMAf8BAAGaATUB/wEAAZoBNQH/AQABmgE1Af8BMAGeAVoB/wEAAZoBNQH/AV4BxAGdAf8B7wLx
Af8B7wLxAf8B7wLxAf8BhQGKAYgB/wIAAaQB/wIAAdIB/wIAAdMB/wIAAdIB/wIAAdIB/wIAAdIB/wIA
AdMB/wIAAdIB/wIAAdMB/wIAAdMB/wIAAdIB/wIAAdIB/wIAAdIB/wIAAdIB/wIAAdIB/wIAAaQB/0EA
- AVwBJQH/AQABlgE+Af8BAAGZAT4B/wEAAZkBPgH/AQABlgE8Af8BAAGZAT4B/wEAAZkBPAH/AQABlgE8
- Af8BAAGWAT4B/wEAAZYBPgH/AQABlgE8Af8BAAGZAT4B/wEAAZYBPgH/AQABmQE8Af8BAAGZATwB/wEA
- AVwBJQH/AYUBigGIAf8B8gLzAf8BiwHMAasB/wEAAZ4BQAH/AQABmgE5Af8BAAHIAVQB/wEBAdIBXgH/
- ATYB4gGVAf8BYwHiAawB/wE2AeIBlQH/ATQBngFeAf8BAAGaATkB/wFdAcIBmgH/AfEB8wHyAf8B8ALy
+ AVgBIQH/AQABlgE6Af8BAAGZAToB/wEAAZkBOgH/AQABlgE4Af8BAAGZAToB/wEAAZkBOAH/AQABlgE4
+ Af8BAAGWAToB/wEAAZYBOgH/AQABlgE4Af8BAAGZAToB/wEAAZYBOgH/AQABmQE4Af8BAAGZATgB/wEA
+ AVgBIQH/AYUBigGIAf8B8gLzAf8BiwHMAasB/wEAAZ4BPAH/AQABmgE1Af8BAAHIAVAB/wEAAdIBWgH/
+ ATIB4gGVAf8BXwHiAawB/wEyAeIBlQH/ATABngFaAf8BAAGaATUB/wFZAcIBmgH/AfEB8wHyAf8B8ALy
Af8BhQGKAYgB/wIAAaQB/wIAAdUB/wIAAdQB/wIAAdUB/wIAAdUB/wIAAdUB/wIAAdUB/wIAAdUB/wIA
- AdUB/wIAAdQB/wIAAdUB/wIAAdUB/wIAAdUB/wIAAdUB/wIAAdUB/wIAAaQB/0EAAVwBJQH/AQABnAFA
- Af8BAAGcAT8B/wEAAZwBQAH/AQABmQFAAf8BAAGcAUAB/wEAAZwBQAH/AQABmQFAAf8BAAGZAT8B/wEA
- AZwBPwH/AQABnAE/Af8BAAGZAT8B/wEAAZkBPwH/AQABnAE/Af8BAAGcAUAB/wEAAVwBJQH/AYUBigGI
- Af8BxAHiAdMB/wEAAZoBOQH/ARsBhQFFAf8BNgHiAZUB/wE2AeIBlQH/AR8B4gGKAf8BAQHSAV4B/wEA
- AcgBVAH/AQAByAFUAf8BNgHiAZUB/wE0AZ4BXgH/AQABmgE5Af8BPAG2AYIB/wHyAfMB9AH/AYUBigGI
+ AdUB/wIAAdQB/wIAAdUB/wIAAdUB/wIAAdUB/wIAAdUB/wIAAdUB/wIAAaQB/0EAAVgBIQH/AQABnAE8
+ Af8BAAGcATsB/wEAAZwBPAH/AQABmQE8Af8BAAGcATwB/wEAAZwBPAH/AQABmQE8Af8BAAGZATsB/wEA
+ AZwBOwH/AQABnAE7Af8BAAGZATsB/wEAAZkBOwH/AQABnAE7Af8BAAGcATwB/wEAAVgBIQH/AYUBigGI
+ Af8BxAHiAdMB/wEAAZoBNQH/ARcBhQFBAf8BMgHiAZUB/wEyAeIBlQH/ARsB4gGKAf8BAAHSAVoB/wEA
+ AcgBUAH/AQAByAFQAf8BMgHiAZUB/wEwAZ4BWgH/AQABmgE1Af8BOAG2AYIB/wHyAfMB9AH/AYUBigGI
Af8CAAGkAf8CAAHXAf8CAAHYAf8CAAHYAf8CAAHXAf8CAAHXAf8CAAHYAf8CAAHXAf8CAAHXAf8CAAHX
- Af8CAAHYAf8CAAHXAf8CAAHYAf8CAAHXAf8CAAHYAf8CAAGkAf9BAAFcASUB/wEAAZ8BQQH/AQABoAFB
- Af8BAAGfAUEB/wEAAZ8BQQH/AQABnwFBAf8BAAGfAUEB/wEAAZ8BQQH/AQABnwFDAf8BAAGgAUMB/wEA
- AZ8BQQH/AQABnwFBAf8BAAGfAUEB/wEAAZ8BQQH/AQABnwFBAf8BAAFcASUB/wGFAYoBiAH/ARABpgFP
- Af8BGwGFAUUB/wE2AeIBlQH/AQEB0gFeAf8BAAHIAVQB/wEAAcgBVAH/AQAByAFUAf8BAAHIAVQB/wEA
- AcgBVAH/AQAByAFUAf8BNgHiAZUB/wE0AZ4BXgH/AQABmgE5Af8BXwHEAZsB/wGFAYoBiAH/AgABpAH/
+ Af8CAAHYAf8CAAHXAf8CAAHYAf8CAAHXAf8CAAHYAf8CAAGkAf9BAAFYASEB/wEAAZ8BPQH/AQABoAE9
+ Af8BAAGfAT0B/wEAAZ8BPQH/AQABnwE9Af8BAAGfAT0B/wEAAZ8BPQH/AQABnwE/Af8BAAGgAT8B/wEA
+ AZ8BPQH/AQABnwE9Af8BAAGfAT0B/wEAAZ8BPQH/AQABnwE9Af8BAAFYASEB/wGFAYoBiAH/AQwBpgFL
+ Af8BFwGFAUEB/wEyAeIBlQH/AQAB0gFaAf8BAAHIAVAB/wEAAcgBUAH/AQAByAFQAf8BAAHIAVAB/wEA
+ AcgBUAH/AQAByAFQAf8BMgHiAZUB/wEwAZ4BWgH/AQABmgE1Af8BWwHEAZsB/wGFAYoBiAH/AgABpAH/
AgAB2gH/AgAB2gH/AgAB2gH/AgAB2wH/AgAB2wH/AgAB2gH/AgAB2gH/AgAB2gH/AgAB2wH/AgAB2gH/
- AgAB2gH/AgAB2gH/AgAB2wH/AgAB2wH/AgABpAH/QQABXAElAf8BAgGgAUQB/wECAaABRAH/AQIBoAFE
- Af8BAQGgAUQB/wECAaABRAH/AQIBoAFEAf8BAQGjAUQB/wEBAaMBRAH/AQEBoAFEAf8BAgGgAUQB/wEB
- AaABQwH/AQEBowFEAf8BAQGgAUQB/wEBAaABQwH/AQABXAElAf8BhQGKAYgB/wEAAZoBOQH/ATYB4gGV
- Af8BHwHiAYoB/wEBAdIBXgH/AR8B4gGKAf8BYwHiAawB/wFjAeIBrAH/AWMB4gGsAf8BAAHIAVQB/wE2
- AeIBlQH/ATQBngFeAf8BAAGaATkB/wFLAb0BjQH/AfUC9gH/AYUBigGIAf8CAAGkAf8CAAHdAf8CAAHd
+ AgAB2gH/AgAB2gH/AgAB2wH/AgAB2wH/AgABpAH/QQABWAEhAf8BAAGgAUAB/wEAAaABQAH/AQABoAFA
+ Af8BAAGgAUAB/wEAAaABQAH/AQABoAFAAf8BAAGjAUAB/wEAAaMBQAH/AQABoAFAAf8BAAGgAUAB/wEA
+ AaABPwH/AQABowFAAf8BAAGgAUAB/wEAAaABPwH/AQABWAEhAf8BhQGKAYgB/wEAAZoBNQH/ATIB4gGV
+ Af8BGwHiAYoB/wEAAdIBWgH/ARsB4gGKAf8BXwHiAawB/wFfAeIBrAH/AV8B4gGsAf8BAAHIAVAB/wEy
+ AeIBlQH/ATABngFaAf8BAAGaATUB/wFHAb0BjQH/AfUC9gH/AYUBigGIAf8CAAGkAf8CAAHdAf8CAAHd
Af8CAAHdAf8CAAHdAf8CAAHdAf8CAAHdAf8CAAHdAf8CAAHdAf8CAAHdAf8CAAHdAf8CAAHeAf8CAAHd
- Af8CAAHdAf8CAAHeAf8CAAGkAf9BAAFcASUB/wEEAaYBRwH/AQQBpgFHAf8BBAGmAUcB/wEEAaMBRQH/
- AQQBpgFHAf8BBAGmAUcB/wEEAaMBRwH/AQQBpgFHAf8BBAGjAUcB/wEEAaYBRwH/AQQBowFFAf8BBAGm
- AUcB/wEDAaYBRwH/AQQBowFHAf8BAAFcASUB/wGFAYoBiAH/AQABmgE5Af8BYwHiAawB/wEfAeIBigH/
- AWMB4gGsAf8BNAGeAV4B/wEAAZoBOQH/AQABmgE5Af8BAAGaATkB/wE2AeIBlQH/ARsBhQFFAf8BAAGa
- ATkB/wFMAb0BjgH/AvcB+AH/AfYB+AH3Af8BhQGKAYgB/wIAAaQB/wECAQMB4AH/AgIB4AH/AQMBAgHg
- Af8CAgHgAf8BAgEDAeAB/wECAQMB4AH/AQMBAgHfAf8CAgHgAf8CAgHgAf8CAgHgAf8CAwHgAf8CAgHg
- Af8CAwHgAf8CAgHgAf8CAAGkAf9BAAFcASUB/wEGAakBSgH/AQcBqQFIAf8BBwGpAUoB/wEGAakBSgH/
- AQYBqQFIAf8BBgGpAUgB/wEGAakBSAH/AQYBpgFKAf8BBgGpAUoB/wEGAaYBSgH/AQYBqQFKAf8BBwGm
- AUgB/wEGAakBSgH/AQYBqQFIAf8BAAFcASUB/wGFAYoBiAH/AQABnQE/Af8BNgHiAZUB/wFjAeIBrAH/
- ARsBhQFFAf8BAAGaATkB/wEvAbIBZQH/AfkB+gH5Af8BAAGaATkB/wEbAYUBRQH/AQABmgE5Af8BZgHI
- AaEB/wH4AvkB/wH4AvkB/wH4AvkB/wGFAYoBiAH/AgABpAH/AgUB4gH/AgUB4wH/AgUB4gH/AQUBBgHi
- Af8CBQHjAf8CBQHiAf8BBgEFAeMB/wEFAQYB4wH/AQUBBgHjAf8CBgHjAf8BBQEGAeMB/wIFAeMB/wIG
- AeMB/wIFAeIB/wIAAaQB/0EAAVwBJQH/AQkBqgFMAf8BCgGqAUsB/wEJAaoBTAH/AQkBrQFMAf8BCgGq
- AUwB/wEKAaoBSwH/AQkBqgFLAf8BCgGqAUsB/wEJAaoBSwH/AQoBqgFLAf8BCQGqAUwB/wEJAaoBSwH/
- AQoBqgFLAf8BCQGqAUsB/wEAAVwBJQH/AYUBigGIAf8BFAGoAVIB/wEbAYUBRQH/AWMB4gGsAf8BAAGa
- ATkB/wGNAc8BrgH/AvoB+wH/AfoC+wH/AQABmgE5Af8BAAGaATkB/wGzAd4ByAH/AfoC+wH/A/oB/wP6
- Af8D+gH/AYUBigGIAf8CAAGkAf8CCQHmAf8CCQHlAf8BCQEIAeUB/wIIAeYB/wIJAeUB/wIIAeUB/wIJ
- AeUB/wEIAQkB5QH/AggB5QH/AQgBCQHlAf8BCAEJAeUB/wIIAeUB/wIJAeYB/wIJAeUB/wIAAaQB/0EA
- AVwBJQH/AQwBrQFNAf8BDAGtAU0B/wEMAa0BTgH/AQwBrQFNAf8BDAGwAU0B/wEMAa0BTQH/AQwBsAFN
- Af8BDAGtAU4B/wEMAa0BTQH/AQwBrQFNAf8BCwGtAU0B/wEMAa0BTQH/AQsBsAFNAf8BDAGtAU0B/wEA
- AVwBJQH/AYUBigGIAf8BYgHHAZ4B/wEAAZoBOQH/ATYB4gGVAf8BAAGaATkB/wGOAdABrgH/AvwB+wH/
- AfsC/AH/AQ0BpQFNAf8B8wH2AfkB/wP8Af8D+wH/AfsB/AH7Af8C+wH8Af8B+wL8Af8BhQGKAYgB/wIA
- AaQB/wILAegB/wILAegB/wIMAegB/wEMAQsB6AH/AgwB6AH/AgwB6AH/AQsBDAHoAf8CDAHoAf8CCwHo
- Af8BDAELAegB/wIMAegB/wEMAQsB6AH/AQwBCwHpAf8CDAHoAf8CAAGkAf9BAAFcASUB/wEPAbMBUAH/
- AQ4BswFQAf8BDgGzAVAB/wEOAbABUAH/AQ4BsAFQAf8BDwGwAVAB/wEOAbABUAH/AQ8BsAFQAf8BDgGz
- AVAB/wEOAbABUAH/AQ4BswFQAf8BDgGwAVAB/wEOAbABUAH/AQ4BsAFQAf8BAAFcASUB/wGFAYoBiAH/
- A/0B/wEkAa4BXQH/AQABmgE5Af8BGwGFAUUB/wEAAZoBOQH/AWIBxwGeAf8D/QH/A/0B/wP9Af8D/QH/
- A/0B/wP9Af8B/AL9Af8D/QH/AYUBigGIAf8CAAGkAf8CDwHrAf8BDgEPAeoB/wIPAeoB/wIPAesB/wIP
- AeoB/wIPAeoB/wIPAesB/wIPAesB/wIPAeoB/wIPAeoB/wIPAesB/wEQAQ8B6wH/Ag8B6gH/Ag8B6wH/
- AgABpAH/QQABXAElAf8BEQG1AVIB/wERAbUBUgH/AREBtQFSAf8BEAG1AVEB/wEQAbMBUgH/AREBtQFR
- Af8BEAGzAVEB/wERAbUBUgH/AREBswFSAf8BEAG1AVIB/wEQAbMBUQH/ARABswFRAf8BEAGzAVEB/wER
- AbUBUgH/AQABXAElAf8BhQGKAYgC/wH+Av8B+wH8Af0B/wFAAboBhgH/AQABmgE5Af8BAAGaATkB/wEA
- AZoBOQH/AVwBxQGbAf8B8wH2AfkB/wH6AfsB/AH/Av4C/wH+Af8B/gH/Af4B/wH+A/8B/gH/A/4B/wGF
- AYoBiAH/AgABpAH/AhIB7gH/AhIB7QH/ARIBEwHuAf8CEgHtAf8CEgHtAf8CEgHuAf8CEgHuAf8CEgHt
- Af8CEgHtAf8CEgHuAf8BEwESAe4B/wESARMB7QH/ARIBEwHtAf8CEgHuAf8CAAGkAf9AAAFZAWQBWQHs
- ARABswFRAf8BEAGzAVEB/wEQAbMBUQH/ARABswFRAf8BEAGzAVEB/wEQAbMBUQH/ARABswFRAf8BEAGz
- AVEB/wEQAbMBUQH/ARABswFRAf8BEAGzAVEB/wEQAbMBUQH/ARABswFRAf8BEAGzAVEB/wFVAVwBVQHq
- AYUBigGIDf8B6wHxAfcB/wFQAcABkgH/ASQBrgFdAf8BJAGuAV0B/wFaAcQBmAH/AfUB+AH7Ff8BhQGK
- AYgB/wIAAaQB/wIUAe8B/wIUAe8B/wIUAe8B/wIUAe8B/wIUAe8B/wIUAe8B/wIUAe8B/wIUAe8B/wIU
- Ae8B/wIUAe8B/wIUAe8B/wIUAe8B/wIUAe8B/wIUAe8B/wIAAaQB/0AAAVYBWAFWAbsBWQFkAVkB7AEA
- AVwBJQH/AQABXAElAf8BAAFcASUB/wEAAVwBJQH/AQABXAElAf8BAAFcASUB/wEAAVwBJQH/AQABXAEl
- Af8BAAFcASUB/wEAAVwBJQH/AQABXAElAf8BAAFcASUB/wEAAVwBJQH/AVIBUwFSAagDPAFmAYUBigGI
- Af8BhQGKAYgB/wGFAYoBiAH/AYUBigGIAf8BhQGKAYgB/wGFAYoBiAH/AYUBigGIAf8BhQGKAYgB/wGF
- AYoBiAH/AYUBigGIAf8BhQGKAYgB/wGFAYoBiAH/AYUBigGIAf8BhQGKAYgB/wNAAXECXAFgAdQCAAGk
- Af8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGkAf8CAAGk
- Af8CAAGkAf8CAAGkAf8CAAGkAf8CXAFgAdRAAAFCAU0BPgcAAT4DAAEoAwABQAMAARADAAEBAQABAQUA
- AYAXAAP/gQAL
+ Af8CAAHdAf8CAAHeAf8CAAGkAf9BAAFYASEB/wEAAaYBQwH/AQABpgFDAf8BAAGmAUMB/wEAAaMBQQH/
+ AQABpgFDAf8BAAGmAUMB/wEAAaMBQwH/AQABpgFDAf8BAAGjAUMB/wEAAaYBQwH/AQABowFBAf8BAAGm
+ AUMB/wEAAaYBQwH/AQABowFDAf8BAAFYASEB/wGFAYoBiAH/AQABmgE1Af8BXwHiAawB/wEbAeIBigH/
+ AV8B4gGsAf8BMAGeAVoB/wEAAZoBNQH/AQABmgE1Af8BAAGaATUB/wEyAeIBlQH/ARcBhQFBAf8BAAGa
+ ATUB/wFIAb0BjgH/AvcB+AH/AfYB+AH3Af8BhQGKAYgB/wIAAaQB/wIAAeAB/wIAAeAB/wIAAeAB/wIA
+ AeAB/wIAAeAB/wIAAeAB/wIAAd8B/wIAAeAB/wIAAeAB/wIAAeAB/wIAAeAB/wIAAeAB/wIAAeAB/wIA
+ AeAB/wIAAaQB/0EAAVgBIQH/AQIBqQFGAf8BAwGpAUQB/wEDAakBRgH/AQIBqQFGAf8BAgGpAUQB/wEC
+ AakBRAH/AQIBqQFEAf8BAgGmAUYB/wECAakBRgH/AQIBpgFGAf8BAgGpAUYB/wEDAaYBRAH/AQIBqQFG
+ Af8BAgGpAUQB/wEAAVgBIQH/AYUBigGIAf8BAAGdATsB/wEyAeIBlQH/AV8B4gGsAf8BFwGFAUEB/wEA
+ AZoBNQH/ASsBsgFhAf8B+QH6AfkB/wEAAZoBNQH/ARcBhQFBAf8BAAGaATUB/wFiAcgBoQH/AfgC+QH/
+ AfgC+QH/AfgC+QH/AYUBigGIAf8CAAGkAf8CAQHiAf8CAQHjAf8CAQHiAf8BAQECAeIB/wIBAeMB/wIB
+ AeIB/wECAQEB4wH/AQEBAgHjAf8BAQECAeMB/wICAeMB/wEBAQIB4wH/AgEB4wH/AgIB4wH/AgEB4gH/
+ AgABpAH/QQABWAEhAf8BBQGqAUgB/wEGAaoBRwH/AQUBqgFIAf8BBQGtAUgB/wEGAaoBSAH/AQYBqgFH
+ Af8BBQGqAUcB/wEGAaoBRwH/AQUBqgFHAf8BBgGqAUcB/wEFAaoBSAH/AQUBqgFHAf8BBgGqAUcB/wEF
+ AaoBRwH/AQABWAEhAf8BhQGKAYgB/wEQAagBTgH/ARcBhQFBAf8BXwHiAawB/wEAAZoBNQH/AY0BzwGu
+ Af8C+gH7Af8B+gL7Af8BAAGaATUB/wEAAZoBNQH/AbMB3gHIAf8B+gL7Af8D+gH/A/oB/wP6Af8BhQGK
+ AYgB/wIAAaQB/wIFAeYB/wIFAeUB/wEFAQQB5QH/AgQB5gH/AgUB5QH/AgQB5QH/AgUB5QH/AQQBBQHl
+ Af8CBAHlAf8BBAEFAeUB/wEEAQUB5QH/AgQB5QH/AgUB5gH/AgUB5QH/AgABpAH/QQABWAEhAf8BCAGt
+ AUkB/wEIAa0BSQH/AQgBrQFKAf8BCAGtAUkB/wEIAbABSQH/AQgBrQFJAf8BCAGwAUkB/wEIAa0BSgH/
+ AQgBrQFJAf8BCAGtAUkB/wEHAa0BSQH/AQgBrQFJAf8BBwGwAUkB/wEIAa0BSQH/AQABWAEhAf8BhQGK
+ AYgB/wFeAccBngH/AQABmgE1Af8BMgHiAZUB/wEAAZoBNQH/AY4B0AGuAf8C/AH7Af8B+wL8Af8BCQGl
+ AUkB/wHzAfYB+QH/A/wB/wP7Af8B+wH8AfsB/wL7AfwB/wH7AvwB/wGFAYoBiAH/AgABpAH/AgcB6AH/
+ AgcB6AH/AggB6AH/AQgBBwHoAf8CCAHoAf8CCAHoAf8BBwEIAegB/wIIAegB/wIHAegB/wEIAQcB6AH/
+ AggB6AH/AQgBBwHoAf8BCAEHAekB/wIIAegB/wIAAaQB/0EAAVgBIQH/AQsBswFMAf8BCgGzAUwB/wEK
+ AbMBTAH/AQoBsAFMAf8BCgGwAUwB/wELAbABTAH/AQoBsAFMAf8BCwGwAUwB/wEKAbMBTAH/AQoBsAFM
+ Af8BCgGzAUwB/wEKAbABTAH/AQoBsAFMAf8BCgGwAUwB/wEAAVgBIQH/AYUBigGIAf8D/QH/ASABrgFZ
+ Af8BAAGaATUB/wEXAYUBQQH/AQABmgE1Af8BXgHHAZ4B/wP9Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wH8
+ Av0B/wP9Af8BhQGKAYgB/wIAAaQB/wILAesB/wEKAQsB6gH/AgsB6gH/AgsB6wH/AgsB6gH/AgsB6gH/
+ AgsB6wH/AgsB6wH/AgsB6gH/AgsB6gH/AgsB6wH/AQwBCwHrAf8CCwHqAf8CCwHrAf8CAAGkAf9BAAFY
+ ASEB/wENAbUBTgH/AQ0BtQFOAf8BDQG1AU4B/wEMAbUBTQH/AQwBswFOAf8BDQG1AU0B/wEMAbMBTQH/
+ AQ0BtQFOAf8BDQGzAU4B/wEMAbUBTgH/AQwBswFNAf8BDAGzAU0B/wEMAbMBTQH/AQ0BtQFOAf8BAAFY
+ ASEB/wGFAYoBiAL/Af4C/wH7AfwB/QH/ATwBugGGAf8BAAGaATUB/wEAAZoBNQH/AQABmgE1Af8BWAHF
+ AZsB/wHzAfYB+QH/AfoB+wH8Af8C/gL/Af4B/wH+Af8B/gH/Af4D/wH+Af8D/gH/AYUBigGIAf8CAAGk
+ Af8CDgHuAf8CDgHtAf8BDgEPAe4B/wIOAe0B/wIOAe0B/wIOAe4B/wIOAe4B/wIOAe0B/wIOAe0B/wIO
+ Ae4B/wEPAQ4B7gH/AQ4BDwHtAf8BDgEPAe0B/wIOAe4B/wIAAaQB/0AAAVkBZAFZAewBDAGzAU0B/wEM
+ AbMBTQH/AQwBswFNAf8BDAGzAU0B/wEMAbMBTQH/AQwBswFNAf8BDAGzAU0B/wEMAbMBTQH/AQwBswFN
+ Af8BDAGzAU0B/wEMAbMBTQH/AQwBswFNAf8BDAGzAU0B/wEMAbMBTQH/AVUBXAFVAeoBhQGKAYgN/wHr
+ AfEB9wH/AUwBwAGSAf8BIAGuAVkB/wEgAa4BWQH/AVYBxAGYAf8B9QH4AfsV/wGFAYoBiAH/AgABpAH/
+ AhAB7wH/AhAB7wH/AhAB7wH/AhAB7wH/AhAB7wH/AhAB7wH/AhAB7wH/AhAB7wH/AhAB7wH/AhAB7wH/
+ AhAB7wH/AhAB7wH/AhAB7wH/AhAB7wH/AgABpAH/QAABVgFYAVYBuwFZAWQBWQHsAQABWAEhAf8BAAFY
+ ASEB/wEAAVgBIQH/AQABWAEhAf8BAAFYASEB/wEAAVgBIQH/AQABWAEhAf8BAAFYASEB/wEAAVgBIQH/
+ AQABWAEhAf8BAAFYASEB/wEAAVgBIQH/AQABWAEhAf8BUgFTAVIBqAM8AWYBhQGKAYgB/wGFAYoBiAH/
+ AYUBigGIAf8BhQGKAYgB/wGFAYoBiAH/AYUBigGIAf8BhQGKAYgB/wGFAYoBiAH/AYUBigGIAf8BhQGK
+ AYgB/wGFAYoBiAH/AYUBigGIAf8BhQGKAYgB/wGFAYoBiAH/A0ABcQJcAWAB1AIAAaQB/wIAAaQB/wIA
+ AaQB/wIAAaQB/wIAAaQB/wIAAaQB/wIAAaQB/wIAAaQB/wIAAaQB/wIAAaQB/wIAAaQB/wIAAaQB/wIA
+ AaQB/wIAAaQB/wJcAWAB1EAAAUIBTQE+BwABPgMAASgDAAFAAwABEAMAAQEBAAEBBQABgBcAA/+BAAs=
diff --git a/poshsecframework/PShell/pscredentialeditor.cs b/poshsecframework/PShell/pscredentialeditor.cs
new file mode 100644
index 0000000..6c78cd8
--- /dev/null
+++ b/poshsecframework/PShell/pscredentialeditor.cs
@@ -0,0 +1,117 @@
+using System;
+using System.ComponentModel;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.Design;
+using System.Linq;
+using System.Net;
+using System.Management.Automation;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Windows.Forms;
+
+namespace poshsecframework.PShell
+{
+ class pscredentialeditor : System.Drawing.Design.UITypeEditor
+ {
+ [DllImport("credui.dll", CharSet = CharSet.Auto)]
+ private static extern int CredUIPromptForWindowsCredentials(ref CREDUI_INFO notUsedHere,
+ int authError,
+ ref uint authPackage,
+ IntPtr InAuthBuffer,
+ uint InAuthBufferSize,
+ out IntPtr refOutAuthBuffer,
+ out uint refOutAuthBufferSize,
+ ref bool fSave,
+ int flags);
+
+ [DllImport("credui.dll", CharSet = CharSet.Auto)]
+ private static extern bool CredUnPackAuthenticationBuffer(int dwFlags,
+ IntPtr pAuthBuffer,
+ uint cbAuthBuffer,
+ StringBuilder pszUserName,
+ ref int pcchMaxUserName,
+ StringBuilder pszDomainName,
+ ref int pcchMaxDomainame,
+ StringBuilder pszPassword,
+ ref int pcchMaxPassword);
+
+ [DllImport("ole32.dll")]
+ public static extern void CoTaskMemFree(IntPtr ptr);
+
+ public override System.Drawing.Design.UITypeEditorEditStyle GetEditStyle(System.ComponentModel.ITypeDescriptorContext context)
+ {
+ return System.Drawing.Design.UITypeEditorEditStyle.Modal;
+ }
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
+ private struct CREDUI_INFO
+ {
+ public int cbSize;
+ public IntPtr hwndParent;
+ public string pszMessageText;
+ public string pszCaptionText;
+ public IntPtr hbmBanner;
+ }
+
+ [RefreshProperties(System.ComponentModel.RefreshProperties.All)]
+ public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
+ {
+ if (context == null || context.Instance == null)
+ {
+ return base.EditValue(context, provider, value);
+ }
+ else
+ {
+ value = null;
+ NetworkCredential creds = GetCredential();
+ if (creds != null)
+ {
+ System.Security.SecureString pwd = new System.Security.SecureString();
+ foreach(var c in creds.Password)
+ {
+ pwd.AppendChar(c);
+ }
+ PSCredential rtncrds = new PSCredential(creds.UserName, pwd);
+ creds = null;
+ pwd = null;
+ GC.Collect();
+ value = rtncrds;
+ }
+ return value;
+ }
+ }
+
+ public static NetworkCredential GetCredential()
+ {
+ CREDUI_INFO credui = new CREDUI_INFO();
+ credui.pszCaptionText = "Please enter the credentials.";
+ credui.pszMessageText = "DisplayedMessage";
+ credui.cbSize = Marshal.SizeOf(credui);
+ uint authPackage = 0;
+ IntPtr outCredBuffer = new IntPtr();
+ uint outCredSize;
+ bool save = false;
+ int result = CredUIPromptForWindowsCredentials(ref credui,0,ref authPackage,IntPtr.Zero,0,out outCredBuffer,out outCredSize,ref save,0x1);
+
+ var usernameBuf = new StringBuilder(100);
+ var passwordBuf = new StringBuilder(100);
+ var domainBuf = new StringBuilder(100);
+
+ int maxUserName = 100;
+ int maxDomain = 100;
+ int maxPassword = 100;
+ NetworkCredential netcreds = null;
+ if (result == 0)
+ {
+ if (CredUnPackAuthenticationBuffer(0, outCredBuffer, outCredSize, usernameBuf, ref maxUserName, domainBuf, ref maxDomain, passwordBuf, ref maxPassword))
+ {
+ CoTaskMemFree(outCredBuffer);
+ netcreds = new NetworkCredential(usernameBuf.ToString(), passwordBuf.ToString(), domainBuf.ToString());
+ }
+ }
+
+ return netcreds;
+ }
+ }
+}
diff --git a/poshsecframework/PShell/pscript.cs b/poshsecframework/PShell/pscript.cs
index 42d3561..a133a32 100644
--- a/poshsecframework/PShell/pscript.cs
+++ b/poshsecframework/PShell/pscript.cs
@@ -504,6 +504,14 @@ public List CheckForParams(String scriptcommand)
{
prm.IsHostList = true;
}
+ if (prm.Name.ToLower() == "file" || prm.Name.ToLower() == "filename")
+ {
+ prm.IsFileName = true;
+ }
+ if (prm.Name.ToLower() == "credential")
+ {
+ prm.IsCredential = true;
+ }
parm.Properties.Add(prm);
}
idx++;
diff --git a/poshsecframework/PShell/psfhostinterface.cs b/poshsecframework/PShell/psfhostinterface.cs
index 9ecc90b..a32dcec 100644
--- a/poshsecframework/PShell/psfhostinterface.cs
+++ b/poshsecframework/PShell/psfhostinterface.cs
@@ -144,6 +144,10 @@ public override void WriteWarningLine(string message)
{
prm.IsFileName = true;
}
+ if (prm.Name.ToLower() == "credential")
+ {
+ prm.IsCredential = true;
+ }
parm.Properties.Add(prm);
}
if (frm.ShowParams(parm) == System.Windows.Forms.DialogResult.OK)
diff --git a/poshsecframework/PShell/pshell.cs b/poshsecframework/PShell/pshell.cs
index 7baebeb..3e7aa78 100644
--- a/poshsecframework/PShell/pshell.cs
+++ b/poshsecframework/PShell/pshell.cs
@@ -144,7 +144,10 @@ public void Run(string ScriptCommand, bool IsCommand = false, bool Clicked = tru
ps.IsCommand = IsCommand;
ps.Clicked = clicked;
ps.ScriptListView = lvw;
- ps.Parameters.Clear();
+ if (ps.Parameters != null)
+ {
+ ps.Parameters.Clear();
+ }
Thread thd = new Thread(ps.RunScript);
thd.SetApartmentState(ApartmentState.STA);
diff --git a/poshsecframework/PShell/psparameter.cs b/poshsecframework/PShell/psparameter.cs
index a915a8b..da1e3f4 100644
--- a/poshsecframework/PShell/psparameter.cs
+++ b/poshsecframework/PShell/psparameter.cs
@@ -24,6 +24,7 @@ public class psparameter
public Object DefaultValue { get; set; }
public Boolean IsFileName { get; set; }
public Boolean IsHostList { get; set; }
+ public Boolean IsCredential { get; set; }
private Type type;
[XmlIgnoreAttribute()]
diff --git a/poshsecframework/PShell/psparamtype.cs b/poshsecframework/PShell/psparamtype.cs
index 1c58fed..514433e 100644
--- a/poshsecframework/PShell/psparamtype.cs
+++ b/poshsecframework/PShell/psparamtype.cs
@@ -136,6 +136,10 @@ public override object GetEditor(Type editorBaseType)
{
return new pshosteditor();
}
+ else if (psparam.IsCredential)
+ {
+ return new pscredentialeditor();
+ }
else
{
return base.GetEditor(editorBaseType);
diff --git a/poshsecframework/Properties/AssemblyInfo.cs b/poshsecframework/Properties/AssemblyInfo.cs
index 792c979..644f5e1 100644
--- a/poshsecframework/Properties/AssemblyInfo.cs
+++ b/poshsecframework/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@
// Build Number
// Revision
//
-[assembly: AssemblyVersion("0.2.0.0")]
-[assembly: AssemblyFileVersion("0.2.0.0")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/poshsecframework/poshsecframework.csproj b/poshsecframework/poshsecframework.csproj
index 6207c9c..1d06d28 100644
--- a/poshsecframework/poshsecframework.csproj
+++ b/poshsecframework/poshsecframework.csproj
@@ -144,11 +144,14 @@
+
-
+
+ Code
+