diff options
-rw-r--r-- | CHANGELOG.md | 6 | ||||
-rw-r--r-- | UVtools.Core/FileFormats/CWSFile.cs | 10 | ||||
-rw-r--r-- | UVtools.Core/Layer/LayerManager.cs | 42 | ||||
-rw-r--r-- | UVtools.Core/UVtools.Core.csproj | 6 | ||||
-rw-r--r-- | UVtools.GUI/App.config | 3 | ||||
-rw-r--r-- | UVtools.GUI/Controls/BenchmarkTest.cs | 27 | ||||
-rw-r--r-- | UVtools.GUI/Forms/FrmBenchmark.Designer.cs | 232 | ||||
-rw-r--r-- | UVtools.GUI/Forms/FrmBenchmark.cs | 444 | ||||
-rw-r--r-- | UVtools.GUI/Forms/FrmBenchmark.resx | 2210 | ||||
-rw-r--r-- | UVtools.GUI/FrmMain.Designer.cs | 1595 | ||||
-rw-r--r-- | UVtools.GUI/FrmMain.cs | 11 | ||||
-rw-r--r-- | UVtools.GUI/FrmMain.resx | 34 | ||||
-rw-r--r-- | UVtools.GUI/Images/microchip_16x16.png | bin | 0 -> 116 bytes | |||
-rw-r--r-- | UVtools.GUI/Properties/AssemblyInfo.cs | 4 | ||||
-rw-r--r-- | UVtools.GUI/Properties/Resources.Designer.cs | 10 | ||||
-rw-r--r-- | UVtools.GUI/Properties/Resources.resx | 47 | ||||
-rw-r--r-- | UVtools.GUI/UVtools.GUI.csproj | 13 | ||||
-rw-r--r-- | UVtools.GUI/packages.config | 2 |
18 files changed, 3837 insertions, 859 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 8757273..3be8e9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 27/08/2020 - v0.6.7.1 + +* (Add) Menu - Help - Benchmark: Run benchmark test to measure system performance +* (Fix) Properties listview trigger an error when there are no groups to show +* (Fix) Elfin: "(Number of Slices = x)" to ";Number of Slices = x" (#24) + ## 21/08/2020 - v0.6.7.0 * (Add) Tool: Layer Clone diff --git a/UVtools.Core/FileFormats/CWSFile.cs b/UVtools.Core/FileFormats/CWSFile.cs index fa4aaf0..4743698 100644 --- a/UVtools.Core/FileFormats/CWSFile.cs +++ b/UVtools.Core/FileFormats/CWSFile.cs @@ -601,7 +601,15 @@ G1 Z-3.9 F120 { var displayNameAttribute = propertyInfo.GetCustomAttributes(false).OfType<DisplayNameAttribute>().FirstOrDefault(); if (ReferenceEquals(displayNameAttribute, null)) continue; - GCode.AppendLine($";({displayNameAttribute.DisplayName.PadRight(24)} = {propertyInfo.GetValue(OutputSettings)})"); + if (propertyInfo.Name.Equals(nameof(OutputSettings.LayersNum))) + { + GCode.AppendLine($";{displayNameAttribute.DisplayName.PadRight(24)} = {propertyInfo.GetValue(OutputSettings)}"); + } + else + { + GCode.AppendLine($";({displayNameAttribute.DisplayName.PadRight(24)} = {propertyInfo.GetValue(OutputSettings)})"); + } + } GCode.AppendLine(); GCode.AppendFormat(GCodeStart, Environment.NewLine); diff --git a/UVtools.Core/Layer/LayerManager.cs b/UVtools.Core/Layer/LayerManager.cs index 608475f..95cc64a 100644 --- a/UVtools.Core/Layer/LayerManager.cs +++ b/UVtools.Core/Layer/LayerManager.cs @@ -875,30 +875,19 @@ namespace UVtools.Core } } + if (islandConfig.BinaryThreshold > 0) + { + CvInvoke.Threshold(image, image, islandConfig.BinaryThreshold, 255, + ThresholdType.Binary); + } + using (Mat labels = new Mat()) using (Mat stats = new Mat()) using (Mat centroids = new Mat()) { - if (islandConfig.BinaryThreshold > 0) - { - CvInvoke.Threshold(image, image, islandConfig.BinaryThreshold, 255, ThresholdType.Binary); - /*using (var thresholdImage = new Mat()) - { - CvInvoke.Threshold(image, thresholdImage, islandConfig.BinaryThreshold, 255, ThresholdType.Binary); - // Evaluate number of connected components using the 4-connected neighbor approach - numLabels = CvInvoke.ConnectedComponentsWithStats(thresholdImage, labels, stats, centroids, - islandConfig.AllowDiagonalBonds ? LineType.EightConnected : LineType.FourConnected); - }*/ - } - /*else - { - // Evaluate number of connected components 4-connected neighbor approach - numLabels = CvInvoke.ConnectedComponentsWithStats(image, labels, stats, centroids, - islandConfig.AllowDiagonalBonds ? LineType.EightConnected : LineType.FourConnected); - }*/ var numLabels = CvInvoke.ConnectedComponentsWithStats(image, labels, stats, centroids, islandConfig.AllowDiagonalBonds ? LineType.EightConnected : LineType.FourConnected); - + // Get array that contains details of each connected component var ccStats = stats.GetData(); //stats[i][0]: Left Edge of Connected Component @@ -1012,6 +1001,7 @@ namespace UVtools.Core { if ((int) arr.GetValue(0, i, 2) != -1 || (int) arr.GetValue(0, i, 3) == -1) continue; + var rect = CvInvoke.BoundingRectangle(contours[i]); if(rect.GetArea() < resinTrapConfig.RequiredAreaToProcessCheck) continue; @@ -1574,7 +1564,7 @@ namespace UVtools.Core if (ReferenceEquals(progress, null)) progress = new OperationProgress(); progress.Reset("Drawings", (uint) pixelHistory.Count); - ConcurrentDictionary<uint, Mat> modfiedLayers = new ConcurrentDictionary<uint, Mat>(); + ConcurrentDictionary<uint, Mat> modifiedLayers = new ConcurrentDictionary<uint, Mat>(); for (var i = 0; i < pixelHistory.Count; i++) { var operation = pixelHistory[i]; @@ -1584,7 +1574,7 @@ namespace UVtools.Core if (operation.OperationType == PixelOperation.PixelOperationType.Drawing) { var operationDrawing = (PixelDrawing) operation; - var mat = modfiedLayers.GetOrAdd(operation.LayerIndex, u => this[operation.LayerIndex].LayerMat); + var mat = modifiedLayers.GetOrAdd(operation.LayerIndex, u => this[operation.LayerIndex].LayerMat); if (operationDrawing.BrushSize == 1) { @@ -1608,13 +1598,13 @@ namespace UVtools.Core else if (operation.OperationType == PixelOperation.PixelOperationType.Text) { var operationText = (PixelText)operation; - var mat = modfiedLayers.GetOrAdd(operation.LayerIndex, u => this[operation.LayerIndex].LayerMat); + var mat = modifiedLayers.GetOrAdd(operation.LayerIndex, u => this[operation.LayerIndex].LayerMat); CvInvoke.PutText(mat, operationText.Text, operationText.Location, operationText.Font, operationText.FontScale, new MCvScalar(operationText.Color), operationText.Thickness, operationText.LineType, operationText.Mirror); } else if (operation.OperationType == PixelOperation.PixelOperationType.Eraser) { - var mat = modfiedLayers.GetOrAdd(operation.LayerIndex, u => this[operation.LayerIndex].LayerMat); + var mat = modifiedLayers.GetOrAdd(operation.LayerIndex, u => this[operation.LayerIndex].LayerMat); if (ReferenceEquals(layerContours, null)) { @@ -1642,7 +1632,7 @@ namespace UVtools.Core int drawnLayers = 0; for (int operationLayer = (int)operation.LayerIndex-1; operationLayer >= 0; operationLayer--) { - var mat = modfiedLayers.GetOrAdd((uint) operationLayer, u => this[operationLayer].LayerMat); + var mat = modifiedLayers.GetOrAdd((uint) operationLayer, u => this[operationLayer].LayerMat); int radius = (operationLayer > 10 ? Math.Min(operationSupport.TipDiameter + drawnLayers, operationSupport.PillarDiameter) : operationSupport.BaseDiameter) / 2; uint whitePixels; @@ -1677,7 +1667,7 @@ namespace UVtools.Core var operationDrainHole = (PixelDrainHole)operation; for (int operationLayer = (int)operation.LayerIndex; operationLayer >= 0; operationLayer--) { - var mat = modfiedLayers.GetOrAdd((uint)operationLayer, u => this[operationLayer].LayerMat); + var mat = modifiedLayers.GetOrAdd((uint)operationLayer, u => this[operationLayer].LayerMat); int radius = operationDrainHole.Diameter / 2; uint blackPixels; @@ -1715,8 +1705,8 @@ namespace UVtools.Core progress++; } - progress.Reset("Saving", (uint) modfiedLayers.Count); - Parallel.ForEach(modfiedLayers, (modfiedLayer, state) => + progress.Reset("Saving", (uint) modifiedLayers.Count); + Parallel.ForEach(modifiedLayers, (modfiedLayer, state) => { this[modfiedLayer.Key].LayerMat = modfiedLayer.Value; modfiedLayer.Value.Dispose(); diff --git a/UVtools.Core/UVtools.Core.csproj b/UVtools.Core/UVtools.Core.csproj index a499d28..cf49860 100644 --- a/UVtools.Core/UVtools.Core.csproj +++ b/UVtools.Core/UVtools.Core.csproj @@ -10,12 +10,12 @@ <RepositoryUrl>https://github.com/sn4k3/UVtools</RepositoryUrl> <PackageProjectUrl>https://github.com/sn4k3/UVtools</PackageProjectUrl> <Description>MSLA/DLP, file analysis, repair, conversion and manipulation</Description> - <Version>0.6.6.1</Version> + <Version>0.6.7.1</Version> <Copyright>Copyright © 2020 PTRTECH</Copyright> <PackageIcon>UVtools.png</PackageIcon> <Platforms>AnyCPU;x64</Platforms> - <AssemblyVersion>0.6.7.0</AssemblyVersion> - <FileVersion>0.6.7.0</FileVersion> + <AssemblyVersion>0.6.7.1</AssemblyVersion> + <FileVersion>0.6.7.1</FileVersion> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> diff --git a/UVtools.GUI/App.config b/UVtools.GUI/App.config index 409ad19..ed75d17 100644 --- a/UVtools.GUI/App.config +++ b/UVtools.GUI/App.config @@ -189,8 +189,7 @@ <setting name="LayerRepairRemoveEmptyLayers" serializeAs="String"> <value>True</value> </setting> - <setting name="LayerRepairRemoveIslandsBelowEqualPixelsDefault" - serializeAs="String"> + <setting name="LayerRepairRemoveIslandsBelowEqualPixelsDefault" serializeAs="String"> <value>10</value> </setting> <setting name="PartialUpdateIslandsOnEditing" serializeAs="String"> diff --git a/UVtools.GUI/Controls/BenchmarkTest.cs b/UVtools.GUI/Controls/BenchmarkTest.cs new file mode 100644 index 0000000..6e5c431 --- /dev/null +++ b/UVtools.GUI/Controls/BenchmarkTest.cs @@ -0,0 +1,27 @@ +namespace UVtools.GUI.Controls +{ + public sealed class BenchmarkTest + { + public const string DEVCPU = "Intel® Core™ i9-9900K @ 3.60 GHz"; + public const string DEVRAM = "G.SKILL Trident Z 32GB DDR4-3200MHz CL14"; + + public BenchmarkTest(string name, string functionName, float devSingleThreadResult = 0, float devMultiThreadResult = 0) + { + Name = name; + FunctionName = functionName; + DevSingleThreadResult = devSingleThreadResult; + DevMultiThreadResult = devMultiThreadResult; + } + + public string Name { get; } + public string FunctionName { get; } + + public float DevSingleThreadResult { get; } + public float DevMultiThreadResult { get; } + + public override string ToString() + { + return $"{Name}"; + } + } +} diff --git a/UVtools.GUI/Forms/FrmBenchmark.Designer.cs b/UVtools.GUI/Forms/FrmBenchmark.Designer.cs new file mode 100644 index 0000000..c3cb9b0 --- /dev/null +++ b/UVtools.GUI/Forms/FrmBenchmark.Designer.cs @@ -0,0 +1,232 @@ +namespace UVtools.GUI.Forms +{ + partial class FrmBenchmark + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmBenchmark)); + this.label1 = new System.Windows.Forms.Label(); + this.panel3 = new System.Windows.Forms.Panel(); + this.lbDescription = new System.Windows.Forms.Label(); + this.cbTest = new System.Windows.Forms.ComboBox(); + this.lbSingleThreadResults = new System.Windows.Forms.Label(); + this.lbMultiThreadResults = new System.Windows.Forms.Label(); + this.btnStop = new System.Windows.Forms.Button(); + this.btnStart = new System.Windows.Forms.Button(); + this.progressBar = new System.Windows.Forms.ProgressBar(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.lbMultiThreadDevResults = new System.Windows.Forms.Label(); + this.lbSingleThreadDevResults = new System.Windows.Forms.Label(); + this.panel3.SuspendLayout(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(13, 177); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(41, 18); + this.label1.TabIndex = 0; + this.label1.Text = "Test:"; + // + // panel3 + // + this.panel3.BackColor = System.Drawing.Color.WhiteSmoke; + this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel3.Controls.Add(this.lbDescription); + this.panel3.Dock = System.Windows.Forms.DockStyle.Top; + this.panel3.Location = new System.Drawing.Point(0, 0); + this.panel3.Margin = new System.Windows.Forms.Padding(4); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(452, 167); + this.panel3.TabIndex = 4; + // + // lbDescription + // + this.lbDescription.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbDescription.Location = new System.Drawing.Point(0, 0); + this.lbDescription.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lbDescription.Name = "lbDescription"; + this.lbDescription.Size = new System.Drawing.Size(450, 165); + this.lbDescription.TabIndex = 1; + this.lbDescription.Text = resources.GetString("lbDescription.Text"); + this.lbDescription.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // cbTest + // + this.cbTest.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.cbTest.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cbTest.FormattingEnabled = true; + this.cbTest.Location = new System.Drawing.Point(61, 174); + this.cbTest.Name = "cbTest"; + this.cbTest.Size = new System.Drawing.Size(379, 26); + this.cbTest.TabIndex = 5; + this.cbTest.SelectedIndexChanged += new System.EventHandler(this.EventSelectedIndexChanged); + // + // lbSingleThreadResults + // + this.lbSingleThreadResults.AutoSize = true; + this.lbSingleThreadResults.Location = new System.Drawing.Point(13, 237); + this.lbSingleThreadResults.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lbSingleThreadResults.Name = "lbSingleThreadResults"; + this.lbSingleThreadResults.Size = new System.Drawing.Size(158, 18); + this.lbSingleThreadResults.TabIndex = 6; + this.lbSingleThreadResults.Text = "Single Thread: 0 TDPS"; + // + // lbMultiThreadResults + // + this.lbMultiThreadResults.AutoSize = true; + this.lbMultiThreadResults.Location = new System.Drawing.Point(22, 260); + this.lbMultiThreadResults.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lbMultiThreadResults.Name = "lbMultiThreadResults"; + this.lbMultiThreadResults.Size = new System.Drawing.Size(149, 18); + this.lbMultiThreadResults.TabIndex = 7; + this.lbMultiThreadResults.Text = "Multi Thread: 0 TDPS"; + // + // btnStop + // + this.btnStop.Enabled = false; + this.btnStop.Location = new System.Drawing.Point(353, 378); + this.btnStop.Name = "btnStop"; + this.btnStop.Size = new System.Drawing.Size(87, 36); + this.btnStop.TabIndex = 8; + this.btnStop.Text = "Stop"; + this.btnStop.Click += new System.EventHandler(this.EventClicked); + // + // btnStart + // + this.btnStart.Location = new System.Drawing.Point(260, 378); + this.btnStart.Name = "btnStart"; + this.btnStart.Size = new System.Drawing.Size(87, 36); + this.btnStart.TabIndex = 9; + this.btnStart.Text = "Start"; + this.btnStart.Click += new System.EventHandler(this.EventClicked); + // + // progressBar + // + this.progressBar.Location = new System.Drawing.Point(12, 378); + this.progressBar.Name = "progressBar"; + this.progressBar.Size = new System.Drawing.Size(242, 36); + this.progressBar.TabIndex = 10; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(13, 213); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(104, 18); + this.label2.TabIndex = 11; + this.label2.Text = "Your results:"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label3.Location = new System.Drawing.Point(13, 290); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(145, 18); + this.label3.TabIndex = 14; + this.label3.Text = "Developer results:"; + // + // lbMultiThreadDevResults + // + this.lbMultiThreadDevResults.AutoSize = true; + this.lbMultiThreadDevResults.Enabled = false; + this.lbMultiThreadDevResults.Location = new System.Drawing.Point(22, 337); + this.lbMultiThreadDevResults.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lbMultiThreadDevResults.Name = "lbMultiThreadDevResults"; + this.lbMultiThreadDevResults.Size = new System.Drawing.Size(149, 18); + this.lbMultiThreadDevResults.TabIndex = 13; + this.lbMultiThreadDevResults.Text = "Multi Thread: 0 TDPS"; + // + // lbSingleThreadDevResults + // + this.lbSingleThreadDevResults.AutoSize = true; + this.lbSingleThreadDevResults.Enabled = false; + this.lbSingleThreadDevResults.Location = new System.Drawing.Point(13, 314); + this.lbSingleThreadDevResults.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lbSingleThreadDevResults.Name = "lbSingleThreadDevResults"; + this.lbSingleThreadDevResults.Size = new System.Drawing.Size(158, 18); + this.lbSingleThreadDevResults.TabIndex = 12; + this.lbSingleThreadDevResults.Text = "Single Thread: 0 TDPS"; + // + // FrmBenchmark + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(452, 426); + this.Controls.Add(this.label3); + this.Controls.Add(this.lbMultiThreadDevResults); + this.Controls.Add(this.lbSingleThreadDevResults); + this.Controls.Add(this.label2); + this.Controls.Add(this.progressBar); + this.Controls.Add(this.btnStart); + this.Controls.Add(this.btnStop); + this.Controls.Add(this.lbMultiThreadResults); + this.Controls.Add(this.lbSingleThreadResults); + this.Controls.Add(this.cbTest); + this.Controls.Add(this.panel3); + this.Controls.Add(this.label1); + this.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Margin = new System.Windows.Forms.Padding(4); + this.MaximizeBox = false; + this.Name = "FrmBenchmark"; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Benchmark System"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmBenchmark_FormClosing); + this.panel3.ResumeLayout(false); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.Label lbDescription; + private System.Windows.Forms.ComboBox cbTest; + private System.Windows.Forms.Label lbSingleThreadResults; + private System.Windows.Forms.Label lbMultiThreadResults; + private System.Windows.Forms.Button btnStop; + private System.Windows.Forms.Button btnStart; + private System.Windows.Forms.ProgressBar progressBar; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label lbMultiThreadDevResults; + private System.Windows.Forms.Label lbSingleThreadDevResults; + } +}
\ No newline at end of file diff --git a/UVtools.GUI/Forms/FrmBenchmark.cs b/UVtools.GUI/Forms/FrmBenchmark.cs new file mode 100644 index 0000000..ca7a043 --- /dev/null +++ b/UVtools.GUI/Forms/FrmBenchmark.cs @@ -0,0 +1,444 @@ +using System; +using System.Buffers; +using System.Collections.Generic; +using System.Diagnostics; +using System.Drawing; +using System.Reflection; +using System.Security.Cryptography; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using Emgu.CV; +using Emgu.CV.CvEnum; +using UVtools.Core.Extensions; +using UVtools.GUI.Controls; + +namespace UVtools.GUI.Forms +{ + public partial class FrmBenchmark : Form + { + private CancellationTokenSource TokenSource { get; set; } + private CancellationToken Token => TokenSource.Token; + + private RNGCryptoServiceProvider RandomProvider { get; } + + private const ushort SingleThreadTests = 100; + private const ushort MultiThreadTests = 1000; + + public const string RunsAbbreviation = "TDPS"; + public const string StressCPUTestName = "Stress CPU (Run until stop)"; + + public FrmBenchmark() + { + InitializeComponent(); + lbDescription.Text += $"CPU: {BenchmarkTest.DEVCPU}\nRAM: {BenchmarkTest.DEVRAM}"; + RandomProvider = new RNGCryptoServiceProvider(); + + cbTest.Items.AddRange( + new object[] + { + new BenchmarkTest("4K Random CBBDLP Enconde", "Test4KRandomCBBDLPEncode", 40.30f, 246.30f), + new BenchmarkTest("8K Random CBBDLP Enconde", "Test8KRandomCBBDLPEncode", 9.70f, 64.10f), + new BenchmarkTest("4K Random CBT Enconde", "Test4KRandomCBTEncode", 13.50f, 113.30f), + new BenchmarkTest("8K Random CBT Enconde", "Test8KRandomCBTEncode", 3.40f, 28.20f), + new BenchmarkTest("4K Random PW0 Enconde", "Test4KRandomPW0Encode", 14.10f, 89.00f), + new BenchmarkTest("8K Random PW0 Enconde", "Test8KRandomPW0Encode", 3.50f, 22.40f), + new BenchmarkTest(StressCPUTestName, "Test4KRandomCBTEncode", 0, 0), + } + ); + cbTest.SelectedIndex = 0; + } + + private void FrmBenchmark_FormClosing(object sender, FormClosingEventArgs e) + { + if (!btnStart.Enabled) + e.Cancel = true; + } + + private void EventClicked(object sender, EventArgs e) + { + if (ReferenceEquals(sender, btnStart)) + { + StartBenchmark(); + return; + } + if (ReferenceEquals(sender, btnStop)) + { + TokenSource.Cancel(); + return; + } + } + + private void EventSelectedIndexChanged(object sender, EventArgs e) + { + if (ReferenceEquals(sender, cbTest)) + { + BenchmarkTest benchmark = cbTest.SelectedItem as BenchmarkTest; + lbSingleThreadDevResults.Text = $"Single Thread: {benchmark.DevSingleThreadResult} {RunsAbbreviation}"; + lbMultiThreadDevResults.Text = $"Multi Thread: {benchmark.DevMultiThreadResult} {RunsAbbreviation}"; + return; + } + } + + private void StartBenchmark() + { + if (!btnStart.Enabled) return; + cbTest.Enabled = + btnStart.Enabled = false; + btnStop.Enabled = true; + + TokenSource = new CancellationTokenSource(); + + progressBar.Style = ProgressBarStyle.Marquee; + + BenchmarkTest benchmark = cbTest.SelectedItem as BenchmarkTest; + MethodInfo theMethod = GetType().GetMethod(benchmark.FunctionName); + + if (!benchmark.Name.Equals(StressCPUTestName)) + { + lbSingleThreadResults.Text = $"Single Thread: Running {SingleThreadTests} tests"; + lbMultiThreadResults.Text = $"Multi Thread: Running {MultiThreadTests} tests"; + } + + + Task.Factory.StartNew(() => + { + try + { + if (benchmark.Name.Equals(StressCPUTestName)) + { + while (true) + { + if (Token.IsCancellationRequested) break; + Parallel.For(0, MultiThreadTests, i => + { + if (Token.IsCancellationRequested) return; + theMethod.Invoke(this, null); + }); + } + + return; + } + + Stopwatch sw = Stopwatch.StartNew(); + for (int i = 0; i < SingleThreadTests; i++) + { + if(Token.IsCancellationRequested) Token.ThrowIfCancellationRequested(); + theMethod.Invoke(this, null); + } + + sw.Stop(); + Invoke((MethodInvoker) delegate + { + // Running on the UI thread + UpdateResults(true, sw.ElapsedMilliseconds); + }); + + if (Token.IsCancellationRequested) Token.ThrowIfCancellationRequested(); + + sw.Restart(); + Parallel.For(0, MultiThreadTests, i => + { + if (Token.IsCancellationRequested) return; + theMethod.Invoke(this, null); + }); + + sw.Stop(); + + if (Token.IsCancellationRequested) Token.ThrowIfCancellationRequested(); + + Invoke((MethodInvoker)delegate + { + // Running on the UI thread + UpdateResults(false, sw.ElapsedMilliseconds); + }); + } + catch (OperationCanceledException) + { + + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + finally + { + Invoke((MethodInvoker)StopBenchmark); + } + }, Token); + } + + private void StopBenchmark() + { + btnStart.Enabled = true; + btnStop.Enabled = false; + cbTest.Enabled = true; + progressBar.Style = ProgressBarStyle.Blocks; + } + + public byte[] EncodeCbddlpImage(Mat image, byte bit = 0) + { + List<byte> rawData = new List<byte>(); + var span = image.GetPixelSpan<byte>(); + + bool obit = false; + int rep = 0; + + //ngrey:= uint16(r | g | b) + // thresholds: + // aa 1: 127 + // aa 2: 255 127 + // aa 4: 255 191 127 63 + // aa 8: 255 223 191 159 127 95 63 31 + byte threshold = (byte)(256 / 1 * bit - 1); + + void AddRep() + { + if (rep <= 0) return; + + byte by = (byte)rep; + + if (obit) + { + by |= 0x80; + //bitsOn += uint(rep) + } + + rawData.Add(by); + } + + for (int pixel = 0; pixel < span.Length; pixel++) + { + var nbit = span[pixel] >= threshold; + + if (nbit == obit) + { + rep++; + + if (rep == 0x7d) + { + AddRep(); + rep = 0; + } + } + else + { + AddRep(); + obit = nbit; + rep = 1; + } + } + + // Collect stragglers + AddRep(); + + + return rawData.ToArray(); + } + + private byte[] EncodeCbtImage(Mat image) + { + List<byte> rawData = new List<byte>(); + byte color = byte.MaxValue >> 1; + uint stride = 0; + var span = image.GetPixelSpan<byte>(); + + void AddRep() + { + if (stride == 0) + { + return; + } + + if (stride > 1) + { + color |= 0x80; + } + rawData.Add(color); + + if (stride <= 1) + { + // no run needed + return; + } + + if (stride <= 0x7f) + { + rawData.Add((byte)stride); + return; + } + + if (stride <= 0x3fff) + { + rawData.Add((byte)((stride >> 8) | 0x80)); + rawData.Add((byte)stride); + return; + } + + if (stride <= 0x1fffff) + { + rawData.Add((byte)((stride >> 16) | 0xc0)); + rawData.Add((byte)(stride >> 8)); + rawData.Add((byte)stride); + return; + } + + if (stride <= 0xfffffff) + { + rawData.Add((byte)((stride >> 24) | 0xe0)); + rawData.Add((byte)(stride >> 16)); + rawData.Add((byte)(stride >> 8)); + rawData.Add((byte)stride); + } + + } + + + for (int pixel = 0; pixel < span.Length; pixel++) + { + var grey7 = (byte)(span[pixel] >> 1); + + if (grey7 == color) + { + stride++; + } + else + { + AddRep(); + color = grey7; + stride = 1; + } + } + + AddRep(); + + + return rawData.ToArray(); + } + + public byte[] EncodePW0Image(Mat image) + { + List<byte> rawData = new List<byte>(); + var span = image.GetPixelSpan<byte>(); + + int lastColor = -1; + int reps = 0; + + void PutReps() + { + while (reps > 0) + { + int done = reps; + + if (lastColor == 0 || lastColor == 0xf) + { + if (done > 0xfff) + { + done = 0xfff; + } + //more:= []byte{ 0, 0} + //binary.BigEndian.PutUint16(more, uint16(done | (color << 12))) + + //rle = append(rle, more...) + + ushort more = (ushort)(done | (lastColor << 12)); + rawData.Add((byte)(more >> 8)); + rawData.Add((byte)more); + } + else + { + if (done > 0xf) + { + done = 0xf; + } + rawData.Add((byte)(done | lastColor << 4)); + } + + reps -= done; + } + } + + for (int i = 0; i < span.Length; i++) + { + int color = span[i] >> 4; + + if (color == lastColor) + { + reps++; + } + else + { + PutReps(); + lastColor = color; + reps = 1; + } + } + + PutReps(); + + return rawData.ToArray(); + } + + private void UpdateResults(bool isSingleThread, long milliseconds) + { + decimal seconds = Math.Round(milliseconds / 1000m, 2); + //var text = (isSingleThread ? "Single" : "Multi") + $" Thread: {Math.Round(SingleThreadTests / seconds, 2)} OPS ({seconds}s)"; + + if(isSingleThread) + lbSingleThreadResults.Text = $"Single Thread: {Math.Round(SingleThreadTests / seconds, 2)} {RunsAbbreviation} ({SingleThreadTests} tests / {seconds}s)"; + else + lbMultiThreadResults.Text = $"Multi Thread: {Math.Round(MultiThreadTests / seconds, 2)} {RunsAbbreviation} ({MultiThreadTests} tests / {seconds}s)"; ; + } + + #region Tests + + public Mat RandomMat(int width, int height) + { + var bytes = new byte[width * height]; + RandomProvider.GetBytes(bytes); + Mat mat = new Mat(new Size(width, height), DepthType.Cv8U, 1); + mat.SetBytes(bytes); + return mat; + } + + public void Test4KRandomCBBDLPEncode() + { + using (var mat = RandomMat(3840, 2160)) + EncodeCbddlpImage(mat); + } + + public void Test8KRandomCBBDLPEncode() + { + using (var mat = RandomMat(7680, 4320)) + EncodeCbddlpImage(mat); + } + + public void Test4KRandomCBTEncode() + { + using (var mat = RandomMat(3840, 2160)) + EncodeCbtImage(mat); + } + + public void Test8KRandomCBTEncode() + { + using (var mat = RandomMat(7680, 4320)) + EncodeCbtImage(mat); + } + + public void Test4KRandomPW0Encode() + { + using (var mat = RandomMat(3840, 2160)) + EncodePW0Image(mat); + } + + public void Test8KRandomPW0Encode() + { + using (var mat = RandomMat(7680, 4320)) + EncodePW0Image(mat); + } + + #endregion + + + } +} diff --git a/UVtools.GUI/Forms/FrmBenchmark.resx b/UVtools.GUI/Forms/FrmBenchmark.resx new file mode 100644 index 0000000..5398352 --- /dev/null +++ b/UVtools.GUI/Forms/FrmBenchmark.resx @@ -0,0 +1,2210 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="lbDescription.Text" xml:space="preserve"> + <value>Benchmark your machine against pre-defined tests. +This will use all compution power avaliable, CPU will be exhausted. +Run the test while your PC is idle or not in heavy load. +Results are in "tests done per second" (TDPS) + +To your reference you are competing against developer system: +</value> + </data> + <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + 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 + ////Af///xH///8v////UP///3H///+P////r////8f////c////7P////f////9///////////////9 + ////9////+z////c////x////6////+P////cf///1D///8v////Ef///wH///8B////Af///wAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAP///wD///8B////Af///wr///8o////XP///5T////H////6f////b////+/////v////7///// + //////////////////////////////////////////////////////////////////////////7////+ + /////v////b////p////x////5T///9c////KP///wr///8B////Af///wAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wH///8C////Ef///0z///+W////0v////T////+ + //////////7///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////+//////////7////0 + ////0v///5b///9M////Ef///wL///8B////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wH///8K + ////Uf///6X////o/////v////7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v////7////o////pf///1H///8K + ////Af///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8A////Af///wP///8x////jf///+f////9/////v////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////+/////f///+f///+N////Mf///wP///8B////AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////Af///wr///9K////uP////T////+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////7////0////uP///0r///8K////Af///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A + ////Af///wj///9V////xv////v////+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////+////+////8b///9V + ////CP///wH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wP///9L////y/////3///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////3////L////S////wP///8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wH///82 + ////uP////v///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////7////uP///zb///8B////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///wH///8T////jv////H////+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////+////8f///47///8T + ////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8C////Sf///9b////+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v///9b///9J////Av///wAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8A////EP///5b////5//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////n///+W////EP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Af///zT////R/////v////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////7////R////NP///wEAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ////AP///wX///9j////7P////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////s////Y////wX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8H////jv////r///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////6 + ////jv///wf///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A + ////Ff///7b////+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////+////tv///xX///8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///yD////F/////v////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+////xf///yD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8n + ////0v////7///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////+////0v///yf///8A + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////Jv///9z////+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////7////7/P7/6+/9/9jg+//B0fn/ + pMT4/5m99/+Yu/f/mr33/6XF9//C0vn/2OD7/+zv/f/7/P///v/////////+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////+////3P///yb///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///yf////c + /////v////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////8/P// + 4ej8/6vF9/97pfT/UYbw/yxy7v8dZ+3/HGft/xlq7f8ia+3/JWzt/yZs7f8lbO3/Imvt/xpq7f8cZ+3/ + Hmft/y9z7v9RhvD/eqb0/67H+P/i6fz//P3///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + ////3P///yf///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///wD///8g////0v////7///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////r7/v/T3/v/i6/1/0iD7/8obe3/I2vt/yJr7f8ka+3/I2vt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/I2vt/yRr7f8ia+3/I2rt/yhu7f9LhPD/ + j7D1/9bh+//6+/7///////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////+////0v///yD///8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////FP///8X////+ + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7///H1/v+owvf/T4fw/yRs7f8ha+3/ + JGvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yNs7f8ia+3/J2zt/1OJ8P+rwvf/8/b+//7///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+////xf///xT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAA////AP///wf///+2/////v////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////H0/f+SsvX/Onfu/yFq7f8ja+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/JGzt/yFq7f83eO7/l7b2//L1/f////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////+////tv///wf///8A + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8E////jv////7///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////X3/v+ivPb/NHTu/yRr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8la+3/ + NXbu/6C99//4+f7///////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////+////jv///wQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAA////Af///2P////6//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+///J2Pr/ + TYXw/yZr7f8ja+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ja+3/JWvt/1GH8P/N2/r//f7///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////6 + ////Y////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///80////6/////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////3+P7/i6z1/ylt7f8ka+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/JGzt/yxu7f+Or/X/9/n+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////r////NP///wAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8A////EP///9H///////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////4Oj8/1OH8P8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yRr7f9TiPD/ + 5ev8//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////R////EP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wL///+W/////v////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////8HT+f83du7/I2vt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yNr7f86d+7/x9f6//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////7///+W////AgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8B////Sf////r///////////////////////////////////////////////////// + //////////////////////////////////////////////////////7+//+yx/j/K2/t/yNr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJq6v8fY9v/GEyp/xZFmv8iaur/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yNr7f8wce7/tcr4//7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////r///9J////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///xP////W//////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////sML3/ypt7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+z/IWfk/xtUuv8SOHv/Ch9E/wMLGf8DCBL/ + AgYN/xE2d/8iaur/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yNr7f8nbu3/rcT3//7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////9b///8T + ////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8B////jv////7///////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////a4/v/OXju/yRr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yFm4/8bVbz/ + EzyG/wohSP8DCBL/AwkU/wkcP/8RN3n/GlK2/yFn5P8aUbP/AwgS/w8vaf8haOf/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8jbO3/r8X4//7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v///47///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///zb////x//////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////a4/v/OXfu/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8gZuL/HFjD/xRAjv8LI0//BA0d/wQLGf8IGjn/EDNx/xlQsP8fY9r/IWnp/yJr7f8ia+3/ + Imvt/yJr7f8bVLr/BA4e/w4rXv8hZ+T/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8rb+3/ + vc/5//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////8f///zb///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAP///wD///8D////uP////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////W4Pv/ + O3nu/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8cWMP/DShZ/wYSJ/8DChX/BxYw/w8wav8YS6f/ + Hl/T/yFp6f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8cWMP/BhIn/wwkUP8gZuL/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yNr7f8zc+7/0d77//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////uP///wP///8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Af///0v////7//////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////W4fv/OHfu/yRs7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/xlPsP8DCBL/BhIn/xxYw/8iauv/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8eXc7/BhMq/wofRf8gZN3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yNr7f9Cfe//8fT9//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////7////S////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAP///wD///8I////yv////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////b5Pv/OXju/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/x1cy/8HFjL/BhQs/xtWv/8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8fYtj/ + BxYx/wgZOP8fYNX/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yRs7f9olvL/+/z///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////K////CP///wAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Af///1X////9//////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////Z4vv/OXju/yNr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yBk3v8OK1//AwoX/xVDlf8iauv/Imvt/yJr7f8ia+3/Imvt/yJr7f8iaur/ + H2HX/xlNq/8QMm//Dy5m/yBl4P8ia+3/Imvt/yJr7f8fYtn/CR1A/wcVL/8eXtD/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yNq7f+mwvf///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////3///9V////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAP///wD///8K////xv////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////W4Pv/Onju/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yFp6f8VQZD/ + AwkU/w8vZ/8gZuL/Imrr/yBl4P8aUbT/ETV2/wkdQf8EDBr/AwsX/wsiSv8GEyn/CR5D/yBj3P8ia+3/ + Imvt/yJr7f8gY9z/CyJL/wURJ/8dXMz/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/I2vt/zR27v/h6vz/ + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////8X///8K + ////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///0n////7//////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////X4fv/ + OXfu/yRs7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8bVLr/AwoV/wcXMv8KIEb/AwoV/wMIE/8KHkP/ + Ejl+/xpTt/8hZ+P/Imvt/x9h1/8HGDT/CBk4/x9g1f8ia+3/Imvt/yJr7f8gZuP/DCdW/wUOIP8cV8L/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/I2vt/2+c8//+/v////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////+////0n///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8D////uP////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////b4/v/OHju/yNr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/IGbi/xtWv/8TPoj/ + CyFK/wMKF/8DChX/CRw+/xE1dv8aUbX/IGbi/yJq6/8ia+3/Imvt/yJr7f8ia+3/Imvt/yBk3f8JHkL/ + BhMr/x1czP8ia+3/Imvt/yJr7f8haej/Di1k/wQMG/8aUbT/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + J23t/8nX+v////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////uP///wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///zH////0//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////Y4fv/Onju/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/xdKo/8FDyH/AwgS/wgYNv8QMm//GU6s/x9h1v8haen/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yBk3v8LI07/BRAk/x1byP8ia+3/Imvt/yFo5v8eX9P/ + CyRP/wMIE/8ZTq3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ja+3/VIzx//39//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////0////Mf///wAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8B////jf////7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////V4Pv/Onju/yNr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Hl3P/wgaOf8FDiD/ + G1W7/yJr7P8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yBm4f8NKFj/BQ4g/xAzcf8MJlT/BxUv/wMLGP8CCBH/BREm/xQ9iP8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8eae3/ydj6//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////7///+N////AQAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wr////m//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////Y4vv/OXju/yRs7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/IWfk/w8vZ/8CBw//FD+M/yJq6v8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8iauz/IWnp/yJr7f8ia+3/Imvt/yJq6v8PLmX/AAEC/wofRf8WRJb/ + G1a//yBj3P8iauz/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yRs7f9jk/H//P3///////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////+b///8K////AAAAAAAAAAAA + AAAAAAAAAAD///8A////Uf////3///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////b5Pv/ + OXfu/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imrr/xZFmP8ECxn/DChY/yBl3/8ia+3/Imvt/yJr7f8ia+3/Imrr/x5g1P8YTKj/DzBr/wcWMP8GEyn/ + HFnF/yJr7f8ia+3/Imvt/yJq6v8RNXb/AwoW/xhLpv8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yRs7f/d5vz///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f///1H///8AAAAAAAAAAAAAAAAAAAAAAP///wL///+l/////v////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f39/+bm5v/+/v7////////////X4fv/Onnu/yNr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/xxXwf8HFzL/Bxcz/xxXwv8fY9v/ + GU+v/xAzcv8JGzv/BAsZ/wQNHv8KH0b/FD6K/w0qXP8EDR7/G1W8/yJr7f8ia+3/Imvt/yFp6f8SOX// + AggR/xdInv8iauz/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/JGvt/4qt9f////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////+////pf///wIAAAAA + AAAAAAAAAAD///8A////Ev///+j///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////7+/v+rq6v/Ozs7/8zMzP////// + ///////////W4Pv/OXfu/yRr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+z/IWfk/xlOrf8DChb/AgcQ/wMLGP8AAQH/CR1A/xM7hP8NK1//F0ed/yJr7f8cWMP/ + EDFs/w8vaf8EDBr/GlCy/yJr7f8ia+3/Imvt/yJq6/8UP43/AgYO/xVCkv8ia+z/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ja+3/QX/v//f4/v////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////o////Ev///wAAAAAAAAAAAP///wD///9L/////v////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////t7e3/zMzM/8zMzP/Pj4+/8jIyP/////////////////a4/v/OXju/yNs7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yFp6P8bVb3/EzuC/wogRv8DCBP/AwkT/wkdQf8RNXb/ + GlGz/xdHnf8hZ+X/IGXg/xpTuP8dWsj/IGTe/x9i2P8YS6f/IGbh/xE0dP8DCRP/GEql/yJr7f8ia+3/ + Imvt/yJr7f8WRpv/AggR/xM7hP8ia+z/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + y9v6//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////7///9L + ////AAAAAAAAAAAA////Af///5b////+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////8/Pz/85OTn/MjIy/zIyMv8zMzP/ + Pz8//8jIyP/////////////////b4/v/OHfu/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + FUKT/wEECP8EDR3/Dy9n/wUQJP8dW8r/Imrq/w4uZf8WRpv/Imvt/xlPsP8MJFH/Imvs/yFo5/8HGDX/ + HVzN/yJr7f8RNXb/FD6J/xM8hf8CCBH/FkWa/yFp6f8gZN7/HVvK/xhMp/8LIkv/AQIF/xM8hf8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f+Or/X///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v///5b///8BAAAAAAAAAAD///8K////0v////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////s7Oz/R0dH/zIyMv8yMjL/MjIy/zIyMv8zMzP/PT09/8vLy//+/v7////////////W4Pv/ + O3nu/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8hZuP/ETV1/wMIEv8TPIX/Hl7Q/x9h1v8aU7j/ + IGPc/yBl4f8ZTav/IWbj/x9i2f8cV8L/Hl3O/x9h1v8fYtr/GlGz/yBk3v8gZeH/GU+u/xM9hv8CBw// + CBg1/wUPIf8DChf/BA4f/wkcPv8OLWT/GlK1/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + JGzt/1GI8P/+/v////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////0v///woAAAAA////AP///yf////0//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////Pz8/21tbf8zMzP/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8zMzP/Pj4+/8zMzP/////////////////W4fv/OHfu/yRs7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+z/F0mh/wMKFf8MJVL/GEqk/xAxbf8iauz/IWfj/wsjTf8gZN3/Imvt/xM7gv8XSJ7/ + Imvt/xxXv/8OLGH/Imvt/yFo5v8NKVr/HVzN/xZGm/8CBQr/DCRQ/x5dzv8haOX/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/K2/u/+/y/f////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////0////J////wD///8B////XP////7///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////+qqqr/Li4u/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/PT09/8jIyP////// + ///////////b5Pv/OXju/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/HVzL/wgaOP8FESX/ + G1W9/xQ+iv8ZULH/Imvt/xxXwf8SOHz/Imvs/yFp6P8PL2f/H2HW/yJr7f8WRJf/GEul/yJr7f8eXtD/ + EDJu/xhLpf8DChX/EDNy/yFq6v8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8fa+3/ydj6//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////7///9c////Af///wH///+U//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////5OTk/z8/P/8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pz8//8jIyP/////////////////Z4vv/OXju/yNr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/IGXg/w8uZv8DChf/DSlc/xxaxv8gZN//Hl/T/xhKpf8hZ+P/ + IWfl/xZFmP8gZN7/IGXg/xpTt/8cV8H/IGXf/x9j3P8WRpz/IGbi/xlOrP8EDBv/Dy9n/yFn5P8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yRr7f+eu/b//v////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////5T///8B////Af///8f////+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////7+/v91dXX/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/ + PT09/8zMzP/+/v7////////////W4Pv/Onju/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imrr/xVDlP8DChf/DCdX/wcVL/8fYtj/Imvt/xAzcv8VQZD/Imvt/xpStv8LIkv/Imvt/yFn5P8KHkT/ + HFrI/yJr7f8SOoD/Ejl//xtWv/8EDBv/DSpc/yBm4v8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/3ym9P////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+////xv///wH///8R////6f////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////zs7O/zExMf8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8rKyv/////////////////X4fv/ + OXfu/yRs7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/xxXwP8GEyv/BA0d/xtUuv8bVr// + H2Pc/yBm4v8aU7f/IGbi/x9g1f8dW8r/Hl/S/x5f0/8gZuH/GlO3/yBk3v8gZN7/GlO4/xtWvv8FESb/ + CyJM/yFn5P8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ja+3/WZHx//7+//////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////p////Ef///y/////2 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////7+/v9kZGT/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8zMzP/Pj4+/8fHx//////////////////b4/v/OXju/yNr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yBk3f8NKFn/AQIE/wgbO/8iaur/IWjn/wsiTP8eXtD/Imvt/xM8hf8WRJb/ + Imvt/x1ayP8MJ1X/HV3O/xlQsv8EDRz/CyNM/wcVL/8AAAH/DzBq/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yNr7f9Lge///f7///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////b///8v////UP////7///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////0dHR/y0tLf8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pz8//8nJyf/+/v7/ + ///////////Y4vv/Onju/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yFp6f8UPon/ + AwoW/wsjTv8ZT6//Imnp/xxZxv8RNnn/GlO5/xVDlf8OLWT/CiBG/wURJf8ECxn/BA0c/wcXMv8MJ1f/ + EzqC/xhLp/8fYdj/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/I2vt/zt47v/9/v// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v///1D///9x + /////v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////39/f9ra2v/MzMz/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8zMzP/+/v7////////////W4Pv/Onju/yNr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8aUbT/BRAk/wYULf8LI0z/BQ8h/wEDBv8DCBP/ + BhQs/wskUP8SOHz/F0mi/xxYw/8fY9v/Imrr/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ja+3/LnPt//z8//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////+////cf///4/////+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////5OTk/zMzM/8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/ + Pj4+/8rKyv/////////////////Y4vv/OHju/yRs7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8fYtn/DSpd/xAxbf8XR57/HFnE/yBl4P8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8lcO3/ + +fv+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////7///+P + ////r/////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////+UlJT/Li4u/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pz8//8fHx//////////////////b5Pv/ + OXfu/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yVv7f/5+v7///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////6/////H//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////+fn5/1JSUv8zMzP/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8zMzP/Pz8//8nJyf/+/v7////////////X4fv/Onju/yNr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + LHLt//v8//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////x////9z///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////X19f/MTEx/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8zMzP/+/v7/ + ///////////W4Pv/OXju/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yNr7f84d+7//f7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////c////7P////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////5+fn/8uLi7/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/PT09/8nJyf/////////////////a4/v/OXju/yRs7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + I2vt/0h/7//9/v////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////+z////3//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////+/v7/YWFh/zQ0NP8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/ + Pz8//8jIyP/////////////////b5Pv/N3fu/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ja+3/V43x//7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////9/////3///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////b29v87Ozv/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8rKyv/+/v7////////////W4Pv/ + O3nu/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f90ovP///////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////9//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////3d3d/y0tLf8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8zMzP/Pj4+/8zMzP/////////////////W4Pv/OHfu/yNs7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/JWvt/5m39v/+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////+vr6//MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/PT09/8jIyP////// + ///////////b5Pv/OXju/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8fa+3/wdT5//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////3///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////5GRkf8xMTH/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pz8//8jIyP/////////////////a4/v/OXju/yNr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/ydu7f/q7v3///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////9////9/////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////eXl5/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/ + PT09/8zMzP/+/v7////////////W4Pv/Onju/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ka+3/RoLv//39//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////f////s//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////7+/v9cXFz/MzMz/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8rKyv/////////////////X4fv/ + OXfu/yRs7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f+BqPT///////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////7P///9z///// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/1JSUv8zMzP/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8zMzP/Pj4+/8fHx//////////////////b5Pv/OXju/yNr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/IWrt/8PU+f////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////c////x/////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////9/f3/SUlJ/zMzM/8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pz8//8nJyf/+/v7/ + ///////////Y4vv/Onju/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f85ee7/8vX+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////8f///+v + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////39/f9FRUX/ + MzMz/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/PT09/8zMzP/+/v7////////////W4Pv/Onju/yNr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/JGzt/3ej8/////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////r////4/////+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////f39/0VFRf8zMzP/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/ + Pj4+/8rKyv/////////////////Y4vv/OHju/yRs7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8gau3/1N77//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////7///+P + ////cf////7///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////9/f3/ + SkpK/zMzM/8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pz8//8fHx//////////////////b4/v/ + OXfu/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/I2vt/1eK8f/6+/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v///3H///9Q/////v////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////39/f9UVFT/MzMz/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8zMzP/Pz8//8nJyf/+/v7////////////X4fv/O3ju/yNr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8gau3/tcv4//////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + ////UP///y/////2//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/15eXv8zMzP/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/NDQ0/zY2Nv83Nzf/ODg4/zc3N/82Njb/ + NDQ0/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8zMzP/+/v7/ + ///////////W4Pv/OXju/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/I2vt/0OA7//7/P////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////b///8v////Ef///+n///////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////f39//zExMf8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv9CQkL/ + c3Nz/6Ojo//MzMz/5+fn//b29v/8/Pz/+Pj4/+vr6//V1dX/s7Oz/4aGhv9VVVX/NTU1/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8nJyf/////////////////Z4vv/OXju/yRs7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ka+3/tsz5//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////6f///xH///8B////x/////7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////7+/v+Wlpb/MTEx/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zMzM/9YWFj/rKys/+vr6//7+/v/7+/v/9fX1/+7u7v/qqqq/6SkpP+oqKj/ + tbW1/87Ozv/m5ub/+fn5//f39//T09P/f39//z8/P/8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/ + Pz8//8fHx//////////////////b5Pv/OHfu/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/I2vt/1+P8f/7/P////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7////G////Af///wH///+U//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////7a2tv8wMDD/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv9JSUn/q6ur//Pz8//y8vL/ + u7u7/3Z2dv9KSkr/OTk5/zMzM/8yMjL/MjIy/zIyMv8yMjL/NjY2/0FBQf9fX1//mJiY/9zc3P/6+vr/ + 29vb/3Z2dv81NTX/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8rKyv/+/v7////////////W4fv/ + O3nu/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8scO3/1OD7//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////5T///8B////Af///1z////+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////4eHh/ywsLP8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/Z2dn/+Pj4//6+vr/srKy/1RUVP8zMzP/MjIy/zIyMv8yMjL/MzMz/z8/P/9ERET/ + QEBA/zQ0NP8yMjL/MjIy/zIyMv8yMjL/Ozs7/3d3d//c3Nz/+vr6/6ysrP87Ozv/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8zMzP/Pj4+/8zMzP/////////////////W4Pv/OHfu/yRs7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imrt/4+x9f/+/v////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////+////XP///wH///8A////J/////T///// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////5+fn/QEBA/zMzM/8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/NDQ0/4CAgP/4+Pj/4ODg/2dnZ/8yMjL/ + MjIy/zIyMv8yMjL/Ozs7/4WFhf/Q0ND/9PT0//39/f/39/f/19fX/5SUlP9BQUH/MjIy/zIyMv8yMjL/ + MjIy/zs7O/+fn5//+fn5/8vLy/9ERET/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/PT09/8jIyP////// + ///////////b4/v/OXju/yRr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yRr7f9SifD/+Pr+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////T///8n////AAAAAAD///8K////0v////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////9ra2v/MzMz/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zMzM/+Hh4f/+Pj4/8vLy/9JSUn/MjIy/zIyMv8yMjL/MjIy/1NTU//S0tL/+/v7/9nZ2f+pqan/ + lJSU/6SkpP/S0tL/+fn5/9/f3/9iYmL/MjIy/zIyMv8yMjL/MjIy/zQ0NP97e3v/9fX1/8nJyf9BQUH/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pz8//8jIyP/////////////////a4/v/OXfu/yNr7f8ia+3/ + Imvt/yJr7f8ia+3/M3Tu/+Lp/P////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////0v///woAAAAAAAAAAP///wH///+W + /////v////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////6ioqP8tLS3/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/cHBw//T09P/Nzc3/QUFB/zIyMv8yMjL/ + MjIy/zIyMv9MTEz/39/f//Dw8P9+fn7/Ozs7/zIyMv8yMjL/MjIy/zg4OP9ubm7/5ubm/+zs7P9dXV3/ + MjIy/zIyMv8yMjL/MjIy/zIyMv94eHj/9fX1/66urv80NDT/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/ + PT09/8vLy//+/v7////////////W4Pv/Onnu/yNr7f8ia+3/Imvt/ytu7f+6zvn///////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////7///+W////AQAAAAAAAAAA////AP///0v////+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////3t7e/zExMf8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/0dHR//o6Oj/39/f/0dHR/8yMjL/MjIy/zIyMv8yMjL/NDQ0/7y8vP/19fX/Z2dn/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv9UVFT/7Ozs/9TU1P86Ojr/MjIy/zIyMv8yMjL/MjIy/zIyMv+Xl5f/ + +vr6/3BwcP8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8vLy//////////////////X4fv/ + OXfu/yRs7f8ja+3/orz3//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///0v///8AAAAAAAAAAAD///8A + ////Ev///+j///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////8/Pz/ + WVlZ/zMzM/8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/rq6u//f39/9nZ2f/MjIy/zIyMv8yMjL/ + MjIy/zIyMv9dXV3/9/f3/6CgoP8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv+EhIT/ + +/v7/3d3d/8yMjL/MjIy/zIyMv8yMjL/MjIy/zw8PP/T09P/1tbW/zg4OP8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8zMzP/PT09/8jIyP/////////////////b5Pv/OXju/5Oy9f/9/f////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////o////Ev///wAAAAAAAAAAAAAAAAD///8C////pf////7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////+lpaX/LS0t/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/0tLS//19fX/tbW1/zU1Nf8yMjL/MjIy/zIyMv8yMjL/MjIy/5aWlv/19fX/V1dX/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/0VFRf/q6ur/srKy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/3p6ev/9/f3/YmJi/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pz8//8jIyP////// + ///////////n7f3/+/z///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///6X///8CAAAAAAAAAAAAAAAA + AAAAAP///wD///9R/////f////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////+vr6/85OTn/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/h4eH//39/f9iYmL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/s7Oz/+bm5v8/Pz//MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + NTU1/8zMzP/W1tb/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/Q0ND//Hx8f+bm5v/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8zMzP/+/v7///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////9////Uf///wAAAAAAAAAAAAAAAAAAAAAA////AP///wr////m//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/3Z2dv80NDT/MjIy/zIyMv8yMjL/ + MjIy/zIyMv+VlZX/+/v7/09PT/8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv+3t7f/5OTk/z09Pf8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv80NDT/x8fH/9nZ2f8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv9CQkL/7+/v/6SkpP8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/ + Pj4+/8rKyv////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////+b///8K////AAAAAAAAAAAA + AAAAAAAAAAAAAAAA////Af///43////+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////4eHh/ykpKf8yMjL/MjIy/zIyMv8yMjL/MjIy/2NjY//+/v7/hISE/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/5+fn//x8fH/TU1N/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/z8/P//j4+P/vb29/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/4KCgv/9/f3/ZGRk/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pz8//8fHx/////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+////jf///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////Mf////T///// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////cXFx/zExMf8yMjL/ + MjIy/zIyMv8yMjL/OTk5/9vb2//W1tb/Pj4+/zIyMv8yMjL/MjIy/zIyMv8yMjL/bGxs//r6+v+Li4v/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/b29v//r6+v+Hh4f/MjIy/zIyMv8yMjL/ + MjIy/zIyMv9ERET/3t7e/9HR0f83Nzf/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8zMzP/Pz8//8nJyf/+/v7///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////T///8x////AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///8D////uP////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////b29v/MTEx/zIyMv8yMjL/MjIy/zIyMv8yMjL/fn5+//v7+/+QkJD/ + MjIy/zIyMv8yMjL/MjIy/zIyMv85OTn/1NTU/+jo6P9LS0v/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/z8/P//X19f/5+fn/0VFRf8yMjL/MjIy/zIyMv8yMjL/NDQ0/6urq//5+fn/aGho/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8zMzP/+/v7/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////uP///wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///9J + ////+/////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////+Li4v/ + MTEx/zIyMv8yMjL/MjIy/zIyMv82Njb/xMTE//X19f9sbGz/MjIy/zIyMv8yMjL/MjIy/zIyMv9iYmL/ + 8vLy/9ra2v9WVlb/MjIy/zIyMv8yMjL/MjIy/zIyMv9JSUn/ysrK//n5+f95eXn/MjIy/zIyMv8yMjL/ + MjIy/zIyMv+NjY3/+vr6/52dnf8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8nJyf////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////v///9J////AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wr////G//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////+/v7/9FRUX/MzMz/zIyMv8yMjL/MjIy/zIyMv9JSUn/ + 2tra/+/v7/9qamr/MzMz/zIyMv8yMjL/MjIy/zMzM/9xcXH/7e3t//Pz8/+xsbH/d3d3/2NjY/9ycnL/ + paWl/+3t7f/z8/P/hoaG/zQ0NP8yMjL/MjIy/zIyMv82Njb/jo6O//n5+f+2trb/Ojo6/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/ + Pz8//8fHx/////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////xv///wr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ////Af///1X////9//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////8HBwf8vLy//MjIy/zIyMv8yMjL/MjIy/zIyMv9VVVX/3t7e//Pz8/+Hh4f/ODg4/zIyMv8yMjL/ + MjIy/zIyMv9SUlL/tLS0/+7u7v/7+/v//f39//z8/P/y8vL/wsLC/19fX/8zMzP/MjIy/zIyMv8yMjL/ + QUFB/6qqqv/5+fn/tra2/z4+Pv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8rKyv/+/v7///////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////3///9V////AQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////CP///8r///////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////f39/4KCgv8zMzP/MjIy/zIyMv8yMjL/ + MjIy/zIyMv9LS0v/z8/P//v7+//AwMD/WVlZ/zMzM/8yMjL/MjIy/zIyMv8zMzP/R0dH/2lpaf91dXX/ + bW1t/0tLS/80NDT/MjIy/zIyMv8yMjL/NTU1/3Fxcf/a2tr/+vr6/56env84ODj/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8zMzP/Pj4+/8zMzP////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////yv///wj///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8B////S/////v///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////+Pj4/1ZWVv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv86Ojr/mpqa//Ly8v/6+vr/ + vr6+/3Nzc/9DQ0P/MzMz/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv80NDT/R0dH/4CAgP/R0dH/ + /f39/9ra2v9tbW3/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/PT09/8jIyP////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////v///9L////AQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8D////uP////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////4uLi/0ZGRv8zMzP/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/UlJS/6qqqv/r6+v/+/v7/+zs7P/IyMj/paWl/4eHh/93d3f/ + cnJy/3Z2dv+Hh4f/p6en/8zMzP/w8PD/+fn5/9ra2v+Hh4f/Pj4+/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pz8//8jIyP////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////uP///wP///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///wD///82////8f////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////y8vL/zs7O/8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/0hISP97e3v/tbW1/9/f3//z8/P/+fn5//z8/P/9/f3//Pz8//j4+P/x8fH/1tbW/6enp/9qamr/ + PDw8/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/ + PT09/8vLy//+/v7///////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////H///82////AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wH///+O + /////v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + xMTE/zU1Nf8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/NjY2/0ZGRv9ZWVn/ + ZGRk/2hoaP9kZGT/WFhY/0JCQv81NTX/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/Pj4+/8zMzP////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+////jv///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///xP////W//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////w8PD/zg4OP8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8vLy//nJyc//////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////9b///8T////AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ////Af///0n////6//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////xsbG/z09Pf8zMzP/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MzMz/6Kiov/8/Pz///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////6////Sf///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Av///5b////+//////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////09PT/01NTf8zMzP/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MzMz/zw8PP+zs7P//v7+//////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///5b///8CAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8A////EP///9H///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////7+/v/2ZmZv8vLy//MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zMzM/9MTEz/1dXV//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////R////EP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////NP///+v///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + +/v7/6CgoP87Ozv/MzMz/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zMzM/8zMzP/ + fHx8//Ly8v////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////6////zT///8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///8B////Y/////r///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/9nZ2f9gYGD/MzMz/zMzM/8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/TU1N/7y8vP/8/Pz///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////r///9j////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8E + ////jv////7///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////v7+/+ysrL/SEhI/zExMf8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/ODg4/5WVlf/x8fH/ + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////+////jv///wQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8H////tv////7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////29vb/ + paWl/0tLS/8tLS3/MzMz/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zMzM/8wMDD/Ozs7/4eHh//s7Oz///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v///7b///8H////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAP///wD///8U////xf////7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////9/f3/7e3t/9iYmL/MzMz/y8vL/8zMzP/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MzMz/zIyMv8wMDD/T09P/6Ghof/u7u7//v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7////F////FP///wAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8g////0v////7///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////v7+//c3Nz/mZmZ/1dXV/8zMzP/MDAw/zExMf8zMzP/MzMz/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zMzM/8yMjL/MDAw/y8vL/9KSkr/ + iIiI/87Ozv/4+Pj///////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + ////0v///yD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///wD///8n////3P////7///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /f39/+fn5/+0tLT/iIiI/1lZWf87Ozv/Jycn/yUlJf8pKSn/MjIy/zMzM/80NDT/MzMz/zIyMv8uLi7/ + JSUl/yYmJv81NTX/UVFR/3x8fP+oqKj/3d3d//v7+/////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v///9z///8n////AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8m + ////3f////7///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+//z8/P/u7u7/ + 29vb/8bGxv+vr6//nZ2d/5iYmP+ampr/qKio/8HBwf/W1tb/6enp//n5+f////////////7+/v////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////7////c + ////Jv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8n////0v////7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////+////0v///yf///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAP///wD///8g////xf////7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v///8X///8g + ////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8V////tv////7///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////7///+2////Ff///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///wD///8H////jv////r///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////6////jv///wf///8A + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8F + ////Y////+z///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////7P///2P///8F////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8B////NP///9H////+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///9H///80////AQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8A////EP///5b////5//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////n///+W////EP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////Av///0n////W + /////v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7////W////Sf///wL///8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Af///xP///+O////8f////7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////7////x + ////jv///xP///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ////AP///wH///82////uP////v///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////7////uP///zb///8B////AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8D////S////8v////9 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////9////y////0v///8D + ////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///wD///8B////CP///1X////G////+/////7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////7////7////xv///1X///8I////Af///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A + ////Af///wr///9K////uP////T////+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7////0////uP///0r///8K////Af///wAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wH///8D////Mf///43////n + /////f////7///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v////3////n + ////jf///zH///8D////Af///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////Af///wr///9R////pf///+j////+/////v////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+/////v///+j///+l////Uf///wr///8B////AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ////AP///wH///8C////Ef///0z///+W////0v////T////+//////////7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////+//////////7////0////0v///5b///9M////Ef///wL///8B + ////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////Af///wH///8K + ////KP///1z///+U////x////+n////2/////v////7////+//////////////////////////////// + ///////////////////////////////////////////////+/////v////7////2////6f///8f///+U + ////XP///yj///8K////Af///wH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////Af///wH///8B////Ef///y////9Q + ////cf///4////+v////x////9z////s////9/////3///////////////3////3////7P///9z////H + ////r////4////9x////UP///y////8R////Af///wH///8B////AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAA + AAD///////////////AAAAAAD/////////////+AAAAAAAH////////////+AAAAAAAAf/////////// + 8AAAAAAAAA///////////8AAAAAAAAAD//////////8AAAAAAAAAAP/////////+AAAAAAAAAAB///// + ////+AAAAAAAAAAAH/////////AAAAAAAAAAAA/////////AAAAAAAAAAAAD////////gAAAAAAAAAAA + Af///////wAAAAAAAAAAAAD///////wAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAB//////8AAAAAAA + AAAAAAAP/////+AAAAAAAAAAAAAAB//////AAAAAAAAAAAAAAAP/////gAAAAAAAAAAAAAAB/////wAA + AAAAAAAAAAAAAP////4AAAAAAAAAAAAAAAB////8AAAAAAAAAAAAAAAAP///+AAAAAAAAAAAAAAAAB// + //gAAAAAAAAAAAAAAAAf///wAAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAA + AAAD///AAAAAAAAAAAAAAAAAA///gAAAAAAAAAAAAAAAAAH//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAA + AAAAAAAAAP/+AAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/4AAAA + AAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP + 8AAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAA + AAAAA8AAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAA + AAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAB + gAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAA + AAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAA + AAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/8AAAA + AAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAD/ + /wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAA + AAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////gAAAAAAAAAAAAAAAAf///4AAAAAAAA + AAAAAAAAH////AAAAAAAAAAAAAAAAD////4AAAAAAAAAAAAAAAB/////AAAAAAAAAAAAAAAA/////4AA + AAAAAAAAAAAAAf/////AAAAAAAAAAAAAAAP/////4AAAAAAAAAAAAAAH//////AAAAAAAAAAAAAAD/// + ///4AAAAAAAAAAAAAB///////AAAAAAAAAAAAAA///////8AAAAAAAAAAAAA////////gAAAAAAAAAAA + Af///////8AAAAAAAAAAAAP////////wAAAAAAAAAAAP////////+AAAAAAAAAAAH/////////4AAAAA + AAAAAH//////////AAAAAAAAAAD//////////8AAAAAAAAAD///////////wAAAAAAAAD/////////// + /gAAAAAAAH////////////+AAAAAAAH/////////////8AAAAAAP//////////////8AAAAA//////// + KAAAAEAAAACAAAAAAQAgAAAAAAAAQAAA6hYAAOoWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8A////A////yH///9X////iP///6/////P////6P////j////+/////v////j////o + ////z////6////+I////V////yH///8D////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAA////AP///wP///8+////kf///9n////8//////////////////////////////// + ///////////////////////////////////////////////8////2f///5H///8+////A////wAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////Ff///3j////c/////v////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v///9z///94////Ff///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8U////if////D///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////D///+J////FP///wAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wX///9u////7P////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////+z///9u + ////BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///yr////G + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////8b///8q////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ////Af///2H////z//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////8////2H///8BAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAA////Bf///5L////+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + ////kv///wUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Cv///63///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////+t////CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Cv///7f///////////////////// + //////////////////////////////////////////////////////f4/v/J2vr/nbz3/3+n9P9om/P/ + X5Ty/2KW8v90ofP/jbH1/7LK+P/k6/z//v7///////////////////////////////////////////// + /////////////////////////////////////////////////////////7f///8KAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Bf///63///// + ///////////////////////////////////////////////////////////7/P//vNH5/2mZ8v8tcu7/ + Imvt/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/JGzt/0iD8P+TtPb/5+79//////////// + //////////////////////////////////////////////////////////////////////////////// + ////rf///wUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ////Af///5L///////////////////////////////////////////////////////////39//+yyfj/ + RYDv/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/ydu7f95o/T/5e39//////////////////////////////////////////////////////////// + //////////////////////////////+S////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAA////AP///2H////+//////////////////////////////////////////////// + /////9/o/P9ZjfH/I2vt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/y9y7v+hvff//f7///////////////////////////// + /////////////////////////////////////////////////////v///2H///8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///yr////z//////////////////////////////// + /////////////////////7bM+f8vcu7/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/I2vt/2WW8v/x9f7/ + ///////////////////////////////////////////////////////////////////////////////z + ////KgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wX////G//////////////// + /////////////////////////////////////6K99/8kbO3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yBk3v8YS6b/DzFs/xM7gv8ia+z/ + Imvt/yJr7f8ia+3/TIXw/+rw/f////////////////////////////////////////////////////// + /////////////////////////8b///8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///9u + //////////////////////////////////////////////////////////+7z/n/KG7t/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yBl4P8ZTq7/ETV1/w0qXv8QMWz/ + F0qj/yBk3f8WRpv/ETRz/yJq6/8ia+3/Imvt/yJr7f9Ig/D/7vP9//////////////////////////// + ////////////////////////////////////////////////////bv///wAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8U////7P////////////////////////////////////////////////////////// + /////7nO+f8obu3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/xE2d/8LIUr/ + Fked/x9g1f8ia+z/Imvt/yJr7f8ia+3/Imvt/xhMqf8PL2j/IWnp/yJr7f8ia+3/Imvt/1qO8f/8/P// + /////////////////////////////////////////////////////////////////////////+z///8U + AAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////if////////////////////////////////////////// + ////////////////////////////////u8/5/yhu7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8hZ+T/Dy5n/xZElv8ia+z/Imvt/yJr7f8haOf/G1W9/x1ayP8ia+3/GlG0/w4rX/8haOb/ + Imvt/yJr7f8ja+3/i6/1//////////////////////////////////////////////////////////// + ////////////////////if///wAAAAAAAAAAAAAAAAAAAAAA////Ff////D///////////////////// + //////////////////////////////////////////////////////////+6zvn/KG7t/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7P8VQpP/Di1k/xQ+if8OK2D/Di1k/xQ/jP8NKl7/ + GlK1/yJr7f8bVr7/DSla/yBm4v8ia+3/Imvt/ydu7f/T4fv///////////////////////////////// + //////////////////////////////////////////D///8VAAAAAAAAAAAAAAAA////AP///3j///// + //////////////////////////////////////////////////////////////////////////////// + /////7rP+f8pbu3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/xhKpf8OLWT/Ditf/xM8hf8cV8H/ + Imrq/yJr7f8ia+3/IWnp/w8uZv8YTKn/Imvt/xxXwf8LIkz/IGTd/yJr7f8ia+3/Wo/x//7///////// + ////////////////////////////////////////////////////////////////////eP///wAAAAAA + AAAAAP///wP////c//////////////////////////////////////////////////////////////// + ////////////////////////////////us75/yhu7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8aUrb/ + DCZU/x5g1P8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7P8iaur/EDNy/woeQ/8PLmf/EjqA/x5g1P8ia+3/ + Imvt/yFr7f/K2vr///////////////////////////////////////////////////////////////// + /////////9z///8DAAAAAAAAAAD///8+/////v////////////////////////////////////////// + ////////////////////////////////////////////////+Pj4//////+6z/n/KW/t/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/x9h1/8NKFn/GVCw/x9i2f8XSaH/EDFt/w0pW/8NKVr/IGXh/yJr7P8SOH3/ + FUGR/yJr7f8ia+3/Imvt/yJr7f8ia+3/bJvz//////////////////////////////////////////// + ///////////////////////////////+////PgAAAAD///8A////kf////////////////////////// + ////////////////////////////////////////////////////////////////7e3t/1NTU/+0tLT/ + /////7rO+f8obu3/Imvt/yJr7f8ia+3/Imvt/yBl4P8YTKj/EDJu/wgZN/8NKVr/F0mi/xdIn/8fYtn/ + FkSX/wwmVf8fY9v/Imvt/xQ+iP8TPIX/Imvt/yJr7f8ia+3/Imvt/ypw7f/w9P7///////////////// + /////////////////////////////////////////////////////////5H///8A////A////9n///// + //////////////////////////////////////////////////////////////////////////////// + +vr6/2BgYP8yMjL/NjY2/7S0tP//////us75/ylv7f8ia+3/Imvt/yJr7f8SOHz/CiBH/xhLpf8bU7n/ + HFnF/xlPr/8fYtn/GU6t/xtVvf8YS6f/CyRQ/xM9h/8PMGr/CRs8/xxZxf8ia+3/Imvt/yJr7f8ia+3/ + t835///////////////////////////////////////////////////////////////////////////Z + ////A////yH////8//////////////////////////////////////////////////////////////// + /////////////////////5CQkP8yMjL/MjIy/zIyMv81NTX/tLS0//////+6zvn/KW7t/yJr7f8ia+3/ + Imvt/xZGnP8MJlX/GEyo/xpRtP8cV8L/G1W9/xtUuv8aUbT/GlK1/xhNqf8KH0X/HFjE/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/4Cp9P////////////////////////////////////////////////////// + /////////////////////P///yH///9X//////////////////////////////////////////////// + /////////////////////////////////////9XV1f81NTX/MjIy/zIyMv8yMjL/MjIy/zY2Nv+0tLT/ + /////7rO+f8pbu3/Imvt/yJr7f8ia+3/HVrI/wogR/8UP4v/Hl7P/xpRsv8cWsb/GlG0/xpQsv8dXMv/ + F0qj/w0nV/8cWMT/Imvt/yJr7f8ia+3/Imvt/yJr7f9YjvH///////////////////////////////// + //////////////////////////////////////////////9X////iP////////////////////////// + //////////////////////////////////////////////////////////9lZWX/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/NTU1/7S0tP//////us/5/yhu7f8ia+3/Imvt/yJr7f8gZuL/Ditg/xAybv8hZ+T/ + GU6t/xxZxP8dW8r/GU6t/x5dz/8RNnj/BhIo/x1byv8ia+3/Imvt/yJr7f8ia+3/Onrv//7///////// + ////////////////////////////////////////////////////////////////////iP///6////// + ///////////////////////////////////////////////////////////////////////////Ozs7/ + MTEx/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv82Njb/tLS0//////+6zvn/KW7t/yJr7f8ia+3/ + Imvt/yJr7P8VQZD/DCZT/xM9h/8MJVP/DSpd/w4sYv8RNXX/FkWY/xxXwf8haej/Imvt/yJr7f8ia+3/ + Imvt/ytw7f/+/v////////////////////////////////////////////////////////////////// + /////////6/////P//////////////////////////////////////////////////////////////// + ////////////////dnZ2/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zU1Nf+zs7P/ + /////7vP+f8obu3/Imvt/yJr7f8ia+3/Imvt/xxYxP8bVLn/IGXg/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8kbe3//P3///////////////////////////////////////////// + ///////////////////////////////P////6P////////////////////////////////////////// + ////////////////////////////////9PT0/zo6Ov8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/NTU1/7S0tP//////uc75/yhu7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/KnDt//7+//////////////////////// + ////////////////////////////////////////////////////6P////j///////////////////// + /////////////////////////////////////////////////////7+/v/8xMTH/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv81NTX/s7Oz//////+7z/n/KG7t/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/zp57v/+/v// + //////////////////////////////////////////////////////////////////////////j////+ + //////////////////////////////////////////////////////////////////////////+Pj4// + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zU1Nf+1tbX/ + /////7nO+f8obu3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f9VjPH///////////////////////////////////////////////////////////////// + ///////////////+/////v////////////////////////////////////////////////////////// + ////////////////aWlp/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/NTU1/7Ozs///////u8/5/yhu7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/fKf0//////////////////////////////////////////// + /////////////////////////////////////v////j///////////////////////////////////// + /////////////////////////////////////09PT/8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv81NTX/tbW1//////+5zvn/KG7t/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/7HJ+P////////////////////// + //////////////////////////////////////////////////////////j////o//////////////// + //////////////////////////////////////////////////////7+/v9AQED/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zU1Nf+zs7P/ + /////7vP+f8obu3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yhu7f/t8v3/ + ///////////////////////////////////////////////////////////////////////////////o + ////z//////////////////////////////////////////////////////////////////////+/v7/ + PDw8/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/NTU1/7S0tP//////us75/yhu7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f9klvL///////////////////////////////////////////////////////////////// + ////////////////////z////6////////////////////////////////////////////////////// + /////////////////v7+/0FBQf8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv81NTX/s7Oz//////+6z/n/KW7t/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/wdT6//////////////////////////////////////////// + /////////////////////////////////////////6////+I//////////////////////////////// + //////////////////////////////////////////9QUFD/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/RkZG/3V1df+SkpL/mZmZ/4uLi/9oaGj/Ozs7/zIyMv8yMjL/MjIy/zU1Nf+0tLT/ + /////7rO+f8pbu3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/UInw//7+//////////////////////// + //////////////////////////////////////////////////////////////+I////V/////////// + ////////////////////////////////////////////////////////////////bGxs/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv9WVlb/urq6/8bGxv+SkpL/c3Nz/2xsbP97e3v/oKCg/8/Pz/+lpaX/ + RERE/zIyMv8yMjL/NjY2/7S0tP//////us75/ylv7f8ia+3/Imvt/yJr7f8ia+3/JWzt/8va+v////// + //////////////////////////////////////////////////////////////////////////////// + ////V////yH////8//////////////////////////////////////////////////////////////// + /////5KSkv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv+EhIT/ycnJ/1paWv8yMjL/SUlJ/42Njf+enp7/ + dHR0/zY2Nv80NDT/cHBw/9DQ0P9fX1//MjIy/zIyMv81NTX/tLS0//////+6zvn/KG7t/yJr7f8ia+3/ + Imvt/3+n9P////////////////////////////////////////////////////////////////////// + /////////////////////P///yH///8D////2f////////////////////////////////////////// + ///////////////////////////ExMT/MTEx/zIyMv8yMjL/MjIy/zIyMv+Hh4f/tLS0/zg4OP8yMjL/ + bGxs/8/Pz/98fHz/Z2dn/5ycnP/FxcX/PT09/zIyMv9FRUX/y8vL/1VVVf8yMjL/MjIy/zY2Nv+0tLT/ + /////7rO+f8pb+3/Imvt/0+H8P/4+f7///////////////////////////////////////////////// + /////////////////////////////////////////9n///8D////AP///5H///////////////////// + ////////////////////////////////////////////////9vb2/zw8PP8yMjL/MjIy/zIyMv9WVlb/ + ycnJ/zc3N/8yMjL/PT09/9LS0v8/Pz//MjIy/zIyMv8yMjL/fX19/6CgoP8yMjL/MjIy/05OTv/FxcX/ + NDQ0/zIyMv8yMjL/NTU1/7S0tP//////us/5/0WA7//n7v3///////////////////////////////// + //////////////////////////////////////////////////////////////+R////AAAAAAD///8+ + /////v////////////////////////////////////////////////////////////////////99fX3/ + MjIy/zIyMv8yMjL/sbGx/2BgYP8yMjL/MjIy/2tra/+cnJz/MjIy/zIyMv8yMjL/MjIy/zc3N//Pz8// + MjIy/zIyMv8yMjL/q6ur/1hYWP8yMjL/MjIy/zIyMv81NTX/tLS0///////4+v7///////////////// + ///////////////////////////////////////////////////////////////////////////////+ + ////PgAAAAAAAAAA////A////9z///////////////////////////////////////////////////// + ////////////////1dXV/zAwMP8yMjL/MjIy/7y8vP9OTk7/MjIy/zIyMv9ubm7/mJiY/zIyMv8yMjL/ + MjIy/zIyMv82Njb/0NDQ/zIyMv8yMjL/MjIy/6ysrP9bW1v/MjIy/zIyMv8yMjL/MjIy/zU1Nf+0tLT/ + //////////////////////////////////////////////////////////////////////////////// + ////////////////////3P///wMAAAAAAAAAAP///wD///94//////////////////////////////// + //////////////////////////////////////////9sbGz/MjIy/zIyMv9xcXH/qKio/zIyMv8yMjL/ + QkJC/9DQ0P84ODj/MjIy/zIyMv8yMjL/bm5u/6urq/8yMjL/MjIy/1VVVf/ExMT/MzMz/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/NTU1/7S0tP////////////////////////////////////////////////////// + /////////////////////////////////////////3j///8AAAAAAAAAAAAAAAAA////Ff////D///// + ////////////////////////////////////////////////////////////////3t7e/zc3N/8yMjL/ + MzMz/7e3t/9+fn7/MjIy/zIyMv9+fn7/xMTE/2NjY/9OTk7/g4OD/8/Pz/9ERET/MjIy/0pKSv/Ozs7/ + T09P/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv81NTX/s7Oz//////////////////////////// + //////////////////////////////////////////////////////////D///8VAAAAAAAAAAAAAAAA + AAAAAP///wD///+J//////////////////////////////////////////////////////////////// + //////////+cnJz/MjIy/zIyMv87Ozv/u7u7/5+fn/88PDz/MjIy/1tbW/+mpqb/t7e3/42Njf89PT3/ + MzMz/29vb//Pz8//V1dX/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zU1Nf+1tbX/ + //////////////////////////////////////////////////////////////////////////////+J + ////AAAAAAAAAAAAAAAAAAAAAAAAAAAA////FP///+z///////////////////////////////////// + /////////////////////////////////f39/2xsbP8yMjL/MjIy/zQ0NP+EhIT/09PT/6enp/91dXX/ + WFhY/1NTU/9kZGT/jo6O/8nJyf+np6f/QUFB/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/NTU1/7Ozs/////////////////////////////////////////////////////// + ///////////////s////FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///9u//////////////// + ///////////////////////////////////////////////////////////y8vL/WVlZ/zIyMv8yMjL/ + MjIy/zg4OP9lZWX/k5OT/62trf+xsbH/oaGh/3l5ef9CQkL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv81NTX/tbW1//////////////////////////// + ////////////////////////////////////bv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ////Bf///8b///////////////////////////////////////////////////////////////////// + //////Dw8P9bW1v/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/5qamv////// + ////////////////////////////////////////////////////xv///wUAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///8q////8/////////////////////////////////////////// + ////////////////////////////////9PT0/3V1df8xMTH/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + OTk5/7Gxsf//////////////////////////////////////////////////////////8////yoAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///2H////+//////////////// + ///////////////////////////////////////////////////////////+/v7/rKys/z4+Pv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/XFxc/9ra2v////////////////////////////////////////////////////// + /////v///2H///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8B + ////kv////////////////////////////////////////////////////////////////////////// + ///////////r6+v/hYWF/zc3N/8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv9KSkr/rq6u//v7+/////////////////////////////////////// + /////////////////////////5L///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///wX///+t//////////////////////////////////////////////// + ///////////////////////////////////////////r6+v/m5ub/1VVVf8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8xMTH/ODg4/25ubv+6urr/+vr6//////////////////////////// + /////////////////////////////////////////63///8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Cv///7f///////////////////// + ///////////////////////////////////////////////////////////////////////////+/v7/ + 5ubm/7e3t/+Tk5P/fHx8/2xsbP9mZmb/cnJy/4ODg/+fn5//yMjI//X19f////////////////////// + /////////////////////////////////////////////////////////7f///8KAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8K + ////rf////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////63///8K + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///wX///+S/////v////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v///5L///8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Af///2H////z//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////8////2H///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A + ////Kv///8b///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////xv///yr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///8F////bv///+z///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////s////bv///wUAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8U////if////D///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////D///+J////FP///wAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAP///wD///8V////eP///9z////+//////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////+////3P///3j///8V + ////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8D////Pv///5H////Z/////P////////// + /////////////////////////////////////////////////////////////////////P///9n///+R + ////Pv///wP///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A + ////A////yH///9X////iP///6/////P////6P////j////+/////v////j////o////z////6////+I + ////V////yH///8D////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///wAAD//////4AAAB/// + //+AAAAB/////gAAAAB////8AAAAAD////AAAAAAD///4AAAAAAH///AAAAAAAP//4AAAAAAAf//AAAA + AAAA//4AAAAAAAB//AAAAAAAAD/4AAAAAAAAH/gAAAAAAAAf8AAAAAAAAA/gAAAAAAAAB+AAAAAAAAAH + wAAAAAAAAAPAAAAAAAAAA4AAAAAAAAABgAAAAAAAAAGAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAHAAAAAAAAAA8AAAAAAAAAD + 4AAAAAAAAAfgAAAAAAAAB/AAAAAAAAAP+AAAAAAAAB/4AAAAAAAAH/wAAAAAAAA//gAAAAAAAH//AAAA + AAAA//+AAAAAAAH//8AAAAAAA///4AAAAAAH///wAAAAAA////wAAAAAP////gAAAAB/////gAAAAf// + ///gAAAH//////wAAD///ygAAAAwAAAAYAAAAAEAIAAAAAAAACQAAOoWAADqFgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A + ////Av///yD///9e////lP///77////e////9P////7////+////9P///97///++////lP///17///8g + ////Av///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ////AP///xj///90////y/////v///////////////////////////////////////////////////// + ///////////////7////y////3T///8Y////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAP///wD///8d////lv////P///////////////////////////////////////////////////// + ///////////////////////////////////////////////z////lv///x3///8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8A////Cv///33////0//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////T///99 + ////Cv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///wD///8u////zv////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////zv///y7///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///1b////y//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////L///9W////AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8B////b/////v///////////////////// + //////////////////////////////////////z9///09/7/8PX+//f5/v/+/v////////////////// + ///////////////////////////////////////////////////////////////7////b////wEAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///9v/////P////////// + /////////////////////////////////f3//87e+/+LsPX/WI7x/zd47/8pcO7/J2/t/y1y7v9Bf+// + aZry/6TA9//o7/3///////////////////////////////////////////////////////////////// + /////P///2////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///1b////7 + //////////////////////////////////////7+//+2zPn/TYbw/yNs7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8qcO3/cp/z/97o/P////////////////////////////////////// + //////////////////////////v///9W////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A + ////Lv////L/////////////////////////////////////4+v9/16R8f8ja+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/ylv7f+Vtvb/+vz///////////// + ///////////////////////////////////////////////y////Lv///wAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD///8K////zv/////////////////////////////////////K2vr/N3ju/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yFo5v8bVb3/IWfk/yJr7f8ia+3/ + ZJXy//L2/v//////////////////////////////////////////////////////////zv///woAAAAA + AAAAAAAAAAAAAAAAAAAAAP///wD///99//////////////////////////////////////////+HrPX/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imrq/xxZxf8VQY//EzqB/xM9iP8YTar/ + ETR0/yBl4f8ia+3/Imvt/1eN8f/2+P7///////////////////////////////////////////////// + /////////33///8AAAAAAAAAAAAAAAAAAAAAAP///x3////0//////////////////////////////// + ///////////9/f//gKj0/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8haej/CyJM/xZHnf8gZd// + Imvt/yJr7f8ia+3/IGXf/xE0dP8fY9r/Imvt/yJr7f9tm/P//f3///////////////////////////// + //////////////////////////T///8dAAAAAAAAAAAAAAAA////AP///5b///////////////////// + /////////////////////////////////P3//4Co9P8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + H2Pc/xE2eP8cWMT/HFnE/xVCk/8SOH3/GU+u/yFn4/8RNXb/HmDU/yJr7f8ja+3/p8P4//////////// + //////////////////////////////////////////////+W////AAAAAAAAAAAA////GP////P///// + //////////////////////////////////////////////////////39//9/p/T/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8iaer/FUOV/xI5f/8RNHP/GE2q/x9j2/8ia+z/Fkac/xhKpP8haOX/EDRy/x1czf8ia+3/ + NXfu/+7z/v/////////////////////////////////////////////////////z////GAAAAAD///8A + ////dP/////////////////////////////////////////////////////////////////////9/f// + gKj0/yNr7f8ia+3/Imvt/yJr7f8iauz/FEGP/xdIn/8ia+z/Imvt/yFp6P8dW8n/IWjm/xhLpv8LI07/ + FUGQ/x1czP8ia+3/Imvt/5O19v////////////////////////////////////////////////////// + ////dP///wD///8C////y/////////////////////////////////////////////////////////// + //////39/f+0tLT/+Pn7/4Co9P8ia+3/Imvt/yJr7f8ia+3/Imrq/xZElv8OLGL/ETZ4/w8vaP8TPIb/ + EDRy/yBm4v8ZT6//FUKS/yJr7P8ia+3/Imvt/z187//8/f////////////////////////////////// + ////////////////////y////wL///8g////+/////////////////////////////////////////// + /////////////////////5qamv8yMjL/gICA//n6+/9+p/T/Imvt/yJr7f8haej/CyRP/xI4e/8ZTav/ + HVrH/x5dzv8bVbz/GlCy/w8wa/8XR53/DShZ/xlPrv8ia+3/Imvt/yJr7f/R3/v///////////////// + ////////////////////////////////////+////yD///9e//////////////////////////////// + ////////////////////////////////y8vL/zU1Nf8yMjL/MjIy/39/f//5+vz/gKj0/yNr7f8ia+3/ + H2LZ/xAxbP8WRZj/G1W8/xxYw/8aUbP/G1a+/xhNqv8PL2f/H2DV/yJr7f8ia+3/Imvt/yJr7f+au/f/ + /////////////////////////////////////////////////////////17///+U//////////////// + ///////////////////////////////////////////5+fn/VVVV/zIyMv8yMjL/MjIy/zIyMv+AgID/ + +fn7/4Co9P8ia+3/Imvt/yJp6v8UPon/Ejh9/xxXwP8bVLv/HVrI/xtWvv8aUrX/Dy5n/x5e0f8ia+3/ + Imvt/yJr7f91ovT//////////////////////////////////////////////////////////5T///++ + //////////////////////////////////////////////////////////+zs7P/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/gICA//r6/P9+p/T/Imvt/yJr7f8ia+3/GU2r/xAzcf8TO4P/ETR0/xE1dP8SOX// + FD2I/x1ayP8ia+3/Imvt/yJr7f9ilPL///////////////////////////////////////////////// + /////////77////e//////////////////////////////////////////////////////////9cXFz/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/35+fv/6+vz/f6f0/yNr7f8ia+3/Imvt/x9h1v8dXMz/ + Imnq/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f9ZkPH///////////////////////////////// + /////////////////////////97////0//////////////////////////////////////////////// + /////+Tk5P8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv+AgID/+fn7/4Co9P8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f9klvL///////////////// + //////////////////////////////////////////T////+//////////////////////////////// + /////////////////////7CwsP8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + gICA//r7/P9+pvT/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f97pvT/ + //////////////////////////////////////////////////////////7////+//////////////// + /////////////////////////////////////4uLi/8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/35+fv/6+/z/gKj0/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f+jwff///////////////////////////////////////////////////////////7////0 + /////////////////////////////////////////////////////3R0dP8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv+AgID/+fn7/4Cn9P8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yNr7f/c5vz///////////////////////////////////////////////// + //////////T////e/////////////////////////////////////////////////////2xsbP8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/gICA//r6/P9+p/T/ + Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/0qF8P/+/v////////////////////////////////// + /////////////////////////97///++//////////////////////////////////////////////// + /////3Fxcf8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/MjIy/zIyMv8yMjL/ + MjIy/35+fv/6+vz/gKj0/yNr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/6fD+P////////////////////// + /////////////////////////////////////////77///+U//////////////////////////////// + /////////////////////4WFhf8yMjL/MjIy/zIyMv8yMjL/MjIy/zU1Nf9zc3P/p6en/6urq/+qqqr/ + qqqq/5mZmf9PT0//MjIy/zIyMv+AgID/+fn7/4Co9P8ia+3/Imvt/yJr7f8ia+3/Q4Dv//f5/v////// + /////////////////////////////////////////////////////////5T///9e//////////////// + /////////////////////////////////////6ioqP8yMjL/MjIy/zIyMv8yMjL/R0dH/7Kysv91dXX/ + Pj4+/25ubv9/f3//SkpK/0lJSf+cnJz/ioqK/zMzM/8yMjL/gICA//n6/P9+p/T/Imvt/yJr7f8lbe3/ + wdT6/////////////////////////////////////////////////////////////////////17///8g + ////+////////////////////////////////////////////////9ra2v8xMTH/MjIy/zIyMv9BQUH/ + tLS0/0NDQ/85OTn/sLCw/3R0dP9eXl7/qKio/2dnZ/8yMjL/dXV1/4WFhf8yMjL/MjIy/39/f//5+vv/ + gKj0/yNr7f+NsfX///////////////////////////////////////////////////////////////// + ////+////yD///8C////y/////////////////////////////////////////////////7+/v9PT0// + MjIy/zIyMv+cnJz/UVFR/zIyMv97e3v/aWlp/zIyMv8yMjL/NjY2/6+vr/8yMjL/MjIy/6Ojo/8+Pj7/ + MjIy/zIyMv+AgID/+Pn7/7DJ+P/8/f////////////////////////////////////////////////// + ////////////////////y////wL///8A////dP////////////////////////////////////////// + //////////+goKD/MjIy/zIyMv+urq7/MzMz/zIyMv+RkZH/TU1N/zIyMv8yMjL/MjIy/6urq/8yMjL/ + MjIy/4mJif9TU1P/MjIy/zIyMv8yMjL/gICA//z8/P////////////////////////////////////// + ////////////////////////////////////dP///wAAAAAA////GP////P///////////////////// + ///////////////////////////z8/P/RkZG/zIyMv+Dg4P/bGxs/zIyMv9dXV3/lJSU/zMzM/8yMjL/ + Tk5O/6SkpP8yMjL/QkJC/62trf8zMzP/MjIy/zIyMv8yMjL/MjIy/39/f//7+/v///////////////// + ///////////////////////////////////////////////z////GAAAAAAAAAAA////AP///5b///// + ////////////////////////////////////////////////tLS0/zMzM/82Njb/p6en/2hoaP8zMzP/ + fHx8/6ysrP+kpKT/pqam/0BAQP9LS0v/r6+v/0dHR/8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv+AgID/ + +/v7//////////////////////////////////////////////////////////+W////AAAAAAAAAAAA + AAAAAP///x3////0/////////////////////////////////////////////////v7+/3x8fP8yMjL/ + NjY2/46Ojv+srKz/dXV1/1ZWVv9UVFT/ZmZm/5ycnP+hoaH/QUFB/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/gICA//v7+/////////////////////////////////////////////////T///8d + AAAAAAAAAAAAAAAAAAAAAP///wD///99//////////////////////////////////////////////// + //////j4+P9nZ2f/MjIy/zIyMv87Ozv/a2tr/4uLi/+QkJD/eHh4/0VFRf8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/4WFhf////////////////////////////////////// + /////////33///8AAAAAAAAAAAAAAAAAAAAAAAAAAAD///8K////zv////////////////////////// + ///////////////////////////19fX/cnJy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/QUFB/8bGxv////////////////////// + ////////////////////zv///woAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////Lv////L///// + ////////////////////////////////////////////////+/v7/6CgoP85OTn/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv9iYmL/4ODg//////////// + ///////////////////////////////y////Lv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ////AP///1b////7///////////////////////////////////////////////////////////j4+P/ + fn5+/zk5Of8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/VVVV/7S0tP/9/f3/ + //////////////////////////////////////////v///9W////AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///wD///9v/////P////////////////////////////////////////// + /////////////////////+vr6/+qqqr/dHR0/01NTf87Ozv/NTU1/zg4OP9CQkL/YGBg/46Ojv/Ozs7/ + /Pz8/////////////////////////////////////////////////P///2////8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8B////b/////v///////////////////// + //////////////////////////////////////////////////////7+/v/4+Pj/8fHx//T09P/8/Pz/ + ///////////////////////////////////////////////////////////////7////b////wEAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///1b////y + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////L///9W + ////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAP///wD///8u////zv////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////zv///y7///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////Cv///33////0//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////T///99////Cv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8d////lv////P///// + //////////////////////////////////////////////////////////////////////////////// + ///////////////z////lv///x3///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ////AP///xj///90////y/////v///////////////////////////////////////////////////// + ///////////////7////y////3T///8Y////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////Av///yD///9e////lP///77////e////9P////7////+ + ////9P///97///++////lP///17///8g////Av///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//gAAf/8AAP/4AAAf/wAA/+AAAAf/AAD/gAAA + Af8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA8AAAAAAPAADgAAAAAAcAAOAAAAAABwAA + wAAAAAADAADAAAAAAAMAAIAAAAAAAQAAgAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA + AAEAAIAAAAAAAQAAwAAAAAADAADAAAAAAAMAAOAAAAAABwAA4AAAAAAHAADwAAAAAA8AAPgAAAAAHwAA + /AAAAAA/AAD+AAAAAH8AAP8AAAAA/wAA/4AAAAH/AAD/4AAAB/8AAP/4AAAf/wAA//4AAH//AAAoAAAA + IAAAAEAAAAABACAAAAAAAAAQAADqFgAA6hYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAA////AP///xD///9b////nf///83////t/////f////3////t////zf///53///9b + ////EP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAA////AP///yf///+f////9v////////////////////////////////////////// + ///////////////2////n////yf///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///wv///+O////+v////////////////////////////////////////// + ////////////////////////////////////+v///47///8LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///8m////1P////////////////////////////////////////// + /////////////////////////////////////////////////////////9T///8mAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////M////+v////////////////////////////////v9P7/ + x9j6/7HL+f+1zfn/z977//j6/v///////////////////////////////////////////////+v///8z + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///yb////q//////////////////////7///+80fn/ + WpDx/yVt7f8ia+3/Imvt/yJr7f8ia+3/LHHu/3Gf8//X4/z///////////////////////////////// + /////////+r///8mAAAAAAAAAAAAAAAAAAAAAAAAAAD///8L////1P/////////////////////t8v3/ + YpXy/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8ia+3/Imvt/yVt7f+Kr/X/+/z///////////// + /////////////////////////9T///8LAAAAAAAAAAAAAAAA////AP///47///////////////////// + /////2ua8/8ia+3/Imvt/yJr7f8ia+3/Imvt/yJr7f8fYtr/GU2r/xhKpf8WRZr/Hl3O/yJr7f9omfL/ + +/z//////////////////////////////////////47///8AAAAAAAAAAAD///8n////+v////////// + ////////////////7vP9/0uG8P8ia+3/Imvt/yJr7f8ia+3/HV3N/xE2ef8haOf/Imrr/x9h2P8ZTq3/ + HFrH/yJr7f+BqfT/////////////////////////////////////+v///ycAAAAA////AP///5////// + ////////////////////////////////7vP9/0uG8P8ia+3/Imvt/yJr7f8fY9v/FUGQ/xRAjf8YS6f/ + GVCw/xlOrP8ZULH/G1a+/yNs7f/L2/v/////////////////////////////////////n////wD///8Q + ////9v//////////////////////////////////////////7PH8/0uG8P8ia+3/Imvt/yBl3/8WRJb/ + H2LZ/xtUuv8XSqP/HVvK/xAybv8dXMv/Imvt/16S8v/////////////////////////////////////2 + ////EP///1v//////////////////////////////////////////9LS0v9cXFz/2+Dr/0uG8P8ia+3/ + HV3O/xI6gf8TO4T/GlCy/xpSt/8UPor/FkWa/xZHnf8ia+3/JGzt/+nw/f////////////////////// + //////////////9b////nf/////////////////////////////////////19fX/SkpK/zIyMv9UVFT/ + 2+Dr/0uG8P8ia+3/GEyp/xQ/i/8cV8D/G1S6/xpSt/8TOoH/IWbj/yJr7f8ia+3/ts35//////////// + /////////////////////////53////N/////////////////////////////////////5mZmf8yMjL/ + MjIy/zIyMv9UVFT/2+Dr/0uF8P8ia+3/HFrH/xRAjf8VQpP/FECO/xVDlf8YS6f/Imvt/yJr7f+Zuvb/ + ////////////////////////////////////zf///+3////////////////////////////////8/Pz/ + RUVF/zIyMv8yMjL/MjIy/zIyMv9UVFT/2+Dr/0uF8P8ia+3/IWbj/yBk3f8ia+3/Imvt/yJr7f8ia+3/ + Imvt/5K29v/////////////////////////////////////t/////f////////////////////////// + /////9PT0/8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv9UVFT/2+Dr/0uF8P8ia+3/Imvt/yJr7f8ia+3/ + Imvt/yJr7f8ia+3/o8H3//////////////////////////////////////3////9//////////////// + ////////////////ra2t/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv9UVFT/2+Dr/0uF8P8ia+3/ + Imvt/yJr7f8ia+3/Imvt/yJr7f/L3Pv//////////////////////////////////////f///+3///// + //////////////////////////+enp7/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv9UVFT/ + 2+Dr/0uF8P8ia+3/Imvt/yJr7f8ia+3/NHfu//r8///////////////////////////////////////t + ////zf///////////////////////////////6Ojo/8yMjL/MjIy/zIyMv8yMjL/Nzc3/1tbW/9iYmL/ + QkJC/zIyMv9UVFT/2+Dr/0uG8P8ia+3/Imvt/yJr7f+MsfX///////////////////////////////// + /////////83///+d////////////////////////////////v7+//zIyMv8yMjL/MjIy/3V1df+Dg4P/ + d3d3/35+fv92dnb/ioqK/z09Pf9UVFT/2+Dr/0uG8P8ia+3/Onrv//L2/v////////////////////// + ////////////////////nf///1v////////////////////////////////u7u7/NDQ0/zIyMv92dnb/ + VVVV/2tra/9vb2//Wlpa/4iIiP83Nzf/jY2N/zIyMv9UVFT/2+Dr/1KK8f/L2/v///////////////// + //////////////////////////////9b////EP////b///////////////////////////////9tbW3/ + MjIy/4eHh/8yMjL/g4OD/zIyMv8yMjL/g4OD/zIyMv9vb2//RkZG/zIyMv9UVFT/6uvs//////////// + ////////////////////////////////////9v///xD///8A////n/////////////////////////// + /////9LS0v8zMzP/gYGB/0VFRf9xcXH/ZGRk/01NTf+Li4v/ODg4/42Njf8yMjL/MjIy/zIyMv9UVFT/ + 7Ozs//////////////////////////////////////////+f////AAAAAAD///8n////+v////////// + /////////////////////46Ojv80NDT/hISE/3p6ev90dHT/f39//3Jycv+Kior/Ozs7/zIyMv8yMjL/ + MjIy/zIyMv9UVFT/7Ozs////////////////////////////////+v///ycAAAAAAAAAAP///wD///+O + /////////////////////////////////Pz8/3Z2dv8yMjL/QEBA/2lpaf9ubm7/SEhI/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv9ubm7///////////////////////////////+O////AAAAAAAAAAAA + AAAAAP///wv////U/////////////////////////////////Pz8/5SUlP81NTX/MjIy/zIyMv8yMjL/ + MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/aGho/+vr6///////////////////////////1P///wsAAAAA + AAAAAAAAAAAAAAAAAAAAAP///yb////q/////////////////////////////////////9vb2/98fHz/ + Ozs7/zIyMv8yMjL/MjIy/zIyMv8zMzP/Y2Nj/7y8vP/+/v7//////////////////////////+r///8m + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///zP////r//////////////////////////////// + ///////////5+fn/0tLS/7m5uf+2trb/yMjI/+/v7//////////////////////////////////////r + ////MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///yb////U//////////////// + //////////////////////////////////////////////////////////////////////////////// + ////1P///yYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wv///+O + ////+v////////////////////////////////////////////////////////////////////////// + ////+v///47///8LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAP///wD///8n////n/////b///////////////////////////////////////////////////// + ////9v///5////8n////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////EP///1v///+d////zf///+3////9/////f///+3////N + ////nf///1v///8Q////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAf/+AAB/ + /AAAP/gAAB/wAAAP4AAAB8AAAAOAAAABgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAHAAAAD4AAAB/AAAA/4AAAf/AAAP/4AAH//gAH/ + KAAAABAAAAAgAAAAAQAgAAAAAAAABAAA6hYAAOoWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8y + ////mP///9r////6////+v///9r///+Y////Mv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wr///+b + /////v////////////////////////////////////7///+b////CgAAAAAAAAAAAAAAAP///wr////C + ///////////F2Pr/f6n0/2qc8/+FrfX/0eD7/////////////////////8L///8KAAAAAP///wD///+b + //////////93o/T/Imvt/yJr7f8haej/HVvL/x9e0P+ErPX//v7/////////////////m////wD///8y + /////v//////////ydv7/yxy7v8ia+3/GU6s/xxXwf8aU7j/HVvJ/5u89/////////////////7///8y + ////mP////////////////T09P+brc3/LHLu/xlQsf8aULL/GU2r/xZGnP8yde7/+vv///////////// + ////mP///9r///////////////+CgoL/Ozs7/5Wmxv8qat3/GEyo/xhKpP8YTKj/Imvt/9Ph+/////// + /////////9r////6///////////z8/P/Nzc3/zIyMv87Ozv/lafG/yxw6/8haen/Imvt/yJr7f/N3fv/ + ///////////////6////+v//////////0tLS/zIyMv8yMjL/MjIy/zo6Ov+Vp8b/LHLu/yJr7f8mbu3/ + 8fX+////////////////+v///9r//////////9jY2P8yMjL/Q0ND/2NjY/9mZmb/U1NT/5Wmxv8scu7/ + d6P0/////////////////////9r///+Y///////////7+/v/QUFB/2FhYf9kZGT/ZmZm/1lZWf9AQED/ + m6rH//L2/v////////////////////+Y////Mv////7//////////6SkpP9gYGD/cXFx/3Jycv9jY2P/ + MjIy/zs7O//Ly8v////////////////+////Mv///wD///+b///////////+/v7/jo6O/0RERP9GRkb/ + MjIy/zIyMv8yMjL/fX19////////////////m////wAAAAAA////Cv///8L////////////////V1dX/ + jo6O/3V1df+Hh4f/x8fH////////////////wv///woAAAAAAAAAAAAAAAD///8K////m/////7///// + ///////////////////////////////+////m////woAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8y + ////mP///9r////6////+v///9r///+Y////Mv///wAAAAAAAAAAAAAAAADgBwAAwAMAAIABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAEAAMADAADgBwAA +</value> + </data> +</root>
\ No newline at end of file diff --git a/UVtools.GUI/FrmMain.Designer.cs b/UVtools.GUI/FrmMain.Designer.cs index 71e159b..9fe5100 100644 --- a/UVtools.GUI/FrmMain.Designer.cs +++ b/UVtools.GUI/FrmMain.Designer.cs @@ -32,34 +32,14 @@ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain)); this.menu = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuFileOpen = new System.Windows.Forms.ToolStripMenuItem(); - this.menuFileOpenNewWindow = new System.Windows.Forms.ToolStripMenuItem(); - this.menuFileReload = new System.Windows.Forms.ToolStripMenuItem(); - this.menuFileSave = new System.Windows.Forms.ToolStripMenuItem(); - this.menuFileSaveAs = new System.Windows.Forms.ToolStripMenuItem(); - this.menuFileClose = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.menuFileExtract = new System.Windows.Forms.ToolStripMenuItem(); - this.menuFileConvert = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.menuFileSettings = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator15 = new System.Windows.Forms.ToolStripSeparator(); - this.menuFileExit = new System.Windows.Forms.ToolStripMenuItem(); this.menuEdit = new System.Windows.Forms.ToolStripMenuItem(); this.menuMutate = new System.Windows.Forms.ToolStripMenuItem(); this.menuTools = new System.Windows.Forms.ToolStripMenuItem(); - this.menuToolsRepairLayers = new System.Windows.Forms.ToolStripMenuItem(); - this.menuToolsChangeResolution = new System.Windows.Forms.ToolStripMenuItem(); - this.menuToolsLayerReHeight = new System.Windows.Forms.ToolStripMenuItem(); - this.menuToolsLayerClone = new System.Windows.Forms.ToolStripMenuItem(); - this.menuToolsLayerRemoval = new System.Windows.Forms.ToolStripMenuItem(); - this.menuToolsPattern = new System.Windows.Forms.ToolStripMenuItem(); this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuHelpWebsite = new System.Windows.Forms.ToolStripMenuItem(); - this.menuHelpDonate = new System.Windows.Forms.ToolStripMenuItem(); - this.menuHelpAbout = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator(); - this.menuHelpInstallPrinters = new System.Windows.Forms.ToolStripMenuItem(); this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuNewVersion = new System.Windows.Forms.ToolStripMenuItem(); this.statusBar = new System.Windows.Forms.StatusStrip(); @@ -67,51 +47,24 @@ this.scCenter = new System.Windows.Forms.SplitContainer(); this.pbLayer = new Cyotek.Windows.Forms.ImageBox(); this.tsLayer = new System.Windows.Forms.ToolStrip(); - this.tsLayerImageExport = new System.Windows.Forms.ToolStripSplitButton(); - this.tsLayerImageExportFile = new System.Windows.Forms.ToolStripMenuItem(); - this.tsLayerImageExportClipboard = new System.Windows.Forms.ToolStripMenuItem(); - this.tsLayerImageRotate = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); - this.tsLayerImageLayerDifference = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator(); - this.tsLayerImageHighlightIssues = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); - this.tsLayerImageLayerOutline = new System.Windows.Forms.ToolStripSplitButton(); - this.tsLayerImageLayerOutlinePrintVolumeBounds = new System.Windows.Forms.ToolStripMenuItem(); - this.tsLayerImageLayerOutlineLayerBounds = new System.Windows.Forms.ToolStripMenuItem(); - this.tsLayerImageLayerOutlineHollowAreas = new System.Windows.Forms.ToolStripMenuItem(); - this.tsLayerImageLayerOutlineEdgeDetection = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); - this.tsLayerImagePixelEdit = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator18 = new System.Windows.Forms.ToolStripSeparator(); - this.tsLayerRmove = new System.Windows.Forms.ToolStripButton(); - this.tsLayerClone = new System.Windows.Forms.ToolStripButton(); this.tsLayerInfo = new System.Windows.Forms.ToolStrip(); this.tsLayerPreviewTime = new System.Windows.Forms.ToolStripLabel(); this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); - this.tsLayerResolution = new System.Windows.Forms.ToolStripLabel(); this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); - this.tsLayerImageZoom = new System.Windows.Forms.ToolStripLabel(); this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); - this.tsLayerImagePanLocation = new System.Windows.Forms.ToolStripLabel(); this.toolStripSeparator16 = new System.Windows.Forms.ToolStripSeparator(); - this.tsLayerImageMouseLocation = new System.Windows.Forms.ToolStripLabel(); - this.tsLayerImagePixelCount = new System.Windows.Forms.ToolStripLabel(); this.toolStripSeparator17 = new System.Windows.Forms.ToolStripSeparator(); - this.tsLayerBounds = new System.Windows.Forms.ToolStripLabel(); this.tabControlLeft = new System.Windows.Forms.TabControl(); this.tbpThumbnailsAndInfo = new System.Windows.Forms.TabPage(); this.scLeft = new System.Windows.Forms.SplitContainer(); - this.pbThumbnail = new System.Windows.Forms.PictureBox(); this.tsThumbnails = new System.Windows.Forms.ToolStrip(); - this.tsThumbnailsPrevious = new System.Windows.Forms.ToolStripButton(); this.tsThumbnailsCount = new System.Windows.Forms.ToolStripLabel(); - this.tsThumbnailsNext = new System.Windows.Forms.ToolStripButton(); - this.tsThumbnailsExport = new System.Windows.Forms.ToolStripSplitButton(); - this.tsThumbnailsExportFile = new System.Windows.Forms.ToolStripMenuItem(); - this.tsThumbnailsExportClipboard = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator21 = new System.Windows.Forms.ToolStripSeparator(); - this.tsThumbnailsImport = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator22 = new System.Windows.Forms.ToolStripSeparator(); this.tsThumbnailsResolution = new System.Windows.Forms.ToolStripLabel(); this.flvProperties = new BrightIdeasSoftware.FastObjectListView(); @@ -119,18 +72,12 @@ this.tsPropertiesLabelCount = new System.Windows.Forms.ToolStripLabel(); this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); this.tsPropertiesLabelGroups = new System.Windows.Forms.ToolStripLabel(); - this.tsPropertiesExport = new System.Windows.Forms.ToolStripSplitButton(); - this.tsPropertiesExportFile = new System.Windows.Forms.ToolStripMenuItem(); - this.tsPropertiesExportClipboard = new System.Windows.Forms.ToolStripMenuItem(); this.tabPageGCode = new System.Windows.Forms.TabPage(); this.tbGCode = new System.Windows.Forms.TextBox(); this.tsGCode = new System.Windows.Forms.ToolStrip(); this.tsGCodeLabelLines = new System.Windows.Forms.ToolStripLabel(); this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.tsGcodeLabelChars = new System.Windows.Forms.ToolStripLabel(); - this.tsGCodeButtonSave = new System.Windows.Forms.ToolStripSplitButton(); - this.tsGCodeButtonSaveFile = new System.Windows.Forms.ToolStripMenuItem(); - this.tsGCodeButtonSaveClipboard = new System.Windows.Forms.ToolStripMenuItem(); this.tabPageIssues = new System.Windows.Forms.TabPage(); this.flvIssues = new BrightIdeasSoftware.FastObjectListView(); this.flvIssuesColType = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); @@ -138,20 +85,11 @@ this.flvIssuesColPosition = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); this.flvIssuesColPixels = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); this.tsIssuesLv = new System.Windows.Forms.ToolStrip(); - this.btnIssueGroup = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator23 = new System.Windows.Forms.ToolStripSeparator(); - this.btnIssueResort = new System.Windows.Forms.ToolStripButton(); this.tsIssues = new System.Windows.Forms.ToolStrip(); - this.tsIssuePrevious = new System.Windows.Forms.ToolStripButton(); this.tsIssueCount = new System.Windows.Forms.ToolStripLabel(); - this.tsIssueNext = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator(); - this.tsIssueRemove = new System.Windows.Forms.ToolStripButton(); - this.tsIssuesRefresh = new System.Windows.Forms.ToolStripSplitButton(); - this.tsIssuesRefreshIslands = new System.Windows.Forms.ToolStripMenuItem(); - this.tsIssuesRefreshResinTraps = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); - this.tsIssuesRepair = new System.Windows.Forms.ToolStripButton(); this.tabPagePixelEditor = new System.Windows.Forms.TabPage(); this.flvPixelHistory = new BrightIdeasSoftware.FastObjectListView(); this.flvPixelHistoryColNumber = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); @@ -160,11 +98,8 @@ this.olvColumn4 = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); this.tsPixelEditorHistory = new System.Windows.Forms.ToolStrip(); this.lbPixelHistoryOperations = new System.Windows.Forms.ToolStripLabel(); - this.btnPixelHistoryRemove = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator19 = new System.Windows.Forms.ToolStripSeparator(); - this.btnPixelHistoryApply = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator20 = new System.Windows.Forms.ToolStripSeparator(); - this.btnPixelHistoryClear = new System.Windows.Forms.ToolStripButton(); this.tabControlPixelEditor = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.label29 = new System.Windows.Forms.Label(); @@ -232,23 +167,89 @@ this.tabPageLog = new System.Windows.Forms.TabPage(); this.lvLog = new BrightIdeasSoftware.FastObjectListView(); this.tsLog = new System.Windows.Forms.ToolStrip(); - this.btnLogClear = new System.Windows.Forms.ToolStripButton(); this.lbLogOperations = new System.Windows.Forms.ToolStripLabel(); this.imageList16x16 = new System.Windows.Forms.ImageList(this.components); this.tlRight = new System.Windows.Forms.TableLayoutPanel(); - this.btnPreviousLayer = new System.Windows.Forms.Button(); - this.btnNextLayer = new System.Windows.Forms.Button(); this.lbMaxLayer = new System.Windows.Forms.Label(); this.panel1 = new System.Windows.Forms.Panel(); this.lbActualLayer = new System.Windows.Forms.Label(); this.tbLayer = new System.Windows.Forms.TrackBar(); this.lbInitialLayer = new System.Windows.Forms.Label(); this.panel2 = new System.Windows.Forms.Panel(); + this.toolTipInformation = new System.Windows.Forms.ToolTip(this.components); + this.layerScrollTimer = new System.Windows.Forms.Timer(this.components); + this.tsLayerImageExport = new System.Windows.Forms.ToolStripSplitButton(); + this.tsLayerImageExportFile = new System.Windows.Forms.ToolStripMenuItem(); + this.tsLayerImageExportClipboard = new System.Windows.Forms.ToolStripMenuItem(); + this.tsLayerImageRotate = new System.Windows.Forms.ToolStripButton(); + this.tsLayerImageLayerDifference = new System.Windows.Forms.ToolStripButton(); + this.tsLayerImageHighlightIssues = new System.Windows.Forms.ToolStripButton(); + this.tsLayerImageLayerOutline = new System.Windows.Forms.ToolStripSplitButton(); + this.tsLayerImageLayerOutlinePrintVolumeBounds = new System.Windows.Forms.ToolStripMenuItem(); + this.tsLayerImageLayerOutlineLayerBounds = new System.Windows.Forms.ToolStripMenuItem(); + this.tsLayerImageLayerOutlineHollowAreas = new System.Windows.Forms.ToolStripMenuItem(); + this.tsLayerImageLayerOutlineEdgeDetection = new System.Windows.Forms.ToolStripMenuItem(); + this.tsLayerImagePixelEdit = new System.Windows.Forms.ToolStripButton(); + this.tsLayerRmove = new System.Windows.Forms.ToolStripButton(); + this.tsLayerClone = new System.Windows.Forms.ToolStripButton(); + this.tsLayerResolution = new System.Windows.Forms.ToolStripLabel(); + this.tsLayerImageZoom = new System.Windows.Forms.ToolStripLabel(); + this.tsLayerImagePanLocation = new System.Windows.Forms.ToolStripLabel(); + this.tsLayerImageMouseLocation = new System.Windows.Forms.ToolStripLabel(); + this.tsLayerImagePixelCount = new System.Windows.Forms.ToolStripLabel(); + this.tsLayerBounds = new System.Windows.Forms.ToolStripLabel(); + this.pbThumbnail = new System.Windows.Forms.PictureBox(); + this.tsThumbnailsPrevious = new System.Windows.Forms.ToolStripButton(); + this.tsThumbnailsNext = new System.Windows.Forms.ToolStripButton(); + this.tsThumbnailsExport = new System.Windows.Forms.ToolStripSplitButton(); + this.tsThumbnailsExportFile = new System.Windows.Forms.ToolStripMenuItem(); + this.tsThumbnailsExportClipboard = new System.Windows.Forms.ToolStripMenuItem(); + this.tsThumbnailsImport = new System.Windows.Forms.ToolStripButton(); + this.tsPropertiesExport = new System.Windows.Forms.ToolStripSplitButton(); + this.tsPropertiesExportFile = new System.Windows.Forms.ToolStripMenuItem(); + this.tsPropertiesExportClipboard = new System.Windows.Forms.ToolStripMenuItem(); + this.tsGCodeButtonSave = new System.Windows.Forms.ToolStripSplitButton(); + this.tsGCodeButtonSaveFile = new System.Windows.Forms.ToolStripMenuItem(); + this.tsGCodeButtonSaveClipboard = new System.Windows.Forms.ToolStripMenuItem(); + this.btnIssueGroup = new System.Windows.Forms.ToolStripButton(); + this.btnIssueResort = new System.Windows.Forms.ToolStripButton(); + this.tsIssuePrevious = new System.Windows.Forms.ToolStripButton(); + this.tsIssueNext = new System.Windows.Forms.ToolStripButton(); + this.tsIssueRemove = new System.Windows.Forms.ToolStripButton(); + this.tsIssuesRefresh = new System.Windows.Forms.ToolStripSplitButton(); + this.tsIssuesRefreshIslands = new System.Windows.Forms.ToolStripMenuItem(); + this.tsIssuesRefreshResinTraps = new System.Windows.Forms.ToolStripMenuItem(); + this.tsIssuesRepair = new System.Windows.Forms.ToolStripButton(); + this.btnPixelHistoryRemove = new System.Windows.Forms.ToolStripButton(); + this.btnPixelHistoryApply = new System.Windows.Forms.ToolStripButton(); + this.btnPixelHistoryClear = new System.Windows.Forms.ToolStripButton(); + this.btnLogClear = new System.Windows.Forms.ToolStripButton(); + this.btnPreviousLayer = new System.Windows.Forms.Button(); + this.btnNextLayer = new System.Windows.Forms.Button(); this.btnFindLayer = new System.Windows.Forms.Button(); this.btnLastLayer = new System.Windows.Forms.Button(); this.btnFirstLayer = new System.Windows.Forms.Button(); - this.toolTipInformation = new System.Windows.Forms.ToolTip(this.components); - this.layerScrollTimer = new System.Windows.Forms.Timer(this.components); + this.menuFileOpen = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFileOpenNewWindow = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFileReload = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFileSave = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFileSaveAs = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFileClose = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFileExtract = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFileConvert = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFileSettings = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFileExit = new System.Windows.Forms.ToolStripMenuItem(); + this.menuToolsRepairLayers = new System.Windows.Forms.ToolStripMenuItem(); + this.menuToolsChangeResolution = new System.Windows.Forms.ToolStripMenuItem(); + this.menuToolsLayerReHeight = new System.Windows.Forms.ToolStripMenuItem(); + this.menuToolsLayerClone = new System.Windows.Forms.ToolStripMenuItem(); + this.menuToolsLayerRemoval = new System.Windows.Forms.ToolStripMenuItem(); + this.menuToolsPattern = new System.Windows.Forms.ToolStripMenuItem(); + this.menuHelpWebsite = new System.Windows.Forms.ToolStripMenuItem(); + this.menuHelpDonate = new System.Windows.Forms.ToolStripMenuItem(); + this.menuHelpAbout = new System.Windows.Forms.ToolStripMenuItem(); + this.menuHelpBenchmark = new System.Windows.Forms.ToolStripMenuItem(); + this.menuHelpInstallPrinters = new System.Windows.Forms.ToolStripMenuItem(); this.menu.SuspendLayout(); this.mainTable.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.scCenter)).BeginInit(); @@ -263,7 +264,6 @@ this.scLeft.Panel1.SuspendLayout(); this.scLeft.Panel2.SuspendLayout(); this.scLeft.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pbThumbnail)).BeginInit(); this.tsThumbnails.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.flvProperties)).BeginInit(); this.tsProperties.SuspendLayout(); @@ -308,6 +308,7 @@ this.panel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.tbLayer)).BeginInit(); this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pbThumbnail)).BeginInit(); this.SuspendLayout(); // // menu @@ -346,116 +347,21 @@ this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); this.fileToolStripMenuItem.Text = "&File"; // - // menuFileOpen - // - this.menuFileOpen.Image = global::UVtools.GUI.Properties.Resources.Open_16x16; - this.menuFileOpen.Name = "menuFileOpen"; - this.menuFileOpen.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); - this.menuFileOpen.Size = new System.Drawing.Size(261, 22); - this.menuFileOpen.Text = "&Open"; - this.menuFileOpen.Click += new System.EventHandler(this.EventClick); - // - // menuFileOpenNewWindow - // - this.menuFileOpenNewWindow.Image = global::UVtools.GUI.Properties.Resources.Open_16x16; - this.menuFileOpenNewWindow.Name = "menuFileOpenNewWindow"; - this.menuFileOpenNewWindow.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.O))); - this.menuFileOpenNewWindow.Size = new System.Drawing.Size(261, 22); - this.menuFileOpenNewWindow.Text = "Open in new window"; - this.menuFileOpenNewWindow.Click += new System.EventHandler(this.EventClick); - // - // menuFileReload - // - this.menuFileReload.Image = global::UVtools.GUI.Properties.Resources.File_Refresh_16x16; - this.menuFileReload.Name = "menuFileReload"; - this.menuFileReload.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F5))); - this.menuFileReload.Size = new System.Drawing.Size(261, 22); - this.menuFileReload.Text = "&Reload"; - this.menuFileReload.Click += new System.EventHandler(this.EventClick); - // - // menuFileSave - // - this.menuFileSave.Enabled = false; - this.menuFileSave.Image = global::UVtools.GUI.Properties.Resources.Save_16x16; - this.menuFileSave.Name = "menuFileSave"; - this.menuFileSave.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); - this.menuFileSave.Size = new System.Drawing.Size(261, 22); - this.menuFileSave.Text = "&Save"; - this.menuFileSave.Click += new System.EventHandler(this.EventClick); - // - // menuFileSaveAs - // - this.menuFileSaveAs.Enabled = false; - this.menuFileSaveAs.Image = global::UVtools.GUI.Properties.Resources.SaveAs_16x16; - this.menuFileSaveAs.Name = "menuFileSaveAs"; - this.menuFileSaveAs.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.S))); - this.menuFileSaveAs.Size = new System.Drawing.Size(261, 22); - this.menuFileSaveAs.Text = "Save As"; - this.menuFileSaveAs.Click += new System.EventHandler(this.EventClick); - // - // menuFileClose - // - this.menuFileClose.Enabled = false; - this.menuFileClose.Image = global::UVtools.GUI.Properties.Resources.File_Close_16x16; - this.menuFileClose.Name = "menuFileClose"; - this.menuFileClose.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.W))); - this.menuFileClose.Size = new System.Drawing.Size(261, 22); - this.menuFileClose.Text = "&Close"; - this.menuFileClose.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; this.toolStripSeparator1.Size = new System.Drawing.Size(258, 6); // - // menuFileExtract - // - this.menuFileExtract.Enabled = false; - this.menuFileExtract.Image = global::UVtools.GUI.Properties.Resources.Extract_object_16x16; - this.menuFileExtract.Name = "menuFileExtract"; - this.menuFileExtract.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E))); - this.menuFileExtract.Size = new System.Drawing.Size(261, 22); - this.menuFileExtract.Text = "&Extract"; - this.menuFileExtract.Click += new System.EventHandler(this.EventClick); - // - // menuFileConvert - // - this.menuFileConvert.Enabled = false; - this.menuFileConvert.Image = global::UVtools.GUI.Properties.Resources.Convert_16x16; - this.menuFileConvert.Name = "menuFileConvert"; - this.menuFileConvert.Size = new System.Drawing.Size(261, 22); - this.menuFileConvert.Text = "&Convert To"; - // // toolStripSeparator2 // this.toolStripSeparator2.Name = "toolStripSeparator2"; this.toolStripSeparator2.Size = new System.Drawing.Size(258, 6); // - // menuFileSettings - // - this.menuFileSettings.Image = global::UVtools.GUI.Properties.Resources.settings_16x16; - this.menuFileSettings.Name = "menuFileSettings"; - this.menuFileSettings.ShortcutKeys = System.Windows.Forms.Keys.F12; - this.menuFileSettings.Size = new System.Drawing.Size(261, 22); - this.menuFileSettings.Text = "&Settings"; - this.menuFileSettings.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator15 // this.toolStripSeparator15.Name = "toolStripSeparator15"; this.toolStripSeparator15.Size = new System.Drawing.Size(258, 6); // - // menuFileExit - // - this.menuFileExit.Image = global::UVtools.GUI.Properties.Resources.Exit_16x16; - this.menuFileExit.Name = "menuFileExit"; - this.menuFileExit.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4))); - this.menuFileExit.Size = new System.Drawing.Size(261, 22); - this.menuFileExit.Text = "&Exit"; - this.menuFileExit.Click += new System.EventHandler(this.EventClick); - // // menuEdit // this.menuEdit.Enabled = false; @@ -484,117 +390,24 @@ this.menuTools.Size = new System.Drawing.Size(46, 20); this.menuTools.Text = "&Tools"; // - // menuToolsRepairLayers - // - this.menuToolsRepairLayers.Enabled = false; - this.menuToolsRepairLayers.Image = global::UVtools.GUI.Properties.Resources.toolbox_16x16; - this.menuToolsRepairLayers.Name = "menuToolsRepairLayers"; - this.menuToolsRepairLayers.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt) - | System.Windows.Forms.Keys.R))); - this.menuToolsRepairLayers.Size = new System.Drawing.Size(261, 22); - this.menuToolsRepairLayers.Text = "&Repair layers and Issues"; - this.menuToolsRepairLayers.Click += new System.EventHandler(this.EventClick); - // - // menuToolsChangeResolution - // - this.menuToolsChangeResolution.Enabled = false; - this.menuToolsChangeResolution.Image = global::UVtools.GUI.Properties.Resources.resize_16x16; - this.menuToolsChangeResolution.Name = "menuToolsChangeResolution"; - this.menuToolsChangeResolution.Size = new System.Drawing.Size(261, 22); - this.menuToolsChangeResolution.Text = "Change Re&solution"; - this.menuToolsChangeResolution.Click += new System.EventHandler(this.EventClick); - // - // menuToolsLayerReHeight - // - this.menuToolsLayerReHeight.Enabled = false; - this.menuToolsLayerReHeight.Image = global::UVtools.GUI.Properties.Resources.ladder_16x16; - this.menuToolsLayerReHeight.Name = "menuToolsLayerReHeight"; - this.menuToolsLayerReHeight.Size = new System.Drawing.Size(261, 22); - this.menuToolsLayerReHeight.Text = "Layer Re-&Height"; - this.menuToolsLayerReHeight.Click += new System.EventHandler(this.EventClick); - // - // menuToolsLayerClone - // - this.menuToolsLayerClone.Enabled = false; - this.menuToolsLayerClone.Image = global::UVtools.GUI.Properties.Resources.layers_alt_16x16; - this.menuToolsLayerClone.Name = "menuToolsLayerClone"; - this.menuToolsLayerClone.Size = new System.Drawing.Size(261, 22); - this.menuToolsLayerClone.Text = "Layer &Clone"; - this.menuToolsLayerClone.Click += new System.EventHandler(this.EventClick); - // - // menuToolsLayerRemoval - // - this.menuToolsLayerRemoval.Enabled = false; - this.menuToolsLayerRemoval.Image = global::UVtools.GUI.Properties.Resources.layers_alt_16x16; - this.menuToolsLayerRemoval.Name = "menuToolsLayerRemoval"; - this.menuToolsLayerRemoval.Size = new System.Drawing.Size(261, 22); - this.menuToolsLayerRemoval.Text = "Layer Re&moval"; - this.menuToolsLayerRemoval.Click += new System.EventHandler(this.EventClick); - // - // menuToolsPattern - // - this.menuToolsPattern.Enabled = false; - this.menuToolsPattern.Image = global::UVtools.GUI.Properties.Resources.pattern_16x16; - this.menuToolsPattern.Name = "menuToolsPattern"; - this.menuToolsPattern.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt) - | System.Windows.Forms.Keys.P))); - this.menuToolsPattern.Size = new System.Drawing.Size(261, 22); - this.menuToolsPattern.Text = "&Pattern"; - this.menuToolsPattern.Click += new System.EventHandler(this.EventClick); - // // helpToolStripMenuItem // this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuHelpWebsite, this.menuHelpDonate, this.menuHelpAbout, + this.menuHelpBenchmark, this.toolStripSeparator10, this.menuHelpInstallPrinters}); this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); this.helpToolStripMenuItem.Text = "&Help"; // - // menuHelpWebsite - // - this.menuHelpWebsite.Image = global::UVtools.GUI.Properties.Resources.internet_explorer_16x16; - this.menuHelpWebsite.Name = "menuHelpWebsite"; - this.menuHelpWebsite.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F1))); - this.menuHelpWebsite.Size = new System.Drawing.Size(231, 22); - this.menuHelpWebsite.Text = "&Website"; - this.menuHelpWebsite.Click += new System.EventHandler(this.EventClick); - // - // menuHelpDonate - // - this.menuHelpDonate.Image = global::UVtools.GUI.Properties.Resources.Donate_16x16; - this.menuHelpDonate.Name = "menuHelpDonate"; - this.menuHelpDonate.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.F1))); - this.menuHelpDonate.Size = new System.Drawing.Size(231, 22); - this.menuHelpDonate.Text = "&Donate"; - this.menuHelpDonate.Click += new System.EventHandler(this.EventClick); - // - // menuHelpAbout - // - this.menuHelpAbout.Image = global::UVtools.GUI.Properties.Resources.Button_Info_16x16; - this.menuHelpAbout.Name = "menuHelpAbout"; - this.menuHelpAbout.ShortcutKeys = System.Windows.Forms.Keys.F1; - this.menuHelpAbout.Size = new System.Drawing.Size(231, 22); - this.menuHelpAbout.Text = "&About"; - this.menuHelpAbout.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator10 // this.toolStripSeparator10.Name = "toolStripSeparator10"; this.toolStripSeparator10.Size = new System.Drawing.Size(228, 6); // - // menuHelpInstallPrinters - // - this.menuHelpInstallPrinters.Image = global::UVtools.GUI.Properties.Resources.CNCMachine_16x16; - this.menuHelpInstallPrinters.Name = "menuHelpInstallPrinters"; - this.menuHelpInstallPrinters.Size = new System.Drawing.Size(231, 22); - this.menuHelpInstallPrinters.Text = "Install profiles into PrusaSlicer"; - this.menuHelpInstallPrinters.Click += new System.EventHandler(this.EventClick); - // // viewToolStripMenuItem // this.viewToolStripMenuItem.Name = "viewToolStripMenuItem"; @@ -697,181 +510,32 @@ this.tsLayer.TabIndex = 6; this.tsLayer.Text = "Layer Menu"; // - // tsLayerImageExport - // - this.tsLayerImageExport.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsLayerImageExport.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsLayerImageExport.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.tsLayerImageExportFile, - this.tsLayerImageExportClipboard}); - this.tsLayerImageExport.Image = global::UVtools.GUI.Properties.Resources.Save_16x16; - this.tsLayerImageExport.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsLayerImageExport.Name = "tsLayerImageExport"; - this.tsLayerImageExport.Size = new System.Drawing.Size(32, 22); - this.tsLayerImageExport.Text = "Save to"; - this.tsLayerImageExport.ToolTipText = "Save layer image to a file or clipboard"; - this.tsLayerImageExport.ButtonClick += new System.EventHandler(this.EventClick); - // - // tsLayerImageExportFile - // - this.tsLayerImageExportFile.Image = global::UVtools.GUI.Properties.Resources.file_image_16x16; - this.tsLayerImageExportFile.Name = "tsLayerImageExportFile"; - this.tsLayerImageExportFile.Size = new System.Drawing.Size(141, 22); - this.tsLayerImageExportFile.Text = "To &File"; - this.tsLayerImageExportFile.Click += new System.EventHandler(this.EventClick); - // - // tsLayerImageExportClipboard - // - this.tsLayerImageExportClipboard.Image = global::UVtools.GUI.Properties.Resources.clipboard_16x16; - this.tsLayerImageExportClipboard.Name = "tsLayerImageExportClipboard"; - this.tsLayerImageExportClipboard.Size = new System.Drawing.Size(141, 22); - this.tsLayerImageExportClipboard.Text = "To &Clipboard"; - this.tsLayerImageExportClipboard.Click += new System.EventHandler(this.EventClick); - // - // tsLayerImageRotate - // - this.tsLayerImageRotate.Checked = true; - this.tsLayerImageRotate.CheckOnClick = true; - this.tsLayerImageRotate.CheckState = System.Windows.Forms.CheckState.Checked; - this.tsLayerImageRotate.Image = global::UVtools.GUI.Properties.Resources.Rotate_16x16; - this.tsLayerImageRotate.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsLayerImageRotate.Name = "tsLayerImageRotate"; - this.tsLayerImageRotate.Size = new System.Drawing.Size(117, 22); - this.tsLayerImageRotate.Text = "&Rotate Image 90º"; - this.tsLayerImageRotate.ToolTipText = "Auto rotate layer preview image at 90º (This can slow down the layer preview) [CT" + - "RL+R]"; - this.tsLayerImageRotate.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator5 // this.toolStripSeparator5.Name = "toolStripSeparator5"; this.toolStripSeparator5.Size = new System.Drawing.Size(6, 25); // - // tsLayerImageLayerDifference - // - this.tsLayerImageLayerDifference.CheckOnClick = true; - this.tsLayerImageLayerDifference.Image = global::UVtools.GUI.Properties.Resources.layers_16x16; - this.tsLayerImageLayerDifference.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsLayerImageLayerDifference.Name = "tsLayerImageLayerDifference"; - this.tsLayerImageLayerDifference.Size = new System.Drawing.Size(81, 22); - this.tsLayerImageLayerDifference.Text = "&Difference"; - this.tsLayerImageLayerDifference.ToolTipText = "Show layer differences where daker pixels were also present on previous layer and" + - " the white pixels the difference between previous and current layer."; - this.tsLayerImageLayerDifference.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator14 // this.toolStripSeparator14.Name = "toolStripSeparator14"; this.toolStripSeparator14.Size = new System.Drawing.Size(6, 25); // - // tsLayerImageHighlightIssues - // - this.tsLayerImageHighlightIssues.Checked = true; - this.tsLayerImageHighlightIssues.CheckOnClick = true; - this.tsLayerImageHighlightIssues.CheckState = System.Windows.Forms.CheckState.Checked; - this.tsLayerImageHighlightIssues.Image = global::UVtools.GUI.Properties.Resources.warning_16x16; - this.tsLayerImageHighlightIssues.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsLayerImageHighlightIssues.Name = "tsLayerImageHighlightIssues"; - this.tsLayerImageHighlightIssues.Size = new System.Drawing.Size(58, 22); - this.tsLayerImageHighlightIssues.Text = "&Issues"; - this.tsLayerImageHighlightIssues.ToolTipText = "Highlight Issues on current layer.\r\nValid only if Issues are calculated."; - this.tsLayerImageHighlightIssues.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator7 // this.toolStripSeparator7.Name = "toolStripSeparator7"; this.toolStripSeparator7.Size = new System.Drawing.Size(6, 25); // - // tsLayerImageLayerOutline - // - this.tsLayerImageLayerOutline.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.tsLayerImageLayerOutlinePrintVolumeBounds, - this.tsLayerImageLayerOutlineLayerBounds, - this.tsLayerImageLayerOutlineHollowAreas, - this.tsLayerImageLayerOutlineEdgeDetection}); - this.tsLayerImageLayerOutline.Image = global::UVtools.GUI.Properties.Resources.Geometry_16x16; - this.tsLayerImageLayerOutline.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsLayerImageLayerOutline.Name = "tsLayerImageLayerOutline"; - this.tsLayerImageLayerOutline.Size = new System.Drawing.Size(78, 22); - this.tsLayerImageLayerOutline.Text = "&Outline"; - this.tsLayerImageLayerOutline.ButtonClick += new System.EventHandler(this.EventClick); - // - // tsLayerImageLayerOutlinePrintVolumeBounds - // - this.tsLayerImageLayerOutlinePrintVolumeBounds.CheckOnClick = true; - this.tsLayerImageLayerOutlinePrintVolumeBounds.Name = "tsLayerImageLayerOutlinePrintVolumeBounds"; - this.tsLayerImageLayerOutlinePrintVolumeBounds.Size = new System.Drawing.Size(185, 22); - this.tsLayerImageLayerOutlinePrintVolumeBounds.Text = "Print Volume Bounds"; - this.tsLayerImageLayerOutlinePrintVolumeBounds.Click += new System.EventHandler(this.EventClick); - // - // tsLayerImageLayerOutlineLayerBounds - // - this.tsLayerImageLayerOutlineLayerBounds.CheckOnClick = true; - this.tsLayerImageLayerOutlineLayerBounds.Name = "tsLayerImageLayerOutlineLayerBounds"; - this.tsLayerImageLayerOutlineLayerBounds.Size = new System.Drawing.Size(185, 22); - this.tsLayerImageLayerOutlineLayerBounds.Text = "Layer Bounds"; - this.tsLayerImageLayerOutlineLayerBounds.Click += new System.EventHandler(this.EventClick); - // - // tsLayerImageLayerOutlineHollowAreas - // - this.tsLayerImageLayerOutlineHollowAreas.CheckOnClick = true; - this.tsLayerImageLayerOutlineHollowAreas.Name = "tsLayerImageLayerOutlineHollowAreas"; - this.tsLayerImageLayerOutlineHollowAreas.Size = new System.Drawing.Size(185, 22); - this.tsLayerImageLayerOutlineHollowAreas.Text = "Hollow Areas"; - this.tsLayerImageLayerOutlineHollowAreas.Click += new System.EventHandler(this.EventClick); - // - // tsLayerImageLayerOutlineEdgeDetection - // - this.tsLayerImageLayerOutlineEdgeDetection.CheckOnClick = true; - this.tsLayerImageLayerOutlineEdgeDetection.Name = "tsLayerImageLayerOutlineEdgeDetection"; - this.tsLayerImageLayerOutlineEdgeDetection.Size = new System.Drawing.Size(185, 22); - this.tsLayerImageLayerOutlineEdgeDetection.Text = "&Edge Detection"; - this.tsLayerImageLayerOutlineEdgeDetection.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator9 // this.toolStripSeparator9.Name = "toolStripSeparator9"; this.toolStripSeparator9.Size = new System.Drawing.Size(6, 25); // - // tsLayerImagePixelEdit - // - this.tsLayerImagePixelEdit.CheckOnClick = true; - this.tsLayerImagePixelEdit.Image = global::UVtools.GUI.Properties.Resources.pixel_16x16; - this.tsLayerImagePixelEdit.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsLayerImagePixelEdit.Name = "tsLayerImagePixelEdit"; - this.tsLayerImagePixelEdit.Size = new System.Drawing.Size(75, 22); - this.tsLayerImagePixelEdit.Text = "Pixel &Edit"; - this.tsLayerImagePixelEdit.ToolTipText = "Edit layer image: Draw pixels, add supports and/or drain holes"; - this.tsLayerImagePixelEdit.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator18 // this.toolStripSeparator18.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; this.toolStripSeparator18.Name = "toolStripSeparator18"; this.toolStripSeparator18.Size = new System.Drawing.Size(6, 25); // - // tsLayerRmove - // - this.tsLayerRmove.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsLayerRmove.Image = global::UVtools.GUI.Properties.Resources.trash_16x16; - this.tsLayerRmove.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsLayerRmove.Name = "tsLayerRmove"; - this.tsLayerRmove.Size = new System.Drawing.Size(101, 22); - this.tsLayerRmove.Text = "Remove Layer"; - this.tsLayerRmove.ToolTipText = "Delete current layer"; - this.tsLayerRmove.Click += new System.EventHandler(this.EventClick); - // - // tsLayerClone - // - this.tsLayerClone.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsLayerClone.Image = global::UVtools.GUI.Properties.Resources.copy_16x16; - this.tsLayerClone.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsLayerClone.Name = "tsLayerClone"; - this.tsLayerClone.Size = new System.Drawing.Size(89, 22); - this.tsLayerClone.Text = "Clone Layer"; - this.tsLayerClone.ToolTipText = "Clone current layer"; - this.tsLayerClone.Click += new System.EventHandler(this.EventClick); - // // tsLayerInfo // this.tsLayerInfo.Dock = System.Windows.Forms.DockStyle.Bottom; @@ -909,31 +573,12 @@ this.toolStripSeparator6.Name = "toolStripSeparator6"; this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25); // - // tsLayerResolution - // - this.tsLayerResolution.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsLayerResolution.Image = global::UVtools.GUI.Properties.Resources.expand_16x16; - this.tsLayerResolution.Name = "tsLayerResolution"; - this.tsLayerResolution.Size = new System.Drawing.Size(79, 22); - this.tsLayerResolution.Text = "Resolution"; - this.tsLayerResolution.ToolTipText = "Layer Resolution"; - // // toolStripSeparator11 // this.toolStripSeparator11.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; this.toolStripSeparator11.Name = "toolStripSeparator11"; this.toolStripSeparator11.Size = new System.Drawing.Size(6, 25); // - // tsLayerImageZoom - // - this.tsLayerImageZoom.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsLayerImageZoom.Image = global::UVtools.GUI.Properties.Resources.search_16x16; - this.tsLayerImageZoom.Name = "tsLayerImageZoom"; - this.tsLayerImageZoom.Size = new System.Drawing.Size(89, 22); - this.tsLayerImageZoom.Text = "Zoom: 100%"; - this.tsLayerImageZoom.ToolTipText = "Layer image zoom level, use mouse scroll to zoom in/out into image\r\nCtrl + 0 to s" + - "cale to fit"; - // // toolStripSeparator8 // this.toolStripSeparator8.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; @@ -941,53 +586,17 @@ this.toolStripSeparator8.Size = new System.Drawing.Size(6, 25); this.toolStripSeparator8.Visible = false; // - // tsLayerImagePanLocation - // - this.tsLayerImagePanLocation.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsLayerImagePanLocation.Image = global::UVtools.GUI.Properties.Resources.map_marker_16x16; - this.tsLayerImagePanLocation.Name = "tsLayerImagePanLocation"; - this.tsLayerImagePanLocation.Size = new System.Drawing.Size(79, 22); - this.tsLayerImagePanLocation.Text = "{X=0, Y=0}"; - this.tsLayerImagePanLocation.ToolTipText = "Image pan location"; - this.tsLayerImagePanLocation.Visible = false; - // // toolStripSeparator16 // this.toolStripSeparator16.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; this.toolStripSeparator16.Name = "toolStripSeparator16"; this.toolStripSeparator16.Size = new System.Drawing.Size(6, 25); // - // tsLayerImageMouseLocation - // - this.tsLayerImageMouseLocation.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsLayerImageMouseLocation.Image = global::UVtools.GUI.Properties.Resources.map_marker_16x16; - this.tsLayerImageMouseLocation.Name = "tsLayerImageMouseLocation"; - this.tsLayerImageMouseLocation.Size = new System.Drawing.Size(79, 22); - this.tsLayerImageMouseLocation.Text = "{X=0, Y=0}"; - this.tsLayerImageMouseLocation.ToolTipText = "Mouse over pixel location and pixel brightness"; - // - // tsLayerImagePixelCount - // - this.tsLayerImagePixelCount.Image = global::UVtools.GUI.Properties.Resources.pixel_16x16; - this.tsLayerImagePixelCount.Name = "tsLayerImagePixelCount"; - this.tsLayerImagePixelCount.Size = new System.Drawing.Size(65, 22); - this.tsLayerImagePixelCount.Text = "Pixels: 0"; - this.tsLayerImagePixelCount.ToolTipText = "Number of pixels to cure on this layer image and the percetange of them against t" + - "otal lcd pixels"; - // // toolStripSeparator17 // this.toolStripSeparator17.Name = "toolStripSeparator17"; this.toolStripSeparator17.Size = new System.Drawing.Size(6, 25); // - // tsLayerBounds - // - this.tsLayerBounds.Image = global::UVtools.GUI.Properties.Resources.expand_16x16; - this.tsLayerBounds.Name = "tsLayerBounds"; - this.tsLayerBounds.Size = new System.Drawing.Size(66, 22); - this.tsLayerBounds.Text = "Bounds:"; - this.tsLayerBounds.ToolTipText = "Image bounds for this layer only, position and size"; - // // tabControlLeft // this.tabControlLeft.Controls.Add(this.tbpThumbnailsAndInfo); @@ -1040,17 +649,6 @@ this.scLeft.SplitterDistance = 425; this.scLeft.TabIndex = 4; // - // pbThumbnail - // - this.pbThumbnail.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.pbThumbnail.Dock = System.Windows.Forms.DockStyle.Fill; - this.pbThumbnail.Location = new System.Drawing.Point(0, 25); - this.pbThumbnail.Name = "pbThumbnail"; - this.pbThumbnail.Size = new System.Drawing.Size(380, 400); - this.pbThumbnail.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; - this.pbThumbnail.TabIndex = 4; - this.pbThumbnail.TabStop = false; - // // tsThumbnails // this.tsThumbnails.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; @@ -1069,17 +667,6 @@ this.tsThumbnails.TabIndex = 5; this.tsThumbnails.Text = "Thumbnail Menu"; // - // tsThumbnailsPrevious - // - this.tsThumbnailsPrevious.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsThumbnailsPrevious.Enabled = false; - this.tsThumbnailsPrevious.Image = global::UVtools.GUI.Properties.Resources.Back_16x16; - this.tsThumbnailsPrevious.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsThumbnailsPrevious.Name = "tsThumbnailsPrevious"; - this.tsThumbnailsPrevious.Size = new System.Drawing.Size(23, 22); - this.tsThumbnailsPrevious.ToolTipText = "Show previous thumbnail"; - this.tsThumbnailsPrevious.Click += new System.EventHandler(this.EventClick); - // // tsThumbnailsCount // this.tsThumbnailsCount.Enabled = false; @@ -1088,67 +675,12 @@ this.tsThumbnailsCount.Tag = ""; this.tsThumbnailsCount.Text = "0/0"; // - // tsThumbnailsNext - // - this.tsThumbnailsNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsThumbnailsNext.Enabled = false; - this.tsThumbnailsNext.Image = global::UVtools.GUI.Properties.Resources.Next_16x16; - this.tsThumbnailsNext.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsThumbnailsNext.Name = "tsThumbnailsNext"; - this.tsThumbnailsNext.Size = new System.Drawing.Size(23, 22); - this.tsThumbnailsNext.ToolTipText = "Show next thumbnail"; - this.tsThumbnailsNext.Click += new System.EventHandler(this.EventClick); - // - // tsThumbnailsExport - // - this.tsThumbnailsExport.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsThumbnailsExport.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsThumbnailsExport.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.tsThumbnailsExportFile, - this.tsThumbnailsExportClipboard}); - this.tsThumbnailsExport.Enabled = false; - this.tsThumbnailsExport.Image = global::UVtools.GUI.Properties.Resources.Save_16x16; - this.tsThumbnailsExport.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsThumbnailsExport.Name = "tsThumbnailsExport"; - this.tsThumbnailsExport.Size = new System.Drawing.Size(32, 22); - this.tsThumbnailsExport.Text = "Save to"; - this.tsThumbnailsExport.ToolTipText = "Save thumbnail image to a file or clipboard"; - this.tsThumbnailsExport.ButtonClick += new System.EventHandler(this.EventClick); - // - // tsThumbnailsExportFile - // - this.tsThumbnailsExportFile.Image = global::UVtools.GUI.Properties.Resources.file_image_16x16; - this.tsThumbnailsExportFile.Name = "tsThumbnailsExportFile"; - this.tsThumbnailsExportFile.Size = new System.Drawing.Size(141, 22); - this.tsThumbnailsExportFile.Text = "To &File"; - this.tsThumbnailsExportFile.Click += new System.EventHandler(this.EventClick); - // - // tsThumbnailsExportClipboard - // - this.tsThumbnailsExportClipboard.Image = global::UVtools.GUI.Properties.Resources.clipboard_16x16; - this.tsThumbnailsExportClipboard.Name = "tsThumbnailsExportClipboard"; - this.tsThumbnailsExportClipboard.Size = new System.Drawing.Size(141, 22); - this.tsThumbnailsExportClipboard.Text = "To &Clipboard"; - this.tsThumbnailsExportClipboard.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator21 // this.toolStripSeparator21.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; this.toolStripSeparator21.Name = "toolStripSeparator21"; this.toolStripSeparator21.Size = new System.Drawing.Size(6, 25); // - // tsThumbnailsImport - // - this.tsThumbnailsImport.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsThumbnailsImport.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsThumbnailsImport.Image = global::UVtools.GUI.Properties.Resources.photo_16x16; - this.tsThumbnailsImport.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsThumbnailsImport.Name = "tsThumbnailsImport"; - this.tsThumbnailsImport.Size = new System.Drawing.Size(23, 22); - this.tsThumbnailsImport.Text = "Change Preview"; - this.tsThumbnailsImport.ToolTipText = "Replace the current preview image"; - this.tsThumbnailsImport.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator22 // this.toolStripSeparator22.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; @@ -1219,38 +751,6 @@ this.tsPropertiesLabelGroups.Size = new System.Drawing.Size(45, 22); this.tsPropertiesLabelGroups.Text = "Groups"; // - // tsPropertiesExport - // - this.tsPropertiesExport.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsPropertiesExport.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsPropertiesExport.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.tsPropertiesExportFile, - this.tsPropertiesExportClipboard}); - this.tsPropertiesExport.Enabled = false; - this.tsPropertiesExport.Image = global::UVtools.GUI.Properties.Resources.Save_16x16; - this.tsPropertiesExport.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsPropertiesExport.Name = "tsPropertiesExport"; - this.tsPropertiesExport.Size = new System.Drawing.Size(32, 22); - this.tsPropertiesExport.Text = "Save to"; - this.tsPropertiesExport.ToolTipText = "Save properties to a file or clipboard"; - this.tsPropertiesExport.Click += new System.EventHandler(this.EventClick); - // - // tsPropertiesExportFile - // - this.tsPropertiesExportFile.Image = global::UVtools.GUI.Properties.Resources.file_image_16x16; - this.tsPropertiesExportFile.Name = "tsPropertiesExportFile"; - this.tsPropertiesExportFile.Size = new System.Drawing.Size(141, 22); - this.tsPropertiesExportFile.Text = "To &File"; - this.tsPropertiesExportFile.Click += new System.EventHandler(this.EventClick); - // - // tsPropertiesExportClipboard - // - this.tsPropertiesExportClipboard.Image = global::UVtools.GUI.Properties.Resources.clipboard_16x16; - this.tsPropertiesExportClipboard.Name = "tsPropertiesExportClipboard"; - this.tsPropertiesExportClipboard.Size = new System.Drawing.Size(141, 22); - this.tsPropertiesExportClipboard.Text = "To &Clipboard"; - this.tsPropertiesExportClipboard.Click += new System.EventHandler(this.EventClick); - // // tabPageGCode // this.tabPageGCode.Controls.Add(this.tbGCode); @@ -1304,38 +804,6 @@ this.tsGcodeLabelChars.Size = new System.Drawing.Size(37, 22); this.tsGcodeLabelChars.Text = "Chars"; // - // tsGCodeButtonSave - // - this.tsGCodeButtonSave.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsGCodeButtonSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsGCodeButtonSave.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.tsGCodeButtonSaveFile, - this.tsGCodeButtonSaveClipboard}); - this.tsGCodeButtonSave.Image = global::UVtools.GUI.Properties.Resources.Save_16x16; - this.tsGCodeButtonSave.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsGCodeButtonSave.Name = "tsGCodeButtonSave"; - this.tsGCodeButtonSave.Size = new System.Drawing.Size(32, 22); - this.tsGCodeButtonSave.Text = "Save to"; - this.tsGCodeButtonSave.ToolTipText = "Save GCode to a file or clipboard"; - this.tsGCodeButtonSave.ButtonClick += new System.EventHandler(this.tsGCodeButtonSave_ButtonClick); - this.tsGCodeButtonSave.Click += new System.EventHandler(this.EventClick); - // - // tsGCodeButtonSaveFile - // - this.tsGCodeButtonSaveFile.Image = global::UVtools.GUI.Properties.Resources.file_image_16x16; - this.tsGCodeButtonSaveFile.Name = "tsGCodeButtonSaveFile"; - this.tsGCodeButtonSaveFile.Size = new System.Drawing.Size(141, 22); - this.tsGCodeButtonSaveFile.Text = "To &File"; - this.tsGCodeButtonSaveFile.Click += new System.EventHandler(this.EventClick); - // - // tsGCodeButtonSaveClipboard - // - this.tsGCodeButtonSaveClipboard.Image = global::UVtools.GUI.Properties.Resources.clipboard_16x16; - this.tsGCodeButtonSaveClipboard.Name = "tsGCodeButtonSaveClipboard"; - this.tsGCodeButtonSaveClipboard.Size = new System.Drawing.Size(141, 22); - this.tsGCodeButtonSaveClipboard.Text = "To &Clipboard"; - this.tsGCodeButtonSaveClipboard.Click += new System.EventHandler(this.EventClick); - // // tabPageIssues // this.tabPageIssues.Controls.Add(this.flvIssues); @@ -1423,32 +891,11 @@ this.tsIssuesLv.TabIndex = 10; this.tsIssuesLv.Text = "Thumbnail Menu"; // - // btnIssueGroup - // - this.btnIssueGroup.CheckOnClick = true; - this.btnIssueGroup.Image = global::UVtools.GUI.Properties.Resources.list_16x16; - this.btnIssueGroup.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnIssueGroup.Name = "btnIssueGroup"; - this.btnIssueGroup.Size = new System.Drawing.Size(60, 22); - this.btnIssueGroup.Text = "Group"; - this.btnIssueGroup.ToolTipText = "Group items by issue type"; - this.btnIssueGroup.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator23 // this.toolStripSeparator23.Name = "toolStripSeparator23"; this.toolStripSeparator23.Size = new System.Drawing.Size(6, 25); // - // btnIssueResort - // - this.btnIssueResort.Image = global::UVtools.GUI.Properties.Resources.sort_alpha_up_16x16; - this.btnIssueResort.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnIssueResort.Name = "btnIssueResort"; - this.btnIssueResort.Size = new System.Drawing.Size(60, 22); - this.btnIssueResort.Text = "Resort"; - this.btnIssueResort.ToolTipText = "Reset sorting on issues"; - this.btnIssueResort.Click += new System.EventHandler(this.EventClick); - // // tsIssues // this.tsIssues.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; @@ -1467,18 +914,6 @@ this.tsIssues.TabIndex = 7; this.tsIssues.Text = "Thumbnail Menu"; // - // tsIssuePrevious - // - this.tsIssuePrevious.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsIssuePrevious.Enabled = false; - this.tsIssuePrevious.Image = global::UVtools.GUI.Properties.Resources.Back_16x16; - this.tsIssuePrevious.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsIssuePrevious.Name = "tsIssuePrevious"; - this.tsIssuePrevious.Size = new System.Drawing.Size(23, 22); - this.tsIssuePrevious.Text = "Previous"; - this.tsIssuePrevious.ToolTipText = "Show previous issue [CTRL+Left]"; - this.tsIssuePrevious.Click += new System.EventHandler(this.EventClick); - // // tsIssueCount // this.tsIssueCount.Enabled = false; @@ -1486,86 +921,17 @@ this.tsIssueCount.Size = new System.Drawing.Size(24, 22); this.tsIssueCount.Text = "0/0"; // - // tsIssueNext - // - this.tsIssueNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.tsIssueNext.Enabled = false; - this.tsIssueNext.Image = global::UVtools.GUI.Properties.Resources.Next_16x16; - this.tsIssueNext.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsIssueNext.Name = "tsIssueNext"; - this.tsIssueNext.Size = new System.Drawing.Size(23, 22); - this.tsIssueNext.Text = "tsIslandsNext"; - this.tsIssueNext.ToolTipText = "Show next issue [CTRL+Right]"; - this.tsIssueNext.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator13 // this.toolStripSeparator13.Name = "toolStripSeparator13"; this.toolStripSeparator13.Size = new System.Drawing.Size(6, 25); // - // tsIssueRemove - // - this.tsIssueRemove.Enabled = false; - this.tsIssueRemove.Image = global::UVtools.GUI.Properties.Resources.trash_16x16; - this.tsIssueRemove.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsIssueRemove.Name = "tsIssueRemove"; - this.tsIssueRemove.Size = new System.Drawing.Size(70, 22); - this.tsIssueRemove.Text = "Remove"; - this.tsIssueRemove.ToolTipText = "Remove selected issue when possible\r\nIslands: All pixels are removed (turn black)" + - "\r\nResinTrap: All trap areas are filled with white pixels.\r\nTouchingBounds: No ac" + - "tion, need reslice."; - this.tsIssueRemove.Click += new System.EventHandler(this.EventClick); - // - // tsIssuesRefresh - // - this.tsIssuesRefresh.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsIssuesRefresh.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.tsIssuesRefreshIslands, - this.tsIssuesRefreshResinTraps}); - this.tsIssuesRefresh.Image = global::UVtools.GUI.Properties.Resources.refresh_16x16; - this.tsIssuesRefresh.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsIssuesRefresh.Name = "tsIssuesRefresh"; - this.tsIssuesRefresh.Size = new System.Drawing.Size(73, 22); - this.tsIssuesRefresh.Text = "&Detect"; - this.tsIssuesRefresh.ToolTipText = "Compute Issues"; - this.tsIssuesRefresh.ButtonClick += new System.EventHandler(this.EventClick); - // - // tsIssuesRefreshIslands - // - this.tsIssuesRefreshIslands.Checked = true; - this.tsIssuesRefreshIslands.CheckOnClick = true; - this.tsIssuesRefreshIslands.CheckState = System.Windows.Forms.CheckState.Checked; - this.tsIssuesRefreshIslands.Name = "tsIssuesRefreshIslands"; - this.tsIssuesRefreshIslands.Size = new System.Drawing.Size(211, 22); - this.tsIssuesRefreshIslands.Text = "Islands && Touching Bonds"; - // - // tsIssuesRefreshResinTraps - // - this.tsIssuesRefreshResinTraps.Checked = true; - this.tsIssuesRefreshResinTraps.CheckOnClick = true; - this.tsIssuesRefreshResinTraps.CheckState = System.Windows.Forms.CheckState.Checked; - this.tsIssuesRefreshResinTraps.Name = "tsIssuesRefreshResinTraps"; - this.tsIssuesRefreshResinTraps.Size = new System.Drawing.Size(211, 22); - this.tsIssuesRefreshResinTraps.Text = "Resin traps"; - // // toolStripSeparator12 // this.toolStripSeparator12.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; this.toolStripSeparator12.Name = "toolStripSeparator12"; this.toolStripSeparator12.Size = new System.Drawing.Size(6, 25); // - // tsIssuesRepair - // - this.tsIssuesRepair.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.tsIssuesRepair.Enabled = false; - this.tsIssuesRepair.Image = global::UVtools.GUI.Properties.Resources.Wrench_16x16; - this.tsIssuesRepair.ImageTransparentColor = System.Drawing.Color.Magenta; - this.tsIssuesRepair.Name = "tsIssuesRepair"; - this.tsIssuesRepair.Size = new System.Drawing.Size(60, 22); - this.tsIssuesRepair.Text = "Repair"; - this.tsIssuesRepair.ToolTipText = "Attempt to repair issues"; - this.tsIssuesRepair.Click += new System.EventHandler(this.EventClick); - // // tabPagePixelEditor // this.tabPagePixelEditor.Controls.Add(this.flvPixelHistory); @@ -1661,51 +1027,17 @@ this.lbPixelHistoryOperations.Size = new System.Drawing.Size(77, 22); this.lbPixelHistoryOperations.Text = "Operations: 0"; // - // btnPixelHistoryRemove - // - this.btnPixelHistoryRemove.Enabled = false; - this.btnPixelHistoryRemove.Image = global::UVtools.GUI.Properties.Resources.delete_16x16; - this.btnPixelHistoryRemove.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnPixelHistoryRemove.Name = "btnPixelHistoryRemove"; - this.btnPixelHistoryRemove.Size = new System.Drawing.Size(70, 22); - this.btnPixelHistoryRemove.Text = "Remove"; - this.btnPixelHistoryRemove.ToolTipText = "Remove selected operations\r\n"; - this.btnPixelHistoryRemove.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator19 // this.toolStripSeparator19.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; this.toolStripSeparator19.Name = "toolStripSeparator19"; this.toolStripSeparator19.Size = new System.Drawing.Size(6, 25); // - // btnPixelHistoryApply - // - this.btnPixelHistoryApply.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.btnPixelHistoryApply.Enabled = false; - this.btnPixelHistoryApply.Image = global::UVtools.GUI.Properties.Resources.accept_16x16; - this.btnPixelHistoryApply.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnPixelHistoryApply.Name = "btnPixelHistoryApply"; - this.btnPixelHistoryApply.Size = new System.Drawing.Size(75, 22); - this.btnPixelHistoryApply.Text = "&Apply All"; - this.btnPixelHistoryApply.ToolTipText = "Apply all operations/modifications"; - this.btnPixelHistoryApply.Click += new System.EventHandler(this.EventClick); - // // toolStripSeparator20 // this.toolStripSeparator20.Name = "toolStripSeparator20"; this.toolStripSeparator20.Size = new System.Drawing.Size(6, 25); // - // btnPixelHistoryClear - // - this.btnPixelHistoryClear.Enabled = false; - this.btnPixelHistoryClear.Image = global::UVtools.GUI.Properties.Resources.delete_16x16; - this.btnPixelHistoryClear.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnPixelHistoryClear.Name = "btnPixelHistoryClear"; - this.btnPixelHistoryClear.Size = new System.Drawing.Size(54, 22); - this.btnPixelHistoryClear.Text = "Clear"; - this.btnPixelHistoryClear.ToolTipText = "Clears all operations"; - this.btnPixelHistoryClear.Click += new System.EventHandler(this.EventClick); - // // tabControlPixelEditor // this.tabControlPixelEditor.Controls.Add(this.tabPage1); @@ -2568,16 +1900,6 @@ this.tsLog.TabIndex = 0; this.tsLog.Text = "Log"; // - // btnLogClear - // - this.btnLogClear.Image = global::UVtools.GUI.Properties.Resources.trash_16x16; - this.btnLogClear.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnLogClear.Name = "btnLogClear"; - this.btnLogClear.Size = new System.Drawing.Size(54, 22); - this.btnLogClear.Text = "Clear"; - this.btnLogClear.ToolTipText = "Clears all operations"; - this.btnLogClear.Click += new System.EventHandler(this.EventClick); - // // lbLogOperations // this.lbLogOperations.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; @@ -2619,38 +1941,6 @@ this.tlRight.Size = new System.Drawing.Size(144, 759); this.tlRight.TabIndex = 6; // - // btnPreviousLayer - // - this.btnPreviousLayer.Dock = System.Windows.Forms.DockStyle.Fill; - this.btnPreviousLayer.Enabled = false; - this.btnPreviousLayer.Image = global::UVtools.GUI.Properties.Resources.arrow_down_16x16; - this.btnPreviousLayer.Location = new System.Drawing.Point(3, 648); - this.btnPreviousLayer.Name = "btnPreviousLayer"; - this.btnPreviousLayer.Size = new System.Drawing.Size(138, 26); - this.btnPreviousLayer.TabIndex = 14; - this.btnPreviousLayer.Tag = "0"; - this.btnPreviousLayer.Text = "-"; - this.btnPreviousLayer.UseVisualStyleBackColor = true; - this.btnPreviousLayer.Click += new System.EventHandler(this.EventClick); - this.btnPreviousLayer.MouseDown += new System.Windows.Forms.MouseEventHandler(this.EventMouseDown); - this.btnPreviousLayer.MouseUp += new System.Windows.Forms.MouseEventHandler(this.EventMouseUp); - // - // btnNextLayer - // - this.btnNextLayer.Dock = System.Windows.Forms.DockStyle.Fill; - this.btnNextLayer.Enabled = false; - this.btnNextLayer.Image = global::UVtools.GUI.Properties.Resources.arrow_up_16x16; - this.btnNextLayer.Location = new System.Drawing.Point(3, 53); - this.btnNextLayer.Name = "btnNextLayer"; - this.btnNextLayer.Size = new System.Drawing.Size(138, 26); - this.btnNextLayer.TabIndex = 8; - this.btnNextLayer.Tag = "1"; - this.btnNextLayer.Text = "+"; - this.btnNextLayer.UseVisualStyleBackColor = true; - this.btnNextLayer.Click += new System.EventHandler(this.EventClick); - this.btnNextLayer.MouseDown += new System.Windows.Forms.MouseEventHandler(this.EventMouseDown); - this.btnNextLayer.MouseUp += new System.Windows.Forms.MouseEventHandler(this.EventMouseUp); - // // lbMaxLayer // this.lbMaxLayer.Dock = System.Windows.Forms.DockStyle.Fill; @@ -2713,6 +2003,541 @@ this.panel2.Size = new System.Drawing.Size(138, 26); this.panel2.TabIndex = 15; // + // toolTipInformation + // + this.toolTipInformation.AutoPopDelay = 10000; + this.toolTipInformation.InitialDelay = 500; + this.toolTipInformation.ReshowDelay = 100; + this.toolTipInformation.ToolTipTitle = "Information"; + // + // layerScrollTimer + // + this.layerScrollTimer.Interval = 150; + this.layerScrollTimer.Tick += new System.EventHandler(this.EventTimerTick); + // + // tsLayerImageExport + // + this.tsLayerImageExport.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsLayerImageExport.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsLayerImageExport.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsLayerImageExportFile, + this.tsLayerImageExportClipboard}); + this.tsLayerImageExport.Image = global::UVtools.GUI.Properties.Resources.Save_16x16; + this.tsLayerImageExport.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsLayerImageExport.Name = "tsLayerImageExport"; + this.tsLayerImageExport.Size = new System.Drawing.Size(32, 22); + this.tsLayerImageExport.Text = "Save to"; + this.tsLayerImageExport.ToolTipText = "Save layer image to a file or clipboard"; + this.tsLayerImageExport.ButtonClick += new System.EventHandler(this.EventClick); + // + // tsLayerImageExportFile + // + this.tsLayerImageExportFile.Image = global::UVtools.GUI.Properties.Resources.file_image_16x16; + this.tsLayerImageExportFile.Name = "tsLayerImageExportFile"; + this.tsLayerImageExportFile.Size = new System.Drawing.Size(141, 22); + this.tsLayerImageExportFile.Text = "To &File"; + this.tsLayerImageExportFile.Click += new System.EventHandler(this.EventClick); + // + // tsLayerImageExportClipboard + // + this.tsLayerImageExportClipboard.Image = global::UVtools.GUI.Properties.Resources.clipboard_16x16; + this.tsLayerImageExportClipboard.Name = "tsLayerImageExportClipboard"; + this.tsLayerImageExportClipboard.Size = new System.Drawing.Size(141, 22); + this.tsLayerImageExportClipboard.Text = "To &Clipboard"; + this.tsLayerImageExportClipboard.Click += new System.EventHandler(this.EventClick); + // + // tsLayerImageRotate + // + this.tsLayerImageRotate.Checked = true; + this.tsLayerImageRotate.CheckOnClick = true; + this.tsLayerImageRotate.CheckState = System.Windows.Forms.CheckState.Checked; + this.tsLayerImageRotate.Image = global::UVtools.GUI.Properties.Resources.Rotate_16x16; + this.tsLayerImageRotate.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsLayerImageRotate.Name = "tsLayerImageRotate"; + this.tsLayerImageRotate.Size = new System.Drawing.Size(117, 22); + this.tsLayerImageRotate.Text = "&Rotate Image 90º"; + this.tsLayerImageRotate.ToolTipText = "Auto rotate layer preview image at 90º (This can slow down the layer preview) [CT" + + "RL+R]"; + this.tsLayerImageRotate.Click += new System.EventHandler(this.EventClick); + // + // tsLayerImageLayerDifference + // + this.tsLayerImageLayerDifference.CheckOnClick = true; + this.tsLayerImageLayerDifference.Image = global::UVtools.GUI.Properties.Resources.layers_16x16; + this.tsLayerImageLayerDifference.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsLayerImageLayerDifference.Name = "tsLayerImageLayerDifference"; + this.tsLayerImageLayerDifference.Size = new System.Drawing.Size(81, 22); + this.tsLayerImageLayerDifference.Text = "&Difference"; + this.tsLayerImageLayerDifference.ToolTipText = "Show layer differences where daker pixels were also present on previous layer and" + + " the white pixels the difference between previous and current layer."; + this.tsLayerImageLayerDifference.Click += new System.EventHandler(this.EventClick); + // + // tsLayerImageHighlightIssues + // + this.tsLayerImageHighlightIssues.Checked = true; + this.tsLayerImageHighlightIssues.CheckOnClick = true; + this.tsLayerImageHighlightIssues.CheckState = System.Windows.Forms.CheckState.Checked; + this.tsLayerImageHighlightIssues.Image = global::UVtools.GUI.Properties.Resources.warning_16x16; + this.tsLayerImageHighlightIssues.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsLayerImageHighlightIssues.Name = "tsLayerImageHighlightIssues"; + this.tsLayerImageHighlightIssues.Size = new System.Drawing.Size(58, 22); + this.tsLayerImageHighlightIssues.Text = "&Issues"; + this.tsLayerImageHighlightIssues.ToolTipText = "Highlight Issues on current layer.\r\nValid only if Issues are calculated."; + this.tsLayerImageHighlightIssues.Click += new System.EventHandler(this.EventClick); + // + // tsLayerImageLayerOutline + // + this.tsLayerImageLayerOutline.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsLayerImageLayerOutlinePrintVolumeBounds, + this.tsLayerImageLayerOutlineLayerBounds, + this.tsLayerImageLayerOutlineHollowAreas, + this.tsLayerImageLayerOutlineEdgeDetection}); + this.tsLayerImageLayerOutline.Image = global::UVtools.GUI.Properties.Resources.Geometry_16x16; + this.tsLayerImageLayerOutline.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsLayerImageLayerOutline.Name = "tsLayerImageLayerOutline"; + this.tsLayerImageLayerOutline.Size = new System.Drawing.Size(78, 22); + this.tsLayerImageLayerOutline.Text = "&Outline"; + this.tsLayerImageLayerOutline.ButtonClick += new System.EventHandler(this.EventClick); + // + // tsLayerImageLayerOutlinePrintVolumeBounds + // + this.tsLayerImageLayerOutlinePrintVolumeBounds.CheckOnClick = true; + this.tsLayerImageLayerOutlinePrintVolumeBounds.Name = "tsLayerImageLayerOutlinePrintVolumeBounds"; + this.tsLayerImageLayerOutlinePrintVolumeBounds.Size = new System.Drawing.Size(185, 22); + this.tsLayerImageLayerOutlinePrintVolumeBounds.Text = "Print Volume Bounds"; + this.tsLayerImageLayerOutlinePrintVolumeBounds.Click += new System.EventHandler(this.EventClick); + // + // tsLayerImageLayerOutlineLayerBounds + // + this.tsLayerImageLayerOutlineLayerBounds.CheckOnClick = true; + this.tsLayerImageLayerOutlineLayerBounds.Name = "tsLayerImageLayerOutlineLayerBounds"; + this.tsLayerImageLayerOutlineLayerBounds.Size = new System.Drawing.Size(185, 22); + this.tsLayerImageLayerOutlineLayerBounds.Text = "Layer Bounds"; + this.tsLayerImageLayerOutlineLayerBounds.Click += new System.EventHandler(this.EventClick); + // + // tsLayerImageLayerOutlineHollowAreas + // + this.tsLayerImageLayerOutlineHollowAreas.CheckOnClick = true; + this.tsLayerImageLayerOutlineHollowAreas.Name = "tsLayerImageLayerOutlineHollowAreas"; + this.tsLayerImageLayerOutlineHollowAreas.Size = new System.Drawing.Size(185, 22); + this.tsLayerImageLayerOutlineHollowAreas.Text = "Hollow Areas"; + this.tsLayerImageLayerOutlineHollowAreas.Click += new System.EventHandler(this.EventClick); + // + // tsLayerImageLayerOutlineEdgeDetection + // + this.tsLayerImageLayerOutlineEdgeDetection.CheckOnClick = true; + this.tsLayerImageLayerOutlineEdgeDetection.Name = "tsLayerImageLayerOutlineEdgeDetection"; + this.tsLayerImageLayerOutlineEdgeDetection.Size = new System.Drawing.Size(185, 22); + this.tsLayerImageLayerOutlineEdgeDetection.Text = "&Edge Detection"; + this.tsLayerImageLayerOutlineEdgeDetection.Click += new System.EventHandler(this.EventClick); + // + // tsLayerImagePixelEdit + // + this.tsLayerImagePixelEdit.CheckOnClick = true; + this.tsLayerImagePixelEdit.Image = global::UVtools.GUI.Properties.Resources.pixel_16x16; + this.tsLayerImagePixelEdit.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsLayerImagePixelEdit.Name = "tsLayerImagePixelEdit"; + this.tsLayerImagePixelEdit.Size = new System.Drawing.Size(75, 22); + this.tsLayerImagePixelEdit.Text = "Pixel &Edit"; + this.tsLayerImagePixelEdit.ToolTipText = "Edit layer image: Draw pixels, add supports and/or drain holes"; + this.tsLayerImagePixelEdit.Click += new System.EventHandler(this.EventClick); + // + // tsLayerRmove + // + this.tsLayerRmove.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsLayerRmove.Image = global::UVtools.GUI.Properties.Resources.trash_16x16; + this.tsLayerRmove.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsLayerRmove.Name = "tsLayerRmove"; + this.tsLayerRmove.Size = new System.Drawing.Size(101, 22); + this.tsLayerRmove.Text = "Remove Layer"; + this.tsLayerRmove.ToolTipText = "Delete current layer"; + this.tsLayerRmove.Click += new System.EventHandler(this.EventClick); + // + // tsLayerClone + // + this.tsLayerClone.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsLayerClone.Image = global::UVtools.GUI.Properties.Resources.copy_16x16; + this.tsLayerClone.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsLayerClone.Name = "tsLayerClone"; + this.tsLayerClone.Size = new System.Drawing.Size(89, 22); + this.tsLayerClone.Text = "Clone Layer"; + this.tsLayerClone.ToolTipText = "Clone current layer"; + this.tsLayerClone.Click += new System.EventHandler(this.EventClick); + // + // tsLayerResolution + // + this.tsLayerResolution.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsLayerResolution.Image = global::UVtools.GUI.Properties.Resources.expand_16x16; + this.tsLayerResolution.Name = "tsLayerResolution"; + this.tsLayerResolution.Size = new System.Drawing.Size(79, 22); + this.tsLayerResolution.Text = "Resolution"; + this.tsLayerResolution.ToolTipText = "Layer Resolution"; + // + // tsLayerImageZoom + // + this.tsLayerImageZoom.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsLayerImageZoom.Image = global::UVtools.GUI.Properties.Resources.search_16x16; + this.tsLayerImageZoom.Name = "tsLayerImageZoom"; + this.tsLayerImageZoom.Size = new System.Drawing.Size(89, 22); + this.tsLayerImageZoom.Text = "Zoom: 100%"; + this.tsLayerImageZoom.ToolTipText = "Layer image zoom level, use mouse scroll to zoom in/out into image\r\nCtrl + 0 to s" + + "cale to fit"; + // + // tsLayerImagePanLocation + // + this.tsLayerImagePanLocation.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsLayerImagePanLocation.Image = global::UVtools.GUI.Properties.Resources.map_marker_16x16; + this.tsLayerImagePanLocation.Name = "tsLayerImagePanLocation"; + this.tsLayerImagePanLocation.Size = new System.Drawing.Size(79, 22); + this.tsLayerImagePanLocation.Text = "{X=0, Y=0}"; + this.tsLayerImagePanLocation.ToolTipText = "Image pan location"; + this.tsLayerImagePanLocation.Visible = false; + // + // tsLayerImageMouseLocation + // + this.tsLayerImageMouseLocation.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsLayerImageMouseLocation.Image = global::UVtools.GUI.Properties.Resources.map_marker_16x16; + this.tsLayerImageMouseLocation.Name = "tsLayerImageMouseLocation"; + this.tsLayerImageMouseLocation.Size = new System.Drawing.Size(79, 22); + this.tsLayerImageMouseLocation.Text = "{X=0, Y=0}"; + this.tsLayerImageMouseLocation.ToolTipText = "Mouse over pixel location and pixel brightness"; + // + // tsLayerImagePixelCount + // + this.tsLayerImagePixelCount.Image = global::UVtools.GUI.Properties.Resources.pixel_16x16; + this.tsLayerImagePixelCount.Name = "tsLayerImagePixelCount"; + this.tsLayerImagePixelCount.Size = new System.Drawing.Size(65, 22); + this.tsLayerImagePixelCount.Text = "Pixels: 0"; + this.tsLayerImagePixelCount.ToolTipText = "Number of pixels to cure on this layer image and the percetange of them against t" + + "otal lcd pixels"; + // + // tsLayerBounds + // + this.tsLayerBounds.Image = global::UVtools.GUI.Properties.Resources.expand_16x16; + this.tsLayerBounds.Name = "tsLayerBounds"; + this.tsLayerBounds.Size = new System.Drawing.Size(66, 22); + this.tsLayerBounds.Text = "Bounds:"; + this.tsLayerBounds.ToolTipText = "Image bounds for this layer only, position and size"; + // + // pbThumbnail + // + this.pbThumbnail.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pbThumbnail.Dock = System.Windows.Forms.DockStyle.Fill; + this.pbThumbnail.Location = new System.Drawing.Point(0, 25); + this.pbThumbnail.Name = "pbThumbnail"; + this.pbThumbnail.Size = new System.Drawing.Size(380, 400); + this.pbThumbnail.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pbThumbnail.TabIndex = 4; + this.pbThumbnail.TabStop = false; + // + // tsThumbnailsPrevious + // + this.tsThumbnailsPrevious.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsThumbnailsPrevious.Enabled = false; + this.tsThumbnailsPrevious.Image = global::UVtools.GUI.Properties.Resources.Back_16x16; + this.tsThumbnailsPrevious.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsThumbnailsPrevious.Name = "tsThumbnailsPrevious"; + this.tsThumbnailsPrevious.Size = new System.Drawing.Size(23, 22); + this.tsThumbnailsPrevious.ToolTipText = "Show previous thumbnail"; + this.tsThumbnailsPrevious.Click += new System.EventHandler(this.EventClick); + // + // tsThumbnailsNext + // + this.tsThumbnailsNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsThumbnailsNext.Enabled = false; + this.tsThumbnailsNext.Image = global::UVtools.GUI.Properties.Resources.Next_16x16; + this.tsThumbnailsNext.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsThumbnailsNext.Name = "tsThumbnailsNext"; + this.tsThumbnailsNext.Size = new System.Drawing.Size(23, 22); + this.tsThumbnailsNext.ToolTipText = "Show next thumbnail"; + this.tsThumbnailsNext.Click += new System.EventHandler(this.EventClick); + // + // tsThumbnailsExport + // + this.tsThumbnailsExport.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsThumbnailsExport.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsThumbnailsExport.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsThumbnailsExportFile, + this.tsThumbnailsExportClipboard}); + this.tsThumbnailsExport.Enabled = false; + this.tsThumbnailsExport.Image = global::UVtools.GUI.Properties.Resources.Save_16x16; + this.tsThumbnailsExport.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsThumbnailsExport.Name = "tsThumbnailsExport"; + this.tsThumbnailsExport.Size = new System.Drawing.Size(32, 22); + this.tsThumbnailsExport.Text = "Save to"; + this.tsThumbnailsExport.ToolTipText = "Save thumbnail image to a file or clipboard"; + this.tsThumbnailsExport.ButtonClick += new System.EventHandler(this.EventClick); + // + // tsThumbnailsExportFile + // + this.tsThumbnailsExportFile.Image = global::UVtools.GUI.Properties.Resources.file_image_16x16; + this.tsThumbnailsExportFile.Name = "tsThumbnailsExportFile"; + this.tsThumbnailsExportFile.Size = new System.Drawing.Size(141, 22); + this.tsThumbnailsExportFile.Text = "To &File"; + this.tsThumbnailsExportFile.Click += new System.EventHandler(this.EventClick); + // + // tsThumbnailsExportClipboard + // + this.tsThumbnailsExportClipboard.Image = global::UVtools.GUI.Properties.Resources.clipboard_16x16; + this.tsThumbnailsExportClipboard.Name = "tsThumbnailsExportClipboard"; + this.tsThumbnailsExportClipboard.Size = new System.Drawing.Size(141, 22); + this.tsThumbnailsExportClipboard.Text = "To &Clipboard"; + this.tsThumbnailsExportClipboard.Click += new System.EventHandler(this.EventClick); + // + // tsThumbnailsImport + // + this.tsThumbnailsImport.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsThumbnailsImport.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsThumbnailsImport.Image = global::UVtools.GUI.Properties.Resources.photo_16x16; + this.tsThumbnailsImport.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsThumbnailsImport.Name = "tsThumbnailsImport"; + this.tsThumbnailsImport.Size = new System.Drawing.Size(23, 22); + this.tsThumbnailsImport.Text = "Change Preview"; + this.tsThumbnailsImport.ToolTipText = "Replace the current preview image"; + this.tsThumbnailsImport.Click += new System.EventHandler(this.EventClick); + // + // tsPropertiesExport + // + this.tsPropertiesExport.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsPropertiesExport.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsPropertiesExport.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsPropertiesExportFile, + this.tsPropertiesExportClipboard}); + this.tsPropertiesExport.Enabled = false; + this.tsPropertiesExport.Image = global::UVtools.GUI.Properties.Resources.Save_16x16; + this.tsPropertiesExport.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsPropertiesExport.Name = "tsPropertiesExport"; + this.tsPropertiesExport.Size = new System.Drawing.Size(32, 22); + this.tsPropertiesExport.Text = "Save to"; + this.tsPropertiesExport.ToolTipText = "Save properties to a file or clipboard"; + this.tsPropertiesExport.Click += new System.EventHandler(this.EventClick); + // + // tsPropertiesExportFile + // + this.tsPropertiesExportFile.Image = global::UVtools.GUI.Properties.Resources.file_image_16x16; + this.tsPropertiesExportFile.Name = "tsPropertiesExportFile"; + this.tsPropertiesExportFile.Size = new System.Drawing.Size(141, 22); + this.tsPropertiesExportFile.Text = "To &File"; + this.tsPropertiesExportFile.Click += new System.EventHandler(this.EventClick); + // + // tsPropertiesExportClipboard + // + this.tsPropertiesExportClipboard.Image = global::UVtools.GUI.Properties.Resources.clipboard_16x16; + this.tsPropertiesExportClipboard.Name = "tsPropertiesExportClipboard"; + this.tsPropertiesExportClipboard.Size = new System.Drawing.Size(141, 22); + this.tsPropertiesExportClipboard.Text = "To &Clipboard"; + this.tsPropertiesExportClipboard.Click += new System.EventHandler(this.EventClick); + // + // tsGCodeButtonSave + // + this.tsGCodeButtonSave.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsGCodeButtonSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsGCodeButtonSave.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsGCodeButtonSaveFile, + this.tsGCodeButtonSaveClipboard}); + this.tsGCodeButtonSave.Image = global::UVtools.GUI.Properties.Resources.Save_16x16; + this.tsGCodeButtonSave.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsGCodeButtonSave.Name = "tsGCodeButtonSave"; + this.tsGCodeButtonSave.Size = new System.Drawing.Size(32, 22); + this.tsGCodeButtonSave.Text = "Save to"; + this.tsGCodeButtonSave.ToolTipText = "Save GCode to a file or clipboard"; + this.tsGCodeButtonSave.ButtonClick += new System.EventHandler(this.tsGCodeButtonSave_ButtonClick); + this.tsGCodeButtonSave.Click += new System.EventHandler(this.EventClick); + // + // tsGCodeButtonSaveFile + // + this.tsGCodeButtonSaveFile.Image = global::UVtools.GUI.Properties.Resources.file_image_16x16; + this.tsGCodeButtonSaveFile.Name = "tsGCodeButtonSaveFile"; + this.tsGCodeButtonSaveFile.Size = new System.Drawing.Size(141, 22); + this.tsGCodeButtonSaveFile.Text = "To &File"; + this.tsGCodeButtonSaveFile.Click += new System.EventHandler(this.EventClick); + // + // tsGCodeButtonSaveClipboard + // + this.tsGCodeButtonSaveClipboard.Image = global::UVtools.GUI.Properties.Resources.clipboard_16x16; + this.tsGCodeButtonSaveClipboard.Name = "tsGCodeButtonSaveClipboard"; + this.tsGCodeButtonSaveClipboard.Size = new System.Drawing.Size(141, 22); + this.tsGCodeButtonSaveClipboard.Text = "To &Clipboard"; + this.tsGCodeButtonSaveClipboard.Click += new System.EventHandler(this.EventClick); + // + // btnIssueGroup + // + this.btnIssueGroup.CheckOnClick = true; + this.btnIssueGroup.Image = global::UVtools.GUI.Properties.Resources.list_16x16; + this.btnIssueGroup.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnIssueGroup.Name = "btnIssueGroup"; + this.btnIssueGroup.Size = new System.Drawing.Size(60, 22); + this.btnIssueGroup.Text = "Group"; + this.btnIssueGroup.ToolTipText = "Group items by issue type"; + this.btnIssueGroup.Click += new System.EventHandler(this.EventClick); + // + // btnIssueResort + // + this.btnIssueResort.Image = global::UVtools.GUI.Properties.Resources.sort_alpha_up_16x16; + this.btnIssueResort.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnIssueResort.Name = "btnIssueResort"; + this.btnIssueResort.Size = new System.Drawing.Size(60, 22); + this.btnIssueResort.Text = "Resort"; + this.btnIssueResort.ToolTipText = "Reset sorting on issues"; + this.btnIssueResort.Click += new System.EventHandler(this.EventClick); + // + // tsIssuePrevious + // + this.tsIssuePrevious.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsIssuePrevious.Enabled = false; + this.tsIssuePrevious.Image = global::UVtools.GUI.Properties.Resources.Back_16x16; + this.tsIssuePrevious.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsIssuePrevious.Name = "tsIssuePrevious"; + this.tsIssuePrevious.Size = new System.Drawing.Size(23, 22); + this.tsIssuePrevious.Text = "Previous"; + this.tsIssuePrevious.ToolTipText = "Show previous issue [CTRL+Left]"; + this.tsIssuePrevious.Click += new System.EventHandler(this.EventClick); + // + // tsIssueNext + // + this.tsIssueNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsIssueNext.Enabled = false; + this.tsIssueNext.Image = global::UVtools.GUI.Properties.Resources.Next_16x16; + this.tsIssueNext.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsIssueNext.Name = "tsIssueNext"; + this.tsIssueNext.Size = new System.Drawing.Size(23, 22); + this.tsIssueNext.Text = "tsIslandsNext"; + this.tsIssueNext.ToolTipText = "Show next issue [CTRL+Right]"; + this.tsIssueNext.Click += new System.EventHandler(this.EventClick); + // + // tsIssueRemove + // + this.tsIssueRemove.Enabled = false; + this.tsIssueRemove.Image = global::UVtools.GUI.Properties.Resources.trash_16x16; + this.tsIssueRemove.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsIssueRemove.Name = "tsIssueRemove"; + this.tsIssueRemove.Size = new System.Drawing.Size(70, 22); + this.tsIssueRemove.Text = "Remove"; + this.tsIssueRemove.ToolTipText = "Remove selected issue when possible\r\nIslands: All pixels are removed (turn black)" + + "\r\nResinTrap: All trap areas are filled with white pixels.\r\nTouchingBounds: No ac" + + "tion, need reslice."; + this.tsIssueRemove.Click += new System.EventHandler(this.EventClick); + // + // tsIssuesRefresh + // + this.tsIssuesRefresh.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsIssuesRefresh.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsIssuesRefreshIslands, + this.tsIssuesRefreshResinTraps}); + this.tsIssuesRefresh.Image = global::UVtools.GUI.Properties.Resources.refresh_16x16; + this.tsIssuesRefresh.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsIssuesRefresh.Name = "tsIssuesRefresh"; + this.tsIssuesRefresh.Size = new System.Drawing.Size(73, 22); + this.tsIssuesRefresh.Text = "&Detect"; + this.tsIssuesRefresh.ToolTipText = "Compute Issues"; + this.tsIssuesRefresh.ButtonClick += new System.EventHandler(this.EventClick); + // + // tsIssuesRefreshIslands + // + this.tsIssuesRefreshIslands.Checked = true; + this.tsIssuesRefreshIslands.CheckOnClick = true; + this.tsIssuesRefreshIslands.CheckState = System.Windows.Forms.CheckState.Checked; + this.tsIssuesRefreshIslands.Name = "tsIssuesRefreshIslands"; + this.tsIssuesRefreshIslands.Size = new System.Drawing.Size(211, 22); + this.tsIssuesRefreshIslands.Text = "Islands && Touching Bonds"; + // + // tsIssuesRefreshResinTraps + // + this.tsIssuesRefreshResinTraps.Checked = true; + this.tsIssuesRefreshResinTraps.CheckOnClick = true; + this.tsIssuesRefreshResinTraps.CheckState = System.Windows.Forms.CheckState.Checked; + this.tsIssuesRefreshResinTraps.Name = "tsIssuesRefreshResinTraps"; + this.tsIssuesRefreshResinTraps.Size = new System.Drawing.Size(211, 22); + this.tsIssuesRefreshResinTraps.Text = "Resin traps"; + // + // tsIssuesRepair + // + this.tsIssuesRepair.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsIssuesRepair.Enabled = false; + this.tsIssuesRepair.Image = global::UVtools.GUI.Properties.Resources.Wrench_16x16; + this.tsIssuesRepair.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsIssuesRepair.Name = "tsIssuesRepair"; + this.tsIssuesRepair.Size = new System.Drawing.Size(60, 22); + this.tsIssuesRepair.Text = "Repair"; + this.tsIssuesRepair.ToolTipText = "Attempt to repair issues"; + this.tsIssuesRepair.Click += new System.EventHandler(this.EventClick); + // + // btnPixelHistoryRemove + // + this.btnPixelHistoryRemove.Enabled = false; + this.btnPixelHistoryRemove.Image = global::UVtools.GUI.Properties.Resources.delete_16x16; + this.btnPixelHistoryRemove.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnPixelHistoryRemove.Name = "btnPixelHistoryRemove"; + this.btnPixelHistoryRemove.Size = new System.Drawing.Size(70, 22); + this.btnPixelHistoryRemove.Text = "Remove"; + this.btnPixelHistoryRemove.ToolTipText = "Remove selected operations\r\n"; + this.btnPixelHistoryRemove.Click += new System.EventHandler(this.EventClick); + // + // btnPixelHistoryApply + // + this.btnPixelHistoryApply.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.btnPixelHistoryApply.Enabled = false; + this.btnPixelHistoryApply.Image = global::UVtools.GUI.Properties.Resources.accept_16x16; + this.btnPixelHistoryApply.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnPixelHistoryApply.Name = "btnPixelHistoryApply"; + this.btnPixelHistoryApply.Size = new System.Drawing.Size(75, 22); + this.btnPixelHistoryApply.Text = "&Apply All"; + this.btnPixelHistoryApply.ToolTipText = "Apply all operations/modifications"; + this.btnPixelHistoryApply.Click += new System.EventHandler(this.EventClick); + // + // btnPixelHistoryClear + // + this.btnPixelHistoryClear.Enabled = false; + this.btnPixelHistoryClear.Image = global::UVtools.GUI.Properties.Resources.delete_16x16; + this.btnPixelHistoryClear.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnPixelHistoryClear.Name = "btnPixelHistoryClear"; + this.btnPixelHistoryClear.Size = new System.Drawing.Size(54, 22); + this.btnPixelHistoryClear.Text = "Clear"; + this.btnPixelHistoryClear.ToolTipText = "Clears all operations"; + this.btnPixelHistoryClear.Click += new System.EventHandler(this.EventClick); + // + // btnLogClear + // + this.btnLogClear.Image = global::UVtools.GUI.Properties.Resources.trash_16x16; + this.btnLogClear.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnLogClear.Name = "btnLogClear"; + this.btnLogClear.Size = new System.Drawing.Size(54, 22); + this.btnLogClear.Text = "Clear"; + this.btnLogClear.ToolTipText = "Clears all operations"; + this.btnLogClear.Click += new System.EventHandler(this.EventClick); + // + // btnPreviousLayer + // + this.btnPreviousLayer.Dock = System.Windows.Forms.DockStyle.Fill; + this.btnPreviousLayer.Enabled = false; + this.btnPreviousLayer.Image = global::UVtools.GUI.Properties.Resources.arrow_down_16x16; + this.btnPreviousLayer.Location = new System.Drawing.Point(3, 648); + this.btnPreviousLayer.Name = "btnPreviousLayer"; + this.btnPreviousLayer.Size = new System.Drawing.Size(138, 26); + this.btnPreviousLayer.TabIndex = 14; + this.btnPreviousLayer.Tag = "0"; + this.btnPreviousLayer.Text = "-"; + this.btnPreviousLayer.UseVisualStyleBackColor = true; + this.btnPreviousLayer.Click += new System.EventHandler(this.EventClick); + this.btnPreviousLayer.MouseDown += new System.Windows.Forms.MouseEventHandler(this.EventMouseDown); + this.btnPreviousLayer.MouseUp += new System.Windows.Forms.MouseEventHandler(this.EventMouseUp); + // + // btnNextLayer + // + this.btnNextLayer.Dock = System.Windows.Forms.DockStyle.Fill; + this.btnNextLayer.Enabled = false; + this.btnNextLayer.Image = global::UVtools.GUI.Properties.Resources.arrow_up_16x16; + this.btnNextLayer.Location = new System.Drawing.Point(3, 53); + this.btnNextLayer.Name = "btnNextLayer"; + this.btnNextLayer.Size = new System.Drawing.Size(138, 26); + this.btnNextLayer.TabIndex = 8; + this.btnNextLayer.Tag = "1"; + this.btnNextLayer.Text = "+"; + this.btnNextLayer.UseVisualStyleBackColor = true; + this.btnNextLayer.Click += new System.EventHandler(this.EventClick); + this.btnNextLayer.MouseDown += new System.Windows.Forms.MouseEventHandler(this.EventMouseDown); + this.btnNextLayer.MouseUp += new System.Windows.Forms.MouseEventHandler(this.EventMouseUp); + // // btnFindLayer // this.btnFindLayer.Dock = System.Windows.Forms.DockStyle.Fill; @@ -2755,17 +2580,202 @@ this.btnFirstLayer.UseVisualStyleBackColor = true; this.btnFirstLayer.Click += new System.EventHandler(this.EventClick); // - // toolTipInformation + // menuFileOpen // - this.toolTipInformation.AutoPopDelay = 10000; - this.toolTipInformation.InitialDelay = 500; - this.toolTipInformation.ReshowDelay = 100; - this.toolTipInformation.ToolTipTitle = "Information"; + this.menuFileOpen.Image = global::UVtools.GUI.Properties.Resources.Open_16x16; + this.menuFileOpen.Name = "menuFileOpen"; + this.menuFileOpen.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); + this.menuFileOpen.Size = new System.Drawing.Size(261, 22); + this.menuFileOpen.Text = "&Open"; + this.menuFileOpen.Click += new System.EventHandler(this.EventClick); // - // layerScrollTimer + // menuFileOpenNewWindow // - this.layerScrollTimer.Interval = 150; - this.layerScrollTimer.Tick += new System.EventHandler(this.EventTimerTick); + this.menuFileOpenNewWindow.Image = global::UVtools.GUI.Properties.Resources.Open_16x16; + this.menuFileOpenNewWindow.Name = "menuFileOpenNewWindow"; + this.menuFileOpenNewWindow.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.O))); + this.menuFileOpenNewWindow.Size = new System.Drawing.Size(261, 22); + this.menuFileOpenNewWindow.Text = "Open in new window"; + this.menuFileOpenNewWindow.Click += new System.EventHandler(this.EventClick); + // + // menuFileReload + // + this.menuFileReload.Image = global::UVtools.GUI.Properties.Resources.File_Refresh_16x16; + this.menuFileReload.Name = "menuFileReload"; + this.menuFileReload.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F5))); + this.menuFileReload.Size = new System.Drawing.Size(261, 22); + this.menuFileReload.Text = "&Reload"; + this.menuFileReload.Click += new System.EventHandler(this.EventClick); + // + // menuFileSave + // + this.menuFileSave.Enabled = false; + this.menuFileSave.Image = global::UVtools.GUI.Properties.Resources.Save_16x16; + this.menuFileSave.Name = "menuFileSave"; + this.menuFileSave.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); + this.menuFileSave.Size = new System.Drawing.Size(261, 22); + this.menuFileSave.Text = "&Save"; + this.menuFileSave.Click += new System.EventHandler(this.EventClick); + // + // menuFileSaveAs + // + this.menuFileSaveAs.Enabled = false; + this.menuFileSaveAs.Image = global::UVtools.GUI.Properties.Resources.SaveAs_16x16; + this.menuFileSaveAs.Name = "menuFileSaveAs"; + this.menuFileSaveAs.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.S))); + this.menuFileSaveAs.Size = new System.Drawing.Size(261, 22); + this.menuFileSaveAs.Text = "Save As"; + this.menuFileSaveAs.Click += new System.EventHandler(this.EventClick); + // + // menuFileClose + // + this.menuFileClose.Enabled = false; + this.menuFileClose.Image = global::UVtools.GUI.Properties.Resources.File_Close_16x16; + this.menuFileClose.Name = "menuFileClose"; + this.menuFileClose.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.W))); + this.menuFileClose.Size = new System.Drawing.Size(261, 22); + this.menuFileClose.Text = "&Close"; + this.menuFileClose.Click += new System.EventHandler(this.EventClick); + // + // menuFileExtract + // + this.menuFileExtract.Enabled = false; + this.menuFileExtract.Image = global::UVtools.GUI.Properties.Resources.Extract_object_16x16; + this.menuFileExtract.Name = "menuFileExtract"; + this.menuFileExtract.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E))); + this.menuFileExtract.Size = new System.Drawing.Size(261, 22); + this.menuFileExtract.Text = "&Extract"; + this.menuFileExtract.Click += new System.EventHandler(this.EventClick); + // + // menuFileConvert + // + this.menuFileConvert.Enabled = false; + this.menuFileConvert.Image = global::UVtools.GUI.Properties.Resources.Convert_16x16; + this.menuFileConvert.Name = "menuFileConvert"; + this.menuFileConvert.Size = new System.Drawing.Size(261, 22); + this.menuFileConvert.Text = "&Convert To"; + // + // menuFileSettings + // + this.menuFileSettings.Image = global::UVtools.GUI.Properties.Resources.settings_16x16; + this.menuFileSettings.Name = "menuFileSettings"; + this.menuFileSettings.ShortcutKeys = System.Windows.Forms.Keys.F12; + this.menuFileSettings.Size = new System.Drawing.Size(261, 22); + this.menuFileSettings.Text = "&Settings"; + this.menuFileSettings.Click += new System.EventHandler(this.EventClick); + // + // menuFileExit + // + this.menuFileExit.Image = global::UVtools.GUI.Properties.Resources.Exit_16x16; + this.menuFileExit.Name = "menuFileExit"; + this.menuFileExit.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4))); + this.menuFileExit.Size = new System.Drawing.Size(261, 22); + this.menuFileExit.Text = "&Exit"; + this.menuFileExit.Click += new System.EventHandler(this.EventClick); + // + // menuToolsRepairLayers + // + this.menuToolsRepairLayers.Enabled = false; + this.menuToolsRepairLayers.Image = global::UVtools.GUI.Properties.Resources.toolbox_16x16; + this.menuToolsRepairLayers.Name = "menuToolsRepairLayers"; + this.menuToolsRepairLayers.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt) + | System.Windows.Forms.Keys.R))); + this.menuToolsRepairLayers.Size = new System.Drawing.Size(261, 22); + this.menuToolsRepairLayers.Text = "&Repair layers and Issues"; + this.menuToolsRepairLayers.Click += new System.EventHandler(this.EventClick); + // + // menuToolsChangeResolution + // + this.menuToolsChangeResolution.Enabled = false; + this.menuToolsChangeResolution.Image = global::UVtools.GUI.Properties.Resources.resize_16x16; + this.menuToolsChangeResolution.Name = "menuToolsChangeResolution"; + this.menuToolsChangeResolution.Size = new System.Drawing.Size(261, 22); + this.menuToolsChangeResolution.Text = "Change Re&solution"; + this.menuToolsChangeResolution.Click += new System.EventHandler(this.EventClick); + // + // menuToolsLayerReHeight + // + this.menuToolsLayerReHeight.Enabled = false; + this.menuToolsLayerReHeight.Image = global::UVtools.GUI.Properties.Resources.ladder_16x16; + this.menuToolsLayerReHeight.Name = "menuToolsLayerReHeight"; + this.menuToolsLayerReHeight.Size = new System.Drawing.Size(261, 22); + this.menuToolsLayerReHeight.Text = "Layer Re-&Height"; + this.menuToolsLayerReHeight.Click += new System.EventHandler(this.EventClick); + // + // menuToolsLayerClone + // + this.menuToolsLayerClone.Enabled = false; + this.menuToolsLayerClone.Image = global::UVtools.GUI.Properties.Resources.layers_alt_16x16; + this.menuToolsLayerClone.Name = "menuToolsLayerClone"; + this.menuToolsLayerClone.Size = new System.Drawing.Size(261, 22); + this.menuToolsLayerClone.Text = "Layer &Clone"; + this.menuToolsLayerClone.Click += new System.EventHandler(this.EventClick); + // + // menuToolsLayerRemoval + // + this.menuToolsLayerRemoval.Enabled = false; + this.menuToolsLayerRemoval.Image = global::UVtools.GUI.Properties.Resources.layers_alt_16x16; + this.menuToolsLayerRemoval.Name = "menuToolsLayerRemoval"; + this.menuToolsLayerRemoval.Size = new System.Drawing.Size(261, 22); + this.menuToolsLayerRemoval.Text = "Layer Re&moval"; + this.menuToolsLayerRemoval.Click += new System.EventHandler(this.EventClick); + // + // menuToolsPattern + // + this.menuToolsPattern.Enabled = false; + this.menuToolsPattern.Image = global::UVtools.GUI.Properties.Resources.pattern_16x16; + this.menuToolsPattern.Name = "menuToolsPattern"; + this.menuToolsPattern.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt) + | System.Windows.Forms.Keys.P))); + this.menuToolsPattern.Size = new System.Drawing.Size(261, 22); + this.menuToolsPattern.Text = "&Pattern"; + this.menuToolsPattern.Click += new System.EventHandler(this.EventClick); + // + // menuHelpWebsite + // + this.menuHelpWebsite.Image = global::UVtools.GUI.Properties.Resources.internet_explorer_16x16; + this.menuHelpWebsite.Name = "menuHelpWebsite"; + this.menuHelpWebsite.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F1))); + this.menuHelpWebsite.Size = new System.Drawing.Size(231, 22); + this.menuHelpWebsite.Text = "&Website"; + this.menuHelpWebsite.Click += new System.EventHandler(this.EventClick); + // + // menuHelpDonate + // + this.menuHelpDonate.Image = global::UVtools.GUI.Properties.Resources.Donate_16x16; + this.menuHelpDonate.Name = "menuHelpDonate"; + this.menuHelpDonate.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.F1))); + this.menuHelpDonate.Size = new System.Drawing.Size(231, 22); + this.menuHelpDonate.Text = "&Donate"; + this.menuHelpDonate.Click += new System.EventHandler(this.EventClick); + // + // menuHelpAbout + // + this.menuHelpAbout.Image = global::UVtools.GUI.Properties.Resources.Button_Info_16x16; + this.menuHelpAbout.Name = "menuHelpAbout"; + this.menuHelpAbout.ShortcutKeys = System.Windows.Forms.Keys.F1; + this.menuHelpAbout.Size = new System.Drawing.Size(231, 22); + this.menuHelpAbout.Text = "&About"; + this.menuHelpAbout.Click += new System.EventHandler(this.EventClick); + // + // menuHelpBenchmark + // + this.menuHelpBenchmark.Image = global::UVtools.GUI.Properties.Resources.microchip_16x16; + this.menuHelpBenchmark.Name = "menuHelpBenchmark"; + this.menuHelpBenchmark.Size = new System.Drawing.Size(231, 22); + this.menuHelpBenchmark.Text = "&Benchmark"; + this.menuHelpBenchmark.Click += new System.EventHandler(this.EventClick); + // + // menuHelpInstallPrinters + // + this.menuHelpInstallPrinters.Image = global::UVtools.GUI.Properties.Resources.CNCMachine_16x16; + this.menuHelpInstallPrinters.Name = "menuHelpInstallPrinters"; + this.menuHelpInstallPrinters.Size = new System.Drawing.Size(231, 22); + this.menuHelpInstallPrinters.Text = "Install profiles into PrusaSlicer"; + this.menuHelpInstallPrinters.Click += new System.EventHandler(this.EventClick); // // FrmMain // @@ -2804,7 +2814,6 @@ this.scLeft.Panel2.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.scLeft)).EndInit(); this.scLeft.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.pbThumbnail)).EndInit(); this.tsThumbnails.ResumeLayout(false); this.tsThumbnails.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.flvProperties)).EndInit(); @@ -2871,6 +2880,7 @@ this.panel1.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.tbLayer)).EndInit(); this.panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pbThumbnail)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -3097,6 +3107,7 @@ private System.Windows.Forms.ToolStripLabel tsLayerBounds; private System.Windows.Forms.ToolStripButton tsLayerClone; private System.Windows.Forms.ToolStripMenuItem menuToolsLayerClone; + private System.Windows.Forms.ToolStripMenuItem menuHelpBenchmark; } } diff --git a/UVtools.GUI/FrmMain.cs b/UVtools.GUI/FrmMain.cs index 2a676c2..7da095f 100644 --- a/UVtools.GUI/FrmMain.cs +++ b/UVtools.GUI/FrmMain.cs @@ -1059,6 +1059,15 @@ namespace UVtools.GUI return; } + if (ReferenceEquals(sender, menuHelpBenchmark)) + { + using (var frmBenchmark = new FrmBenchmark()) + { + frmBenchmark.ShowDialog(); + } + return; + } + if (ReferenceEquals(sender, menuHelpInstallPrinters)) { var PEFolder = @@ -2424,7 +2433,7 @@ namespace UVtools.GUI } tsPropertiesLabelCount.Text = $"Properties: {flvProperties.GetItemCount()}"; - tsPropertiesLabelGroups.Text = $"Groups: {flvProperties.OLVGroups.Count}"; + tsPropertiesLabelGroups.Text = $"Groups: {flvProperties.OLVGroups?.Count ?? 0}"; if (!ReferenceEquals(SlicerFile.GCode, null)) { diff --git a/UVtools.GUI/FrmMain.resx b/UVtools.GUI/FrmMain.resx index 0fa423f..ff1de0f 100644 --- a/UVtools.GUI/FrmMain.resx +++ b/UVtools.GUI/FrmMain.resx @@ -129,12 +129,6 @@ <metadata name="tsLayerInfo.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>1609, 17</value> </metadata> - <metadata name="tsThumbnails.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>291, 17</value> - </metadata> - <metadata name="tsProperties.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>649, 17</value> - </metadata> <metadata name="tsGCode.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>551, 17</value> </metadata> @@ -158,7 +152,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABk - FAAAAk1TRnQBSQFMAgEBBgEAAQgBCQEIAQkBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + FAAAAk1TRnQBSQFMAgEBBgEAARgBCQEYAQkBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA AwABIAMAAQEBAAEgBgABIC4AAxgBIgMwAUsDMAFMAzIBUDMAAQEDJAE2AysBQqwAAyIBMQNWAbkDXQHi AwAB/wMAAf8BKgEtASgB/gNTAawDTQGVAwABARgAAwkBDAMzAVIDUAGdA1cB6AMAAf4DKwH8Ay8BSqQA AyEBMANZAewBKwEuASkB+gNRAfcDUgH0A1MB8QNIAfYDQQH5AwAB/wNPAZsDAAEBCAADFQEdAz8BbgNV @@ -206,7 +200,7 @@ BAADUgGpAzQBVQM0AVUgAAM0AVUDNAFVA1IBqQgAA0oBiwMAAf8DAAH/A08BnAQAA00BlQMAAf8DVAGr CAADTwGcAwAB/wMAAf8DSgGLBAADUQGgAQABzAH3Af8BAAHMAfcB/wEAAcwB9wH/AQABzAH3Af8DQwF3 CAADSgGNAgAB7AH/AgAB7AH/AgAB7wH/AgAB7AH/AgAB7AH/AgAB7QH/AVICUwGoA1IBqAMAAf8DAAH/ - AwAB/wNRAfcDKAH9A1ABnwsAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNSAagEAANSAakDNAFVAzQBVQNG + AwAB/wNRAfcDKgH9A1ABnwsAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNSAagEAANSAakDNAFVAzQBVQNG AYADUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDRQF/AzQBVQM0AVUDUgGpBAADUQGiAwAB/wMAAf8DSQGJ CAADLwFKAwAB/wNUAe4MAANJAYkDAAH/AwAB/wNRAaIDAAEBAT8CQAFvAT4CXAH4AQABzQH3Af8BAAHN AfcB/wMSARgIAAMBAQIDRgF+AlIBXQHwAgAB7gH/AgAB7gH/AkABqAH9AUUCRgF+AwMBBANSAagDAAH/ @@ -248,12 +242,36 @@ AfwBPws= </value> </data> + <metadata name="tsThumbnails.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>291, 17</value> + </metadata> + <metadata name="tsProperties.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>649, 17</value> + </metadata> + <metadata name="tsGCode.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>551, 17</value> + </metadata> + <metadata name="tsIssuesLv.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>1504, 17</value> + </metadata> + <metadata name="tsIssues.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>765, 17</value> + </metadata> + <metadata name="tsPixelEditorHistory.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>1155, 17</value> + </metadata> + <metadata name="tsLog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>1423, 17</value> + </metadata> <metadata name="toolTipInformation.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>863, 17</value> </metadata> <metadata name="layerScrollTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>1017, 17</value> </metadata> + <metadata name="toolTipInformation.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>863, 17</value> + </metadata> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> diff --git a/UVtools.GUI/Images/microchip_16x16.png b/UVtools.GUI/Images/microchip_16x16.png Binary files differnew file mode 100644 index 0000000..ca399d8 --- /dev/null +++ b/UVtools.GUI/Images/microchip_16x16.png diff --git a/UVtools.GUI/Properties/AssemblyInfo.cs b/UVtools.GUI/Properties/AssemblyInfo.cs index 6f57b9e..028e243 100644 --- a/UVtools.GUI/Properties/AssemblyInfo.cs +++ b/UVtools.GUI/Properties/AssemblyInfo.cs @@ -35,5 +35,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.6.7.0")] -[assembly: AssemblyFileVersion("0.6.7.0")] +[assembly: AssemblyVersion("0.6.7.1")] +[assembly: AssemblyFileVersion("0.6.7.1")] diff --git a/UVtools.GUI/Properties/Resources.Designer.cs b/UVtools.GUI/Properties/Resources.Designer.cs index 95b2f98..0ad5e98 100644 --- a/UVtools.GUI/Properties/Resources.Designer.cs +++ b/UVtools.GUI/Properties/Resources.Designer.cs @@ -553,6 +553,16 @@ namespace UVtools.GUI.Properties { /// <summary> /// Looks up a localized resource of type System.Drawing.Bitmap. /// </summary> + internal static System.Drawing.Bitmap microchip_16x16 { + get { + object obj = ResourceManager.GetObject("microchip_16x16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap move_16x16 { get { object obj = ResourceManager.GetObject("move-16x16", resourceCulture); diff --git a/UVtools.GUI/Properties/Resources.resx b/UVtools.GUI/Properties/Resources.resx index 486da0e..3fcf67f 100644 --- a/UVtools.GUI/Properties/Resources.resx +++ b/UVtools.GUI/Properties/Resources.resx @@ -136,15 +136,15 @@ <data name="island-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\island-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="ladder-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\ladder-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> <data name="layers-alt-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\layers-alt-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="mask-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\mask-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="Back-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Images\Back-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> <data name="move-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\move-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -208,9 +208,6 @@ <data name="SaveAs-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\SaveAs-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="pixel-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Images\pixel-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> <data name="mutation_tophat" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\gui\mutation_tophat.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -265,12 +262,12 @@ <data name="trash-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\trash-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="accept-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Images\accept-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> <data name="file-image-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\file-image-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="Geometry-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\Geometry-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> <data name="refresh-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\refresh-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -289,12 +286,12 @@ <data name="square-solid-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\square-solid-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="chessboard-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\chessboard-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> <data name="burn-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\burn-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="map-marker-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Images\map-marker-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> <data name="arrow-down-double-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\arrow-down-double-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -310,8 +307,8 @@ <data name="photo-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\photo-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="Open-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Images\Open-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + <data name="map-marker-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\map-marker-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="flip-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\flip-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> @@ -325,14 +322,20 @@ <data name="Next-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\Next-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="Open-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\Open-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> <data name="File-Close-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\File-Close-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="expand-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\expand-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="Geometry-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Images\Geometry-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + <data name="accept-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\accept-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="copy_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\copy_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="toolbox-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\toolbox-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> @@ -349,16 +352,16 @@ <data name="eye-24x24" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\eye-24x24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="ladder-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Images\ladder-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + <data name="pixel-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\pixel-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="chessboard-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Images\chessboard-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + <data name="Back-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\Back-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="expand-alt-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Images\expand-alt-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="copy_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Images\copy_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + <data name="microchip_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Images\microchip_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> </root>
\ No newline at end of file diff --git a/UVtools.GUI/UVtools.GUI.csproj b/UVtools.GUI/UVtools.GUI.csproj index 38c3856..c193df3 100644 --- a/UVtools.GUI/UVtools.GUI.csproj +++ b/UVtools.GUI/UVtools.GUI.csproj @@ -131,7 +131,7 @@ <Private>True</Private> </Reference> <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0-preview.7.20364.11\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath> + <HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0-preview.8.20407.11\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath> </Reference> <Reference Include="System.Runtime.Extensions, Version=4.1.1.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Runtime.Extensions.4.3.1\lib\net462\System.Runtime.Extensions.dll</HintPath> @@ -145,6 +145,7 @@ <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> + <Compile Include="Controls\BenchmarkTest.cs" /> <Compile Include="Controls\CtrlKernel.cs"> <SubType>UserControl</SubType> </Compile> @@ -156,6 +157,12 @@ <Compile Include="Controls\SplitButton.cs"> <SubType>Component</SubType> </Compile> + <Compile Include="Forms\FrmBenchmark.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="Forms\FrmBenchmark.Designer.cs"> + <DependentUpon>FrmBenchmark.cs</DependentUpon> + </Compile> <Compile Include="Forms\FrmInstallPEProfiles.cs"> <SubType>Form</SubType> </Compile> @@ -292,6 +299,9 @@ <EmbeddedResource Include="Forms\FrmAbout.resx"> <DependentUpon>FrmAbout.cs</DependentUpon> </EmbeddedResource> + <EmbeddedResource Include="Forms\FrmBenchmark.resx"> + <DependentUpon>FrmBenchmark.cs</DependentUpon> + </EmbeddedResource> <EmbeddedResource Include="Forms\FrmInstallPEProfiles.resx"> <DependentUpon>FrmInstallPEProfiles.cs</DependentUpon> </EmbeddedResource> @@ -424,6 +434,7 @@ <None Include="Images\list-16x16.png" /> <None Include="Images\mask-16x16.png" /> <None Include="Images\copy_16x16.png" /> + <None Include="Images\microchip_16x16.png" /> <Content Include="UVtools.ico" /> <None Include="UVtools.png" /> <None Include="Images\Exit-16x16.png" /> diff --git a/UVtools.GUI/packages.config b/UVtools.GUI/packages.config index c539b09..5a4c820 100644 --- a/UVtools.GUI/packages.config +++ b/UVtools.GUI/packages.config @@ -11,7 +11,7 @@ <package id="System.Reflection.TypeExtensions" version="4.7.0" targetFramework="net48" /> <package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net48" /> <package id="System.Runtime" version="4.3.1" targetFramework="net48" /> - <package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0-preview.7.20364.11" targetFramework="net48" /> + <package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0-preview.8.20407.11" targetFramework="net48" /> <package id="System.Runtime.Extensions" version="4.3.1" targetFramework="net48" /> <package id="System.Text.Encoding" version="4.3.0" targetFramework="net48" /> <package id="System.Threading" version="4.3.0" targetFramework="net48" /> |