From 3fadc6fb9baa50f18c848a294c6b58d6e5c142e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20H=C3=B6glinger?= Date: Thu, 27 Feb 2020 15:03:31 +0100 Subject: [PATCH] Projekt neu angelegt. --- .gitignore | 32 ++ CheckEnvironment.sln | 25 ++ CheckEnvironment/App.config | 6 + CheckEnvironment/CheckEnvironment.Designer.cs | 338 ++++++++++++++++++ CheckEnvironment/CheckEnvironment.cs | 134 +++++++ CheckEnvironment/CheckEnvironment.csproj | 116 ++++++ CheckEnvironment/CheckEnvironment.resx | 120 +++++++ CheckEnvironment/CheckEnvironment_128.ico | Bin 0 -> 21630 bytes CheckEnvironment/Program.cs | 22 ++ CheckEnvironment/Properties/AssemblyInfo.cs | 36 ++ .../Properties/Resources.Designer.cs | 71 ++++ CheckEnvironment/Properties/Resources.resx | 117 ++++++ .../Properties/Settings.Designer.cs | 30 ++ CheckEnvironment/Properties/Settings.settings | 7 + Daten/CheckEnvironment_128.ico | Bin 0 -> 21630 bytes 15 files changed, 1054 insertions(+) create mode 100644 .gitignore create mode 100644 CheckEnvironment.sln create mode 100644 CheckEnvironment/App.config create mode 100644 CheckEnvironment/CheckEnvironment.Designer.cs create mode 100644 CheckEnvironment/CheckEnvironment.cs create mode 100644 CheckEnvironment/CheckEnvironment.csproj create mode 100644 CheckEnvironment/CheckEnvironment.resx create mode 100644 CheckEnvironment/CheckEnvironment_128.ico create mode 100644 CheckEnvironment/Program.cs create mode 100644 CheckEnvironment/Properties/AssemblyInfo.cs create mode 100644 CheckEnvironment/Properties/Resources.Designer.cs create mode 100644 CheckEnvironment/Properties/Resources.resx create mode 100644 CheckEnvironment/Properties/Settings.Designer.cs create mode 100644 CheckEnvironment/Properties/Settings.settings create mode 100644 Daten/CheckEnvironment_128.ico diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5a5f80a --- /dev/null +++ b/.gitignore @@ -0,0 +1,32 @@ + +#Ignore thumbnails created by Windows +Thumbs.db +#Ignore files built by Visual Studio +*.obj +*.exe +*.pdb +*.user +*.aps +*.pch +*.vspscc +*_i.c +*_p.c +*.ncb +*.suo +*.tlb +*.tlh +*.bak +*.cache +*.ilk +*.log +[Bb]in +[Dd]ebug*/ +*.lib +*.sbr +obj/ +[Rr]elease*/ +_ReSharper*/ +[Tt]est[Rr]esult* +.vs/ +#Nuget packages folder +packages/ diff --git a/CheckEnvironment.sln b/CheckEnvironment.sln new file mode 100644 index 0000000..77486a0 --- /dev/null +++ b/CheckEnvironment.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28010.2041 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CheckEnvironment", "CheckEnvironment\CheckEnvironment.csproj", "{548F6BF5-6FDB-4BF8-9E9E-1D2B1CD95E81}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {548F6BF5-6FDB-4BF8-9E9E-1D2B1CD95E81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {548F6BF5-6FDB-4BF8-9E9E-1D2B1CD95E81}.Debug|Any CPU.Build.0 = Debug|Any CPU + {548F6BF5-6FDB-4BF8-9E9E-1D2B1CD95E81}.Release|Any CPU.ActiveCfg = Release|Any CPU + {548F6BF5-6FDB-4BF8-9E9E-1D2B1CD95E81}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {01B5A2BF-31C7-4733-A94F-9C2FFF1F5BF2} + EndGlobalSection +EndGlobal diff --git a/CheckEnvironment/App.config b/CheckEnvironment/App.config new file mode 100644 index 0000000..731f6de --- /dev/null +++ b/CheckEnvironment/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CheckEnvironment/CheckEnvironment.Designer.cs b/CheckEnvironment/CheckEnvironment.Designer.cs new file mode 100644 index 0000000..4b85c94 --- /dev/null +++ b/CheckEnvironment/CheckEnvironment.Designer.cs @@ -0,0 +1,338 @@ +namespace CheckEnvironment +{ + partial class CheckEnvironment + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Windows Form-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + this.groupBoxEnv = new System.Windows.Forms.GroupBox(); + this.labelNxOnline = new System.Windows.Forms.Label(); + this.labelNxOffline = new System.Windows.Forms.Label(); + this.labelUgiiEnvFile = new System.Windows.Forms.Label(); + this.labelCompsolvTools = new System.Windows.Forms.Label(); + this.labelCompsolveMachine = new System.Windows.Forms.Label(); + this.labelCompsolvStdLib = new System.Windows.Forms.Label(); + this.labelCompsolvUgiiSettings = new System.Windows.Forms.Label(); + this.textBoxNxOnline = new System.Windows.Forms.TextBox(); + this.textBoxNxOffline = new System.Windows.Forms.TextBox(); + this.textBoxUgiiEnvFile = new System.Windows.Forms.TextBox(); + this.textBoxCompsolveMachine = new System.Windows.Forms.TextBox(); + this.textBoxCompsolvTools = new System.Windows.Forms.TextBox(); + this.textBoxCompsolvStdLib = new System.Windows.Forms.TextBox(); + this.textBoxCompsolvUgiiSettings = new System.Windows.Forms.TextBox(); + this.labelNxOnlineResult = new System.Windows.Forms.Label(); + this.labelNxOfflineResult = new System.Windows.Forms.Label(); + this.labelUgiiEnvFileResult = new System.Windows.Forms.Label(); + this.labelCompsolveMachineResult = new System.Windows.Forms.Label(); + this.labelCompsolvToolsResult = new System.Windows.Forms.Label(); + this.labelCompsolvStdLibResult = new System.Windows.Forms.Label(); + this.labelCompsolvUgiiSettingsResult = new System.Windows.Forms.Label(); + this.labelInfo = new System.Windows.Forms.Label(); + this.buttonClose = new System.Windows.Forms.Button(); + this.groupBoxEnv.SuspendLayout(); + this.SuspendLayout(); + // + // groupBoxEnv + // + this.groupBoxEnv.Controls.Add(this.labelCompsolvUgiiSettingsResult); + this.groupBoxEnv.Controls.Add(this.labelCompsolvStdLibResult); + this.groupBoxEnv.Controls.Add(this.labelCompsolvToolsResult); + this.groupBoxEnv.Controls.Add(this.labelCompsolveMachineResult); + this.groupBoxEnv.Controls.Add(this.labelUgiiEnvFileResult); + this.groupBoxEnv.Controls.Add(this.labelNxOfflineResult); + this.groupBoxEnv.Controls.Add(this.labelNxOnlineResult); + this.groupBoxEnv.Controls.Add(this.textBoxCompsolvUgiiSettings); + this.groupBoxEnv.Controls.Add(this.textBoxCompsolvStdLib); + this.groupBoxEnv.Controls.Add(this.textBoxCompsolvTools); + this.groupBoxEnv.Controls.Add(this.textBoxCompsolveMachine); + this.groupBoxEnv.Controls.Add(this.textBoxUgiiEnvFile); + this.groupBoxEnv.Controls.Add(this.textBoxNxOffline); + this.groupBoxEnv.Controls.Add(this.textBoxNxOnline); + this.groupBoxEnv.Controls.Add(this.labelCompsolvUgiiSettings); + this.groupBoxEnv.Controls.Add(this.labelCompsolvStdLib); + this.groupBoxEnv.Controls.Add(this.labelCompsolveMachine); + this.groupBoxEnv.Controls.Add(this.labelCompsolvTools); + this.groupBoxEnv.Controls.Add(this.labelUgiiEnvFile); + this.groupBoxEnv.Controls.Add(this.labelNxOffline); + this.groupBoxEnv.Controls.Add(this.labelNxOnline); + this.groupBoxEnv.Location = new System.Drawing.Point(13, 13); + this.groupBoxEnv.Name = "groupBoxEnv"; + this.groupBoxEnv.Size = new System.Drawing.Size(602, 206); + this.groupBoxEnv.TabIndex = 0; + this.groupBoxEnv.TabStop = false; + this.groupBoxEnv.Text = "Environment Variables"; + // + // labelNxOnline + // + this.labelNxOnline.AutoSize = true; + this.labelNxOnline.Location = new System.Drawing.Point(6, 23); + this.labelNxOnline.Name = "labelNxOnline"; + this.labelNxOnline.Size = new System.Drawing.Size(68, 13); + this.labelNxOnline.TabIndex = 0; + this.labelNxOnline.Text = "NX_ONLINE"; + // + // labelNxOffline + // + this.labelNxOffline.AutoSize = true; + this.labelNxOffline.Location = new System.Drawing.Point(6, 49); + this.labelNxOffline.Name = "labelNxOffline"; + this.labelNxOffline.Size = new System.Drawing.Size(72, 13); + this.labelNxOffline.TabIndex = 1; + this.labelNxOffline.Text = "NX_OFFLINE"; + // + // labelUgiiEnvFile + // + this.labelUgiiEnvFile.AutoSize = true; + this.labelUgiiEnvFile.Location = new System.Drawing.Point(6, 75); + this.labelUgiiEnvFile.Name = "labelUgiiEnvFile"; + this.labelUgiiEnvFile.Size = new System.Drawing.Size(85, 13); + this.labelUgiiEnvFile.TabIndex = 2; + this.labelUgiiEnvFile.Text = "UGII_ENV_FILE"; + // + // labelCompsolvTools + // + this.labelCompsolvTools.AutoSize = true; + this.labelCompsolvTools.Location = new System.Drawing.Point(6, 128); + this.labelCompsolvTools.Name = "labelCompsolvTools"; + this.labelCompsolvTools.Size = new System.Drawing.Size(108, 13); + this.labelCompsolvTools.TabIndex = 3; + this.labelCompsolvTools.Text = "COMPSOLV_TOOLS"; + // + // labelCompsolveMachine + // + this.labelCompsolveMachine.AutoSize = true; + this.labelCompsolveMachine.Location = new System.Drawing.Point(6, 102); + this.labelCompsolveMachine.Name = "labelCompsolveMachine"; + this.labelCompsolveMachine.Size = new System.Drawing.Size(121, 13); + this.labelCompsolveMachine.TabIndex = 4; + this.labelCompsolveMachine.Text = "COMPSOLV_MACHINE"; + // + // labelCompsolvStdLib + // + this.labelCompsolvStdLib.AutoSize = true; + this.labelCompsolvStdLib.Location = new System.Drawing.Point(6, 154); + this.labelCompsolvStdLib.Name = "labelCompsolvStdLib"; + this.labelCompsolvStdLib.Size = new System.Drawing.Size(117, 13); + this.labelCompsolvStdLib.TabIndex = 5; + this.labelCompsolvStdLib.Text = "COMPSOLVE_STDLIB"; + // + // labelCompsolvUgiiSettings + // + this.labelCompsolvUgiiSettings.AutoSize = true; + this.labelCompsolvUgiiSettings.Location = new System.Drawing.Point(6, 180); + this.labelCompsolvUgiiSettings.Name = "labelCompsolvUgiiSettings"; + this.labelCompsolvUgiiSettings.Size = new System.Drawing.Size(154, 13); + this.labelCompsolvUgiiSettings.TabIndex = 6; + this.labelCompsolvUgiiSettings.Text = "COMPSOLV_UGII_SETTINGS"; + // + // textBoxNxOnline + // + this.textBoxNxOnline.Location = new System.Drawing.Point(170, 20); + this.textBoxNxOnline.Name = "textBoxNxOnline"; + this.textBoxNxOnline.ReadOnly = true; + this.textBoxNxOnline.Size = new System.Drawing.Size(360, 20); + this.textBoxNxOnline.TabIndex = 7; + // + // textBoxNxOffline + // + this.textBoxNxOffline.Location = new System.Drawing.Point(170, 46); + this.textBoxNxOffline.Name = "textBoxNxOffline"; + this.textBoxNxOffline.ReadOnly = true; + this.textBoxNxOffline.Size = new System.Drawing.Size(360, 20); + this.textBoxNxOffline.TabIndex = 8; + // + // textBoxUgiiEnvFile + // + this.textBoxUgiiEnvFile.Location = new System.Drawing.Point(170, 72); + this.textBoxUgiiEnvFile.Name = "textBoxUgiiEnvFile"; + this.textBoxUgiiEnvFile.ReadOnly = true; + this.textBoxUgiiEnvFile.Size = new System.Drawing.Size(360, 20); + this.textBoxUgiiEnvFile.TabIndex = 9; + // + // textBoxCompsolveMachine + // + this.textBoxCompsolveMachine.Location = new System.Drawing.Point(170, 99); + this.textBoxCompsolveMachine.Name = "textBoxCompsolveMachine"; + this.textBoxCompsolveMachine.ReadOnly = true; + this.textBoxCompsolveMachine.Size = new System.Drawing.Size(360, 20); + this.textBoxCompsolveMachine.TabIndex = 10; + // + // textBoxCompsolvTools + // + this.textBoxCompsolvTools.Location = new System.Drawing.Point(170, 125); + this.textBoxCompsolvTools.Name = "textBoxCompsolvTools"; + this.textBoxCompsolvTools.ReadOnly = true; + this.textBoxCompsolvTools.Size = new System.Drawing.Size(360, 20); + this.textBoxCompsolvTools.TabIndex = 11; + // + // textBoxCompsolvStdLib + // + this.textBoxCompsolvStdLib.Location = new System.Drawing.Point(170, 151); + this.textBoxCompsolvStdLib.Name = "textBoxCompsolvStdLib"; + this.textBoxCompsolvStdLib.ReadOnly = true; + this.textBoxCompsolvStdLib.Size = new System.Drawing.Size(360, 20); + this.textBoxCompsolvStdLib.TabIndex = 12; + // + // textBoxCompsolvUgiiSettings + // + this.textBoxCompsolvUgiiSettings.Location = new System.Drawing.Point(170, 177); + this.textBoxCompsolvUgiiSettings.Name = "textBoxCompsolvUgiiSettings"; + this.textBoxCompsolvUgiiSettings.ReadOnly = true; + this.textBoxCompsolvUgiiSettings.Size = new System.Drawing.Size(360, 20); + this.textBoxCompsolvUgiiSettings.TabIndex = 13; + // + // labelNxOnlineResult + // + this.labelNxOnlineResult.AutoSize = true; + this.labelNxOnlineResult.Location = new System.Drawing.Point(540, 23); + this.labelNxOnlineResult.Name = "labelNxOnlineResult"; + this.labelNxOnlineResult.Size = new System.Drawing.Size(42, 13); + this.labelNxOnlineResult.TabIndex = 14; + this.labelNxOnlineResult.Text = "Missing"; + // + // labelNxOfflineResult + // + this.labelNxOfflineResult.AutoSize = true; + this.labelNxOfflineResult.Location = new System.Drawing.Point(540, 49); + this.labelNxOfflineResult.Name = "labelNxOfflineResult"; + this.labelNxOfflineResult.Size = new System.Drawing.Size(42, 13); + this.labelNxOfflineResult.TabIndex = 15; + this.labelNxOfflineResult.Text = "Missing"; + // + // labelUgiiEnvFileResult + // + this.labelUgiiEnvFileResult.AutoSize = true; + this.labelUgiiEnvFileResult.Location = new System.Drawing.Point(540, 75); + this.labelUgiiEnvFileResult.Name = "labelUgiiEnvFileResult"; + this.labelUgiiEnvFileResult.Size = new System.Drawing.Size(42, 13); + this.labelUgiiEnvFileResult.TabIndex = 16; + this.labelUgiiEnvFileResult.Text = "Missing"; + // + // labelCompsolveMachineResult + // + this.labelCompsolveMachineResult.AutoSize = true; + this.labelCompsolveMachineResult.Location = new System.Drawing.Point(540, 102); + this.labelCompsolveMachineResult.Name = "labelCompsolveMachineResult"; + this.labelCompsolveMachineResult.Size = new System.Drawing.Size(42, 13); + this.labelCompsolveMachineResult.TabIndex = 17; + this.labelCompsolveMachineResult.Text = "Missing"; + // + // labelCompsolvToolsResult + // + this.labelCompsolvToolsResult.AutoSize = true; + this.labelCompsolvToolsResult.Location = new System.Drawing.Point(540, 129); + this.labelCompsolvToolsResult.Name = "labelCompsolvToolsResult"; + this.labelCompsolvToolsResult.Size = new System.Drawing.Size(42, 13); + this.labelCompsolvToolsResult.TabIndex = 18; + this.labelCompsolvToolsResult.Text = "Missing"; + // + // labelCompsolvStdLibResult + // + this.labelCompsolvStdLibResult.AutoSize = true; + this.labelCompsolvStdLibResult.Location = new System.Drawing.Point(540, 154); + this.labelCompsolvStdLibResult.Name = "labelCompsolvStdLibResult"; + this.labelCompsolvStdLibResult.Size = new System.Drawing.Size(42, 13); + this.labelCompsolvStdLibResult.TabIndex = 19; + this.labelCompsolvStdLibResult.Text = "Missing"; + // + // labelCompsolvUgiiSettingsResult + // + this.labelCompsolvUgiiSettingsResult.AutoSize = true; + this.labelCompsolvUgiiSettingsResult.Location = new System.Drawing.Point(540, 180); + this.labelCompsolvUgiiSettingsResult.Name = "labelCompsolvUgiiSettingsResult"; + this.labelCompsolvUgiiSettingsResult.Size = new System.Drawing.Size(42, 13); + this.labelCompsolvUgiiSettingsResult.TabIndex = 20; + this.labelCompsolvUgiiSettingsResult.Text = "Missing"; + // + // labelInfo + // + this.labelInfo.AutoSize = true; + this.labelInfo.Location = new System.Drawing.Point(12, 230); + this.labelInfo.Name = "labelInfo"; + this.labelInfo.Size = new System.Drawing.Size(462, 13); + this.labelInfo.TabIndex = 1; + this.labelInfo.Text = "One or more variables are not set! Please contact Eugen Höglinger (eugen.hoegling" + + "er@engel.at)"; + // + // buttonClose + // + this.buttonClose.Location = new System.Drawing.Point(540, 225); + this.buttonClose.Name = "buttonClose"; + this.buttonClose.Size = new System.Drawing.Size(75, 23); + this.buttonClose.TabIndex = 2; + this.buttonClose.Text = "Close"; + this.buttonClose.UseVisualStyleBackColor = true; + this.buttonClose.Click += new System.EventHandler(this.buttonClose_Click); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(627, 259); + this.ControlBox = false; + this.Controls.Add(this.buttonClose); + this.Controls.Add(this.labelInfo); + this.Controls.Add(this.groupBoxEnv); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Name = "Form1"; + this.Text = "Check Environment"; + this.Load += new System.EventHandler(this.Form1_Load); + this.groupBoxEnv.ResumeLayout(false); + this.groupBoxEnv.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBoxEnv; + private System.Windows.Forms.TextBox textBoxNxOnline; + private System.Windows.Forms.Label labelCompsolvUgiiSettings; + private System.Windows.Forms.Label labelCompsolvStdLib; + private System.Windows.Forms.Label labelCompsolveMachine; + private System.Windows.Forms.Label labelCompsolvTools; + private System.Windows.Forms.Label labelUgiiEnvFile; + private System.Windows.Forms.Label labelNxOffline; + private System.Windows.Forms.Label labelNxOnline; + private System.Windows.Forms.TextBox textBoxCompsolvUgiiSettings; + private System.Windows.Forms.TextBox textBoxCompsolvStdLib; + private System.Windows.Forms.TextBox textBoxCompsolvTools; + private System.Windows.Forms.TextBox textBoxCompsolveMachine; + private System.Windows.Forms.TextBox textBoxUgiiEnvFile; + private System.Windows.Forms.TextBox textBoxNxOffline; + private System.Windows.Forms.Label labelCompsolvUgiiSettingsResult; + private System.Windows.Forms.Label labelCompsolvStdLibResult; + private System.Windows.Forms.Label labelCompsolvToolsResult; + private System.Windows.Forms.Label labelCompsolveMachineResult; + private System.Windows.Forms.Label labelUgiiEnvFileResult; + private System.Windows.Forms.Label labelNxOfflineResult; + private System.Windows.Forms.Label labelNxOnlineResult; + private System.Windows.Forms.Label labelInfo; + private System.Windows.Forms.Button buttonClose; + } +} + diff --git a/CheckEnvironment/CheckEnvironment.cs b/CheckEnvironment/CheckEnvironment.cs new file mode 100644 index 0000000..97dc22a --- /dev/null +++ b/CheckEnvironment/CheckEnvironment.cs @@ -0,0 +1,134 @@ +using System; +using System.IO; +using System.Reflection; +using System.Windows.Forms; + +namespace CheckEnvironment +{ + public partial class CheckEnvironment : Form + { + #region Version und Copyright + // Version und Copyright + string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen + string version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); + static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); + string copyright = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + string icon = Application.StartupPath + "\\Info.bmp"; + //Assembly Datum und Zeit + static DateTime value = AssemblyDateTime(); + string date = value.ToShortDateString(); + string time = value.ToLongTimeString(); + private static DateTime AssemblyDateTime() + { + var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; + var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision)); + //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original) + return buildDateTime; + } + #endregion + + public CheckEnvironment() + { + InitializeComponent(); + } + + private void buttonClose_Click(object sender, EventArgs e) + { + this.Close(); + } + + private string CheckEnv(string env) + { + return Environment.GetEnvironmentVariable(env); + } + + private void Form1_Load(object sender, EventArgs e) + { + string result = ""; + + result = CheckEnv("NX_ONLINE"); + if (String.IsNullOrEmpty(result)) + { + textBoxNxOnline.Text = ""; + labelNxOnlineResult.Text = "MISSING"; + } + else + { + textBoxNxOnline.Text = result; + labelNxOnlineResult.Text = "OK"; + } + + result = CheckEnv("NX_OFFLINE"); + if (String.IsNullOrEmpty(result)) + { + textBoxNxOffline.Text = ""; + labelNxOfflineResult.Text = "MISSING"; + } + else + { + textBoxNxOffline.Text = result; + labelNxOfflineResult.Text = "OK"; + } + + result = CheckEnv("UGII_ENV_FILE"); + if (String.IsNullOrEmpty(result)) + { + textBoxUgiiEnvFile.Text = ""; + labelUgiiEnvFileResult.Text = "MISSING"; + } + else + { + textBoxUgiiEnvFile.Text = result; + labelUgiiEnvFileResult.Text = "OK"; + } + + result = CheckEnv("COMPSOLV_MACHINE"); + if (String.IsNullOrEmpty(result)) + { + textBoxCompsolveMachine.Text = ""; + labelCompsolveMachineResult.Text = "MISSING"; + } + else + { + textBoxCompsolveMachine.Text = result; + labelCompsolveMachineResult.Text = "OK"; + } + + result = CheckEnv("COMPSOLV_TOOLS"); + if (String.IsNullOrEmpty(result)) + { + textBoxCompsolvTools.Text = ""; + labelCompsolvToolsResult.Text = "MISSING"; + } + else + { + textBoxCompsolvTools.Text = result; + labelCompsolvToolsResult.Text = "OK"; + } + + result = CheckEnv("COMPSOLVE_STDLIB"); + if (String.IsNullOrEmpty(result)) + { + textBoxCompsolvStdLib.Text = ""; + labelCompsolvStdLibResult.Text = "MISSING"; + } + else + { + textBoxCompsolvStdLib.Text = result; + labelCompsolvStdLibResult.Text = "OK"; + } + + result = CheckEnv("COMPSOLV_UGII_SETTINGS"); + if (String.IsNullOrEmpty(result)) + { + textBoxCompsolvUgiiSettings.Text = ""; + labelCompsolvUgiiSettingsResult.Text = "MISSING"; + } + else + { + textBoxCompsolvUgiiSettings.Text = result; + labelCompsolvUgiiSettingsResult.Text = "OK"; + } + } + } +} diff --git a/CheckEnvironment/CheckEnvironment.csproj b/CheckEnvironment/CheckEnvironment.csproj new file mode 100644 index 0000000..c4805b5 --- /dev/null +++ b/CheckEnvironment/CheckEnvironment.csproj @@ -0,0 +1,116 @@ + + + + + Debug + AnyCPU + {548F6BF5-6FDB-4BF8-9E9E-1D2B1CD95E81} + WinExe + CheckEnvironment + CheckEnvironment + v4.6.1 + 512 + true + false + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + CheckEnvironment_128.ico + + + + + + + + + + + + + + + + + Form + + + CheckEnvironment.cs + + + + + CheckEnvironment.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + False + Microsoft .NET Framework 4.6.1 %28x86 und x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + \ No newline at end of file diff --git a/CheckEnvironment/CheckEnvironment.resx b/CheckEnvironment/CheckEnvironment.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/CheckEnvironment/CheckEnvironment.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/CheckEnvironment/CheckEnvironment_128.ico b/CheckEnvironment/CheckEnvironment_128.ico new file mode 100644 index 0000000000000000000000000000000000000000..10b78befd69c5296a6d5bd35e83a2b9f67dc6553 GIT binary patch literal 21630 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 TR5T1W8{aTQdA@LtUBmwZLG950 literal 0 HcmV?d00001 diff --git a/CheckEnvironment/Program.cs b/CheckEnvironment/Program.cs new file mode 100644 index 0000000..e6bb3b5 --- /dev/null +++ b/CheckEnvironment/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace CheckEnvironment +{ + static class Program + { + /// + /// Der Haupteinstiegspunkt für die Anwendung. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new CheckEnvironment()); + } + } +} diff --git a/CheckEnvironment/Properties/AssemblyInfo.cs b/CheckEnvironment/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..060d262 --- /dev/null +++ b/CheckEnvironment/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die einer Assembly zugeordnet sind. +[assembly: AssemblyTitle("CheckEnvironment")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("CheckEnvironment")] +[assembly: AssemblyCopyright("Copyright © 2010-2018 by Eugen Höglinger")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly +// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von +// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("548f6bf5-6fdb-4bf8-9e9e-1d2b1cd95e81")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +// übernehmen, indem Sie "*" eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CheckEnvironment/Properties/Resources.Designer.cs b/CheckEnvironment/Properties/Resources.Designer.cs new file mode 100644 index 0000000..4ed50df --- /dev/null +++ b/CheckEnvironment/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion: 4.0.30319.42000 +// +// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn +// der Code neu generiert wird. +// +//------------------------------------------------------------------------------ + +namespace CheckEnvironment.Properties +{ + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse + // über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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() + { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CheckEnvironment.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden. + /// + [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/CheckEnvironment/Properties/Resources.resx b/CheckEnvironment/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/CheckEnvironment/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/CheckEnvironment/Properties/Settings.Designer.cs b/CheckEnvironment/Properties/Settings.Designer.cs new file mode 100644 index 0000000..8a3d979 --- /dev/null +++ b/CheckEnvironment/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// 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 CheckEnvironment.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/CheckEnvironment/Properties/Settings.settings b/CheckEnvironment/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/CheckEnvironment/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Daten/CheckEnvironment_128.ico b/Daten/CheckEnvironment_128.ico new file mode 100644 index 0000000000000000000000000000000000000000..10b78befd69c5296a6d5bd35e83a2b9f67dc6553 GIT binary patch literal 21630 zcmeHv2V7N0+WxDFG5L~RW2&1XG0AQcV>k918`xt*QBV{_5F3I88y%#hqI3nNDou(M zQF>RTcMwHDQ2~Jqm;OC-&b?PeG`oJu{&#=B|1kHQDet`JIq%GwIWzMdhz8JmG;Z97 zIKNG*?+~3MqHn(8;|~WCbtCP=5Bd0y1Bj~MBghlv-zD$A68-gkCNGM=OLXmTOrDRc z4kFt8tyq2-d4ENe^n+L)@ehdhED*~NBh|NvK3hffBQW3+q=+BG^?IjE1W&rU{0T<{ z@zbT4m>6XAaGrX4Scr27BHBX*hx&D81t%rWMEE>dR?uTDb|$@oWd%Z^aOf}`ghCVi zhQbX)kdq%O#T9|P9!no;ZH;s$1PM6EbD?L$UXmA;>|dT0?W6ynl;<#515Y1$r1!$} z=K3Y~+eiN}sC<6EEcmbBe{LU<5nr+=OXu{zXn#?Ky;xtUe33H|2YPy1%U;zU$_}$e zz#aJ3zy*(&@eM_XyD{#-(oM?XSU?9gj;rIq6@@qopuy<~pD|0b18aUPnRA@{P$?#V zT$IG8Gtr^LnEZ?BO!dDg&y3WcelEQq{jZbI8 zyZ7~R`Cj<=Cq>kEzSM7W-Jg!6r^Hi$M@7_29v1hHI=B-(DfEooLsEcVap*I^k@Sbi z*F(PK5kfw@r{{5N#9z!G)+b-8Pd+n8@AB;W&*Lx%-19hpkCJ%b9)N%Pdp-H$F`-Q4 z3Rnp~tc$1oO@A?X(kk$ju}6t-#skoF|B0XOTRlB7gL`@^hV-y@{vm$f;P+>?bFqzJ z3KLZS@xyvJ59QB#Cx;$P1#*rW#7Km_iwLi>NaEDAi|sldv|A+UrUw_Qa=@V)g@-_$W}_ z9aj>Rhm)YHDuXR zL-sjp$Z@2`ybIJ=;6YCkcGJ_8BUG1eK#!tU(Bl{ddKfXC7CR8hU{W$u`)!(aWDw0e z@HPF4-@JpvY4WbmXxx@BXz}?mG*5R7EzqAxiwvgHRzo@3X0#FKjkMTkHpzRgq;+;n zXtCQYQu3E0d53kh%vhSXIxEnQ3reJMc{lC6ww?Az>>=&z2T4C#hxWLt(<;-IwBB5n zjA9MwSili7i!&vgIBPNrG9=3cD>|KQOJ`Efl6{&ZIiSt`$d8^8GYQe~>}3cN3}X>0QcwSV&n_d9=(@f$lwiK*~2w zX;0i4s%fdCxhC7_#2qins;{81>P$+gEu`Yc8nVd0M$H{UvM-CLnVMT^PCy6E4eX@x z7u!hK*@JUCjdyFK2{=dG?V;~%Tj~3=Li}23w4;!;Z*-DtRyTR&byHwbH|-7UB(uaW z+*1eHrFW5YMi-@5VUF~;hpHNT=zIN28f)1~iTAqc?^^lv^Whx&PFFzRv!7-@O+T7L zo@pIa3i+ca^hrOcjZR0klVfZ&hDbf{4Tm#*hSe7x^b`Vq~z2>a%TCo z`(i6;cnC?uy_F970N)iM?LJ#Tx&dvZ<1Zw`AR(EAw9(1XHnI$Fqtt?@bkMPYjNFSz z&RRg*P6=qIT?_4XY#~jT7Fw*`NUQalNd9O7X_}|d^qtS>*L{s-Wqq2)ZG1**$D(NG z@hBQGJ(#3Mx#M?)5elC*a4s31cU)$S|?|W_#W_h@JA*31g+^&6^1~Wy+NC zABh+McmYmRFPCtcL zrhl67H{PB*g+nL+dG-C843f1QyWer^)RB}wYC1DBUd2C|E7nBr>Ca}=Wz1$4D@^J zW3E6iaTIXm3dH!;rr)}C`*y~i%;@N>tm{!xkv@KJe}V%4^MW{6z}3|y#=kZ#{Z?sN zIV*sY$=T6fes6#J$@}m35k~>$AYYM|E*RL%t{@;mR&unL|68Aa^2tl${H-VWJ*r4c z6AToT37YOO`Rl%3{?GWQN^G3o=NSJ-<##I}UrK@u$VX@S`uH`zT0X)5QAv4)V1S@> zpx{1=MMwL3`MpLz32tXZ zT=^aOoV^6$N_xF~f2b)Ny;`cDOWKf-!Y z%zxq;>r)&qDbae>9MO7}j%d9K>p)l*!i*Yw9XP**^Z$!=t2yktnBeQMGXPsr2p04Dldyrx;*ioR7 zHpQGZBaZ_r|u3n;{J7sWXklDG0Ka#veS zaaQ{%<)Rhkhk25Z@>IH{x)5_(O$y#GLvfhHKD-@4aVIxWtno^!h_t0gDPG*1wI;!Z z>I-8i!H}PymIWT6npj(^%e}_UQL`P_V2-+ns&AT8Q&}`+*vz18dl}3@H)D>gN3|(- z)bb#mS|8?6+mmAIXsn{Fb2I2(s0QYkp43e(~ z+KjoX;BEvJU7SR9n4>mio#p1H4Y?QSN&HT#yJbX$u3uwbx(svDiL^y?G)bQ#ntzgL zo(Vrcop%s((q41Z1?HdAl--}v#O=dK#`^EvJavi97+P*KiDn=AnHF3BLJRaJ&~K+^ z(IWk6+}v~t=BI0Yq)8=U6D>DfNLz#DXvfvfv^RJMDLQW?mC!A;KYSM{yC{-&m=@_o z9H9e|8l-V?4;e=3VUDCvy3r@N`Rd7=#$=mhOO}aNWS`>!(_=aoYelEh zE|H0i898S9k!xWX`Ig611Y`=HJ)la#Q_NF~Nzd4bT)n+$qtgYNqG?J~wajSJfitur zu!A;-c9JsYoD(-5p`g+pN_g<%9ChmXHk#wsPK!O-Y0Z^(k`L;nZT87zk=#X|x!n|1 z(L*CGpU~`cPidoXJDrH`qEks7o3mCv>!FS==rn7g+U6dL$Z4dA>}OPr`Kfr` zx_+Mxt>0@+X%*d+iTUVQ%w;F)3uvlw3(Yibp$&F*wEavW>0NCj+nep=9N$i^xQ1tH z2l;1oP*`pkh39oqH0IAiDGy1}p@o#4TWFVCD`|QPNz0p`$FAKETZ!hb+Af8p?NUHC zk?o|4dFm0w-NGwqu4V~IA1ob^esU!cl>EC@dV#Lpwn2E}7H!{>w+H1uGkUw$SCm(KTDLauwBpS zsM20bCZH}mW#ZiTK9^qd!&l>={~dPy&D&4t9ah?V+5!T|pNjmI(o2>um@#rZhfhKI z_=!VGTNM>`t*lx8BII)dBgb>)<(0LM?^jYis&mr93i%6>zkJ0?>BURO^5x~X9njvd zv{To_^t6S#?3{%Q-}_?q>M`FR2|Rx}A}62d*D{O%aiiK|xoqUJVQk2ncU_!8Tl^HYPec@k-dW8===TYhTXp z>}-ySi@phg(5!y5A&?NCfcM#w7qepq&|qD>(!Aksa17q=DzNW>y@xsMRpj@7>@@{@ z4!T3I_aN10-{JM|DPLku{eY}0ozgl&VOTHE4GZAjEnL@*!n?#wDvr8BX}0_E(?onS zc`Hq(>w0n&XQoJZoc7|qVjbnXVZ1L+qCB^Klz&l!%B~ub@Nqfb6*f?|gB;~v*iJd; zx6>`_#gyYLhqMip`4gpJ-TQHhE#5P3Qs%j-lw~&)<>%1DcoXhD zq9OYN*1NCMvjR`~U*?k7*$t&&=H!iaAPzz(=39Q|+@lN)1 z3(22tArcv` zcW5zrg%**wk1u^cBY;LsxJ2LLH=M26j^IplUwr?;Uq1f)qd^PjE}6J|<+?FnfAH7O{%6ETgBHw@nK*v&+A&h^4jDb_ z?;j1CH$!^-lBH|L{P>rlKfOQllR*oo{W@;^_|;?n@!jCTKmUyKV}F@EW$N@X-~Qu= zZ@&KW(?K>XR;^dvuo+|P_P5@7Z;*|RjoJQv8U|X&Pbdt0n?>PvAGFf5FqS{b$82nN z9UWj!Mw?8{XJ)HFs>oQohPDae12qhmXN= zQ6lBzL`qx11hFELokH~9=S0#=h(?ar9njes^Omx9!w@Cah9M^{8ivSDX&Ca}=M6(v zN;eD{J6@i}C5wkk(I2=)N3JXJ^-&}z7+dC2av#;=z`E+dF_7Zp= z=5MnPB0Z454!egtK53n%jB~d*Vr4zw(G?^o*tP#etB1~7KDZsU%ycn6MHuyr7|76t=Tns z`BbAVTpZ!ry<9=G5;d=ubWH!n@dBQ%fqp+Ew~@wT9w*TlOe3l z?Wim1sK49MSlub8t&X^uX{%p-%aEzBTgcmNW%k5?E;uP|I>9BdSKH!-y` z9TV!Tnp|xCVh0$IoXeB2)s3blu}?#`-Lo9$ru>VgAx2;T#8|1vSnZCn)&MIY#zw0? zF9KWg?N5u_>&iQus;i^zV4r^Rp#5-o-o{q71kw%{W$c{8?{nMDtW=(W34dDUZ4Oca zUMR4yj8Z%vG#J>Y{*E;uCEFsBw?SuNl7W$cF5hN9tZQ~Tb1Rm_WqvE2tic7keii*ps&dqyN2s~(Ys4swlW`-xj zy#9_2_!OXA;8+=H{2EyGZDgX>1sa;U<&AS?qAIw8S z#Q_p3?sQQU@G$#Wum>D?o~E7vB+fo#a0J<+G2gARz_Y2?7sL#{dAD%QyS4gO@$cCO z@3^2vFi3Hxu#%$FCV+vLw_9U&^Q3jG<*B$+;5LY?bU)R)Fao_$@AmvO`A}Wz30MYI z!|-IE10-gpLN6@B!Ai|#VS;srTdX!BN*cU%V~fU($k7TVHwm#u0Sm3?yqcu264d44E|=W9v(d6J+GNRs-h zzikRg^;zc{vYC}oacE0TC07OIVS0GKkSSqd=?(TQI0ST-WSji;!sss<;ejdkedlIiM#xokk90n;vWF;{qUo4(BmxsYV zC}rQ@c(D!R7gt}q!&Jer;UTTJTh8NAa9n>n#a0aIl6xkD1S=Wm1~5Eae<;EeBmX!? z5qM0w=lyBwvAQ&aI%Xy7yH^iZhU?VCSTyFlqj`gS^qTr&crbn)8KibiY1cJXW~E52 zb#_a6Jm3ad#9N>fIGe&-i9zzq3)IiL0z7EXlKOgdWA)?cjkfbg^X>Ub(t$b-5?D?Q z=yBOCaHanmdyLfyFOKM+rn3z zUZxLMU!w6H?fKz#nMXHPC790jRh?=vi8X1!;60*II;*lSsIyKW?*goZ=j&DNhaWG{ zeiVabw*_xf4c(@GO=Y9oiurnD=j)DNs5fz;-sDC4Qx@q>mC>K6ab-8xmM$I7@I)=6 zzED|w|NJmw_9F&qHE3i$%2Ti*;G;YZQ+ezb_-vnB8F8>a!xBuehHQt%JXhA9UooEY z&pX~XHU=zL3|hY}c%y3Q)}7Z>_DAeK5V`+I)L|@n8^-9H#+h0qSfb*kdUff>5=eaiW527P_YHo0hkfQ5 zOjuy}%R<9xi;Skr7|)S0p1ag!!LpMwD^4x}b8NNg%5`RIWX;#DH(xJjv2nT8X5K!0 z{{tFb;e`=}t|N;sPAD`%>`PW*kzRbzrN+&pe>WhY^^jyh%e% z{lK0*TAb$tII_ULL)!aIZyGL%HeL~LzBbWveex;!)H7Ss&new;RLybOb=z@|jgl;; z1AX3C5xsobzoxYwzNGOXe0Kf4gvUiuH97v3>EN+}76(?`cks5Y2;+z_3y4!V0mv{f z$>O4|+6o%pM|OhDdCl4g6wf3tx9o_};-vVDtAUPt)cXa)!+Q}@jRey7nt9MX)}m!@ zKnM7Ip!LD?VMJMgPeGWA@&Y)HbYj>J$?bC6D}VXeZa@mNG3Fq-0#ej@m)C%K8B*c1 zs?55(v5)eB2Wr=yXmW^YcTMcLl-z##R!6{{j*#rG$o%e`h24o|-6`eW*gnav?k;)U zbMI+)bwf{TZ4ZctD7gPOMJJWzZhJTJkb+Hhc}Twt=4D6)4G#c`vrp^lV~uBTw%apE z?Ro)iMnP@ZUjd|u{4S6S0m&h{{d`>e#l()1S_UbhrU%4G)a>3Ra<&R{T+~*>O78oW z+>RUqq<<2O1QO~F{;Y$e_OTOueXTmyWF6TCNU##vgdhlGZ3 zJH8rt+ELM}OEv*dZ%F?V7#>pZBadf=cB6S%8z9-<0G>-ADgzZLln8$_$^UvmH{gN6 zjALeHcfrH%sQW!2i=w`MnY;b}2%t9@gn2y64mTQywwZ;s*<2Ul!KHQmg}?wvq1jy= zNQNi9g0-cH3Wf*vnKW1B&%m?vaFbqOn@MP!d3ZZ6%Gu}A3BNWDkNZ*k07qfS7ZUZ4<=aB08*7Zt$JW)NUtzB-K+as;A_x&SG#ggsxd&!1FZ z(prrm;GPH&8Uz84JMh3nyayyn7znQybYc6`uc%v8U%&nt_0>9Gh<5DXi!D5Ia5rHeW zI{?WwlgHEghvUKXj&5Z3p2i*LTX%7gP${@HQ0ZS4g1v1K)^ELt&6|fbVtNR`AkhhaqVZ4JJ@((+dAn_dESNNHa%OU(8vhsv_U1O}j~>6c z=c^T8IlzCX(+uheJPUJ2KAnp;^NFHdNOJFxe|UXOJ(P*t|R9?>@rB(4(>gFJIyJj;h@sR#(FcL^cmkJNN6v1mbF|XlJwAZ0%w_V|GyCU^- zBLD9JBd)qX@yyXD!Jh=5;Xj|Z+KW$HA;QbymU{l3HRG+44$oU<|J>rgi?{lF`;>k5 z`Cb*ZKYQj?S$)!(wZslzh|F6yciwW&BOvk1=gwdLD@*56py81G>VxvD4=Jocfb(k* zWhs0j(iPTd$*mecdMt#+>e)geTWt|<$RW&o$;u0#3nnSQ9>lMj@nLopZ`$#zjX_$I zS1(-HTR#@s7TZiZ7HfGf+wXiqs9RyUPieIO-Ndl_w33XP7N`xX?Bi5>wnt^Xhufgi1fjRBuB5Z6sy59R zo1J~}9~=%=43>StNj-VP2y2}yjbtKAZYJRp4@8&1=bD=}M`b&%D)Zl0bweNQ6t8WIYcoP|39yKn{sk}E=iu<=Hj}Lqt-yCRjMBy4(lWyZ*jU0PxVy+K zs4a$m;LmngUUEhKUWf+UF;bD?_WuIGPL8+K0RI?!Y!8#&v0wYLeU{oxFp4z&&*L?pN$iw&Wg#0#kLm+iB} zdJI-JaS82fTF^gHWf<0fC-463Y`iUh36Xsq7L{IBs0iE!{ocy+u|?OA(_9iD zxEm?B7h99ygjUo?Kk9d})z2Ug>)t%RKV&ELFVvf4a9!8*hA}oQgA2o8C?0>7-9oHO z-VIQ|Hk;4(U$Mp2kbPEk7e#)!M0M<0;9v7n`vm)mTcXw26QlzD()!cRq}Zam(W0*8 z27qfU)<3(*V{y6fDz;*-Jd3UA-!dt`dN|HZ>2ZoZc802B*j8d6{AmARS*e6Ld>al|zc-m0W+3ee7lxU7T5VSq2N@=hyxM?l~yvV5EC(ol_aEi|Ver zVb-tyMV4P|4cf3HbjyxF1$=0{O7_X3uK zl!j$)Z{-<2+vhxpJO~~+>Z1Cl8SLNJJ_m=-Kl#aef0=E;a-e?g3s+}#5q;bsTF)|( ztzu(U9nTlqKgjOjp4Ws=coZf5I9m2`%$6tdyPhU#VLzrW-K0Ltw(7e6%l1e8F0x_d zba2!qex5kYr%Rt^3^tUNtob7FeA!pL)SGB9HO_E`mJ*{`NcuMu8`G;vK_G?taU=avV98P;IV{vKB3(srNcj?Gd!;wOB*1E zV~wo1wx_bbC+T4i^zU0P@3dp3_mN%R$M?s2zEZj561Wj~d7Z1!&n?NdP2Q4>*&S%z z))8$c!E8li#I%s&+V0pYrhmh{?WdJCTsfwNOS}qsA6p>`k{$FLhp<(@Y4R~xfS944 zgOvz1mlmu<;1altsCzw_6<|*L&#RSO2>LO%(G3(Dg$P$1&chUXf>Jg#D?12=|8O3+ z149LuGW>H^A9w@(Ai@Jb=D@mvZA%X3LO*VSUq<0pQrvGAbp;kff9w1WN8Ug`kAJ_1 z@bG1!v=-A3wOj23uneysYsa2>-N66G`hj2Ft#!X=E6DrMIsC`-TAr<#$$!bMDhd_H^$$LB?Ek2@atZNA6CNR#i=N^qKZWppY#sr4A%bN5Wh2PKb!4awmY}{ zs#yZF;By3iF@n>72}|t`>7Bqo?~Uw_`bGPZJ=21(B(}S-wIO^Sf$GKzBkoAkv(+)S z10QgpeZCof)_%-e$LchX(-lnA6Z~Qzm}DTBVkDSqESPb!W#-A2StkWE&0Cm#Q_ergy)S_&XxzPS{t~?Y|D$rr zC2$p|pu(5^KZ!gBUlZ#7TY2m3GdpnCb-`Va>HGh3UOi6%KU>;P3av+?M(%V=TXb4U`sOyl2e#nF80k$~gv0r{6 z^@49%9MkW#3j6M0%0J8Zz-uSo|9N@fS$THO(Hq*>%yvj~^2qXWEezj`S7Q4)&<{pE zNbjj<_G8xItIza9e!1;*mC(&ljw0}2oI`(>-Lw?TsbK26t^=*-LVebSD|&KF{)Wv0 zvw?U|ld<{{Z_6uerYt`_8}i8}KV_YpmTfl^z;G|1!7WRec;R^fn)bY;o|^&Zs4MY%XQ@1U+@JOTk7eJ|+g zTSGghzFHn!`Aug9Uw>=AOy@rM>I(XKVBfz+Klt_QP6@`WPXb|HS~C}vczh-I8vWqt zqX@dVX~qI{Zgb6B#@e*1Yns;A*Y%4Zy!`mWXL#g6^atM`w12G&+4pN2`xWLBLE%TI z3Xh?a(fRvx^N5yM6XBynGSmhOc?*#W9+*!j(}1(_F>jULY#5xjxMA>S&4$4aiy8(i TR5T1W8{aTQdA@LtUBmwZLG950 literal 0 HcmV?d00001