diff --git a/USGSHydroToolboxDS/Images.Designer.cs b/USGSHydroToolboxDS/Images.Designer.cs
new file mode 100644
index 000000000..699b0e00d
--- /dev/null
+++ b/USGSHydroToolboxDS/Images.Designer.cs
@@ -0,0 +1,83 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace USGSHydroToolbox {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Images {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Images() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("USGSHydroToolbox.Images", typeof(Images).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
+ ///
+ internal static System.Drawing.Icon Basins {
+ get {
+ object obj = ResourceManager.GetObject("Basins", resourceCulture);
+ return ((System.Drawing.Icon)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
+ ///
+ internal static System.Drawing.Icon USGS {
+ get {
+ object obj = ResourceManager.GetObject("USGS", resourceCulture);
+ return ((System.Drawing.Icon)(obj));
+ }
+ }
+ }
+}
diff --git a/USGSHydroToolboxDS/Images.resx b/USGSHydroToolboxDS/Images.resx
new file mode 100644
index 000000000..3f6144719
--- /dev/null
+++ b/USGSHydroToolboxDS/Images.resx
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ Resources\Basins.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Resources\USGS.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/USGSHydroToolboxDS/Program.cs b/USGSHydroToolboxDS/Program.cs
new file mode 100644
index 000000000..a98e6b5b8
--- /dev/null
+++ b/USGSHydroToolboxDS/Program.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace USGSHydroToolbox
+{
+ static class Program
+ {
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ Utilities.LoadDataSourcePlugins();
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new frmMain());
+ }
+ }
+}
diff --git a/USGSHydroToolboxDS/Properties/AssemblyInfo.cs b/USGSHydroToolboxDS/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..82b45b985
--- /dev/null
+++ b/USGSHydroToolboxDS/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("USGSHydroToolbox")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("USGSHydroToolbox")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("ea8971ff-2e6a-48dd-93b2-5e94444b47a5")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// 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("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/USGSHydroToolboxDS/Properties/Resources.Designer.cs b/USGSHydroToolboxDS/Properties/Resources.Designer.cs
new file mode 100644
index 000000000..cb418bb85
--- /dev/null
+++ b/USGSHydroToolboxDS/Properties/Resources.Designer.cs
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace USGSHydroToolbox.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("USGSHydroToolbox.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/USGSHydroToolboxDS/Properties/Settings.Designer.cs b/USGSHydroToolboxDS/Properties/Settings.Designer.cs
new file mode 100644
index 000000000..7fdc572dd
--- /dev/null
+++ b/USGSHydroToolboxDS/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace USGSHydroToolbox.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/USGSHydroToolboxDS/Properties/Settings.settings b/USGSHydroToolboxDS/Properties/Settings.settings
new file mode 100644
index 000000000..39645652a
--- /dev/null
+++ b/USGSHydroToolboxDS/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/USGSHydroToolboxDS/Resources/Basins.ico b/USGSHydroToolboxDS/Resources/Basins.ico
new file mode 100644
index 000000000..0fe329245
Binary files /dev/null and b/USGSHydroToolboxDS/Resources/Basins.ico differ
diff --git a/USGSHydroToolboxDS/Resources/USGS.ico b/USGSHydroToolboxDS/Resources/USGS.ico
new file mode 100644
index 000000000..76bce6431
Binary files /dev/null and b/USGSHydroToolboxDS/Resources/USGS.ico differ
diff --git a/USGSHydroToolboxDS/Resources/enwiki-1.5x.png b/USGSHydroToolboxDS/Resources/enwiki-1.5x.png
new file mode 100644
index 000000000..28bd0ea1a
Binary files /dev/null and b/USGSHydroToolboxDS/Resources/enwiki-1.5x.png differ
diff --git a/USGSHydroToolboxDS/USGSHydroToolboxDS.csproj b/USGSHydroToolboxDS/USGSHydroToolboxDS.csproj
new file mode 100644
index 000000000..71f10eb09
--- /dev/null
+++ b/USGSHydroToolboxDS/USGSHydroToolboxDS.csproj
@@ -0,0 +1,284 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}
+ WinExe
+ USGSHydroToolbox
+ USGSHydroToolbox
+ v4.5.2
+ 512
+ true
+ true
+
+
+
+ AnyCPU
+ true
+ full
+ false
+ ..\bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ ..\bin\Debug\DotSpatial.Analysis.dll
+
+
+ ..\bin\Debug\DotSpatial.Compatibility.dll
+
+
+ False
+ ..\bin\Debug\DotSpatial.Controls.dll
+
+
+ False
+ ..\bin\Debug\DotSpatial.Data.dll
+
+
+ False
+ ..\bin\Debug\DotSpatial.Data.Forms.dll
+
+
+ False
+ ..\bin\Debug\DotSpatial.Data.Rasters.GdalExtension.dll
+ True
+
+
+ False
+ ..\bin\Debug\DotSpatial.Extensions.dll
+
+
+ False
+ ..\bin\Debug\DotSpatial.GeoAPI.dll
+
+
+ False
+ ..\bin\Debug\DotSpatial.Modeling.Forms.dll
+
+
+ False
+ ..\bin\Debug\DotSpatial.NetTopologySuite.dll
+
+
+ False
+ ..\bin\Debug\DotSpatial.NTSExtension.dll
+
+
+ ..\bin\Debug\DotSpatial.Positioning.dll
+
+
+ ..\bin\Debug\DotSpatial.Positioning.Design.dll
+
+
+ ..\bin\Debug\DotSpatial.Positioning.Forms.dll
+
+
+ False
+ ..\bin\Debug\DotSpatial.Projections.dll
+
+
+ False
+ ..\bin\Debug\DotSpatial.Projections.Forms.dll
+
+
+ False
+ ..\bin\Debug\DotSpatial.Serialization.dll
+
+
+ False
+ ..\bin\Debug\DotSpatial.Symbology.dll
+
+
+ False
+ ..\bin\Debug\DotSpatial.Symbology.Forms.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ frmMain.cs
+
+
+ True
+ True
+ Images.resx
+
+
+
+
+
+ frmMain.cs
+
+
+ ResXFileCodeGenerator
+ Images.Designer.cs
+ Designer
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+
+
+
+ {f4ef0925-945b-418c-9a81-8490d89985db}
+ atcDataTree-DSC
+ False
+
+
+ {a9a00cad-9ead-4228-ab08-6dc3baf253aa}
+ atcData-DSC
+ False
+
+
+ {92ea3681-9ea9-438a-a598-2531f483a0c6}
+ atcDurationCompare-DSC
+ False
+
+
+ {d52e1a9c-e219-4df7-9ca8-b4fd1b28cec9}
+ atcGraph-DSC
+ False
+
+
+ {edb3cf95-e4dd-4d02-97e8-cd3d12cc5f86}
+ atcIDF-DSC
+ False
+
+
+ {a1a87cb8-8b9e-4c90-9549-c065357e499f}
+ atcList-DSC
+ False
+
+
+ {350d3be7-35a4-4b09-9d28-dde2f6b716cd}
+ atcMwGisUtility-DSC
+ False
+
+
+ {50fef6be-f961-4949-8658-2948de7b777b}
+ atcSeasonalAttributes-DSC
+ False
+
+
+ {12f7fdd0-a6ec-4abe-a01b-790ad8caef03}
+ atcSeasons-DSC
+ False
+
+
+ {fabf7aa3-dde7-48a4-8226-ecd3ad423597}
+ atcSynopticAnalysis-DSC
+ False
+
+
+ {f9a4070c-1faf-4d17-a8e6-7eb19d414b05}
+ atcTimeseriesBaseflow-DSC
+ False
+
+
+ {bd299eb7-7a62-4ef9-8806-86e9288c498f}
+ atcTimeseriesMath-DSC
+ False
+
+
+ {82530a5b-ff39-4b9f-8a04-881468dfc662}
+ atcTimeseriesRDB-DSC
+ False
+
+
+ {40de1f29-3531-4bc2-9d7e-324dc92689df}
+ atcTimeseriesScript-DSC
+ False
+
+
+ {7e40e3e6-bf8e-45b5-99af-4e11daf039fd}
+ atcTimeseriesStatistics-DSC
+ False
+
+
+ {9f09a31b-de05-4ff8-8e89-867affe0ace7}
+ atcUSGSBaseflow-DSC
+ False
+
+
+ {4cdfeb5c-1808-44ad-9206-0049ff26fa2e}
+ atcUSGSDF2P-DSC
+ False
+
+
+ {3d007252-dd48-4288-97bc-5e1657839fbb}
+ atcUSGSRecess-DSC
+ False
+
+
+ {28fc1ef2-44d7-44d1-9263-fd4fad14864a}
+ atcUSGSRora-DSC
+ False
+
+
+ {67027820-9036-481e-80f6-077e5085f59d}
+ atcUtility-DSC
+ False
+
+
+ {9b3bb48b-2caf-4e49-a900-5e08217da078}
+ ToolboxMWPlugin-DSC
+ False
+
+
+ {add48409-fc1f-4a92-b07c-6b9a9a5bac72}
+ D4EMDownloadData-DSC
+ False
+
+
+
+
\ No newline at end of file
diff --git a/USGSHydroToolboxDS/USGSHydroToolboxDS.sln b/USGSHydroToolboxDS/USGSHydroToolboxDS.sln
new file mode 100644
index 000000000..9b5d417d2
--- /dev/null
+++ b/USGSHydroToolboxDS/USGSHydroToolboxDS.sln
@@ -0,0 +1,513 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29409.12
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "USGSHydroToolboxDS", "USGSHydroToolboxDS.csproj", "{EA8971FF-2E6A-48DD-93B2-5E94444B47A5}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MapWinUtility-DSC", "..\MapWinUtility\MapWinUtility-DSC.vbproj", "{3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcUtility-DSC", "..\atcUtility\atcUtility-DSC.vbproj", "{67027820-9036-481E-80F6-077E5085F59D}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcControls-DSC", "..\atcControls\atcControls-DSC.vbproj", "{B219575F-1541-41DB-9FA4-D9D7CD62B4A5}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcData-DSC", "..\atcData\atcData-DSC.vbproj", "{A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcD4EMLauncher-DSC", "..\atcD4EMLauncher\atcD4EMLauncher-DSC.vbproj", "{6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcProjector-DSC", "..\atcProjector\atcProjector-DSC.vbproj", "{863771D3-EA5B-45D2-8416-B75E9ADA8D7B}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ToolboxMWPlugin-DSC", "..\BASINS\ToolboxMWPlugin-DSC.vbproj", "{9B3BB48B-2CAF-4E49-A900-5E08217DA078}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcTimeseriesMath-DSC", "..\atcTimeseriesMath\atcTimeseriesMath-DSC.vbproj", "{BD299EB7-7A62-4EF9-8806-86E9288C498F}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcList-DSC", "..\atcList\atcList-DSC.vbproj", "{A1A87CB8-8B9E-4C90-9549-C065357E499F}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcBasinsObsWQ-DSC", "..\atcBasinsObsWQ\atcBasinsObsWQ-DSC.vbproj", "{7DCB47A0-7B03-4B7C-BC42-B8D920D46604}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcGraph-DSC", "..\atcGraphExperimental\atcGraph-DSC.vbproj", "{D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcTimeseriesRDB-DSC", "..\atcTimeseriesRDB\atcTimeseriesRDB-DSC.vbproj", "{82530A5B-FF39-4B9F-8A04-881468DFC662}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcTimeseriesStatistics-DSC", "..\atcTimeseriesStatistics\atcTimeseriesStatistics-DSC.vbproj", "{7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcMetCmp-DSC", "..\atcMetCmp\atcMetCmp-DSC.vbproj", "{72264BDC-23F5-4A55-B53D-0752099CB263}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcTimeseriesScript-DSC", "..\atcTimeseriesScript\atcTimeseriesScript-DSC.vbproj", "{40DE1F29-3531-4BC2-9D7E-324DC92689DF}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcUSGSUtility-DSC", "..\atcUSGSUtility\atcUSGSUtility-DSC.vbproj", "{4DBC8159-1072-41FA-9242-933E12A88EE6}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcUSGSRora-DSC", "..\atcUSGSRora\atcUSGSRora-DSC.vbproj", "{28FC1EF2-44D7-44D1-9263-FD4FAD14864A}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcTimeseriesBaseflow-DSC", "..\atcTimeseriesBaseflow\atcTimeseriesBaseflow-DSC.vbproj", "{F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcBatchProcessing-DSC", "..\atcBatchProcessing\atcBatchProcessing-DSC.vbproj", "{7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcDurationCompare-DSC", "..\atcDurationCompare\atcDurationCompare-DSC.vbproj", "{92EA3681-9EA9-438A-A598-2531F483A0C6}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcUSGSDF2P-DSC", "..\atcUSGSDF2P\atcUSGSDF2P-DSC.vbproj", "{4CDFEB5C-1808-44AD-9206-0049FF26FA2E}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcUSGSBaseflow-DSC", "..\atcUSGSBaseflow\atcUSGSBaseflow-DSC.vbproj", "{9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcUSGSRecess-DSC", "..\atcUSGSRecess\atcUSGSRecess-DSC.vbproj", "{3D007252-DD48-4288-97BC-5E1657839FBB}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcDataTree-DSC", "..\atcDataTree\atcDataTree-DSC.vbproj", "{F4EF0925-945B-418C-9A81-8490D89985DB}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcSeasons-DSC", "..\atcSeasons\atcSeasons-DSC.vbproj", "{12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcTimeseriesNdayHighLow-DSC", "..\atcTimeseriesNdayHighLow\atcTimeseriesNdayHighLow-DSC.vbproj", "{24EEBEFB-2B19-489D-B3AF-9FE00A56346E}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DFLOWAnalysis-DSC", "..\DFLOW\DFLOWAnalysis-DSC.vbproj", "{B1998404-5A6C-49AB-BE38-ECFDAA8361B0}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcIDF-DSC", "..\atcIntegratedDesignFlow\atcIDF-DSC.vbproj", "{EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcMwGisUtility-DSC", "..\atcMwGisUtility\atcMwGisUtility-DSC.vbproj", "{350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcGisUtilities-DSC", "..\atcGisUtilities\atcGisUtilities-DSC.vbproj", "{E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "D4EMDownloadData-DSC", "..\D4EMDownloadData\D4EMDownloadData-DSC.vbproj", "{ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcSeasonalAttributes-DSC", "..\atcSeasonalAttributes\atcSeasonalAttributes-DSC.vbproj", "{50FEF6BE-F961-4949-8658-2948DE7B777B}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcEvents-DSC", "..\atcEvents\atcEvents-DSC.vbproj", "{9F469FD8-4A92-4C1F-901C-93D84D457D8F}"
+EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcSynopticAnalysis-DSC", "..\atcSynopticAnalysis\atcSynopticAnalysis-DSC.vbproj", "{FABF7AA3-DDE7-48A4-8226-ECD3AD423597}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Debug|x64.Build.0 = Debug|Any CPU
+ {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Debug|x86.Build.0 = Debug|Any CPU
+ {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Release|x64.ActiveCfg = Release|Any CPU
+ {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Release|x64.Build.0 = Release|Any CPU
+ {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Release|x86.ActiveCfg = Release|Any CPU
+ {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Release|x86.Build.0 = Release|Any CPU
+ {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Debug|x64.ActiveCfg = Debug|x64
+ {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Debug|x64.Build.0 = Debug|x64
+ {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Debug|x86.ActiveCfg = Debug|x86
+ {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Debug|x86.Build.0 = Debug|x86
+ {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Release|x64.ActiveCfg = Release|x64
+ {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Release|x64.Build.0 = Release|x64
+ {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Release|x86.ActiveCfg = Release|x86
+ {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Release|x86.Build.0 = Release|x86
+ {67027820-9036-481E-80F6-077E5085F59D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {67027820-9036-481E-80F6-077E5085F59D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {67027820-9036-481E-80F6-077E5085F59D}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {67027820-9036-481E-80F6-077E5085F59D}.Debug|x64.Build.0 = Debug|Any CPU
+ {67027820-9036-481E-80F6-077E5085F59D}.Debug|x86.ActiveCfg = Debug|x86
+ {67027820-9036-481E-80F6-077E5085F59D}.Debug|x86.Build.0 = Debug|x86
+ {67027820-9036-481E-80F6-077E5085F59D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {67027820-9036-481E-80F6-077E5085F59D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {67027820-9036-481E-80F6-077E5085F59D}.Release|x64.ActiveCfg = Release|Any CPU
+ {67027820-9036-481E-80F6-077E5085F59D}.Release|x64.Build.0 = Release|Any CPU
+ {67027820-9036-481E-80F6-077E5085F59D}.Release|x86.ActiveCfg = Release|x86
+ {67027820-9036-481E-80F6-077E5085F59D}.Release|x86.Build.0 = Release|x86
+ {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Debug|x64.ActiveCfg = Debug|x64
+ {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Debug|x64.Build.0 = Debug|x64
+ {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Debug|x86.ActiveCfg = Debug|x86
+ {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Debug|x86.Build.0 = Debug|x86
+ {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Release|x64.ActiveCfg = Release|x64
+ {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Release|x64.Build.0 = Release|x64
+ {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Release|x86.ActiveCfg = Release|x86
+ {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Release|x86.Build.0 = Release|x86
+ {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Debug|x64.ActiveCfg = Debug|x64
+ {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Debug|x64.Build.0 = Debug|x64
+ {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Debug|x86.ActiveCfg = Debug|x86
+ {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Debug|x86.Build.0 = Debug|x86
+ {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Release|x64.ActiveCfg = Release|x64
+ {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Release|x64.Build.0 = Release|x64
+ {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Release|x86.ActiveCfg = Release|x86
+ {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Release|x86.Build.0 = Release|x86
+ {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Debug|x64.Build.0 = Debug|Any CPU
+ {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Debug|x86.ActiveCfg = Debug|x86
+ {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Debug|x86.Build.0 = Debug|x86
+ {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Release|x64.ActiveCfg = Release|Any CPU
+ {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Release|x64.Build.0 = Release|Any CPU
+ {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Release|x86.ActiveCfg = Release|x86
+ {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Release|x86.Build.0 = Release|x86
+ {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Debug|x64.Build.0 = Debug|Any CPU
+ {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Debug|x86.ActiveCfg = Debug|x86
+ {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Debug|x86.Build.0 = Debug|x86
+ {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Release|x64.ActiveCfg = Release|Any CPU
+ {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Release|x64.Build.0 = Release|Any CPU
+ {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Release|x86.ActiveCfg = Release|x86
+ {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Release|x86.Build.0 = Release|x86
+ {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Debug|x64.Build.0 = Debug|Any CPU
+ {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Debug|x86.ActiveCfg = Debug|x86
+ {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Debug|x86.Build.0 = Debug|x86
+ {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Release|x64.ActiveCfg = Release|Any CPU
+ {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Release|x64.Build.0 = Release|Any CPU
+ {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Release|x86.ActiveCfg = Release|x86
+ {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Release|x86.Build.0 = Release|x86
+ {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Debug|x64.ActiveCfg = Debug|x64
+ {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Debug|x64.Build.0 = Debug|x64
+ {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Debug|x86.ActiveCfg = Debug|x86
+ {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Debug|x86.Build.0 = Debug|x86
+ {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Release|x64.ActiveCfg = Release|x64
+ {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Release|x64.Build.0 = Release|x64
+ {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Release|x86.ActiveCfg = Release|x86
+ {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Release|x86.Build.0 = Release|x86
+ {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Debug|x64.ActiveCfg = Debug|x64
+ {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Debug|x64.Build.0 = Debug|x64
+ {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Debug|x86.ActiveCfg = Debug|x86
+ {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Debug|x86.Build.0 = Debug|x86
+ {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Release|x64.ActiveCfg = Release|x64
+ {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Release|x64.Build.0 = Release|x64
+ {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Release|x86.ActiveCfg = Release|x86
+ {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Release|x86.Build.0 = Release|x86
+ {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Debug|x64.ActiveCfg = Debug|x64
+ {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Debug|x64.Build.0 = Debug|x64
+ {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Debug|x86.ActiveCfg = Debug|x86
+ {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Debug|x86.Build.0 = Debug|x86
+ {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Release|x64.ActiveCfg = Release|x64
+ {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Release|x64.Build.0 = Release|x64
+ {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Release|x86.ActiveCfg = Release|x86
+ {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Release|x86.Build.0 = Release|x86
+ {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Debug|x64.Build.0 = Debug|Any CPU
+ {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Debug|x86.ActiveCfg = Debug|x86
+ {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Debug|x86.Build.0 = Debug|x86
+ {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Release|x64.ActiveCfg = Release|Any CPU
+ {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Release|x64.Build.0 = Release|Any CPU
+ {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Release|x86.ActiveCfg = Release|x86
+ {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Release|x86.Build.0 = Release|x86
+ {82530A5B-FF39-4B9F-8A04-881468DFC662}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {82530A5B-FF39-4B9F-8A04-881468DFC662}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {82530A5B-FF39-4B9F-8A04-881468DFC662}.Debug|x64.ActiveCfg = Debug|x64
+ {82530A5B-FF39-4B9F-8A04-881468DFC662}.Debug|x64.Build.0 = Debug|x64
+ {82530A5B-FF39-4B9F-8A04-881468DFC662}.Debug|x86.ActiveCfg = Debug|x86
+ {82530A5B-FF39-4B9F-8A04-881468DFC662}.Debug|x86.Build.0 = Debug|x86
+ {82530A5B-FF39-4B9F-8A04-881468DFC662}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {82530A5B-FF39-4B9F-8A04-881468DFC662}.Release|Any CPU.Build.0 = Release|Any CPU
+ {82530A5B-FF39-4B9F-8A04-881468DFC662}.Release|x64.ActiveCfg = Release|x64
+ {82530A5B-FF39-4B9F-8A04-881468DFC662}.Release|x64.Build.0 = Release|x64
+ {82530A5B-FF39-4B9F-8A04-881468DFC662}.Release|x86.ActiveCfg = Release|x86
+ {82530A5B-FF39-4B9F-8A04-881468DFC662}.Release|x86.Build.0 = Release|x86
+ {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Debug|x64.Build.0 = Debug|Any CPU
+ {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Debug|x86.ActiveCfg = Debug|x86
+ {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Debug|x86.Build.0 = Debug|x86
+ {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Release|x64.ActiveCfg = Release|Any CPU
+ {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Release|x64.Build.0 = Release|Any CPU
+ {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Release|x86.ActiveCfg = Release|x86
+ {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Release|x86.Build.0 = Release|x86
+ {72264BDC-23F5-4A55-B53D-0752099CB263}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {72264BDC-23F5-4A55-B53D-0752099CB263}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {72264BDC-23F5-4A55-B53D-0752099CB263}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {72264BDC-23F5-4A55-B53D-0752099CB263}.Debug|x64.Build.0 = Debug|Any CPU
+ {72264BDC-23F5-4A55-B53D-0752099CB263}.Debug|x86.ActiveCfg = Debug|x86
+ {72264BDC-23F5-4A55-B53D-0752099CB263}.Debug|x86.Build.0 = Debug|x86
+ {72264BDC-23F5-4A55-B53D-0752099CB263}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {72264BDC-23F5-4A55-B53D-0752099CB263}.Release|Any CPU.Build.0 = Release|Any CPU
+ {72264BDC-23F5-4A55-B53D-0752099CB263}.Release|x64.ActiveCfg = Release|Any CPU
+ {72264BDC-23F5-4A55-B53D-0752099CB263}.Release|x64.Build.0 = Release|Any CPU
+ {72264BDC-23F5-4A55-B53D-0752099CB263}.Release|x86.ActiveCfg = Release|x86
+ {72264BDC-23F5-4A55-B53D-0752099CB263}.Release|x86.Build.0 = Release|x86
+ {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Debug|x64.Build.0 = Debug|Any CPU
+ {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Debug|x86.ActiveCfg = Debug|x86
+ {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Debug|x86.Build.0 = Debug|x86
+ {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Release|x64.ActiveCfg = Release|Any CPU
+ {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Release|x64.Build.0 = Release|Any CPU
+ {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Release|x86.ActiveCfg = Release|x86
+ {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Release|x86.Build.0 = Release|x86
+ {4DBC8159-1072-41FA-9242-933E12A88EE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4DBC8159-1072-41FA-9242-933E12A88EE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4DBC8159-1072-41FA-9242-933E12A88EE6}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {4DBC8159-1072-41FA-9242-933E12A88EE6}.Debug|x64.Build.0 = Debug|Any CPU
+ {4DBC8159-1072-41FA-9242-933E12A88EE6}.Debug|x86.ActiveCfg = Debug|x86
+ {4DBC8159-1072-41FA-9242-933E12A88EE6}.Debug|x86.Build.0 = Debug|x86
+ {4DBC8159-1072-41FA-9242-933E12A88EE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4DBC8159-1072-41FA-9242-933E12A88EE6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4DBC8159-1072-41FA-9242-933E12A88EE6}.Release|x64.ActiveCfg = Release|Any CPU
+ {4DBC8159-1072-41FA-9242-933E12A88EE6}.Release|x64.Build.0 = Release|Any CPU
+ {4DBC8159-1072-41FA-9242-933E12A88EE6}.Release|x86.ActiveCfg = Release|x86
+ {4DBC8159-1072-41FA-9242-933E12A88EE6}.Release|x86.Build.0 = Release|x86
+ {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Debug|x64.Build.0 = Debug|Any CPU
+ {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Debug|x86.ActiveCfg = Debug|x86
+ {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Debug|x86.Build.0 = Debug|x86
+ {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Release|x64.ActiveCfg = Release|Any CPU
+ {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Release|x64.Build.0 = Release|Any CPU
+ {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Release|x86.ActiveCfg = Release|x86
+ {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Release|x86.Build.0 = Release|x86
+ {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Debug|x64.Build.0 = Debug|Any CPU
+ {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Debug|x86.ActiveCfg = Debug|x86
+ {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Debug|x86.Build.0 = Debug|x86
+ {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Release|x64.ActiveCfg = Release|Any CPU
+ {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Release|x64.Build.0 = Release|Any CPU
+ {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Release|x86.ActiveCfg = Release|x86
+ {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Release|x86.Build.0 = Release|x86
+ {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Debug|x64.Build.0 = Debug|Any CPU
+ {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Debug|x86.ActiveCfg = Debug|x86
+ {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Debug|x86.Build.0 = Debug|x86
+ {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Release|x64.ActiveCfg = Release|Any CPU
+ {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Release|x64.Build.0 = Release|Any CPU
+ {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Release|x86.ActiveCfg = Release|x86
+ {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Release|x86.Build.0 = Release|x86
+ {92EA3681-9EA9-438A-A598-2531F483A0C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {92EA3681-9EA9-438A-A598-2531F483A0C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {92EA3681-9EA9-438A-A598-2531F483A0C6}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {92EA3681-9EA9-438A-A598-2531F483A0C6}.Debug|x64.Build.0 = Debug|Any CPU
+ {92EA3681-9EA9-438A-A598-2531F483A0C6}.Debug|x86.ActiveCfg = Debug|x86
+ {92EA3681-9EA9-438A-A598-2531F483A0C6}.Debug|x86.Build.0 = Debug|x86
+ {92EA3681-9EA9-438A-A598-2531F483A0C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {92EA3681-9EA9-438A-A598-2531F483A0C6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {92EA3681-9EA9-438A-A598-2531F483A0C6}.Release|x64.ActiveCfg = Release|Any CPU
+ {92EA3681-9EA9-438A-A598-2531F483A0C6}.Release|x64.Build.0 = Release|Any CPU
+ {92EA3681-9EA9-438A-A598-2531F483A0C6}.Release|x86.ActiveCfg = Release|x86
+ {92EA3681-9EA9-438A-A598-2531F483A0C6}.Release|x86.Build.0 = Release|x86
+ {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Debug|x64.Build.0 = Debug|Any CPU
+ {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Debug|x86.ActiveCfg = Debug|x86
+ {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Debug|x86.Build.0 = Debug|x86
+ {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Release|x64.ActiveCfg = Release|Any CPU
+ {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Release|x64.Build.0 = Release|Any CPU
+ {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Release|x86.ActiveCfg = Release|x86
+ {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Release|x86.Build.0 = Release|x86
+ {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Debug|x64.Build.0 = Debug|Any CPU
+ {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Debug|x86.ActiveCfg = Debug|x86
+ {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Debug|x86.Build.0 = Debug|x86
+ {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Release|x64.ActiveCfg = Release|Any CPU
+ {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Release|x64.Build.0 = Release|Any CPU
+ {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Release|x86.ActiveCfg = Release|x86
+ {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Release|x86.Build.0 = Release|x86
+ {3D007252-DD48-4288-97BC-5E1657839FBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3D007252-DD48-4288-97BC-5E1657839FBB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3D007252-DD48-4288-97BC-5E1657839FBB}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {3D007252-DD48-4288-97BC-5E1657839FBB}.Debug|x64.Build.0 = Debug|Any CPU
+ {3D007252-DD48-4288-97BC-5E1657839FBB}.Debug|x86.ActiveCfg = Debug|x86
+ {3D007252-DD48-4288-97BC-5E1657839FBB}.Debug|x86.Build.0 = Debug|x86
+ {3D007252-DD48-4288-97BC-5E1657839FBB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3D007252-DD48-4288-97BC-5E1657839FBB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3D007252-DD48-4288-97BC-5E1657839FBB}.Release|x64.ActiveCfg = Release|Any CPU
+ {3D007252-DD48-4288-97BC-5E1657839FBB}.Release|x64.Build.0 = Release|Any CPU
+ {3D007252-DD48-4288-97BC-5E1657839FBB}.Release|x86.ActiveCfg = Release|x86
+ {3D007252-DD48-4288-97BC-5E1657839FBB}.Release|x86.Build.0 = Release|x86
+ {F4EF0925-945B-418C-9A81-8490D89985DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F4EF0925-945B-418C-9A81-8490D89985DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F4EF0925-945B-418C-9A81-8490D89985DB}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {F4EF0925-945B-418C-9A81-8490D89985DB}.Debug|x64.Build.0 = Debug|Any CPU
+ {F4EF0925-945B-418C-9A81-8490D89985DB}.Debug|x86.ActiveCfg = Debug|x86
+ {F4EF0925-945B-418C-9A81-8490D89985DB}.Debug|x86.Build.0 = Debug|x86
+ {F4EF0925-945B-418C-9A81-8490D89985DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F4EF0925-945B-418C-9A81-8490D89985DB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F4EF0925-945B-418C-9A81-8490D89985DB}.Release|x64.ActiveCfg = Release|Any CPU
+ {F4EF0925-945B-418C-9A81-8490D89985DB}.Release|x64.Build.0 = Release|Any CPU
+ {F4EF0925-945B-418C-9A81-8490D89985DB}.Release|x86.ActiveCfg = Release|x86
+ {F4EF0925-945B-418C-9A81-8490D89985DB}.Release|x86.Build.0 = Release|x86
+ {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Debug|x64.Build.0 = Debug|Any CPU
+ {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Debug|x86.ActiveCfg = Debug|x86
+ {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Debug|x86.Build.0 = Debug|x86
+ {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Release|Any CPU.Build.0 = Release|Any CPU
+ {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Release|x64.ActiveCfg = Release|Any CPU
+ {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Release|x64.Build.0 = Release|Any CPU
+ {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Release|x86.ActiveCfg = Release|x86
+ {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Release|x86.Build.0 = Release|x86
+ {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Debug|x64.Build.0 = Debug|Any CPU
+ {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Debug|x86.ActiveCfg = Debug|x86
+ {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Debug|x86.Build.0 = Debug|x86
+ {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Release|x64.ActiveCfg = Release|Any CPU
+ {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Release|x64.Build.0 = Release|Any CPU
+ {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Release|x86.ActiveCfg = Release|x86
+ {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Release|x86.Build.0 = Release|x86
+ {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Debug|x64.Build.0 = Debug|Any CPU
+ {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Debug|x86.ActiveCfg = Debug|x86
+ {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Debug|x86.Build.0 = Debug|x86
+ {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Release|x64.ActiveCfg = Release|Any CPU
+ {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Release|x64.Build.0 = Release|Any CPU
+ {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Release|x86.ActiveCfg = Release|x86
+ {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Release|x86.Build.0 = Release|x86
+ {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Debug|x64.ActiveCfg = Debug|x64
+ {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Debug|x64.Build.0 = Debug|x64
+ {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Debug|x86.ActiveCfg = Debug|x86
+ {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Debug|x86.Build.0 = Debug|x86
+ {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Release|x64.ActiveCfg = Release|x64
+ {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Release|x64.Build.0 = Release|x64
+ {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Release|x86.ActiveCfg = Release|x86
+ {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Release|x86.Build.0 = Release|x86
+ {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Debug|x64.Build.0 = Debug|Any CPU
+ {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Debug|x86.ActiveCfg = Debug|x86
+ {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Debug|x86.Build.0 = Debug|x86
+ {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Release|x64.ActiveCfg = Release|Any CPU
+ {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Release|x64.Build.0 = Release|Any CPU
+ {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Release|x86.ActiveCfg = Release|x86
+ {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Release|x86.Build.0 = Release|x86
+ {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Debug|x64.Build.0 = Debug|Any CPU
+ {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Debug|x86.ActiveCfg = Debug|x86
+ {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Debug|x86.Build.0 = Debug|x86
+ {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Release|x64.ActiveCfg = Release|Any CPU
+ {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Release|x64.Build.0 = Release|Any CPU
+ {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Release|x86.ActiveCfg = Release|x86
+ {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Release|x86.Build.0 = Release|x86
+ {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Debug|x64.Build.0 = Debug|Any CPU
+ {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Debug|x86.ActiveCfg = Debug|x86
+ {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Debug|x86.Build.0 = Debug|x86
+ {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Release|x64.ActiveCfg = Release|Any CPU
+ {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Release|x64.Build.0 = Release|Any CPU
+ {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Release|x86.ActiveCfg = Release|x86
+ {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Release|x86.Build.0 = Release|x86
+ {50FEF6BE-F961-4949-8658-2948DE7B777B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {50FEF6BE-F961-4949-8658-2948DE7B777B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {50FEF6BE-F961-4949-8658-2948DE7B777B}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {50FEF6BE-F961-4949-8658-2948DE7B777B}.Debug|x64.Build.0 = Debug|Any CPU
+ {50FEF6BE-F961-4949-8658-2948DE7B777B}.Debug|x86.ActiveCfg = Debug|x86
+ {50FEF6BE-F961-4949-8658-2948DE7B777B}.Debug|x86.Build.0 = Debug|x86
+ {50FEF6BE-F961-4949-8658-2948DE7B777B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {50FEF6BE-F961-4949-8658-2948DE7B777B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {50FEF6BE-F961-4949-8658-2948DE7B777B}.Release|x64.ActiveCfg = Release|Any CPU
+ {50FEF6BE-F961-4949-8658-2948DE7B777B}.Release|x64.Build.0 = Release|Any CPU
+ {50FEF6BE-F961-4949-8658-2948DE7B777B}.Release|x86.ActiveCfg = Release|x86
+ {50FEF6BE-F961-4949-8658-2948DE7B777B}.Release|x86.Build.0 = Release|x86
+ {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Debug|x64.ActiveCfg = Debug|x64
+ {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Debug|x64.Build.0 = Debug|x64
+ {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Debug|x86.ActiveCfg = Debug|x86
+ {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Debug|x86.Build.0 = Debug|x86
+ {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Release|x64.ActiveCfg = Release|x64
+ {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Release|x64.Build.0 = Release|x64
+ {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Release|x86.ActiveCfg = Release|x86
+ {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Release|x86.Build.0 = Release|x86
+ {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Debug|x64.ActiveCfg = Debug|x64
+ {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Debug|x64.Build.0 = Debug|x64
+ {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Debug|x86.ActiveCfg = Debug|x86
+ {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Debug|x86.Build.0 = Debug|x86
+ {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Release|x64.ActiveCfg = Release|x64
+ {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Release|x64.Build.0 = Release|x64
+ {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Release|x86.ActiveCfg = Release|x86
+ {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {1BA059A0-18ED-4E46-9B30-2494B4EE2381}
+ EndGlobalSection
+EndGlobal
diff --git a/USGSHydroToolboxDS/Utilities.cs b/USGSHydroToolboxDS/Utilities.cs
new file mode 100644
index 000000000..2b59eaee3
--- /dev/null
+++ b/USGSHydroToolboxDS/Utilities.cs
@@ -0,0 +1,307 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.Specialized;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.ComponentModel;
+using atcData;
+using BASINS;
+using DotSpatial.Data.Rasters.GdalExtension;
+
+namespace USGSHydroToolbox
+{
+ public enum ETSMathOperationType
+ {
+ MATH,
+ DATE,
+ ALL
+ }
+
+ public enum ETSTool
+ {
+ [Description("Attributes")]
+ ATTRIBUTES,
+ [Description("Data Tree")]
+ DATATREE,
+ [Description("Events")]
+ EVENTS,
+ [Description("Graph")]
+ GRAPH,
+ [Description("List")]
+ LIST,
+ [Description("Trend")]
+ TREND,
+ [Description("Generate Time Series")]
+ GTS,
+ [Description("Math Functions")]
+ MATH,
+ [Description("Subset By Date")]
+ SUBSET,
+ [Description("Subset and Filter Time Series")]
+ SUBSETFILTER
+ }
+
+ public enum EAnalysisGW
+ {
+ [Description("Base-Flow Separation")]
+ BASEFLOW,
+ [Description("Recharge Estimation with RORA")]
+ RORA,
+ [Description("Estimate Hydrograph Parameters")]
+ ESTIMATEHYDROPARAM,
+ [Description("RECESS")]
+ RECESS,
+ [Description("Two-Parameter Digital Filter")]
+ TWOPARAMFILTER
+ }
+
+ public enum EAnalysisSW
+ {
+ [Description("Duration/Compare")]
+ DC,
+ [Description("Duration Hydrograph")]
+ DH,
+ [Description("USGS Integrated Design Flow (IDF)")]
+ IDF,
+ [Description("Interactive")]
+ INTERACTIVE,
+ [Description("Create SWSTAT Batch")]
+ SWSTATBATCH,
+ [Description("Create DFLOW Batch")]
+ DFLOWBATCH,
+ [Description("Run Existing Batch")]
+ RUNBATCH
+ }
+
+ public enum EProjectAction
+ {
+ [Description("New HUC8 Project...")]
+ NEW,
+ [Description("Open HUC8 Project...")]
+ OPEN,
+ [Description("SAVE")]
+ SAVE,
+ [Description("Save as...")]
+ SAVEAS,
+ [Description("Archive")]
+ ARCHIVE
+ }
+
+ public enum EHelpAction
+ {
+ [Description("Hydro Toolbox Web Page")]
+ WEBPAGE,
+ [Description("Hydro Toolbox Documentation")]
+ DOC,
+ [Description("Report a bug")]
+ BUGREPORT,
+ [Description("Welcome Screen")]
+ WELCOME,
+ [Description("About")]
+ ABOUT
+ }
+
+ public class Utilities
+ {
+
+ public const string g_CacheDir = @"C:\USGSHydroToolbox\Cache\";
+ public const string g_PathChar = @"\";
+ public const string g_AppNameShort = @"Hydro Toolbox";
+
+ public static atcBasinsPlugIn BASINSPlugin;
+
+ public static atcTimeseriesMath.atcTimeseriesMath TSMath;
+
+ public static string TSToolDescription(ETSTool ets)
+ {
+ switch (ets)
+ {
+ case ETSTool.DATATREE:
+ return "Data Tree";
+ case ETSTool.ATTRIBUTES:
+ return "Attributes";
+ case ETSTool.LIST:
+ return "List";
+ case ETSTool.GTS:
+ return "Generate Time Series";
+ case ETSTool.MATH:
+ return "Math Functions";
+ case ETSTool.SUBSET:
+ return "Subset By Date";
+ case ETSTool.GRAPH:
+ return "Graph";
+ case ETSTool.TREND:
+ return "Trend";
+ case ETSTool.EVENTS:
+ return "Events";
+ case ETSTool.SUBSETFILTER:
+ return "Subset and Filter Time Series";
+ default:
+ return "";
+ }
+ }
+
+ public static string AnalysisDescriptionGW(EAnalysisGW ea)
+ {
+ switch (ea)
+ {
+ case EAnalysisGW.BASEFLOW:
+ return "Base-Flow Separation";
+ case EAnalysisGW.RORA:
+ return "Recharge Estimation with RORA";
+ case EAnalysisGW.ESTIMATEHYDROPARAM:
+ return "Estimate Hydrograph Parameters";
+ case EAnalysisGW.RECESS:
+ return "RECESS";
+ case EAnalysisGW.TWOPARAMFILTER:
+ return "Two-Parameter Digital Filter";
+ default:
+ return "";
+ }
+ }
+
+ public static string AnalysisDescriptionSW(EAnalysisSW ea)
+ {
+ switch (ea)
+ {
+ case EAnalysisSW.DC:
+ return "Duration/Compare";
+ case EAnalysisSW.DH:
+ return "Duration Hydrograph";
+ case EAnalysisSW.IDF:
+ return "USGS Integrated Design Flow (IDF)";
+ case EAnalysisSW.INTERACTIVE:
+ return "Interactive";
+ case EAnalysisSW.SWSTATBATCH:
+ return "Create SWSTAT Batch";
+ case EAnalysisSW.DFLOWBATCH:
+ return "Create DFLOW Batch";
+ case EAnalysisSW.RUNBATCH:
+ return "Run Existing Batch";
+ default:
+ return "";
+ }
+ }
+
+ public static string ProjectActionDescription(EProjectAction pa)
+ {
+ switch (pa)
+ {
+ case EProjectAction.ARCHIVE:
+ return "Archive...";
+ case EProjectAction.NEW:
+ return "New HUC8 Project...";
+ case EProjectAction.OPEN:
+ return "Open HUC8 Project...";
+ case EProjectAction.SAVE:
+ return "Save";
+ case EProjectAction.SAVEAS:
+ return "Save as...";
+ default:
+ return "";
+ }
+ }
+
+ public static string HelpDescription(EHelpAction ha)
+ {
+ switch (ha)
+ {
+ case EHelpAction.WEBPAGE:
+ return "Hydro Toolbox Web Page";
+ case EHelpAction.ABOUT:
+ return "About";
+ case EHelpAction.BUGREPORT:
+ return "Report a bug";
+ case EHelpAction.DOC:
+ return "Hydro Toolbox Documentation";
+ case EHelpAction.WELCOME:
+ return "Welcome Screen";
+ default:
+ return "";
+ }
+ }
+
+ public static List TSMathOperationNames(ETSMathOperationType et)
+ {
+ var list = new List();
+ if (TSMath == null)
+ TSMath = new atcTimeseriesMath.atcTimeseriesMath();
+
+ foreach (var attr in TSMath.AvailableOperations)
+ {
+ string key = attr.Definition.Name;
+ switch (et)
+ {
+ case ETSMathOperationType.MATH:
+ if (key.Contains("Subset") || key.Contains("Merge") || key.Contains("Sum") || key.Contains("Celsius"))
+ {
+ //skip
+ }
+ else
+ {
+ list.Add(key);
+ }
+
+ break;
+ case ETSMathOperationType.DATE:
+ if (key.Contains("Subset") || key.Contains("Merge"))
+ list.Add(key);
+ break;
+ default:
+ list.Add(key);
+ break;
+ }
+ }
+ return list;
+ }
+
+ public static bool LoadDataSourcePlugins()
+ {
+ try
+ {
+ if (atcDataManager.DataSources is null)
+ atcDataManager.Clear();
+ if (atcDataManager.DataPlugins.Count > 0)
+ return true;
+ var att = new atcDataAttributes();
+ atcTimeseriesStatistics.atcTimeseriesStatistics.InitializeShared();
+ //var datasources = atcDataManager.GetPlugins(typeof(atcDataSource));
+ var script = new atcTimeseriesScript.atcTimeseriesScriptPlugin();
+ atcDataManager.DataPlugins.Add(script);
+ var lRDB = new atcTimeseriesRDB.atcTimeseriesRDB();
+ atcDataManager.DataPlugins.Add(lRDB);
+ var listPlugin = new atcList.atcListPlugin();
+ atcDataManager.DataPlugins.Add(listPlugin);
+ var graphPlugin = new atcGraph.atcGraphPlugin();
+ atcDataManager.DataPlugins.Add(graphPlugin);
+ TSMath = new atcTimeseriesMath.atcTimeseriesMath();
+ var saPlugin = new atcSeasonalAttributes.atcSeasonalAttributesPlugin();
+ atcDataManager.DataPlugins.Add(saPlugin);
+ var sPlugin = new atcSeasons.atcSeasonPlugin();
+ atcDataManager.DataPlugins.Add(sPlugin);
+ var bfPlugin = new atcTimeseriesBaseflow.atcTimeseriesBaseflow();
+ atcDataManager.DataPlugins.Add(bfPlugin);
+
+ var gdalRasterHandle = new DotSpatial.Data.Rasters.GdalExtension.GdalRasterProvider();
+ var gdalImageHandle = new DotSpatial.Data.Rasters.GdalExtension.GdalImageProvider();
+ DotSpatial.Data.DataManager.DefaultDataManager.PreferredProviders.Add("GdalImageProvider", gdalImageHandle);
+ var gdalOgrHandle = new DotSpatial.Data.Rasters.GdalExtension.OgrDataProvider();
+ DotSpatial.Data.DataManager.DefaultDataManager.PreferredProviders.Add("OgrDataProvider", gdalOgrHandle);
+ //DotSpatial.Symbology.RasterLayer.MaxCellsInMemory = 80 * 60;
+
+ return true;
+ }
+ catch (Exception e)
+ {
+ System.Diagnostics.Debug.Print(e.InnerException.Message);
+ return false;
+ }
+ }
+ }
+
+ public class TSettings
+ {
+ public StringCollection RecentFiles;
+ }
+}
diff --git a/USGSHydroToolboxDS/frmMain.Designer.cs b/USGSHydroToolboxDS/frmMain.Designer.cs
new file mode 100644
index 000000000..56142f5f0
--- /dev/null
+++ b/USGSHydroToolboxDS/frmMain.Designer.cs
@@ -0,0 +1,170 @@
+namespace USGSHydroToolbox
+{
+ partial class frmMain
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain));
+ this.appManager = new DotSpatial.Controls.AppManager();
+ this.appDockManager = new DotSpatial.Controls.SpatialDockManager();
+ this.appLegendTab = new System.Windows.Forms.TabControl();
+ this.tabPage1 = new System.Windows.Forms.TabPage();
+ this.appLegend = new DotSpatial.Controls.Legend();
+ this.appMap = new DotSpatial.Controls.Map();
+ ((System.ComponentModel.ISupportInitialize)(this.appDockManager)).BeginInit();
+ this.appDockManager.Panel1.SuspendLayout();
+ this.appDockManager.Panel2.SuspendLayout();
+ this.appDockManager.SuspendLayout();
+ this.appLegendTab.SuspendLayout();
+ this.tabPage1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // appManager
+ //
+ this.appManager.Directories = ((System.Collections.Generic.List)(resources.GetObject("appManager.Directories")));
+ this.appManager.DockManager = this.appDockManager;
+ this.appManager.HeaderControl = null;
+ this.appManager.Legend = this.appLegend;
+ this.appManager.Map = this.appMap;
+ this.appManager.ProgressHandler = null;
+ //
+ // appDockManager
+ //
+ this.appDockManager.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.appDockManager.Location = new System.Drawing.Point(0, 0);
+ this.appDockManager.Name = "appDockManager";
+ //
+ // appDockManager.Panel1
+ //
+ this.appDockManager.Panel1.Controls.Add(this.appLegendTab);
+ //
+ // appDockManager.Panel2
+ //
+ this.appDockManager.Panel2.Controls.Add(this.appMap);
+ this.appDockManager.Size = new System.Drawing.Size(800, 450);
+ this.appDockManager.SplitterDistance = 266;
+ this.appDockManager.TabControl1 = this.appLegendTab;
+ this.appDockManager.TabControl2 = null;
+ this.appDockManager.TabIndex = 0;
+ //
+ // appLegendTab
+ //
+ this.appLegendTab.Controls.Add(this.tabPage1);
+ this.appLegendTab.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.appLegendTab.Location = new System.Drawing.Point(0, 0);
+ this.appLegendTab.Name = "appLegendTab";
+ this.appLegendTab.SelectedIndex = 0;
+ this.appLegendTab.Size = new System.Drawing.Size(266, 450);
+ this.appLegendTab.TabIndex = 0;
+ //
+ // tabPage1
+ //
+ this.tabPage1.Controls.Add(this.appLegend);
+ this.tabPage1.Location = new System.Drawing.Point(4, 22);
+ this.tabPage1.Name = "tabPage1";
+ this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPage1.Size = new System.Drawing.Size(258, 424);
+ this.tabPage1.TabIndex = 0;
+ this.tabPage1.Text = "Legend";
+ this.tabPage1.UseVisualStyleBackColor = true;
+ //
+ // appLegend
+ //
+ this.appLegend.BackColor = System.Drawing.Color.White;
+ this.appLegend.ControlRectangle = new System.Drawing.Rectangle(0, 0, 252, 418);
+ this.appLegend.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.appLegend.DocumentRectangle = new System.Drawing.Rectangle(0, 0, 187, 428);
+ this.appLegend.HorizontalScrollEnabled = true;
+ this.appLegend.Indentation = 30;
+ this.appLegend.IsInitialized = false;
+ this.appLegend.Location = new System.Drawing.Point(3, 3);
+ this.appLegend.MinimumSize = new System.Drawing.Size(5, 5);
+ this.appLegend.Name = "appLegend";
+ this.appLegend.ProgressHandler = null;
+ this.appLegend.ResetOnResize = false;
+ this.appLegend.SelectionFontColor = System.Drawing.Color.Black;
+ this.appLegend.SelectionHighlight = System.Drawing.Color.FromArgb(((int)(((byte)(215)))), ((int)(((byte)(238)))), ((int)(((byte)(252)))));
+ this.appLegend.Size = new System.Drawing.Size(252, 418);
+ this.appLegend.TabIndex = 0;
+ this.appLegend.Text = "appLegend";
+ this.appLegend.UseLegendForSelection = true;
+ this.appLegend.VerticalScrollEnabled = true;
+ //
+ // appMap
+ //
+ this.appMap.AllowDrop = true;
+ this.appMap.BackColor = System.Drawing.Color.White;
+ this.appMap.CollisionDetection = false;
+ this.appMap.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.appMap.ExtendBuffer = false;
+ this.appMap.FunctionMode = DotSpatial.Controls.FunctionMode.None;
+ this.appMap.IsBusy = false;
+ this.appMap.IsZoomedToMaxExtent = false;
+ this.appMap.Legend = this.appLegend;
+ this.appMap.Location = new System.Drawing.Point(0, 0);
+ this.appMap.Name = "appMap";
+ this.appMap.ProgressHandler = null;
+ this.appMap.ProjectionModeDefine = DotSpatial.Controls.ActionMode.Prompt;
+ this.appMap.ProjectionModeReproject = DotSpatial.Controls.ActionMode.Prompt;
+ this.appMap.RedrawLayersWhileResizing = false;
+ this.appMap.SelectionEnabled = true;
+ this.appMap.Size = new System.Drawing.Size(530, 450);
+ this.appMap.TabIndex = 0;
+ this.appMap.ZoomOutFartherThanMaxExtent = false;
+ //
+ // frmMain
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(800, 450);
+ this.Controls.Add(this.appDockManager);
+ this.Name = "frmMain";
+ this.Text = "Form1";
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMain_FormClosing);
+ this.Load += new System.EventHandler(this.frmMain_Load);
+ this.Shown += new System.EventHandler(this.frmMain_Shown);
+ this.appDockManager.Panel1.ResumeLayout(false);
+ this.appDockManager.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.appDockManager)).EndInit();
+ this.appDockManager.ResumeLayout(false);
+ this.appLegendTab.ResumeLayout(false);
+ this.tabPage1.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private DotSpatial.Controls.AppManager appManager;
+ private DotSpatial.Controls.SpatialDockManager appDockManager;
+ private System.Windows.Forms.TabControl appLegendTab;
+ private System.Windows.Forms.TabPage tabPage1;
+ private DotSpatial.Controls.Map appMap;
+ private DotSpatial.Controls.Legend appLegend;
+ }
+}
+
diff --git a/USGSHydroToolboxDS/frmMain.cs b/USGSHydroToolboxDS/frmMain.cs
new file mode 100644
index 000000000..ad17df52b
--- /dev/null
+++ b/USGSHydroToolboxDS/frmMain.cs
@@ -0,0 +1,674 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.Specialized;
+using System.ComponentModel;
+using System.Xml;
+using System.Xml.Serialization;
+using System.IO;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using System.ComponentModel.Composition;
+using DotSpatial.Data;
+using DotSpatial.Controls;
+using DotSpatial.Controls.Header;
+using DotSpatial.Symbology;
+using System.Drawing.Drawing2D;
+using atcData;
+using atcUSGSRora;
+using atcUSGSBaseflow;
+using atcUSGSDF2P;
+using atcUSGSRecess;
+using atcDurationCompare;
+using atcIDF;
+using BASINS;
+
+
+namespace USGSHydroToolbox
+{
+ public partial class frmMain : Form
+ {
+ [Export("Shell", typeof(ContainerControl))]
+ private static ContainerControl shell;
+ public frmMain()
+ {
+ InitializeComponent();
+ if (DesignMode) return;
+ shell = this;
+ appManager.LoadExtensions();
+ }
+
+ private void frmMain_Load(object sender, EventArgs e)
+ {
+ /* DS Intro --------------------------------
+ IFeatureSet fs = FeatureSet.Open(@"C:\Data\gis\utah\boundaries\Centroid.shp");
+ IMapFeatureLayer mylayer = appMap.Layers.Add(fs);
+ MakeYellowStars(mylayer);
+
+ //it would be a lot more efficient to cast a layer to its precise geometry type
+ //otherwise all operation will require casting on the generic layer object
+ IMapPointLayer myPtlayer = mylayer as IMapPointLayer;
+ MakeComplexSymbol(myPtlayer);
+
+ if (!(myPtlayer == null))
+ {
+ //CategorizeCities(myPtlayer);
+ CategorizeCitiesByAlgorithm(myPtlayer);
+ }
+ ------------------------------------------------ */
+
+ if (Utilities.g_AppNameShort == "Hydro Toolbox")
+ {
+ this.Icon = Images.USGS;
+ this.Text = "Hydro Toolbox";
+ }
+ AddProjMenuItems(appManager.HeaderControl);
+ AddDataMenuItems(appManager.HeaderControl);
+ AddGeneralTSMenuItems(appManager.HeaderControl);
+ AddGWMenuItems(appManager.HeaderControl);
+ AddSWMenuItems(appManager.HeaderControl);
+ AddHelpMenuItems(appManager.HeaderControl);
+ Utilities.BASINSPlugin = new atcBasinsPlugIn();
+ Utilities.BASINSPlugin.Initialize(appManager, 0);
+ if (!atcMwGisUtility.GisUtilDS.MappingObjectSet())
+ atcMwGisUtility.GisUtilDS.MappingObject = appManager;
+ Utilities.TSMath.ShareDates = false;
+ appManager.HeaderControl.Remove("kExtensions");
+ //appManager.HeaderControl.Remove("kApplicationMenu");
+ appManager.Map.MapFrame.LayerAdded += atcBasinsPlugIn.LayersAdded;
+ appManager.Map.LayerAdded += atcBasinsPlugIn.LayersAdded;
+ appManager.Map.Layers.LayerSelected += atcBasinsPlugIn.LayerSelected;
+ appManager.Map.SelectionChanged += atcBasinsPlugIn.ShapesSelected;
+ appManager.SerializationManager.Deserializing += Utilities.BASINSPlugin.ProjectLoadingDS;
+ appManager.SerializationManager.Deserializing += UpdateUI;
+ appManager.SerializationManager.Serializing += Utilities.BASINSPlugin.ProjectSavingDS;
+ appManager.SerializationManager.NewProjectCreated += UpdateUI;
+ appManager.SerializationManager.Serializing += UpdateUI;
+ LoadRecentFiles();
+ }
+
+ private void UpdateUI(Object sender , SerializingEventArgs evt)
+ {
+ var projname = appManager.SerializationManager.CurrentProjectFile;
+ if (!String.IsNullOrEmpty(projname))
+ {
+ var projid = System.IO.Path.GetFileNameWithoutExtension(projname);
+ this.Text = "Hydro Toolbox - " + projid;
+ }
+ else
+ this.Text = "Hydro Toolbox";
+
+ //bool handled = true;
+ //Utilities.BASINSPlugin.ItemClicked("mnuNew", ref handled);
+ }
+
+ private void AddDataMenuItems(IHeaderControl header)
+ {
+ const string SampleMenuKey = "kDataManager";
+
+ // Root menu
+ header.Add(new RootItem(SampleMenuKey, "Data"));
+
+ // Add some child menus
+ //header.Add(new SimpleActionItem(SampleMenuKey, "Download...", null) { Enabled = true });
+ header.Add(new SimpleActionItem(SampleMenuKey, "Download...", OnDataMenuClickEventHandler) { Enabled = true });
+ header.Add(new SimpleActionItem(SampleMenuKey, "Open...", OnDataMenuClickEventHandler));
+ header.Add(new SimpleActionItem(SampleMenuKey, "Manage...", OnDataMenuClickEventHandler));
+ header.Add(new SimpleActionItem(SampleMenuKey, "New...", OnDataMenuClickEventHandler));
+ header.Add(new SimpleActionItem(SampleMenuKey, "Save In...", OnDataMenuClickEventHandler));
+ //header.Add(new SimpleActionItem(SampleMenuKey, "Open Large Grid", OnDataMenuClickEventHandler));
+ }
+
+ private void OnDataMenuClickEventHandler(object sender, EventArgs e)
+ {
+ var act = ((SimpleActionItem)sender).Caption;
+ //MessageBox.Show("Clicked " + act);
+ switch (act)
+ {
+ case "Download...":
+ D4EMDataDownload.DownloadDataPlugin.DSProject = appManager.SerializationManager;
+ var plugin = new D4EMDataDownload.DownloadDataPlugin();
+ plugin.Initialize(appManager, 0);
+ var handled = true;
+ plugin.Show("mnuDownloadDataD4EM", ref handled);
+ break;
+ case "Open...":
+ var lFilesOnly = new System.Collections.ArrayList(1);
+ lFilesOnly.Add("File");
+ var src = atcDataManager.UserSelectDataSource(lFilesOnly);
+ if (src != null)
+ atcDataManager.OpenDataSource(src, "", null);
+ break;
+ case "Manage...":
+ atcDataManager.UserManage();
+ break;
+ case "New...":
+ break;
+ case "Save In...":
+ break;
+ case "Open Large Grid":
+ string gridfilename = @"D:\Data\gis\BigSiouxRiver_atDellRapids\Terrain\Wa21_clipped_projected.Wa21_clipped_ProjectRaster1.tif";
+ var gip = new DotSpatial.Data.Rasters.GdalExtension.GdalImageProvider();
+ //var gip = new DotSpatial.Data.Rasters.GdalExtension.GdalRasterProvider();
+ var imageData = gip.Open(gridfilename);
+ var imgLayer = new MapImageLayer(imageData);
+ //var imgLayer = new MapRasterLayer(imageData);
+ appManager.Map.Layers.Add(imgLayer);
+ //var mapgridlayer = new MapImageLayer();
+ //var symLayers = new System.Collections.Generic.List();
+ //ILayer imapgrid = mapgridlayer.OpenLayer(gridfilename, false, symLayers, appManager.ProgressHandler);
+ //appManager.Map.Layers.Add(imapgrid);
+
+ break;
+ }
+ }
+
+ private void AddGWMenuItems(IHeaderControl header)
+ {
+ const string SampleMenuKey = "kGWTools";
+
+ // Root menu
+ header.Add(new RootItem(SampleMenuKey, "GW-Tools"));
+
+ // Add some child menus
+ //header.Add(new SimpleActionItem(SampleMenuKey, AnalysisDescription(EAnalysis.BASEFLOW), null) { Enabled = true });
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.AnalysisDescriptionGW(EAnalysisGW.BASEFLOW), OnGWMenuClickEventHandler) { Enabled = true });
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.AnalysisDescriptionGW(EAnalysisGW.RORA), OnGWMenuClickEventHandler));
+
+ // Add sub menus
+ header.Add(new MenuContainerItem(SampleMenuKey, "submenugwt1", Utilities.AnalysisDescriptionGW(EAnalysisGW.ESTIMATEHYDROPARAM)));
+ header.Add(new SimpleActionItem(SampleMenuKey, "submenugwt1", Utilities.AnalysisDescriptionGW(EAnalysisGW.RECESS), OnGWMenuClickEventHandler));
+ header.Add(new SimpleActionItem(SampleMenuKey, "submenugwt1", Utilities.AnalysisDescriptionGW(EAnalysisGW.TWOPARAMFILTER), OnGWMenuClickEventHandler));
+ }
+
+ private void OnGWMenuClickEventHandler(object sender, EventArgs e)
+ {
+ var act = ((SimpleActionItem)sender).Caption;
+ //MessageBox.Show("Clicked " + act);
+ if (act == Utilities.AnalysisDescriptionGW(EAnalysisGW.BASEFLOW))
+ {
+ var plugin = new clsUSGSBaseflowPlugin();
+ plugin.Show();
+ }
+ else if (act == Utilities.AnalysisDescriptionGW(EAnalysisGW.RORA))
+ {
+ var plugin = new clsUSGSRoraPlugin();
+ plugin.Show();
+ }
+ else if (act == Utilities.AnalysisDescriptionGW(EAnalysisGW.RECESS))
+ {
+ var plugin = new clsUSGSRecessAnalysis();
+ plugin.Show();
+ }
+ else if (act == Utilities.AnalysisDescriptionGW(EAnalysisGW.TWOPARAMFILTER))
+ {
+ var plugin = new clsUSGSDF2PAnalysis();
+ plugin.Show();
+ }
+ }
+
+ private void AddSWMenuItems(IHeaderControl header)
+ {
+ const string SampleMenuKey = "kSWTools";
+
+ // Root menu
+ header.Add(new RootItem(SampleMenuKey, "SW-Tools"));
+
+ // Add some child menus
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.AnalysisDescriptionSW(EAnalysisSW.DC), OnSWMenuClickEventHandler) { Enabled = true });
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.AnalysisDescriptionSW(EAnalysisSW.DH), OnSWMenuClickEventHandler));
+
+ // Add sub menus
+ header.Add(new MenuContainerItem(SampleMenuKey, "submenuswt1", Utilities.AnalysisDescriptionSW(EAnalysisSW.IDF)));
+ header.Add(new SimpleActionItem(SampleMenuKey, "submenuswt1", Utilities.AnalysisDescriptionSW(EAnalysisSW.INTERACTIVE), OnSWMenuClickEventHandler));
+ header.Add(new SimpleActionItem(SampleMenuKey, "submenuswt1", Utilities.AnalysisDescriptionSW(EAnalysisSW.SWSTATBATCH), OnSWMenuClickEventHandler));
+ header.Add(new SimpleActionItem(SampleMenuKey, "submenuswt1", Utilities.AnalysisDescriptionSW(EAnalysisSW.DFLOWBATCH), OnSWMenuClickEventHandler));
+ header.Add(new SimpleActionItem(SampleMenuKey, "submenuswt1", Utilities.AnalysisDescriptionSW(EAnalysisSW.RUNBATCH), OnSWMenuClickEventHandler));
+ }
+
+ private void OnSWMenuClickEventHandler(object sender, EventArgs e)
+ {
+ var act = ((SimpleActionItem)sender).Caption;
+ //MessageBox.Show("Clicked " + act);
+ if (act == Utilities.AnalysisDescriptionSW(EAnalysisSW.DC))
+ {
+ var plugin = new clsDurationComparePlugin();
+ plugin.Show(null);
+ }
+ else if (act == Utilities.AnalysisDescriptionSW(EAnalysisSW.DH))
+ {
+ var plugin = new clsDurationComparePlugin();
+ plugin.ShowDH(null);
+ }
+ else if (act == Utilities.AnalysisDescriptionSW(EAnalysisSW.INTERACTIVE))
+ {
+ var plugin = new clsIDFPlugin();
+ plugin.Show();
+ }
+ else if (act == Utilities.AnalysisDescriptionSW(EAnalysisSW.SWSTATBATCH))
+ {
+ var plugin = new clsIDFPlugin();
+ }
+ else if (act == Utilities.AnalysisDescriptionSW(EAnalysisSW.DFLOWBATCH))
+ {
+ var plugin = new clsIDFPlugin();
+ }
+ else if (act == Utilities.AnalysisDescriptionSW(EAnalysisSW.RUNBATCH))
+ {
+ var plugin = new clsIDFPlugin();
+ }
+ }
+
+ private void AddProjMenuItems(IHeaderControl header)
+ {
+ const string SampleMenuKey = "kProject";
+
+ // Root menu
+ header.Add(new RootItem(SampleMenuKey, "Project"));
+
+ // Add some child menus
+ //header.Add(new SimpleActionItem(SampleMenuKey, AnalysisDescription(EAnalysis.BASEFLOW), null) { Enabled = true });
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.ProjectActionDescription(EProjectAction.NEW), OnProjMenuClickEventHandler) { Enabled = true });
+ //header.Add(new SimpleActionItem(SampleMenuKey, Utilities.ProjectActionDescription(EProjectAction.OPEN), OnProjMenuClickEventHandler) { Enabled = true });
+ //header.Add(new SimpleActionItem(SampleMenuKey, Utilities.ProjectActionDescription(EProjectAction.SAVE), OnProjMenuClickEventHandler));
+ //header.Add(new SimpleActionItem(SampleMenuKey, Utilities.ProjectActionDescription(EProjectAction.SAVEAS), OnProjMenuClickEventHandler));
+ //header.Add(new SimpleActionItem(SampleMenuKey, Utilities.ProjectActionDescription(EProjectAction.ARCHIVE), OnProjMenuClickEventHandler));
+ }
+
+ private void OnProjMenuClickEventHandler(object sender, EventArgs e)
+ {
+ var act = ((SimpleActionItem)sender).Caption;
+ //MessageBox.Show("Clicked " + act);
+ bool handled = true;
+ if (act == Utilities.ProjectActionDescription(EProjectAction.NEW))
+ {
+ Utilities.BASINSPlugin.ItemClicked("mnuNew", ref handled);
+ }
+ else if (act == Utilities.ProjectActionDescription(EProjectAction.OPEN))
+ {
+ Utilities.BASINSPlugin.ItemClicked("ProgramProjects_", ref handled);
+ //MessageBox.Show("Use File->Open to open a project");
+ }
+ else if (act == Utilities.ProjectActionDescription(EProjectAction.SAVE))
+ {
+ MessageBox.Show("Use File->Save to save a project");
+ }
+ else if (act == Utilities.ProjectActionDescription(EProjectAction.SAVEAS))
+ {
+ MessageBox.Show("Use File-Save as to save a project to a different name");
+ }
+ else if (act == Utilities.ProjectActionDescription(EProjectAction.ARCHIVE))
+ {
+ MessageBox.Show("To be determined if archive is necessary.");
+ }
+ }
+
+ private void AddHelpMenuItems(IHeaderControl header)
+ {
+ const string SampleMenuKey = "kHelp";
+
+ // Root menu
+ header.Add(new RootItem(SampleMenuKey, "Help"));
+
+ // Add some child menus
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.HelpDescription(EHelpAction.WEBPAGE), OnHelpMenuClickEventHandler) { Enabled = true });
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.HelpDescription(EHelpAction.DOC), OnHelpMenuClickEventHandler) { Enabled = true });
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.HelpDescription(EHelpAction.BUGREPORT), OnHelpMenuClickEventHandler));
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.HelpDescription(EHelpAction.WELCOME), OnHelpMenuClickEventHandler));
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.HelpDescription(EHelpAction.ABOUT), OnHelpMenuClickEventHandler));
+ }
+
+ private void OnHelpMenuClickEventHandler(object sender, EventArgs e)
+ {
+ var act = ((SimpleActionItem)sender).Caption;
+ //MessageBox.Show("Clicked " + act);
+ bool handled = true;
+ if (act == Utilities.HelpDescription(EHelpAction.WEBPAGE))
+ {
+ Utilities.BASINSPlugin.ItemClicked("ProgramWebPage", ref handled);
+ }
+ else if (act == Utilities.HelpDescription(EHelpAction.DOC))
+ {
+ Utilities.BASINSPlugin.ItemClicked("BasinsHelp", ref handled);
+ }
+ else if (act == Utilities.HelpDescription(EHelpAction.BUGREPORT))
+ {
+ }
+ else if (act == Utilities.HelpDescription(EHelpAction.WELCOME))
+ {
+ Utilities.BASINSPlugin.Message("WELCOME_SCREEN", ref handled);
+ }
+ else if (act == Utilities.HelpDescription(EHelpAction.ABOUT))
+ {
+ Utilities.BASINSPlugin.ItemClicked("mnuAboutMapWindow", ref handled);
+ }
+ }
+
+ private void AddGeneralTSMenuItems(IHeaderControl header)
+ {
+ const string SampleMenuKey = "kGTSTools";
+
+ // Root menu
+ header.Add(new RootItem(SampleMenuKey, "Time-Series Tools"));
+
+ // Add some child menus
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.TSToolDescription(ETSTool.ATTRIBUTES), OnTSMenuClickEventHandler));
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.TSToolDescription(ETSTool.DATATREE), OnTSMenuClickEventHandler) { Enabled = true });
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.TSToolDescription(ETSTool.EVENTS), OnTSMenuClickEventHandler) { Enabled = true });
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.TSToolDescription(ETSTool.GRAPH), OnTSMenuClickEventHandler));
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.TSToolDescription(ETSTool.LIST), OnTSMenuClickEventHandler));
+ header.Add(new SimpleActionItem(SampleMenuKey, Utilities.TSToolDescription(ETSTool.TREND), OnTSMenuClickEventHandler));
+
+ // Add sub menus
+ header.Add(new MenuContainerItem(SampleMenuKey, "tsgen", Utilities.TSToolDescription(ETSTool.GTS)));
+ //header.Add(new MenuContainerItem(SampleMenuKey, "tsgen_tst1", "tst1", Utilities.TSToolDescription(ETSTool.MATH)));
+ //header.Add(new MenuContainerItem(SampleMenuKey, "tsgen_tst2", "tst2", Utilities.TSToolDescription(ETSTool.SUBSET)));
+ header.Add(new MenuContainerItem(SampleMenuKey, "tsgen", "tst1", Utilities.TSToolDescription(ETSTool.MATH)));
+ header.Add(new MenuContainerItem(SampleMenuKey, "tsgen", "tst2", Utilities.TSToolDescription(ETSTool.SUBSET)));
+
+ var TsMathOperations = Utilities.TSMathOperationNames(ETSMathOperationType.ALL);
+ foreach (var Key in TsMathOperations)
+ {
+ if (Key.Contains("Subset") || Key.Contains("Merge"))
+ {
+ header.Add(new SimpleActionItem(SampleMenuKey, "tsgen_tst2", Key, OnTSMenuClickEventHandler));
+ }
+ else if (Key.Contains("Sum") || Key.Contains("Celsius"))
+ {
+ //skip
+ }
+ else
+ header.Add(new SimpleActionItem(SampleMenuKey, "tsgen_tst1", Key, OnTSMenuClickEventHandler));
+ }
+
+ /*
+ var subfilter = new SimpleActionItem(SampleMenuKey, "tsgen", Utilities.TSToolDescription(ETSTool.SUBSETFILTER), OnTSMenuClickEventHandler);
+ subfilter.SmallImage = Images.Basins.ToBitmap();
+ header.Add(subfilter);
+ */
+ header.Add(new SimpleActionItem(SampleMenuKey, "tsgen", Utilities.TSToolDescription(ETSTool.SUBSETFILTER), OnTSMenuClickEventHandler));
+ }
+
+ private void OnTSMenuClickEventHandler(object sender, EventArgs e)
+ {
+ //The order in which menu entries are tested is significant
+ var act = ((SimpleActionItem)sender).Caption;
+ if (act == Utilities.TSToolDescription(ETSTool.LIST))
+ {
+ var plugin = new atcList.atcListPlugin();
+ plugin.Show();
+ }
+ else if (act == Utilities.TSToolDescription(ETSTool.ATTRIBUTES))
+ {
+ /*
+ var plugin = new atcSeasons.atcSeasonPlugin();
+ plugin.CleanUpMode = IDataManagement.ECleanUpMode.CALCULATED;
+ atcDataSource lNewSource = plugin.ComputeClicked(plugin.Category + "_Attributes");
+ //plugin.ItemClicked("BasinsCompute_Seasons_Attributes_Timeseries::Seasons", ref handled);
+ if (lNewSource != null && lNewSource.DataSets.Count > 0)
+ {
+ ((atcSeasons.atcSeasonPlugin)lNewSource).CleanUpMode = IDataManagement.ECleanUpMode.CALCULATED;
+ string lTitle = lNewSource.ToString();
+ atcDataManager.UserSelectDisplay(lTitle, ((atcSeasons.atcSeasonPlugin)lNewSource).DataSets);
+ }
+ */
+ var plugin = new atcSeasonalAttributes.atcSeasonalAttributesPlugin();
+ plugin.Show(null);
+ }
+ else if (act == Utilities.TSToolDescription(ETSTool.GRAPH))
+ {
+ var plugin = new atcGraph.atcGraphPlugin();
+ plugin.Show();
+ }
+ else if (act == Utilities.TSToolDescription(ETSTool.DATATREE))
+ {
+ var plugin = new atcDataTree.atcDataTreePlugin();
+ plugin.Show();
+ }
+ else if (act == Utilities.TSToolDescription(ETSTool.TREND))
+ {
+ var plugin = new atcIDF.clsIDFPlugin();
+ plugin.ShowFunction("Trend");
+ }
+ else if (act.Contains("Events"))
+ {
+ var plugin = new atcSynopticAnalysis.atcSynopticAnalysisPlugin();
+ plugin.Show();
+ }
+ else if (act.Contains("Subset") && act.Contains("Filter"))
+ {
+ atcDataManager.UserSelectDataOptions.Add("ShowFilterOption", false);
+ var lform = new frmFilterData();
+ atcTimeseriesGroup processed = lform.AskUser((atcTimeseriesGroup)atcDataManager.UserSelectData());
+ var spec = "Split Filter";
+ if (processed != null && processed.Count > 0)
+ {
+ var seasonSpec = processed[0].Attributes.GetValue("SeasonDefinition", null);
+ if (seasonSpec != null)
+ {
+ spec += ": " + seasonSpec.ToString();
+ }
+ atcDataManager.RemoveDataSource(spec);
+ var processedDS = new atcSeasons.atcSeasonPlugin();
+ processedDS.Specification = spec;
+ processedDS.DataSets.AddRange(processed);
+ atcDataManager.DataSources.Add(processedDS);
+ }
+ }
+ else if (act.Contains("Subset") || act.Contains("Merge"))
+ {
+ RunTSMath(Utilities.TSMath.Category + "_Date_" + act);
+ }
+ else if (!(act.Contains("Subset") || act.Contains("Celsius") || act.Contains("Sum") || act.Contains("Merge")))
+ {
+ RunTSMath(Utilities.TSMath.Category + "_Math_" + act);
+ }
+ }
+
+ private void RunTSMath(string operation)
+ {
+ atcDataSource lNewSource = Utilities.TSMath.ComputeClicked(operation);
+ if (!(lNewSource is null || lNewSource.DataSets.ToArray().Length == 0))
+ {
+ //create new dates to decouple from original time series
+ var lTitle = lNewSource.ToString();
+ var lgroup = new atcTimeseriesGroup();
+ lgroup.AddRange(lNewSource.DataSets);
+ atcDataManager.UserSelectDisplay(lTitle, lgroup);
+ }
+ }
+
+ private void frmMain_Shown(object sender, EventArgs e)
+ {
+ bool handled = true;
+ Utilities.BASINSPlugin.Message("WELCOME_SCREEN", ref handled);
+ }
+
+ private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ var tsetting = new TSettings() { RecentFiles = DotSpatial.Data.Properties.Settings.Default.RecentFiles };
+ var writer = new XmlSerializer(typeof(TSettings));
+ string dir = System.Reflection.Assembly.GetExecutingAssembly().Location;
+ string inifile = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(dir), "settings.ini");
+ try
+ {
+ using (FileStream fs = new FileStream(inifile, FileMode.Create))
+ {
+ writer.Serialize(fs, tsetting);
+ }
+ }
+ catch (Exception ex)
+ { }
+
+ appManager.Map.MapFrame.LayerAdded -= atcBasinsPlugIn.LayersAdded;
+ appManager.Map.LayerAdded -= atcBasinsPlugIn.LayersAdded;
+ appManager.Map.Layers.LayerSelected -= atcBasinsPlugIn.LayerSelected;
+ appManager.Map.SelectionChanged -= atcBasinsPlugIn.ShapesSelected;
+ appManager.SerializationManager.Deserializing -= Utilities.BASINSPlugin.ProjectLoadingDS;
+ appManager.SerializationManager.Deserializing -= UpdateUI;
+ appManager.SerializationManager.Serializing -= Utilities.BASINSPlugin.ProjectSavingDS;
+ appManager.SerializationManager.NewProjectCreated -= UpdateUI;
+ appManager.SerializationManager.Serializing -= UpdateUI;
+ }
+
+ private void LoadRecentFiles()
+ {
+ string dir = System.Reflection.Assembly.GetExecutingAssembly().Location;
+ string inifile = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(dir), "settings.ini");
+ var xmlDoc = new XmlDocument();
+ try
+ {
+ xmlDoc.Load(inifile);
+ var key = @"/TSettings/RecentFiles";
+ var nodes = xmlDoc.DocumentElement.SelectNodes(key);
+ foreach (XmlNode lnode in nodes[0].ChildNodes)
+ {
+ DotSpatial.Data.Properties.Settings.Default.RecentFiles.Add(lnode.InnerText);
+ }
+ }
+ catch (Exception ex)
+ { }
+ }
+
+ #region "DS Intro"
+ private void MakeYellowStars(IMapFeatureLayer alayer)
+ {
+ alayer.Symbolizer = new PointSymbolizer(Color.Yellow, DotSpatial.Symbology.PointShape.Star, 16);
+ alayer.Symbolizer.SetOutline(Color.Black, 1);
+ //alayer.Symbolizer = new PointSymbolizer('A', "Freestyle Script", Color.Blue, 16);
+ //alayer.Symbolizer = new PointSymbolizer(Images.wiki, 36);
+ }
+
+ private void MakeComplexSymbol(IMapPointLayer alayer)
+ { //Objective: Yellow stars in a Blue Circle
+ /*
+ Complex symbols can be created, simply by adding symbols to the Symbolizer.Symbols list.
+ There are three basic kinds of symbols, Simple, Character and Image based.
+ These have some common characteristics, like the Angle, Offset and Size,
+ which are stored on the base class.
+ In the derived classes, the characteristics that are specific to the sub‐class control
+ those aspects of symbology.
+ For creating new symbols, the Subclass can be used.
+ For working with individual symbols in the collection, you may need to test what type of
+ symbol you are working with before you will be able to control its properties.
+ */
+ PointSymbolizer lPS = new PointSymbolizer(Color.Blue, DotSpatial.Symbology.PointShape.Ellipse, 16);
+ lPS.Symbols.Add(new SimpleSymbol(Color.Yellow, DotSpatial.Symbology.PointShape.Star, 10));
+ alayer.Symbolizer = lPS;
+ }
+
+ private void CategorizeCities(IMapPointLayer alayer)
+ {
+ PointScheme lScheme = new PointScheme();
+ lScheme.Categories.Clear();
+ PointCategory smallSize = new PointCategory(Color.Blue, DotSpatial.Symbology.PointShape.Rectangle, 4);
+ smallSize.FilterExpression = "[Area] < 1e+08";
+ smallSize.LegendText = "Small Cities";
+ lScheme.AddCategory(smallSize);
+
+ PointCategory largeSize = new PointCategory(Color.Yellow, DotSpatial.Symbology.PointShape.Star, 16);
+ largeSize.FilterExpression = "[Area] >= 1e+08";
+ largeSize.LegendText = "Large Cities";
+ lScheme.AddCategory(largeSize);
+
+ alayer.Symbology = lScheme;
+ }
+ private void CategorizeCitiesByAlgorithm(IMapPointLayer alayer)
+ {
+ /*
+ There are a large number of settings that can be controlled directly using the PointScheme.
+ In this illustration the classification type is quantities, but this can also be
+ UniqueValues or custom.
+ The categories can always be edited programmatically after they are created, but this
+ simply controls what will happen when the CreateCategories method is ultimately called.
+ The interval snap methods include none, rounding, significant figures, and snapping to the
+ nearest value. These can help the appearance of the categories in the legend,
+ but it can also cause trouble. With Significant figures, the IntervalRoundingDigits controls the
+ number of significant figures instead.
+ One property is deceptive in its power.
+ The TemplateSymbolizer property allows you to control the basic appearance of the categories for
+ any property that is not being controlled by either the size or color ramping.
+ For example, if we wanted to add black borders to the stars above, we would simply add that
+ to the template symbolizer. In this case we chose to make them appear as stars and controlled
+ them to have equal sizes since UseSizeRange defaults to false, but UseColorRange defaults to true.
+ */
+ PointScheme lScheme = new PointScheme();
+ lScheme.Categories.Clear();
+ lScheme.EditorSettings.ClassificationType = ClassificationType.Quantities;
+ lScheme.EditorSettings.IntervalMethod = IntervalMethod.EqualInterval;
+ lScheme.EditorSettings.IntervalSnapMethod = IntervalSnapMethod.Rounding;
+ lScheme.EditorSettings.IntervalRoundingDigits = 5;
+ lScheme.EditorSettings.TemplateSymbolizer = new PointSymbolizer(Color.Yellow, DotSpatial.Symbology.PointShape.Star, 16);
+ lScheme.EditorSettings.FieldName = "Area";
+ lScheme.CreateCategories(alayer.DataSet.DataTable);
+ alayer.Symbology = lScheme;
+ }
+
+ private void SymbolizerLines(IMapFeatureLayer aLayer)
+ {
+ //Method 1. simple symbolizer
+ aLayer.Symbolizer = new LineSymbolizer(Color.Brown, 1);
+
+ //Method 2. Combined symbolizer
+ LineSymbolizer road = new LineSymbolizer(Color.Yellow, 5);
+ road.SetOutline(Color.Black, 1);
+ aLayer.Symbolizer = road;
+
+ /* Method 3. Symbology by unique values:
+ HueSatLight = true, then the ramp is created by adjusting the
+ hue, saturation and lightness between the start and end colors.
+ HueSatLight = false, then the red, blue and green values are ramped instead.
+
+ In both cases, alpha (transparency) is ramped the same way.
+ */
+ LineScheme lScheme = new LineScheme();
+ lScheme.EditorSettings.ClassificationType = ClassificationType.UniqueValues;
+ lScheme.EditorSettings.FieldName = "CARTO";
+ lScheme.CreateCategories(aLayer.DataSet.DataTable);
+ aLayer.Symbology = lScheme;
+
+ //Method 4. Collapsible field name in legend via 'AppearsInLegend'
+ LineScheme lScheme1 = new LineScheme();
+ lScheme1.Categories.Clear(); //redundant???
+ LineCategory lowCat = new LineCategory(Color.Blue, 2);
+ lowCat.FilterExpression = "[CARTO] = 3";
+ lowCat.LegendText = "Low";
+ LineCategory highCat = new LineCategory(
+ Color.Red,
+ Color.Black,
+ 6,
+ DashStyle.Solid,
+ LineCap.Triangle); ;
+ highCat.FilterExpression = "[CARTO] = 2";
+ highCat.LegendText = "High";
+ lScheme1.AppearsInLegend = true;
+ lScheme1.LegendText = "CARTO";
+ lScheme1.Categories.Add(lowCat);
+ aLayer.Symbology = lScheme1;
+ lScheme1.Categories.Add(highCat);
+
+ /*Method 5. Lines with multiple strokes
+ Each individual LineSymbolizer is made up of at least one,
+ but potentially several strokes overlapping each other
+ */
+ LineSymbolizer multiStrokeSym = new LineSymbolizer();
+ multiStrokeSym.Strokes.Clear(); //redundant???
+ CartographicStroke ties = new CartographicStroke(Color.Brown);
+ ties.DashPattern = new float[] { 1 / 6f, 2 / 6f };
+ ties.Width = 6;
+ ties.EndCap = LineCap.Flat;
+ ties.StartCap = LineCap.Flat;
+ CartographicStroke rails = new CartographicStroke(Color.DarkGray);
+ rails.CompoundArray = new float[] { .15f, .3f, .6f, .75f };
+ rails.Width = 6;
+ rails.EndCap = LineCap.Flat;
+ rails.StartCap = LineCap.Flat;
+ multiStrokeSym.Strokes.Add(ties);
+ multiStrokeSym.Strokes.Add(rails);
+ aLayer.Symbolizer = multiStrokeSym;
+ }
+ #endregion
+ }
+}
diff --git a/USGSHydroToolboxDS/frmMain.resx b/USGSHydroToolboxDS/frmMain.resx
new file mode 100644
index 000000000..be54552bd
--- /dev/null
+++ b/USGSHydroToolboxDS/frmMain.resx
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAJoBbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1u
+ ZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9u
+ PTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQUB
+ AAAAMFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZwMAAAAGX2l0
+ ZW1zBV9zaXplCF92ZXJzaW9uBgAACAgCAAAACQMAAAACAAAAAgAAABEDAAAABAAAAAYEAAAAFkFwcGxp
+ Y2F0aW9uIEV4dGVuc2lvbnMGBQAAAAdQbHVnaW5zDQIL
+
+
+
\ No newline at end of file