diff --git a/CodeWalker.WinForms/FormUtils.cs b/CodeWalker.WinForms/FormUtils.cs
index e6348e5..2f66c47 100644
--- a/CodeWalker.WinForms/FormUtils.cs
+++ b/CodeWalker.WinForms/FormUtils.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
+using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
@@ -228,6 +229,91 @@ namespace CodeWalker
}
+ public static class FolderBrowserExtension
+ {
+
+ public static DialogResult ShowDialogNew(this FolderBrowserDialog fbd)
+ {
+ return ShowDialogNew(fbd, (IntPtr)0);
+ }
+ public static DialogResult ShowDialogNew(this FolderBrowserDialog fbd, IntPtr hWndOwner)
+ {
+ if (Environment.OSVersion.Version.Major >= 6)
+ {
+ var ofd = new OpenFileDialog();
+ ofd.Filter = "Folders|\n";
+ ofd.AddExtension = false;
+ ofd.CheckFileExists = false;
+ ofd.DereferenceLinks = true;
+ ofd.Multiselect = false;
+ ofd.InitialDirectory = fbd.SelectedPath;
+
+ int result = 0;
+ var ns = "System.Windows.Forms";
+ var asmb = Assembly.GetAssembly(typeof(OpenFileDialog));
+ var dialogint = GetType(asmb, ns, "FileDialogNative.IFileDialog");
+ var dialog = Call(typeof(OpenFileDialog), ofd, "CreateVistaDialog");
+ Call(typeof(OpenFileDialog), ofd, "OnBeforeVistaDialog", dialog);
+ var options = Convert.ToUInt32(Call(typeof(FileDialog), ofd, "GetOptions"));
+ options |= Convert.ToUInt32(GetEnumValue(asmb, ns, "FileDialogNative.FOS", "FOS_PICKFOLDERS"));
+ Call(dialogint, dialog, "SetOptions", options);
+ var pfde = New(asmb, ns, "FileDialog.VistaDialogEvents", ofd);
+ var parameters = new object[] { pfde, (uint)0 };
+ Call(dialogint, dialog, "Advise", parameters);
+ var adviseres = Convert.ToUInt32(parameters[1]);
+ try { result = Convert.ToInt32(Call(dialogint, dialog, "Show", hWndOwner)); }
+ finally { Call(dialogint, dialog, "Unadvise", adviseres); }
+ GC.KeepAlive(pfde);
+
+ fbd.SelectedPath = ofd.FileName;
+
+ return (result == 0) ? DialogResult.OK : DialogResult.Cancel;
+ }
+ else
+ {
+ return fbd.ShowDialog();
+ }
+ }
+
+
+ private static Type GetType(Assembly asmb, string ns, string name)
+ {
+ Type type = null;
+ string[] names = name.Split('.');
+ if (names.Length > 0)
+ {
+ type = asmb.GetType(ns + "." + names[0]);
+ }
+ for (int i = 1; i < names.Length; i++)
+ {
+ type = type.GetNestedType(names[i], BindingFlags.NonPublic);
+ }
+ return type;
+ }
+ private static object Call(Type type, object obj, string func, params object[] parameters)
+ {
+ var mi = type.GetMethod(func, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
+ if (mi == null) return null;
+ return mi.Invoke(obj, parameters);
+ }
+ private static object GetEnumValue(Assembly asmb, string ns, string typeName, string name)
+ {
+ var type = GetType(asmb, ns, typeName);
+ var fieldInfo = type.GetField(name);
+ return fieldInfo.GetValue(null);
+ }
+ private static object New(Assembly asmb, string ns, string name, params object[] parameters)
+ {
+ var type = GetType(asmb, ns, name);
+ var ctorInfos = type.GetConstructors();
+ foreach (ConstructorInfo ci in ctorInfos)
+ {
+ try { return ci.Invoke(parameters); }
+ catch { }
+ }
+ return null;
+ }
+ }
public static class Prompt
diff --git a/CodeWalker/ExploreForm.cs b/CodeWalker/ExploreForm.cs
index ab64847..fe6bc6d 100644
--- a/CodeWalker/ExploreForm.cs
+++ b/CodeWalker/ExploreForm.cs
@@ -2033,7 +2033,7 @@ namespace CodeWalker
FolderBrowserDialog.SelectedPath = selpath;
}
- if (FolderBrowserDialog.ShowDialog() != DialogResult.OK) return "";
+ if (FolderBrowserDialog.ShowDialogNew() != DialogResult.OK) return "";
string folderpath = FolderBrowserDialog.SelectedPath;
if (!folderpath.EndsWith("\\")) folderpath += "\\";
diff --git a/CodeWalker/Forms/YtdForm.cs b/CodeWalker/Forms/YtdForm.cs
index 71e1029..70e269d 100644
--- a/CodeWalker/Forms/YtdForm.cs
+++ b/CodeWalker/Forms/YtdForm.cs
@@ -248,7 +248,7 @@ namespace CodeWalker.Forms
private void SaveAll()
{
if (TexDict?.Textures?.data_items == null) return;
- if (FolderBrowserDialog.ShowDialog() != DialogResult.OK) return;
+ if (FolderBrowserDialog.ShowDialogNew() != DialogResult.OK) return;
var folder = FolderBrowserDialog.SelectedPath;
foreach (var tex in TexDict.Textures.data_items)
{
diff --git a/CodeWalker/MenuForm.Designer.cs b/CodeWalker/MenuForm.Designer.cs
index 1fa4e6c..d2a7e73 100644
--- a/CodeWalker/MenuForm.Designer.cs
+++ b/CodeWalker/MenuForm.Designer.cs
@@ -29,8 +29,6 @@
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MenuForm));
- this.FolderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
- this.OpenFileDialog = new System.Windows.Forms.OpenFileDialog();
this.ExtractScriptsButton = new System.Windows.Forms.Button();
this.BinarySearchButton = new System.Windows.Forms.Button();
this.RPFBrowserButton = new System.Windows.Forms.Button();
@@ -187,7 +185,7 @@
this.RPFExplorerButton.UseVisualStyleBackColor = true;
this.RPFExplorerButton.Click += new System.EventHandler(this.RPFExplorerButton_Click);
//
- // MainForm
+ // MenuForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
@@ -207,7 +205,7 @@
this.Controls.Add(this.BinarySearchButton);
this.Controls.Add(this.ExtractScriptsButton);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.Name = "MainForm";
+ this.Name = "MenuForm";
this.Text = "CodeWalker Menu";
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
this.Load += new System.EventHandler(this.MainForm_Load);
@@ -216,8 +214,6 @@
}
#endregion
- private System.Windows.Forms.FolderBrowserDialog FolderBrowserDialog;
- private System.Windows.Forms.OpenFileDialog OpenFileDialog;
private System.Windows.Forms.Button ExtractScriptsButton;
private System.Windows.Forms.Button BinarySearchButton;
private System.Windows.Forms.Button RPFBrowserButton;
diff --git a/CodeWalker/MenuForm.resx b/CodeWalker/MenuForm.resx
index a662b38..1431f6b 100644
--- a/CodeWalker/MenuForm.resx
+++ b/CodeWalker/MenuForm.resx
@@ -117,12 +117,6 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 17, 17
-
-
- 182, 17
-
diff --git a/CodeWalker/Tools/BinarySearchForm.cs b/CodeWalker/Tools/BinarySearchForm.cs
index 8c052ba..83857e5 100644
--- a/CodeWalker/Tools/BinarySearchForm.cs
+++ b/CodeWalker/Tools/BinarySearchForm.cs
@@ -98,7 +98,7 @@ namespace CodeWalker.Tools
private void FileSearchFolderBrowseButton_Click(object sender, EventArgs e)
{
FolderBrowserDialog.SelectedPath = FileSearchFolderTextBox.Text;
- DialogResult res = FolderBrowserDialog.ShowDialog();
+ DialogResult res = FolderBrowserDialog.ShowDialogNew();
if (res == DialogResult.OK)
{
FileSearchFolderTextBox.Text = FolderBrowserDialog.SelectedPath;
diff --git a/CodeWalker/Tools/BrowseForm.Designer.cs b/CodeWalker/Tools/BrowseForm.Designer.cs
index 1f4c84b..6feb768 100644
--- a/CodeWalker/Tools/BrowseForm.Designer.cs
+++ b/CodeWalker/Tools/BrowseForm.Designer.cs
@@ -33,7 +33,6 @@
this.FolderBrowseButton = new System.Windows.Forms.Button();
this.FolderTextBox = new System.Windows.Forms.TextBox();
this.ScanButton = new System.Windows.Forms.Button();
- this.FolderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
@@ -790,7 +789,6 @@
private System.Windows.Forms.Button FolderBrowseButton;
private System.Windows.Forms.TextBox FolderTextBox;
private System.Windows.Forms.Button ScanButton;
- private System.Windows.Forms.FolderBrowserDialog FolderBrowserDialog;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.TreeView MainTreeView;
private System.Windows.Forms.StatusStrip MainStatusStrip;
diff --git a/CodeWalker/Tools/BrowseForm.resx b/CodeWalker/Tools/BrowseForm.resx
index 6337549..257f9a7 100644
--- a/CodeWalker/Tools/BrowseForm.resx
+++ b/CodeWalker/Tools/BrowseForm.resx
@@ -117,9 +117,6 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 17, 17
-
182, 17
diff --git a/CodeWalker/Tools/ExtractKeysForm.Designer.cs b/CodeWalker/Tools/ExtractKeysForm.Designer.cs
index d265bc5..efc9782 100644
--- a/CodeWalker/Tools/ExtractKeysForm.Designer.cs
+++ b/CodeWalker/Tools/ExtractKeysForm.Designer.cs
@@ -34,7 +34,6 @@
this.FolderBrowseButton = new System.Windows.Forms.Button();
this.FolderTextBox = new System.Windows.Forms.TextBox();
this.StatusLabel = new System.Windows.Forms.Label();
- this.FolderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
this.label2 = new System.Windows.Forms.Label();
this.ExeBrowseButton = new System.Windows.Forms.Button();
this.ExeTextBox = new System.Windows.Forms.TextBox();
@@ -151,7 +150,6 @@
private System.Windows.Forms.Button FolderBrowseButton;
private System.Windows.Forms.TextBox FolderTextBox;
private System.Windows.Forms.Label StatusLabel;
- private System.Windows.Forms.FolderBrowserDialog FolderBrowserDialog;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button ExeBrowseButton;
private System.Windows.Forms.TextBox ExeTextBox;
diff --git a/CodeWalker/Tools/ExtractKeysForm.resx b/CodeWalker/Tools/ExtractKeysForm.resx
index e71684f..42db761 100644
--- a/CodeWalker/Tools/ExtractKeysForm.resx
+++ b/CodeWalker/Tools/ExtractKeysForm.resx
@@ -117,9 +117,6 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 17, 17
-
326, 17
diff --git a/CodeWalker/Tools/ExtractRawForm.cs b/CodeWalker/Tools/ExtractRawForm.cs
index 003ad9f..d68bfe9 100644
--- a/CodeWalker/Tools/ExtractRawForm.cs
+++ b/CodeWalker/Tools/ExtractRawForm.cs
@@ -72,7 +72,7 @@ namespace CodeWalker.Tools
private void OutputFolderBrowseButton_Click(object sender, EventArgs e)
{
FolderBrowserDialog.SelectedPath = OutputFolderTextBox.Text;
- DialogResult res = FolderBrowserDialog.ShowDialog();
+ DialogResult res = FolderBrowserDialog.ShowDialogNew();
if (res == DialogResult.OK)
{
OutputFolderTextBox.Text = FolderBrowserDialog.SelectedPath;
diff --git a/CodeWalker/Tools/ExtractScriptsForm.cs b/CodeWalker/Tools/ExtractScriptsForm.cs
index 6a54a3b..0cbf466 100644
--- a/CodeWalker/Tools/ExtractScriptsForm.cs
+++ b/CodeWalker/Tools/ExtractScriptsForm.cs
@@ -63,7 +63,7 @@ namespace CodeWalker.Tools
private void OutputFolderBrowseButton_Click(object sender, EventArgs e)
{
FolderBrowserDialog.SelectedPath = OutputFolderTextBox.Text;
- DialogResult res = FolderBrowserDialog.ShowDialog();
+ DialogResult res = FolderBrowserDialog.ShowDialogNew();
if (res == DialogResult.OK)
{
OutputFolderTextBox.Text = FolderBrowserDialog.SelectedPath;
diff --git a/CodeWalker/Tools/ExtractShadersForm.cs b/CodeWalker/Tools/ExtractShadersForm.cs
index 6caffc8..23af922 100644
--- a/CodeWalker/Tools/ExtractShadersForm.cs
+++ b/CodeWalker/Tools/ExtractShadersForm.cs
@@ -57,7 +57,7 @@ namespace CodeWalker.Tools
private void OutputFolderBrowseButton_Click(object sender, EventArgs e)
{
FolderBrowserDialog.SelectedPath = OutputFolderTextBox.Text;
- DialogResult res = FolderBrowserDialog.ShowDialog();
+ DialogResult res = FolderBrowserDialog.ShowDialogNew();
if (res == DialogResult.OK)
{
OutputFolderTextBox.Text = FolderBrowserDialog.SelectedPath;
diff --git a/CodeWalker/Tools/ExtractTexForm.cs b/CodeWalker/Tools/ExtractTexForm.cs
index c679783..06d9113 100644
--- a/CodeWalker/Tools/ExtractTexForm.cs
+++ b/CodeWalker/Tools/ExtractTexForm.cs
@@ -56,7 +56,7 @@ namespace CodeWalker.Tools
private void OutputFolderBrowseButton_Click(object sender, EventArgs e)
{
FolderBrowserDialog.SelectedPath = OutputFolderTextBox.Text;
- DialogResult res = FolderBrowserDialog.ShowDialog();
+ DialogResult res = FolderBrowserDialog.ShowDialogNew();
if (res == DialogResult.OK)
{
OutputFolderTextBox.Text = FolderBrowserDialog.SelectedPath;
diff --git a/CodeWalker/Utils/SelectFolderForm.cs b/CodeWalker/Utils/SelectFolderForm.cs
index 541ddff..74d0ba0 100644
--- a/CodeWalker/Utils/SelectFolderForm.cs
+++ b/CodeWalker/Utils/SelectFolderForm.cs
@@ -33,7 +33,7 @@ namespace CodeWalker.Utils
private void FolderBrowseButton_Click(object sender, EventArgs e)
{
FolderBrowserDialog.SelectedPath = FolderTextBox.Text;
- DialogResult res = FolderBrowserDialog.ShowDialog();
+ DialogResult res = FolderBrowserDialog.ShowDialogNew();
if (res == DialogResult.OK)
{
FolderTextBox.Text = FolderBrowserDialog.SelectedPath;
diff --git a/CodeWalker/World/WorldInfoForm.cs b/CodeWalker/World/WorldInfoForm.cs
index 4babfae..1f84c0d 100644
--- a/CodeWalker/World/WorldInfoForm.cs
+++ b/CodeWalker/World/WorldInfoForm.cs
@@ -538,7 +538,7 @@ namespace CodeWalker.World
private void SaveAllTexturesButton_Click(object sender, EventArgs e)
{
- if (FolderBrowserDialog.ShowDialog() != DialogResult.OK) return;
+ if (FolderBrowserDialog.ShowDialogNew() != DialogResult.OK) return;
string folderpath = FolderBrowserDialog.SelectedPath;
if (!folderpath.EndsWith("\\")) folderpath += "\\";
diff --git a/CodeWalker/WorldForm.Designer.cs b/CodeWalker/WorldForm.Designer.cs
index fa5679d..822a7ca 100644
--- a/CodeWalker/WorldForm.Designer.cs
+++ b/CodeWalker/WorldForm.Designer.cs
@@ -32,7 +32,6 @@ namespace CodeWalker
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WorldForm));
- this.FolderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
this.StatusStrip = new System.Windows.Forms.StatusStrip();
this.StatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
this.MousedLabel = new System.Windows.Forms.ToolStripStatusLabel();
@@ -178,6 +177,7 @@ namespace CodeWalker
this.BoundsStyleComboBox = new System.Windows.Forms.ComboBox();
this.label8 = new System.Windows.Forms.Label();
this.OptionsLightingTabPage = new System.Windows.Forms.TabPage();
+ this.HDLightsCheckBox = new System.Windows.Forms.CheckBox();
this.DeferredShadingCheckBox = new System.Windows.Forms.CheckBox();
this.WeatherRegionComboBox = new System.Windows.Forms.ComboBox();
this.label29 = new System.Windows.Forms.Label();
@@ -312,7 +312,6 @@ namespace CodeWalker
this.ToolbarPanel = new System.Windows.Forms.Panel();
this.SubtitleLabel = new System.Windows.Forms.Label();
this.SubtitleTimer = new System.Windows.Forms.Timer(this.components);
- this.HDLightsCheckBox = new System.Windows.Forms.CheckBox();
this.StatusStrip.SuspendLayout();
this.ToolsPanel.SuspendLayout();
this.ToolsTabControl.SuspendLayout();
@@ -2283,6 +2282,19 @@ namespace CodeWalker
this.OptionsLightingTabPage.Text = "Lighting";
this.OptionsLightingTabPage.UseVisualStyleBackColor = true;
//
+ // HDLightsCheckBox
+ //
+ this.HDLightsCheckBox.AutoSize = true;
+ this.HDLightsCheckBox.Checked = true;
+ this.HDLightsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.HDLightsCheckBox.Location = new System.Drawing.Point(10, 93);
+ this.HDLightsCheckBox.Name = "HDLightsCheckBox";
+ this.HDLightsCheckBox.Size = new System.Drawing.Size(69, 17);
+ this.HDLightsCheckBox.TabIndex = 34;
+ this.HDLightsCheckBox.Text = "HD lights";
+ this.HDLightsCheckBox.UseVisualStyleBackColor = true;
+ this.HDLightsCheckBox.CheckedChanged += new System.EventHandler(this.HDLightsCheckBox_CheckedChanged);
+ //
// DeferredShadingCheckBox
//
this.DeferredShadingCheckBox.AutoSize = true;
@@ -3592,19 +3604,6 @@ namespace CodeWalker
//
this.SubtitleTimer.Tick += new System.EventHandler(this.SubtitleTimer_Tick);
//
- // HDLightsCheckBox
- //
- this.HDLightsCheckBox.AutoSize = true;
- this.HDLightsCheckBox.Checked = true;
- this.HDLightsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
- this.HDLightsCheckBox.Location = new System.Drawing.Point(10, 93);
- this.HDLightsCheckBox.Name = "HDLightsCheckBox";
- this.HDLightsCheckBox.Size = new System.Drawing.Size(69, 17);
- this.HDLightsCheckBox.TabIndex = 34;
- this.HDLightsCheckBox.Text = "HD lights";
- this.HDLightsCheckBox.UseVisualStyleBackColor = true;
- this.HDLightsCheckBox.CheckedChanged += new System.EventHandler(this.HDLightsCheckBox_CheckedChanged);
- //
// WorldForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -3696,8 +3695,6 @@ namespace CodeWalker
}
#endregion
-
- private System.Windows.Forms.FolderBrowserDialog FolderBrowserDialog;
private System.Windows.Forms.StatusStrip StatusStrip;
private System.Windows.Forms.ToolStripStatusLabel StatusLabel;
private System.Windows.Forms.ComboBox ModelComboBox;
diff --git a/CodeWalker/WorldForm.resx b/CodeWalker/WorldForm.resx
index 1ea334c..0e069f5 100644
--- a/CodeWalker/WorldForm.resx
+++ b/CodeWalker/WorldForm.resx
@@ -117,9 +117,6 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 17, 17
-
182, 17
@@ -240,14 +237,6 @@ ufo
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB4SURBVDhP3ZC7DcAgDEQZKTMwHOvSIFriS7BlEB+HMic9
QJbvFThLUkpXzjkSpaeuzMPlEELx3jdsBauyCHBY6UWYPQI93KEljQD3jL6EGzN6x0bASyNYwkKU8Udm
gd6TMnIikDJyIqjVNz8T7FgKrAwFX6lVinM3aJ05lWDPRRcAAAAASUVORK5CYII=
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB0SURBVDhP7ZNBCoAgEEXnSJ3BqxmetNpaMLhVv5DNRJS2
- CxIeuvA9XSjtg5mHEILPxB6U7JyLxphmSkDK1o5x9dst87SUfTXwRsYsA+paT0BGDGsVOJ92hdz3Bz4f
- wGPC48uu7w5IGd+gBlpRMgYCnRwyESUj3CsQkYNFDwAAAABJRU5ErkJggg==
@@ -269,13 +258,12 @@ ufo
WBXYx9R1nV75RuyHKrrnzCcGjE1u9ZyD4BugoZigQ9xrngAAAABJRU5ErkJggg==
-
+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPrZBBEsIgEAR5Gy/wFV55T/wHr+KgHuCKNsVY
- ZI2JiU7VVIVlp7OL+1mllIr7cb8Ie++PQwQYITnnM24NWxoBgsQYm/l+gk699bMsRA4h1JTSPsg0Xert
- em/mGwh3vW1Z7MvIABSWqXG3+iZHAEw1m4wD49oVANgVOL/VeSgeDAiX1mpWeKy9BIQiI+OxWQF77tG5
- 2Fc729BmeElf/3lNhORe+oecewDObEqX49RqCgAAAABJRU5ErkJggg==
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB0SURBVDhP7ZNBCoAgEEXnSJ3BqxmetNpaMLhVv5DNRJS2
+ CxIeuvA9XSjtg5mHEILPxB6U7JyLxphmSkDK1o5x9dst87SUfTXwRsYsA+paT0BGDGsVOJ92hdz3Bz4f
+ wGPC48uu7w5IGd+gBlpRMgYCnRwyESUj3CsQkYNFDwAAAABJRU5ErkJggg==
@@ -304,6 +292,15 @@ ufo
EcMw2DzPDMEke9AsYBrHs10vN4I1QqImwwDcFyMjQGaBHr5Bo8nEoYCnCQTGzVeI4oj6fIi+KHgoPBhC
4knCjTww9vxfbIUQNDEyiGIZ8t6tW/k0vC/AOpuiueNOLwVkUeylvju9FJCg8E1vM/2PlTv5UoervVTJ
uQAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPrZBBEsIgEAR5Gy/wFV55T/wHr+KgHuCKNsVY
+ ZI2JiU7VVIVlp7OL+1mllIr7cb8Ie++PQwQYITnnM24NWxoBgsQYm/l+gk699bMsRA4h1JTSPsg0Xert
+ em/mGwh3vW1Z7MvIABSWqXG3+iZHAEw1m4wD49oVANgVOL/VeSgeDAiX1mpWeKy9BIQiI+OxWQF77tG5
+ 2Fc729BmeElf/3lNhORe+oecewDObEqX49RqCgAAAABJRU5ErkJggg==
@@ -389,17 +386,6 @@ ufo
4BJN+IjGo5O8ZJndGVhKxpjWWts551aih0fre+0BLaVchRAezPB2NXSSV/gVwXGYPJiVUt6ns1ghCDjn
UQG86w3FToVgDcWCWS9Fvi/Ao0RVAcwUjwpyhzmf4n8BFApS5HZRwRuONGMbrIJ1JIN8O2QAAAAASUVO
RK5CYII=
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEvSURBVDhP3dK/K0dRGMfxKxRJopCSEkLya/guUhQRmQwG
- WfwIkYySgYUSKUKJlOK/MBoMFMofYLUIsfJ+f3NuF3+A8tRree5zP/fcc070f6oHT/jAPTqQj6WvXvCM
- TZQgG3H58gFGcYVLtGIN15jBNDbwiGNUIg4pQx8GsQuHhrCDW8yjHyns4Q0DcCXpykM5bFzgHGPYxw1G
- UIVMtMHfWUUj4nIg/KurGIYrSAZYOXDGlbhXcZlegUO8Yxzb+BlQAwNW0G0jVAYK0AwHtnCEOyQDZvGC
- ObTbKIIvLMA9WIYDizhFMsDjfsAZptCA9JcdfoVBvryOSbgCe4HPTuCz+BQMKEUvJmCy96ET1ehCuAf2
- 5ZF+uwdZKEYtmuBGFSIXhtejBe5PHX7dxL+qKPoEppRHcXOtiDsAAAAASUVORK5CYII=
@@ -435,6 +421,17 @@ ufo
rp3fhGJScIRLzKMLFTC9cMIu3nCDVUyjB6WkYA93mEWbAyH9cMImPuA+rWMA31YwBU82kF6BS32Er/aO
M8zAh+OEghpcwQ2bg3uwBW8ewFd7xQkm0IA4oaAS7bh2KHjBIZbhV/D6GJkFphrdcIP8lFrAGPwPOjCO
QdQiTqrAWNICd7gPnUj+xBKaU9dxfhTkjwV/FxU+AbsiGnc46OYIAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEvSURBVDhP3dK/K0dRGMfxKxRJopCSEkLya/guUhQRmQwG
+ WfwIkYySgYUSKUKJlOK/MBoMFMofYLUIsfJ+f3NuF3+A8tRree5zP/fcc070f6oHT/jAPTqQj6WvXvCM
+ TZQgG3H58gFGcYVLtGIN15jBNDbwiGNUIg4pQx8GsQuHhrCDW8yjHyns4Q0DcCXpykM5bFzgHGPYxw1G
+ UIVMtMHfWUUj4nIg/KurGIYrSAZYOXDGlbhXcZlegUO8Yxzb+BlQAwNW0G0jVAYK0AwHtnCEOyQDZvGC
+ ObTbKIIvLMA9WIYDizhFMsDjfsAZptCA9JcdfoVBvryOSbgCe4HPTuCz+BQMKEUvJmCy96ET1ehCuAf2
+ 5ZF+uwdZKEYtmuBGFSIXhtejBe5PHX7dxL+qKPoEppRHcXOtiDsAAAAASUVORK5CYII=