deadmoon 2 lat temu
rodzic
commit
e463215448

+ 7 - 7
Optimizer/ErrorLogger.cs

@@ -34,13 +34,13 @@ namespace Optimizer
                 File.AppendAllText(ErrorLogFile, Environment.NewLine);
             }
             catch { }
-            finally
-            {
-                if (!Options.CurrentOptions.DisableOptimizerTelemetry)
-                {
-                    TelemetryHelper.GenerateTelemetryData(functionName, errorMessage, errorStackTrace);
-                }
-            }
+            //finally
+            //{
+            //    if (!Options.CurrentOptions.DisableOptimizerTelemetry)
+            //    {
+            //        TelemetryHelper.GenerateTelemetryData(functionName, errorMessage, errorStackTrace);
+            //    }
+            //}
         }
     }
 }

Plik diff jest za duży
+ 240 - 199
Optimizer/Forms/MainForm.Designer.cs


+ 147 - 67
Optimizer/Forms/MainForm.cs

@@ -229,6 +229,8 @@ namespace Optimizer
             adsSw.ToggleClicked += new EventHandler(toggleSwitch26_Click);
             xboxSw.ToggleClicked += new EventHandler(toggleSwitch17_Click);
             cortanaSw.ToggleClicked += new EventHandler(toggleSwitch16_Click);
+            edgeAiSw.ToggleClicked += new EventHandler(EdgeAiSw_ToggleClicked);
+            edgeTelemetrySw.ToggleClicked += new EventHandler(EdgeTelemetrySw_ToggleClicked);
             gameBarSw.ToggleClicked += new EventHandler(toggleSwitch15_Click);
             uODSw.ToggleClicked += new EventHandler(toggleSwitch14_Click);
             oldMixerSw.ToggleClicked += new EventHandler(toggleSwitch13_Click);
@@ -262,6 +264,8 @@ namespace Optimizer
             winSearchSw.ToggleClicked += WinSearchSw_ToggleClicked;
             nvidiaTelemetrySw.ToggleClicked += NvidiaTelemetrySw_ToggleClicked;
             vbsSw.ToggleClicked += VbsSw_ToggleClicked;
+            hpetSw.ToggleClicked += HpetSw_ToggleClicked;
+            loginVerboseSw.ToggleClicked += LoginVerboseSw_ToggleClicked;
 
             PMB.ToggleClicked += PMB_ToggleClicked;
             SSB.ToggleClicked += SSB_ToggleClicked;
@@ -272,6 +276,58 @@ namespace Optimizer
             AddOwnerB.ToggleClicked += AddOwnerB_ToggleClicked;
         }
 
+        private void LoginVerboseSw_ToggleClicked(object sender, EventArgs e)
+        {
+            if (loginVerboseSw.ToggleChecked)
+            {
+                Utilities.EnableLoginVerbose();
+            }
+            else
+            {
+                Utilities.DisableLoginVerbose();
+            }
+            Options.CurrentOptions.EnableLoginVerbose = loginVerboseSw.ToggleChecked;
+        }
+
+        private void HpetSw_ToggleClicked(object sender, EventArgs e)
+        {
+            if (hpetSw.ToggleChecked)
+            {
+                Utilities.DisableHPET();
+            }
+            else
+            {
+                Utilities.EnableHPET();
+            }
+            Options.CurrentOptions.DisableHPET = hpetSw.ToggleChecked;
+        }
+
+        private void EdgeTelemetrySw_ToggleClicked(object sender, EventArgs e)
+        {
+            if (edgeTelemetrySw.ToggleChecked)
+            {
+                OptimizeHelper.DisableEdgeTelemetry();
+            }
+            else
+            {
+                OptimizeHelper.EnableEdgeTelemetry();
+            }
+            Options.CurrentOptions.DisableEdgeTelemetry = edgeTelemetrySw.ToggleChecked;
+        }
+
+        private void EdgeAiSw_ToggleClicked(object sender, EventArgs e)
+        {
+            if (edgeAiSw.ToggleChecked)
+            {
+                OptimizeHelper.DisableEdgeDiscoverBar();
+            }
+            else
+            {
+                OptimizeHelper.EnableEdgeDiscoverBar();
+            }
+            Options.CurrentOptions.DisableEdgeDiscoverBar = edgeAiSw.ToggleChecked;
+        }
+
         private void WinSearchSw_ToggleClicked(object sender, EventArgs e)
         {
             if (winSearchSw.ToggleChecked)
@@ -531,64 +587,75 @@ namespace Optimizer
 
         private void TranslateTips()
         {
-            performanceSw.Label.Tag = Options.TranslationList["performanceTip"].ToString();
-            networkSw.Label.Tag = Options.TranslationList["networkTip"].ToString();
-            defenderSw.Label.Tag = Options.TranslationList["defenderTip"].ToString();
-            smartScreenSw.Label.Tag = Options.TranslationList["smartScreenTip"].ToString();
-            systemRestoreSw.Label.Tag = Options.TranslationList["systemRestoreTip"].ToString();
-            reportingSw.Label.Tag = Options.TranslationList["reportingTip"].ToString();
-            telemetryTasksSw.Label.Tag = Options.TranslationList["telemetryTasksTip"].ToString();
-            officeTelemetrySw.Label.Tag = Options.TranslationList["officeTelemetryTip"].ToString();
-            printSw.Label.Tag = Options.TranslationList["printTip"].ToString();
-            faxSw.Label.Tag = Options.TranslationList["faxTip"].ToString();
-            mediaSharingSw.Label.Tag = Options.TranslationList["mediaSharingTip"].ToString();
-            stickySw.Label.Tag = Options.TranslationList["stickyTip"].ToString();
-            homegroupSw.Label.Tag = Options.TranslationList["homegroupTip"].ToString();
-            superfetchSw.Label.Tag = Options.TranslationList["superfetchTip"].ToString();
-            compatSw.Label.Tag = Options.TranslationList["compatTip"].ToString();
-            disableOneDriveSw.Label.Tag = Options.TranslationList["disableOneDriveTip"].ToString();
-            oldMixerSw.Label.Tag = Options.TranslationList["oldMixerTip"].ToString();
-            oldExplorerSw.Label.Tag = Options.TranslationList["oldExplorerTip"].ToString();
-            adsSw.Label.Tag = Options.TranslationList["adsTip"].ToString();
-            uODSw.Label.Tag = Options.TranslationList["uODTip"].ToString();
-            peopleSw.Label.Tag = Options.TranslationList["peopleTip"].ToString();
-            longPathsSw.Label.Tag = Options.TranslationList["longPathsTip"].ToString();
-            inkSw.Label.Tag = Options.TranslationList["inkTip"].ToString();
-            spellSw.Label.Tag = Options.TranslationList["spellTip"].ToString();
-            xboxSw.Label.Tag = Options.TranslationList["xboxTip"].ToString();
-            autoUpdatesSw.Label.Tag = Options.TranslationList["autoUpdatesTip"].ToString();
-            driversSw.Label.Tag = Options.TranslationList["driversTip"].ToString();
-            telemetryServicesSw.Label.Tag = Options.TranslationList["telemetryServicesTip"].ToString();
-            privacySw.Label.Tag = Options.TranslationList["privacyTip"].ToString();
-            ccSw.Label.Tag = Options.TranslationList["ccTip"].ToString();
-            cortanaSw.Label.Tag = Options.TranslationList["cortanaTip"].ToString();
-            sensorSw.Label.Tag = Options.TranslationList["sensorTip"].ToString();
-            castSw.Label.Tag = Options.TranslationList["castTip"].ToString();
-            gameBarSw.Label.Tag = Options.TranslationList["gameBarTip"].ToString();
-            insiderSw.Label.Tag = Options.TranslationList["insiderTip"].ToString();
-            storeUpdatesSw.Label.Tag = Options.TranslationList["storeUpdatesTip"].ToString();
-            tpmSw.Label.Tag = Options.TranslationList["tpmTip"].ToString();
-            leftTaskbarSw.Label.Tag = Options.TranslationList["leftTaskbarTip"].ToString();
-            snapAssistSw.Label.Tag = Options.TranslationList["snapAssistTip"].ToString();
-            widgetsSw.Label.Tag = Options.TranslationList["widgetsTip"].ToString();
-            chatSw.Label.Tag = Options.TranslationList["chatTip"].ToString();
-            stickersSw.Label.Tag = Options.TranslationList["stickersTip"].ToString();
-            classicContextSw.Label.Tag = Options.TranslationList["classicContextTip"].ToString();
-            picUpdate.Tag = Options.TranslationList["linkUpdate"].ToString() + "!";
-            picLab.Tag = Options.TranslationList["lblLab"].ToString();
-            picRestartNeeded.Tag = Options.TranslationList["restartAndApply"].ToString();
-            ffTelemetrySw.Label.Tag = Options.TranslationList["ffTelemetryTip"].ToString();
-            vsSw.Label.Tag = Options.TranslationList["vsTip"].ToString();
-            chromeTelemetrySw.Label.Tag = Options.TranslationList["chromeTelemetryTip"].ToString();
-            gameModeSw.Label.Tag = Options.TranslationList["gameModeTip"].ToString();
-            compactModeSw.Label.Tag = Options.TranslationList["compactModeTip"].ToString();
-            hibernateSw.Label.Tag = Options.TranslationList["hibernateTip"].ToString();
-            winSearchSw.Label.Tag = Options.TranslationList["winSearchTip"].ToString();
-            smb1Sw.Label.Tag = Options.TranslationList["smbTip"].ToString().Replace("{v}", "v1");
-            smb2Sw.Label.Tag = Options.TranslationList["smbTip"].ToString().Replace("{v}", "v2");
-            ntfsStampSw.Label.Tag = Options.TranslationList["ntfsStampTip"].ToString();
-            nvidiaTelemetrySw.Label.Tag = Options.TranslationList["nvidiaTelemetrySw"].ToString();
-            vbsSw.Label.Tag = Options.TranslationList["vbsTip"].ToString();
+            try
+            {
+                performanceSw.Label.Tag = Options.TranslationList["performanceTip"].ToString();
+                networkSw.Label.Tag = Options.TranslationList["networkTip"].ToString();
+                defenderSw.Label.Tag = Options.TranslationList["defenderTip"].ToString();
+                smartScreenSw.Label.Tag = Options.TranslationList["smartScreenTip"].ToString();
+                systemRestoreSw.Label.Tag = Options.TranslationList["systemRestoreTip"].ToString();
+                reportingSw.Label.Tag = Options.TranslationList["reportingTip"].ToString();
+                telemetryTasksSw.Label.Tag = Options.TranslationList["telemetryTasksTip"].ToString();
+                officeTelemetrySw.Label.Tag = Options.TranslationList["officeTelemetryTip"].ToString();
+                printSw.Label.Tag = Options.TranslationList["printTip"].ToString();
+                faxSw.Label.Tag = Options.TranslationList["faxTip"].ToString();
+                mediaSharingSw.Label.Tag = Options.TranslationList["mediaSharingTip"].ToString();
+                stickySw.Label.Tag = Options.TranslationList["stickyTip"].ToString();
+                homegroupSw.Label.Tag = Options.TranslationList["homegroupTip"].ToString();
+                superfetchSw.Label.Tag = Options.TranslationList["superfetchTip"].ToString();
+                compatSw.Label.Tag = Options.TranslationList["compatTip"].ToString();
+                disableOneDriveSw.Label.Tag = Options.TranslationList["disableOneDriveTip"].ToString();
+                oldMixerSw.Label.Tag = Options.TranslationList["oldMixerTip"].ToString();
+                oldExplorerSw.Label.Tag = Options.TranslationList["oldExplorerTip"].ToString();
+                adsSw.Label.Tag = Options.TranslationList["adsTip"].ToString();
+                uODSw.Label.Tag = Options.TranslationList["uODTip"].ToString();
+                peopleSw.Label.Tag = Options.TranslationList["peopleTip"].ToString();
+                longPathsSw.Label.Tag = Options.TranslationList["longPathsTip"].ToString();
+                inkSw.Label.Tag = Options.TranslationList["inkTip"].ToString();
+                spellSw.Label.Tag = Options.TranslationList["spellTip"].ToString();
+                xboxSw.Label.Tag = Options.TranslationList["xboxTip"].ToString();
+                autoUpdatesSw.Label.Tag = Options.TranslationList["autoUpdatesTip"].ToString();
+                driversSw.Label.Tag = Options.TranslationList["driversTip"].ToString();
+                telemetryServicesSw.Label.Tag = Options.TranslationList["telemetryServicesTip"].ToString();
+                privacySw.Label.Tag = Options.TranslationList["privacyTip"].ToString();
+                ccSw.Label.Tag = Options.TranslationList["ccTip"].ToString();
+                cortanaSw.Label.Tag = Options.TranslationList["cortanaTip"].ToString();
+                edgeAiSw.Label.Tag = Options.TranslationList["edgeAiTip"].ToString();
+                edgeTelemetrySw.Label.Tag = Options.TranslationList["edgeTelemetryTip"].ToString();
+                sensorSw.Label.Tag = Options.TranslationList["sensorTip"].ToString();
+                castSw.Label.Tag = Options.TranslationList["castTip"].ToString();
+                gameBarSw.Label.Tag = Options.TranslationList["gameBarTip"].ToString();
+                insiderSw.Label.Tag = Options.TranslationList["insiderTip"].ToString();
+                storeUpdatesSw.Label.Tag = Options.TranslationList["storeUpdatesTip"].ToString();
+                tpmSw.Label.Tag = Options.TranslationList["tpmTip"].ToString();
+                leftTaskbarSw.Label.Tag = Options.TranslationList["leftTaskbarTip"].ToString();
+                snapAssistSw.Label.Tag = Options.TranslationList["snapAssistTip"].ToString();
+                widgetsSw.Label.Tag = Options.TranslationList["widgetsTip"].ToString();
+                chatSw.Label.Tag = Options.TranslationList["chatTip"].ToString();
+                stickersSw.Label.Tag = Options.TranslationList["stickersTip"].ToString();
+                classicContextSw.Label.Tag = Options.TranslationList["classicContextTip"].ToString();
+                picUpdate.Tag = Options.TranslationList["linkUpdate"].ToString() + "!";
+                picLab.Tag = Options.TranslationList["lblLab"].ToString();
+                picRestartNeeded.Tag = Options.TranslationList["restartAndApply"].ToString();
+                ffTelemetrySw.Label.Tag = Options.TranslationList["ffTelemetryTip"].ToString();
+                vsSw.Label.Tag = Options.TranslationList["vsTip"].ToString();
+                chromeTelemetrySw.Label.Tag = Options.TranslationList["chromeTelemetryTip"].ToString();
+                gameModeSw.Label.Tag = Options.TranslationList["gameModeTip"].ToString();
+                compactModeSw.Label.Tag = Options.TranslationList["compactModeTip"].ToString();
+                hibernateSw.Label.Tag = Options.TranslationList["hibernateTip"].ToString();
+                winSearchSw.Label.Tag = Options.TranslationList["winSearchTip"].ToString();
+                smb1Sw.Label.Tag = Options.TranslationList["smbTip"].ToString().Replace("{v}", "v1");
+                smb2Sw.Label.Tag = Options.TranslationList["smbTip"].ToString().Replace("{v}", "v2");
+                ntfsStampSw.Label.Tag = Options.TranslationList["ntfsStampTip"].ToString();
+                nvidiaTelemetrySw.Label.Tag = Options.TranslationList["nvidiaTelemetrySw"].ToString();
+                vbsSw.Label.Tag = Options.TranslationList["vbsTip"].ToString();
+                hpetSw.Label.Tag = Options.TranslationList["hpetSw"].ToString();
+                loginVerboseSw.Label.Tag = Options.TranslationList["loginVerboseSw"].ToString();
+            }
+            catch (Exception err)
+            {
+                MessageBox.Show(err.Message);
+            }
         }
 
         private void ToggleSwitch40_Click(object sender, EventArgs e)
@@ -723,7 +790,7 @@ namespace Optimizer
             quickAccessToggle.ToggleChecked = Options.CurrentOptions.EnableTray;
             launcherIcon.Visible = Options.CurrentOptions.EnableTray;
             autoStartToggle.ToggleChecked = Options.CurrentOptions.AutoStart;
-            telemetrySvcToggle.ToggleChecked = Options.CurrentOptions.DisableOptimizerTelemetry;
+            //telemetrySvcToggle.ToggleChecked = Options.CurrentOptions.DisableOptimizerTelemetry;
 
             //seperatorNetMon.Visible = Options.CurrentOptions.EnableTray;
             //trayDownSpeed.Visible = Options.CurrentOptions.EnableTray;
@@ -931,7 +998,7 @@ namespace Optimizer
             // ADVANCED
             if (Program.UNSAFE_MODE)
             {
-                // load config
+                LoadAdvancedToggleStates();
             }
             else
             {
@@ -2108,6 +2175,12 @@ namespace Optimizer
             return changeDetected;
         }
 
+        private void LoadAdvancedToggleStates()
+        {
+            hpetSw.ToggleChecked = Options.CurrentOptions.DisableHPET;
+            loginVerboseSw.ToggleChecked = Options.CurrentOptions.EnableLoginVerbose;
+        }
+
         private void LoadUniversalToggleStates()
         {
             performanceSw.ToggleChecked = Options.CurrentOptions.EnablePerformanceTweaks;
@@ -2147,6 +2220,8 @@ namespace Optimizer
             uODSw.ToggleChecked = Options.CurrentOptions.UninstallOneDrive;
             gameBarSw.ToggleChecked = Options.CurrentOptions.DisableGameBar;
             cortanaSw.ToggleChecked = Options.CurrentOptions.DisableCortana;
+            edgeTelemetrySw.ToggleChecked = Options.CurrentOptions.DisableEdgeTelemetry;
+            edgeAiSw.ToggleChecked = Options.CurrentOptions.DisableEdgeDiscoverBar;
             xboxSw.ToggleChecked = Options.CurrentOptions.DisableXboxLive;
             oldExplorerSw.ToggleChecked = Options.CurrentOptions.DisableQuickAccessHistory;
             sensorSw.ToggleChecked = Options.CurrentOptions.DisableSensorServices;
@@ -4641,15 +4716,20 @@ namespace Optimizer
             }
         }
 
-        private void telemetrySvcToggle_ToggleClicked(object sender, EventArgs e)
+        private void btnRestartSafe_Click(object sender, EventArgs e)
         {
-            Options.CurrentOptions.DisableOptimizerTelemetry = telemetrySvcToggle.ToggleChecked;
-            Options.SaveSettings();
+            Program.RestartInSafeMode();
+        }
 
-            if (!Options.CurrentOptions.DisableOptimizerTelemetry)
-            {
-                TelemetryHelper.EnableTelemetryService();
-            }
+        private void btnRestart_Click(object sender, EventArgs e)
+        {
+            Program.RestartInNormalMode();
+        }
+
+        private void btnRestartDisableDefender_Click(object sender, EventArgs e)
+        {
+            Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce", "*OptimizerDisableDefender", Assembly.GetExecutingAssembly().Location + " /silentdisabledefender", Microsoft.Win32.RegistryValueKind.String);
+            Program.RestartInSafeMode();
         }
     }
 }

+ 115 - 116
Optimizer/Forms/MainForm.resx

@@ -721,122 +721,121 @@ any application only by typing your desired keyword.</value>
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
-        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC0
-        GgAAAk1TRnQBSQFMAgEBCQEAAdABDQHQAQ0BIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
-        AwABYAMAAQEBAAEgBgABwP8A/wD/AP8A/wD/AP8A/wAeAANHAYB0//8AiQADRwGAdP//AIkAAyoBQANH
-        AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANH
-        AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGA/wD/AP8A
-        kwBo/wNHAYD/AJUAaP8DRwGA/wCVAAj/A1oBwANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGA
-        A0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgAj/A0cBgP8A
-        lQAI/wNHAYBUAAj/A0cBgP8AlQAI/wNHAYBUAAj/A0cBgP8AlQAI/wNHAYBUAAj/A0cBgP8AlQAI/wNH
-        AYBUAAj/A0cBgP8AlQAI/wNHAYBUAAj/A0cBgP8AlQAI/wNHAYBUAAj/A0cBgP8AlQAI/wNHAYBUAAj/
-        A0cBgP8AlQAI/wNHAYBUAAj/A0cBgP8AlQAI/wNHAYBUAAj/A0cBgP8AlQAI/wNHAYBUAAj/A0cBgP8A
-        lQAI/wNHAYBUAAj/A0cBgP8AlQAI/wNHAYBUAAj/A0cBgP8AlQAI/wNHAYBUAAj/A0cBgP8AlQAI/wNH
-        AYBUAAj/A0cBgP8AlQBo/wNHAYD/AJUAaP8DRwGA/wCVAGj/A0cBgP8A/wD/AP8A/wD/AP8A/wD/AP8A
-        /wD/AP8A/wD/AB8AA0cBgGj/A1oBwP8AjQADRwGAdP8QAANHAYBg/wNHAYADKgFARAAI/wNHAYC8AAz/
-        A0cBgAMqAUBUAANHAYAM/wNHAYAMAGj/A0cBgEQACP8DRwGAeAAM/zgACP8DRwGAZAAI/wNHAYAIAHD/
-        RAADRwGAA0cBgAMqAUBwAANHAYAQ/yAAA0cBgANHAYADKgFADAAI/wNHAYAEAAj/A0cBgAQAKP8DRwGA
-        BAAI/wNHAYAEAAj/A0cBgAQACP8DRwGACAAM/1gAA0cBgAj/vAAY/yAACP8DRwGADAAI/wNHAYAEAAj/
-        A0cBgAQAKP8DRwGABAAI/wNHAYAEAAj/A0cBgAQACP8DRwGACAAM/zQAA0cBgANHAYADRwGACAADRwGA
-        A0cBgAMqAUAEAANHAYAI/zQAA0cBgCAAA0cBgAMqAUBUAANHAYAc/yAACP8DRwGADAAI/wNHAYBkAAj/
-        A0cBgAgADP80AAz/A0cBgBD/BAADRwGACP8wAAz/A0cBgBQADP9QACT/IAAI/wNHAYAMAAj/A0cBgGQA
-        CP8DRwGACAAM/zQADP8DRwGAEP8EAANHAYAI/zAAMP80AAMqAUADRwGAA0cBgANHAYADRwGAA0cBgCj/
-        IAAI/wNHAYAMAAj/A0cBgAQACP8DRwGABAAI/wNHAYAEAAj/A0cBgAQACP8DRwGABAAI/wNHAYAEAAj/
-        A0cBgAQACP8DRwGACAAM/zQADP8IAAj/A0cBgAQAA0cBgAj/MAAw/zQAQP8gAAj/A0cBgAwACP8DRwGA
-        BAAI/wNHAYAEAAj/A0cBgAQACP8DRwGABAAI/wNHAYAEAAj/A0cBgAQACP8DRwGABAAI/wNHAYAIAAz/
-        WAADRwGACP80AANHAYADRwGAGP8DWgHAA0cBgAMqAUA0AED/CAADRwGACP8MAAj/A0cBgAwACP8DRwGA
-        ZAAI/wNHAYAIAHD/IAAE/wNHAYBEAAT/JABA/wgAA0cBgAj/DAAI/wNHAYAMAAj/A0cBgGQACP8DRwGA
-        CABw/xwAA0cBgAz/AyoBQDQAA0cBgAz/AyoBQBwAQP8IAANHAYAI/wwACP8DRwGADAAI/wNHAYAEAAj/
-        A0cBgAQACP8DRwGABAAI/wNHAYAEAAj/A0cBgAQACP8DRwGABAAI/wNHAYAEAAj/A0cBgAwAaP8DRwGA
-        HAADRwGAFP8oAANHAYAU/wNHAYAcAED/CAADRwGACP8MAAj/A0cBgAwACP8DRwGABAAI/wNHAYAEAAj/
-        A0cBgAQACP8DRwGABAAI/wNHAYAEAAj/A0cBgAQACP8DRwGABAAI/wNHAYAMAAz/UAAM/wNHAYAcAAMq
-        AUAY/wNHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAGP8DRwGAIABA/wgAA0cBgAj/DAAI/wNH
-        AYAMAAj/A1oBwGAAA0cBgAj/A0cBgAwAA0cBgAz/SAADRwGADP8oAEj/A0cBgCQAQP8IAANHAYAI/wwA
-        CP8DRwGADAAQ/wNHAYBUABD/A0cBgAwAA0cBgAz/SAADRwGADP8QAANHAYADRwGAAyoBQBAAA0cBgANa
-        AcA0/wNHAYAUAANHAYADRwGAAyoBQAwAQP8IAANHAYAI/wwACP8DRwGADAADKgFAcP8DRwGAFAAM/wNH
-        AYBEAAz/EAAQ/xwAA0cBgCT/HAAQ/wwAQP8IAANHAYAI/wwACP8DRwGAFABo/wNHAYAYAAz/A0cBgEQA
-        DP8QAANHAYAQ/wNaAcBQAANHAYAQ/wNaAcAMAANaAcA8/yAACP8DRwGARAADWgHACP9MAAz/QAAM/wNH
-        AYAUAANHAYAU/wNHAYBEABj/KAAo/yAACP8DRwGARAADRwGACP9MAAz/QAAM/wNHAYAYAANHAYAY/wNa
-        AcADRwGAAyoBQCQAA0cBgANHAYAY/wNaAcAsAAQBA0cBgCD/IAAI/wNHAYBEAANHAYAI/0wAA0cBgAz/
-        OAADRwGADP8kAGD/QAAc/yAACP8DRwGARAADRwGACP9MAANHAYAM/wNHAYADRwGAA0cBgANHAYADRwGA
-        A0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA1oBwAz/KAADKgFAA0cBgEj/A1oBwANH
-        AYBIAANHAYAU/yAACP8DRwGARAAI/wNaAcBQAFD/OABA/1wAEP9sAAz/A0cBgFAAA0cBgEj/A1oBwEQA
-        A0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgAMqAUBkAAQBA0cBgANHAYADRwGA
-        bAAM/1wAQP//AFkADP//APUADP//APUADP8DRwGA/wD/AP8A/wD/AP8A/wD/AGQAAyoBQANHAYADRwGA
-        DAADRwGAA0cBgAMqAUAIAANHAYADRwGAA0cBgFAAA0cBgANHAYADKgFAVAADRwGA/wAVAANHAYAI/wwA
-        CP8DRwGACAAM/0wAEP9UAAT//wAVAANHAYAI/wwACP8DRwGACAAM/0gAA1oBwBT/AyoBQEwABP8MAANH
-        AYADRwGAA0cBgANHAYADRwGABAADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGA
-        A0cBgANHAYADRwGAbAADKgFAEP8DRwGAOAADRwGACP8MAAj/A0cBgAgADP9EACD/TAAE/wwAFP8EADT/
-        bAAY/wNHAYAwAANHAYADWgHACP8DRwGAA0cBgANHAYAI/wNaAcADRwGAA0cBgAz/A0cBgDwAA1oBwAz/
-        A1oBwANHAYAQ/wMqAUBEAAT/DAAE/wQABP8EAAT/BAAE/wQABP8EAAT/BAAE/wQABP8EAAT/BAAE/yAA
-        A0cBgBD/A1oBwBQAA0cBgANHAYADKgFABAADRwGAA0cBgAMqAUAEAAj/A1oBwANHAYAI/wNHAYAsAANH
-        AYBE/zQAFP8IAANHAYAQ/0QABP8MAAT/DAAE/wQABP8sAAT/IAAY/xQACP8DRwGABAAI/wNHAYAEABj/
-        A0cBgCwASP8DRwGALAADWgHADP8DWgHADAADWgHAFP8DKgFANABw/wMqAUAQAAz/A1oBwAj/FAAI/wNH
-        AYAEAAj/A0cBgAQAA1oBwBT/AyoBQBwAIP8oAANHAYAc/wNHAYAYABT/DAAg/zwABP9cAANHAYAI/xAA
-        GP8UAAj/A0cBgAQACP8DRwGACAAQ/yQAGP8DWgHAMAADRwGAGP8DRwGAFAADWgHADP8DWgHADAADKgFA
-        BAADWgHABP8DWgHAA0cBgBD/AyoBQCwAEP8DRwGACAADRwGAA0cBgANHAYADKgFAFAADRwGAGP8DRwGA
-        AyoBQAgAA0cBgAT/A0cBgAwAGP8MACj/A0cBgAQACP8DRwGAJAAY/wNHAYA0ABj/A0cBgBQAEP8QAAj/
-        BAAE/wgAA0cBgBD/LAAE/wQABP8QAAz/A0cBgAwABAEU/wNHAYAEAAz/BAEIAANHAYAE/wNHAYAMABD/
-        A0cBgAwAKP8DRwGABAAI/wNHAYA0AAj/A0cBgAgAIP8MAAj/A0cBgCQAEP8DKgFABAADKgFADP8DWgHA
-        DAADWgHAFP8DKgFAJAAE/wQACP8DRwGACAAE/wNHAYAE/wNHAYAMAANaAcAE/wNHAYAEAANHAYAE/wgA
-        A1oBwAz/AyoBQAQAAyoBQAT/A0cBgBAACP8UAAj/A0cBgBQACP8DRwGABAAI/wNHAYA0AAj/A0cBgAgA
-        IP8MAAj/A0cBgCQAA0cBgBD/CAAU/wQAIP8kAAT/BAAE/xAABP8DRwGABP8DRwGACAAM/wNHAYAEAANH
-        AYAE/wQADP8EAQj/CAAE/wNHAYAQAAj/FAAI/wNHAYAUAAj/A0cBgAQACP8DRwGAJAADRwGAA0cBgANH
-        AYADRwGACP8DRwGACAAM/wNHAYADRwGAA1oBwAj/DAAI/wNaAcADRwGAA0cBgANHAYADKgFAGAADRwGA
-        EP8DKgFABAADWgHABP8DWgHADAADWgHABP8DWgHAA0cBgBD/AyoBQBwABP8DRwGACP8DRwGACAAE/wNa
-        AcAE/wNHAYAEAAMqAUAE/wNaAcAE/wNaAcAEAANHAYAE/wNaAcAE/wNaAcAIAANHAYAE/wNHAYAEAAT/
-        A0cBgBAAJP8DRwGACP8MABj/A0cBgCQAGP8DRwGACAAM/wgAA0cBgAj/DAAY/wNHAYAcAANHAYAQ/wgA
-        BP8UAAT/CAADRwGAEP8cAAz/EAAM/wNHAYAEAANHAYAE/wNHAYAc/wNHAYAU/wQABP8DRwGAEAAk/wNH
-        AYAI/wwAGP8DRwGAJAAY/wNHAYAIAAz/CAADRwGACP8MABj/A0cBgCAAA0cBgBD/AyoBQCQAA1oBwBT/
-        AyoBQBQAA0cBgANHAYAI/wNHAYAcAANHAYAE/wgAAyoBQAj/A0cBgANHAYAc/wQABP8DRwGALAAI/wNH
-        AYAUAAj/A0cBgAgAA0cBgBD/A1oBwCQACP8DRwGACAAg/wwACP8DRwGANAADRwGAEP8YAAT/BAAg/xQA
-        DP8kAANHAYAI/wgACP8IAAj/DAAI/wQABP8DRwGALAAI/wNHAYAUAAj/A0cBgAgAGP8kAAj/A0cBgAgA
-        IP8MAAj/A0cBgDgAA0cBgBD/AyoBQAwAA1oBwAT/A1oBwAQAA1oBwAT/A1oBwANHAYAQ/wMqAUAUAAj/
-        A0cBgAgADP8DRwGABAADRwGAGP8DRwGBA0cBgAz/AyoBQAQAA1oBwAT/BAAE/wNHAYAQACT/A0cBgBQA
-        IP8DWgHACP8kAAj/A0cBgAgAIP8MAAj/A0cBgDwAA0cBgBD/CAAU/wQABP8IAANHAYAM/wNHAYAUAAT/
-        EAAE/wNHAYAE/wNHAYAEAANHAYAE/wNHAYAMABD/A0cBgAj/BAAI/wQABP8DRwGAEAAk/wNHAYAUACz/
-        FAAY/wNHAYA0ABj/A0cBgDAAA0cBgBD/AyoBQAQAA1oBwAz/AyoBQAwAA1oBwAz/A0cBgAwAEP8DRwGA
-        CAAE/wNHAYAE/wNHAYAEAAQBBP8DWgHACAADRwGABP8DRwGAA0cBgAT/BAADRwGABP8DRwGBBP8EAQQA
-        BP8DRwGAEAAI/xQACP8DRwGAFAAI/wNHAYAIABj/FAAc/zAAHP8DRwGANAADRwGAEP8IAAj/EAAU/xAA
-        BP8EAAT/EAAE/wNHAYAE/wNHAYAIABT/A0cBgQQAA0cBgAT/CAAI/wNHAYEIAAT/A0cBgBAACP8UAAj/
-        A0cBgBQACP8DRwGADAAQ/wNHAYAUAANHAYADRwGAA0cBgANHAYAQ/wNHAYADRwGAA0cBgANHAYADRwGA
-        A0cBgANHAYADRwGAA0cBgANHAYADWgHADP8DWgHAA0cBgANHAYADRwGAAyoBQDgAA0cBgBD/AyoBQAQA
-        AyoBQAwAA1oBwAz/A1oBwBQABP8DRwGACP8DRwGACAAE/wNaAcAE/wNHAYAMAANaAcAM/wQBBAADWgHA
-        BP8DKgFAA0cBgAj/AyoBQAQAAyoBQAT/A0cBgAgAA0cBgBD/A1oBwAwAKP8DRwGARABI/wNHAYBMAANH
-        AYAQ/xAAFP8YAAz/EAAM/wNHAYAQACj/DAAI/wNHAYAIABj/DAAo/wNHAYBEAAMqAUBA/wNHAYBUAANH
-        AYAQ/wMqAUAEAANaAcAM/wNaAcAkAAj/A0cBgCwAAyoBQANHAYAQ/wNaAcADRwGACAADKgFACP8DRwGA
-        DAAM/wNaAcAI/xQACP8DRwGABAAI/wNHAYBUAANHAYAI/wwACP8DRwGACAAM/2AAA0cBgCT/KAAE/1wA
-        A0cBgAT/A0cBgBAAGP8UAAj/A0cBgAQACP8DRwGAVAADRwGACP8MAAj/A0cBgAgADP9kAANHAYAY/wNa
-        AcAkAGz/A0cBgBQAGP8UAAj/A0cBgAQACP8DRwGAVAADRwGACP8MAAj/A0cBgAgADP9oAANHAYAU/7AA
-        EP8DRwGAhAADRwGACP8MAAj/A0cBgAgADP9sAANHAYAI/wNaAcD/AP8A/wD/AP8A/wD/AC8AAUIBTQE+
-        BwABPgMAASgDAAGAAwABYAMAAQEBAAEBBgABBhYAA/8BAAT/DAAE/wwABP8MAAT/DAABgAIAAQEMAAGA
-        AgABAQwAAYACAAEBDAAE/wwAAeACAAEDDAAB4AIAAQMMAAHgAgABAwwAAeMC/wHjDAAB4wL/AeMMAAHj
-        Av8B4wwAAeMC/wHjDAAB4wL/AeMMAAHjAv8B4wwAAeMC/wHjDAAB4wL/AeMMAAHjAv8B4wwAAeMC/wHj
-        DAAB4wL/AeMMAAHjAv8B4wwAAeMC/wHjDAAB4wL/AeMMAAHgAgABAwwAAeACAAEDDAAB4AIAAQMMAAT/
-        DAAE/wwABP8MAAT/DAAs/wHAAgABAwz/AYACAAEBAeACAAEDAf8B/gE/Bf8BgwL/AuACAAEDAf8B/gE/
-        A/8BHwH/AY8C/wH4AcACAAEDAf8B/gE/Av8B/AEfAeMBiAGAAQgBiAHHAv8B4wX/AfgBHwHjAYgBgAEI
-        AYgBxwH/AcYBIwH/Ae8B8wL/AeABHwHjAY8C/wH4AccB/wHAASMB/wHDAeMC/wHAAR8B4wGPAv8B+AHH
-        Af8BwAEjAf8BwAEDAf8B4AEAAR8B4wSIAccB/wHGASMB/wHAAQMB/wHgAQABHwHjBIgBxwL/AeMB/wHg
-        AQMB/wHgAQABGAHjAY8C/wH4AcACAAEDAfwC/wG/AeABAAEYAeMBjwL/AfgBwAIAAQMB+AE/Af4BDwHg
-        AQABGAHjBIgB4AIAAQMB+AEfAfgBDwHgAQABGAHjBIgB4wL/AcMB+AIAAR8B4AEAARgB4wGPAv8B8AHh
-        Av8BhwH+AgABPwHgAQABGAHjAYMC/wHgAeEC/wGHAY8CAAH4AeABAAEYAeMBgAIAAQEB8AL/AY8BDwHg
-        AQcB8AHgAQABGAHjAeACAAEDAfAC/wGPAQMC/wHAAeABAAEfAeMB/wH+AT8B/wH4Av8BDwGAAv8BgQH/
-        AYABHwHjAf8B/gE/Af8B+AL/AQ8BwAEPAfgBAwH/AYABHwHjAf8B/gE/Af8B+AF/Af4BHwHwAgABDwH/
-        AfABHwHjAf8B/gE/Af8B+AIAAR8B+AIAAR8B/wH4AR8B4wH/Af4BPwH/AfwCAAE/Af8CAAL/Af4BHwL/
-        AfwBPwH/AfwCAAE/Af8B4AEDAv8B/gEfAv8B/AF/Av8CAAr/AfwBfw7/AfwBfw7/AfwBP0L/AY4BMQL/
-        AeMC/wHvCP8BjgExAv8BwwL/Ae8I/wGOATEC/wGAAv8B7gEIAQABPwL/AfgBHwH/AY4BMQL/AQAC/wHu
-        AQgBAAE/Av8B+AEPAf8CAAH/Af4BAAE/Af8B7gKqAb8BwAH4AYgBDwH+AgABfwH8ARgBPwH/Ae4B6wH/
-        Ab8BwAH4AYgBDwH+AgABPwH4ATgBDwH/AYACAAEDAcAB+AGIAQ8B4AEfAfgBAwHwAXABDwH/Ae8C/wHj
-        AcAB+AGMAT8B4AE/AfwBAwHgAegBAwH/AYMBDwGAATEBwAHgAQIBPwHgAT8B/gEDAeEB5QGDAf8BrwEO
-        AQIBGALgAQIBPwH+ATABDgE/AeABgwGAAf8BowEOASYBCAHzAeMB4gE/Af4BMAEOAT8B4AHBAQAB/wGv
-        AQwBJAEMAfMB4wHiAT8B4AEwAQ4BAwHwASMBgAE/AYMBCAEgAcQB8AEAAeABPwHgATEBjgEDAfgBNwHY
-        AT8BjwEIAQABBAHwAQAB4AE/AeABMQGOAQMB/AEPAfgBDwGDAfkBgAEEAf8C4wEDAf4BMAEOAT8B/gEP
-        AdABDwGPAfgBzAHkAf8C4wEDAf4BMAEOAT8B/wEDAYgBAwHjAQgBAAEkAfABAwHgAQMB/gEwAQ4BPwH/
-        AYMBBQGDAe8BCAHgASQB8AEDAeABAwHgAT8B/gEDAf8BwAODAQgBwQEEAfMC4wEDAeABPwH8AQMB/wHg
-        Ac8BBwGvAQwBCQGMAfMC4wGDAeACAAEDAf8B8AEuAQ8BgwEOAggBwAHgAQMB/wH+AgABPwH/AfgBPAEf
-        AY8BDwEAATgBwAHgAQMB/wH+AgABfwH/AfwBCAE/AeMB/wGAAWEBwAH4AY8C/wGOATEC/wH+AQABfwHv
-        Av8B4wHAAfgBjwL/AY4BMQP/AQAB/wGAAgABBwHAAfgBjwL/AY4BMQP/AYEF/wHgBP8BjgExA/8Bwzn/
-        Cw==
+        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACy
+        GgAAAk1TRnQBSQFMAgEBCQIAAQ4BAAEOASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMA
+        AWADAAEBAQABIAYAAcD/AP8A/wD/AP8A/wD/AP8AHgADRwGAdP//AIkAA0cBgHT//wCJAAMqAUADRwGA
+        A0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGA
+        A0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgP8A/wD/AJMA
+        aP8DRwGA/wCVAGj/A0cBgP8AlQAI/wNaAcADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANH
+        AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYAI/wNHAYD/AJUA
+        CP8DRwGAVAAI/wNHAYD/AJUACP8DRwGAVAAI/wNHAYD/AJUACP8DRwGAVAAI/wNHAYD/AJUACP8DRwGA
+        VAAI/wNHAYD/AJUACP8DRwGAVAAI/wNHAYD/AJUACP8DRwGAVAAI/wNHAYD/AJUACP8DRwGAVAAI/wNH
+        AYD/AJUACP8DRwGAVAAI/wNHAYD/AJUACP8DRwGAVAAI/wNHAYD/AJUACP8DRwGAVAAI/wNHAYD/AJUA
+        CP8DRwGAVAAI/wNHAYD/AJUACP8DRwGAVAAI/wNHAYD/AJUACP8DRwGAVAAI/wNHAYD/AJUACP8DRwGA
+        VAAI/wNHAYD/AJUAaP8DRwGA/wCVAGj/A0cBgP8AlQBo/wNHAYD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
+        /wD/AP8A/wAfAANHAYBo/wNaAcD/AI0AA0cBgHT/EAADRwGAYP8DRwGAAyoBQEQACP8DRwGAvAAM/wNH
+        AYADKgFAVAADRwGADP8DRwGADABo/wNHAYBEAAj/A0cBgHgADP84AAj/A0cBgGQACP8DRwGACABw/0QA
+        A0cBgANHAYADKgFAcAADRwGAEP8gAANHAYADRwGAAyoBQAwACP8DRwGABAAI/wNHAYAEACj/A0cBgAQA
+        CP8DRwGABAAI/wNHAYAEAAj/A0cBgAgADP9YAANHAYAI/7wAGP8gAAj/A0cBgAwACP8DRwGABAAI/wNH
+        AYAEACj/A0cBgAQACP8DRwGABAAI/wNHAYAEAAj/A0cBgAgADP80AANHAYADRwGAA0cBgAgAA0cBgANH
+        AYADKgFABAADRwGACP80AANHAYAgAANHAYADKgFAVAADRwGAHP8gAAj/A0cBgAwACP8DRwGAZAAI/wNH
+        AYAIAAz/NAAM/wNHAYAQ/wQAA0cBgAj/MAAM/wNHAYAUAAz/UAAk/yAACP8DRwGADAAI/wNHAYBkAAj/
+        A0cBgAgADP80AAz/A0cBgBD/BAADRwGACP8wADD/NAADKgFAA0cBgANHAYADRwGAA0cBgANHAYAo/yAA
+        CP8DRwGADAAI/wNHAYAEAAj/A0cBgAQACP8DRwGABAAI/wNHAYAEAAj/A0cBgAQACP8DRwGABAAI/wNH
+        AYAEAAj/A0cBgAgADP80AAz/CAAI/wNHAYAEAANHAYAI/zAAMP80AED/IAAI/wNHAYAMAAj/A0cBgAQA
+        CP8DRwGABAAI/wNHAYAEAAj/A0cBgAQACP8DRwGABAAI/wNHAYAEAAj/A0cBgAQACP8DRwGACAAM/1gA
+        A0cBgAj/NAADRwGAA0cBgBj/A1oBwANHAYADKgFANABA/wgAA0cBgAj/DAAI/wNHAYAMAAj/A0cBgGQA
+        CP8DRwGACABw/yAABP8DRwGARAAE/yQAQP8IAANHAYAI/wwACP8DRwGADAAI/wNHAYBkAAj/A0cBgAgA
+        cP8cAANHAYAM/wMqAUA0AANHAYAM/wMqAUAcAED/CAADRwGACP8MAAj/A0cBgAwACP8DRwGABAAI/wNH
+        AYAEAAj/A0cBgAQACP8DRwGABAAI/wNHAYAEAAj/A0cBgAQACP8DRwGABAAI/wNHAYAMAGj/A0cBgBwA
+        A0cBgBT/KAADRwGAFP8DRwGAHABA/wgAA0cBgAj/DAAI/wNHAYAMAAj/A0cBgAQACP8DRwGABAAI/wNH
+        AYAEAAj/A0cBgAQACP8DRwGABAAI/wNHAYAEAAj/A0cBgAQACP8DRwGADAAM/1AADP8DRwGAHAADKgFA
+        GP8DRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgBj/A0cBgCAAQP8IAANHAYAI/wwACP8DRwGA
+        DAAI/wNaAcBgAANHAYAI/wNHAYAMAANHAYAM/0gAA0cBgAz/KABI/wNHAYAkAED/CAADRwGACP8MAAj/
+        A0cBgAwAEP8DRwGAVAAQ/wNHAYAMAANHAYAM/0gAA0cBgAz/EAADRwGAA0cBgAMqAUAQAANHAYADWgHA
+        NP8DRwGAFAADRwGAA0cBgAMqAUAMAED/CAADRwGACP8MAAj/A0cBgAwAAyoBQHD/A0cBgBQADP8DRwGA
+        RAAM/xAAEP8cAANHAYAk/xwAEP8MAED/CAADRwGACP8MAAj/A0cBgBQAaP8DRwGAGAAM/wNHAYBEAAz/
+        EAADRwGAEP8DWgHAUAADRwGAEP8DWgHADAADWgHAPP8gAAj/A0cBgEQAA1oBwAj/TAAM/0AADP8DRwGA
+        FAADRwGAFP8DRwGARAAY/ygAKP8gAAj/A0cBgEQAA0cBgAj/TAAM/0AADP8DRwGAGAADRwGAGP8DWgHA
+        A0cBgAMqAUAkAANHAYADRwGAGP8DWgHALAAEAQNHAYAg/yAACP8DRwGARAADRwGACP9MAANHAYAM/zgA
+        A0cBgAz/JABg/0AAHP8gAAj/A0cBgEQAA0cBgAj/TAADRwGADP8DRwGAA0cBgANHAYADRwGAA0cBgANH
+        AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANaAcAM/ygAAyoBQANHAYBI/wNaAcADRwGA
+        SAADRwGAFP8gAAj/A0cBgEQACP8DWgHAUABQ/zgAQP9cABD/bAAM/wNHAYBQAANHAYBI/wNaAcBEAANH
+        AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADKgFAZAAEAQNHAYADRwGAA0cBgGwA
+        DP9cAED//wBZAAz//wD1AAz//wD1AAz/A0cBgP8A/wD/AP8A/wD/AP8A/wBkAAMqAUADRwGAA0cBgAwA
+        A0cBgANHAYADKgFACAADRwGAA0cBgANHAYBQAANHAYADRwGAAyoBQFQAA0cBgP8AFQADRwGACP8MAAj/
+        A0cBgAgADP9MABD/VAAE//8AFQADRwGACP8MAAj/A0cBgAgADP9IAANaAcAU/wMqAUBMAAT/DAADRwGA
+        A0cBgANHAYADRwGAA0cBgAQAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANH
+        AYADRwGAA0cBgGwAAyoBQBD/A0cBgDgAA0cBgAj/DAAI/wNHAYAIAAz/RAAg/0wABP8MABT/BAA0/2wA
+        GP8DRwGAMAADRwGAA1oBwAj/A0cBgANHAYADRwGACP8DWgHAA0cBgANHAYAM/wNHAYA8AANaAcAM/wNa
+        AcADRwGAEP8DKgFARAAE/wwABP8EAAT/BAAE/wQABP8EAAT/BAAE/wQABP8EAAT/BAAE/wQABP8gAANH
+        AYAQ/wNaAcAUAANHAYADRwGAAyoBQAQAA0cBgANHAYADKgFABAAI/wNaAcADRwGACP8DRwGALAADRwGA
+        RP80ABT/CAADRwGAEP9EAAT/DAAE/wwABP8EAAT/LAAE/yAAGP8UAAj/A0cBgAQACP8DRwGABAAY/wNH
+        AYAsAEj/A0cBgCwAA1oBwAz/A1oBwAwAA1oBwBT/AyoBQDQAcP8DKgFAEAAM/wNaAcAI/xQACP8DRwGA
+        BAAI/wNHAYAEAANaAcAU/wMqAUAcACD/KAADRwGAHP8DRwGAGAAU/wwAIP88AAT/XAADRwGACP8QABj/
+        FAAI/wNHAYAEAAj/A0cBgAgAEP8kABj/A1oBwDAAA0cBgBj/A0cBgBQAA1oBwAz/A1oBwAwAAyoBQAQA
+        A1oBwAT/A1oBwANHAYAQ/wMqAUAsABD/A0cBgAgAA0cBgANHAYADRwGAAyoBQBQAA0cBgBj/A0cBgAMq
+        AUAIAANHAYAE/wNHAYAMABj/DAAo/wNHAYAEAAj/A0cBgCQAGP8DRwGANAAY/wNHAYAUABD/EAAI/wQA
+        BP8IAANHAYAQ/ywABP8EAAT/EAAM/wNHAYAMAAQBFP8DRwGABAAM/wQBCAADRwGABP8DRwGADAAQ/wNH
+        AYAMACj/A0cBgAQACP8DRwGANAAI/wNHAYAIACD/DAAI/wNHAYAkABD/AyoBQAQAAyoBQAz/A1oBwAwA
+        A1oBwBT/AyoBQCQABP8EAAj/A0cBgAgABP8DRwGABP8DRwGADAADWgHABP8DRwGABAADRwGABP8IAANa
+        AcAM/wMqAUAEAAMqAUAE/wNHAYAQAAj/FAAI/wNHAYAUAAj/A0cBgAQACP8DRwGANAAI/wNHAYAIACD/
+        DAAI/wNHAYAkAANHAYAQ/wgAFP8EACD/JAAE/wQABP8QAAT/A0cBgAT/A0cBgAgADP8DRwGABAADRwGA
+        BP8EAAz/BAEI/wgABP8DRwGAEAAI/xQACP8DRwGAFAAI/wNHAYAEAAj/A0cBgCQAA0cBgANHAYADRwGA
+        A0cBgAj/A0cBgAgADP8DRwGAA0cBgANaAcAI/wwACP8DWgHAA0cBgANHAYADRwGAAyoBQBgAA0cBgBD/
+        AyoBQAQAA1oBwAT/A1oBwAwAA1oBwAT/A1oBwANHAYAQ/wMqAUAcAAT/A0cBgAj/A0cBgAgABP8DWgHA
+        BP8DRwGABAADKgFABP8DWgHABP8DWgHABAADRwGABP8DWgHABP8DWgHACAADRwGABP8DRwGABAAE/wNH
+        AYAQACT/A0cBgAj/DAAY/wNHAYAkABj/A0cBgAgADP8IAANHAYAI/wwAGP8DRwGAHAADRwGAEP8IAAT/
+        FAAE/wgAA0cBgBD/HAAM/xAADP8DRwGABAADRwGABP8DRwGAHP8DRwGAFP8EAAT/A0cBgBAAJP8DRwGA
+        CP8MABj/A0cBgCQAGP8DRwGACAAM/wgAA0cBgAj/DAAY/wNHAYAgAANHAYAQ/wMqAUAkAANaAcAU/wMq
+        AUAUAANHAYADRwGACP8DRwGAHAADRwGABP8IAAMqAUAI/wNHAYADRwGAHP8EAAT/A0cBgCwACP8DRwGA
+        FAAI/wNHAYAIAANHAYAQ/wNaAcAkAAj/A0cBgAgAIP8MAAj/A0cBgDQAA0cBgBD/GAAE/wQAIP8UAAz/
+        JAADRwGACP8IAAj/CAAI/wwACP8EAAT/A0cBgCwACP8DRwGAFAAI/wNHAYAIABj/JAAI/wNHAYAIACD/
+        DAAI/wNHAYA4AANHAYAQ/wMqAUAMAANaAcAE/wNaAcAEAANaAcAE/wNaAcADRwGAEP8DKgFAFAAI/wNH
+        AYAIAAz/A0cBgAQAA0cBgBj/A0cBgQNHAYAM/wMqAUAEAANaAcAE/wQABP8DRwGAEAAk/wNHAYAUACD/
+        A1oBwAj/JAAI/wNHAYAIACD/DAAI/wNHAYA8AANHAYAQ/wgAFP8EAAT/CAADRwGADP8DRwGAFAAE/xAA
+        BP8DRwGABP8DRwGABAADRwGABP8DRwGADAAQ/wNHAYAI/wQACP8EAAT/A0cBgBAAJP8DRwGAFAAs/xQA
+        GP8DRwGANAAY/wNHAYAwAANHAYAQ/wMqAUAEAANaAcAM/wMqAUAMAANaAcAM/wNHAYAMABD/A0cBgAgA
+        BP8DRwGABP8DRwGABAAEAQT/A1oBwAgAA0cBgAT/A0cBgANHAYAE/wQAA0cBgAT/A0cBgQT/BAEEAAT/
+        A0cBgBAACP8UAAj/A0cBgBQACP8DRwGACAAY/xQAHP8wABz/A0cBgDQAA0cBgBD/CAAI/xAAFP8QAAT/
+        BAAE/xAABP8DRwGABP8DRwGACAAU/wNHAYEEAANHAYAE/wgACP8DRwGBCAAE/wNHAYAQAAj/FAAI/wNH
+        AYAUAAj/A0cBgAwAEP8DRwGAFAADRwGAA0cBgANHAYADRwGAEP8DRwGAA0cBgANHAYADRwGAA0cBgANH
+        AYADRwGAA0cBgANHAYADRwGAA1oBwAz/A1oBwANHAYADRwGAA0cBgAMqAUA4AANHAYAQ/wMqAUAEAAMq
+        AUAMAANaAcAM/wNaAcAUAAT/A0cBgAj/A0cBgAgABP8DWgHABP8DRwGADAADWgHADP8EAQQAA1oBwAT/
+        AyoBQANHAYAI/wMqAUAEAAMqAUAE/wNHAYAIAANHAYAQ/wNaAcAMACj/A0cBgEQASP8DRwGATAADRwGA
+        EP8QABT/GAAM/xAADP8DRwGAEAAo/wwACP8DRwGACAAY/wwAKP8DRwGARAADKgFAQP8DRwGAVAADRwGA
+        EP8DKgFABAADWgHADP8DWgHAJAAI/wNHAYAsAAMqAUADRwGAEP8DWgHAA0cBgAgAAyoBQAj/A0cBgAwA
+        DP8DWgHACP8UAAj/A0cBgAQACP8DRwGAVAADRwGACP8MAAj/A0cBgAgADP9gAANHAYAk/ygABP9cAANH
+        AYAE/wNHAYAQABj/FAAI/wNHAYAEAAj/A0cBgFQAA0cBgAj/DAAI/wNHAYAIAAz/ZAADRwGAGP8DWgHA
+        JABs/wNHAYAUABj/FAAI/wNHAYAEAAj/A0cBgFQAA0cBgAj/DAAI/wNHAYAIAAz/aAADRwGAFP+wABD/
+        A0cBgIQAA0cBgAj/DAAI/wNHAYAIAAz/bAADRwGACP8DWgHA/wD/AP8A/wD/AP8A/wAvAAFCAU0BPgcA
+        AT4DAAEoAwABgAMAAWADAAEBAQABAQYAAQYWAAP/AQAE/wwABP8MAAT/DAAE/wwAAYACAAEBDAABgAIA
+        AQEMAAGAAgABAQwABP8MAAHgAgABAwwAAeACAAEDDAAB4AIAAQMMAAHjAv8B4wwAAeMC/wHjDAAB4wL/
+        AeMMAAHjAv8B4wwAAeMC/wHjDAAB4wL/AeMMAAHjAv8B4wwAAeMC/wHjDAAB4wL/AeMMAAHjAv8B4wwA
+        AeMC/wHjDAAB4wL/AeMMAAHjAv8B4wwAAeMC/wHjDAAB4AIAAQMMAAHgAgABAwwAAeACAAEDDAAE/wwA
+        BP8MAAT/DAAE/wwALP8BwAIAAQMM/wGAAgABAQHgAgABAwH/Af4BPwX/AYMC/wLgAgABAwH/Af4BPwP/
+        AR8B/wGPAv8B+AHAAgABAwH/Af4BPwL/AfwBHwHjAYgBgAEIAYgBxwL/AeMF/wH4AR8B4wGIAYABCAGI
+        AccB/wHGASMB/wHvAfMC/wHgAR8B4wGPAv8B+AHHAf8BwAEjAf8BwwHjAv8BwAEfAeMBjwL/AfgBxwH/
+        AcABIwH/AcABAwH/AeABAAEfAeMEiAHHAf8BxgEjAf8BwAEDAf8B4AEAAR8B4wSIAccC/wHjAf8B4AED
+        Af8B4AEAARgB4wGPAv8B+AHAAgABAwH8Av8BvwHgAQABGAHjAY8C/wH4AcACAAEDAfgBPwH+AQ8B4AEA
+        ARgB4wSIAeACAAEDAfgBHwH4AQ8B4AEAARgB4wSIAeMC/wHDAfgCAAEfAeABAAEYAeMBjwL/AfAB4QL/
+        AYcB/gIAAT8B4AEAARgB4wGDAv8B4AHhAv8BhwGPAgAB+AHgAQABGAHjAYACAAEBAfAC/wGPAQ8B4AEH
+        AfAB4AEAARgB4wHgAgABAwHwAv8BjwEDAv8BwAHgAQABHwHjAf8B/gE/Af8B+AL/AQ8BgAL/AYEB/wGA
+        AR8B4wH/Af4BPwH/AfgC/wEPAcABDwH4AQMB/wGAAR8B4wH/Af4BPwH/AfgBfwH+AR8B8AIAAQ8B/wHw
+        AR8B4wH/Af4BPwH/AfgCAAEfAfgCAAEfAf8B+AEfAeMB/wH+AT8B/wH8AgABPwH/AgAC/wH+AR8C/wH8
+        AT8B/wH8AgABPwH/AeABAwL/Af4BHwL/AfwBfwL/AgAK/wH8AX8O/wH8AX8O/wH8AT9C/wGOATEC/wHj
+        Av8B7wj/AY4BMQL/AcMC/wHvCP8BjgExAv8BgAL/Ae4BCAEAAT8C/wH4AR8B/wGOATEC/wEAAv8B7gEI
+        AQABPwL/AfgBDwH/AgAB/wH+AQABPwH/Ae4CqgG/AcAB+AGIAQ8B/gIAAX8B/AEYAT8B/wHuAesB/wG/
+        AcAB+AGIAQ8B/gIAAT8B+AE4AQ8B/wGAAgABAwHAAfgBiAEPAeABHwH4AQMB8AFwAQ8B/wHvAv8B4wHA
+        AfgBjAE/AeABPwH8AQMB4AHoAQMB/wGDAQ8BgAExAcAB4AECAT8B4AE/Af4BAwHhAeUBgwH/Aa8BDgEC
+        ARgC4AECAT8B/gEwAQ4BPwHgAYMBgAH/AaMBDgEmAQgB8wHjAeIBPwH+ATABDgE/AeABwQEAAf8BrwEM
+        ASQBDAHzAeMB4gE/AeABMAEOAQMB8AEjAYABPwGDAQgBIAHEAfABAAHgAT8B4AExAY4BAwH4ATcB2AE/
+        AY8BCAEAAQQB8AEAAeABPwHgATEBjgEDAfwBDwH4AQ8BgwH5AYABBAH/AuMBAwH+ATABDgE/Af4BDwHQ
+        AQ8BjwH4AcwB5AH/AuMBAwH+ATABDgE/Af8BAwGIAQMB4wEIAQABJAHwAQMB4AEDAf4BMAEOAT8B/wGD
+        AQUBgwHvAQgB4AEkAfABAwHgAQMB4AE/Af4BAwH/AcADgwEIAcEBBAHzAuMBAwHgAT8B/AEDAf8B4AHP
+        AQcBrwEMAQkBjAHzAuMBgwHgAgABAwH/AfABLgEPAYMBDgIIAcAB4AEDAf8B/gIAAT8B/wH4ATwBHwGP
+        AQ8BAAE4AcAB4AEDAf8B/gIAAX8B/wH8AQgBPwHjAf8BgAFhAcAB+AGPAv8BjgExAv8B/gEAAX8B7wL/
+        AeMBwAH4AY8C/wGOATED/wEAAf8BgAIAAQcBwAH4AY8C/wGOATED/wGBBf8B4AT/AY4BMQP/AcM5/ws=
 </value>
   </data>
   <metadata name="defineCommandDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

+ 34 - 19
Optimizer/OptimizeHelper.cs

@@ -934,8 +934,7 @@ namespace Optimizer
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager", "RotatingLockScreenEnabled", "0", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager", "DisableWindowsSpotlightFeatures", "1", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager", "DisableTailoredExperiencesWithDiagnosticData", "1", RegistryValueKind.DWord);
-            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge", "SpotlightExperiencesAndRecommendationsEnabled", 0);
-            Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge", "SpotlightExperiencesAndRecommendationsEnabled", 0);
+            
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CloudContent", "DisableCloudOptimizedContent", 1);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection", "DoNotShowFeedbackNotifications", 1);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Feeds", "EnableFeeds", 0);
@@ -953,11 +952,6 @@ namespace Optimizer
             // Privacy -> Speech
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\InputPersonalization", "AllowInputPersonalization", 0);
 
-            // Microsoft Edge settings -> Privacy, search and services -> Personalize your web experience
-            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge", "PersonalizationReportingEnabled", 0);
-            Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge", "PersonalizationReportingEnabled", 0);
-            Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge", "UserFeedbackAllowed", 0);
-            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge", "UserFeedbackAllowed", 0);
             Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\SearchSettings", "SafeSearchMode", 0, RegistryValueKind.DWord);
 
             // Privacy -> Activity history -> Send my activity history to Microsoft
@@ -1069,8 +1063,7 @@ namespace Optimizer
             Utilities.TryDeleteRegistryValue(false, @"Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager", "RotatingLockScreenEnabled");
             Utilities.TryDeleteRegistryValue(false, @"Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager", "DisableWindowsSpotlightFeatures");
             Utilities.TryDeleteRegistryValue(false, @"Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager", "DisableTailoredExperiencesWithDiagnosticData");
-            Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Edge", "SpotlightExperiencesAndRecommendationsEnabled");
-            Utilities.TryDeleteRegistryValue(false, @"SOFTWARE\Policies\Microsoft\Edge", "SpotlightExperiencesAndRecommendationsEnabled");
+            
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\CloudContent", "DisableCloudOptimizedContent");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\DataCollection", "DoNotShowFeedbackNotifications");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\Windows Feeds", "EnableFeeds");
@@ -1086,11 +1079,7 @@ namespace Optimizer
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\TextInput", "AllowLinguisticDataCollection");
 
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\InputPersonalization", "AllowInputPersonalization");
-            Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Edge", "PersonalizationReportingEnabled");
-            Utilities.TryDeleteRegistryValue(true, @"Software\Policies\Microsoft\Edge", "UserFeedbackAllowed");
-            Utilities.TryDeleteRegistryValue(false, @"SOFTWARE\Policies\Microsoft\Edge", "PersonalizationReportingEnabled");
-            Utilities.TryDeleteRegistryValue(false, @"Software\Policies\Microsoft\Edge", "UserFeedbackAllowed");
-
+            
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\System", "UploadUserActivities");
 
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\System", "AllowCrossDeviceClipboard");
@@ -1459,8 +1448,7 @@ namespace Optimizer
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System", "EnableSmartScreen", "0", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer", "SmartScreenEnabled", "Off", RegistryValueKind.String);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\PhishingFilter", "EnabledV9", "0", RegistryValueKind.DWord);
-            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Edge\SmartScreenEnabled", "", 0);
-            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Edge\SmartScreenPuaEnabled", "", 0);
+            
             using (RegistryKey localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
             {
                 localMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Windows.SystemToast.SecurityAndMaintenance").SetValue("Enabled", 0);
@@ -1474,9 +1462,7 @@ namespace Optimizer
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System", "EnableSmartScreen", "1", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer", "SmartScreenEnabled", "On", RegistryValueKind.String);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\PhishingFilter", "EnabledV9", "1", RegistryValueKind.DWord);
-            Utilities.TryDeleteRegistryValue(false, @"Software\Microsoft\Edge\SmartScreenEnabled", "");
-            Utilities.TryDeleteRegistryValue(false, @"Software\Microsoft\Edge\SmartScreenPuaEnabled", "");
-        }
+                    }
 
         internal static void DisableCloudClipboard()
         {
@@ -1719,12 +1705,41 @@ namespace Optimizer
 
         internal static void DisableEdgeTelemetry()
         {
+            // Microsoft Edge settings -> Privacy, search and services -> Personalize your web experience
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge", "PersonalizationReportingEnabled", 0);
+            Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge", "PersonalizationReportingEnabled", 0);
+            Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge", "UserFeedbackAllowed", 0);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge", "UserFeedbackAllowed", 0);
 
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge", "MetricsReportingEnabled", 0);
+            Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge", "MetricsReportingEnabled", 0);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MicrosoftEdge\BooksLibrary", "EnableExtendedBooksTelemetry", 0, RegistryValueKind.DWord);
+            Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\MicrosoftEdge\BooksLibrary", "EnableExtendedBooksTelemetry", 0, RegistryValueKind.DWord);
+
+            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Edge\SmartScreenEnabled", "", 0);
+            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Edge\SmartScreenPuaEnabled", "", 0);
+
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge", "SpotlightExperiencesAndRecommendationsEnabled", 0);
+            Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge", "SpotlightExperiencesAndRecommendationsEnabled", 0);
         }
 
         internal static void EnableEdgeTelemetry()
         {
+            Utilities.TryDeleteRegistryValue(false, @"Software\Microsoft\Edge\SmartScreenEnabled", "");
+            Utilities.TryDeleteRegistryValue(false, @"Software\Microsoft\Edge\SmartScreenPuaEnabled", "");
 
+            Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Edge", "MetricsReportingEnabled");
+            Utilities.TryDeleteRegistryValue(false, @"SOFTWARE\Policies\Microsoft\Edge", "MetricsReportingEnabled");
+            Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\MicrosoftEdge\BooksLibrary", "EnableExtendedBooksTelemetry");
+            Utilities.TryDeleteRegistryValue(false, @"SOFTWARE\Policies\Microsoft\MicrosoftEdge\BooksLibrary", "EnableExtendedBooksTelemetry");
+
+            Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Edge", "PersonalizationReportingEnabled");
+            Utilities.TryDeleteRegistryValue(true, @"Software\Policies\Microsoft\Edge", "UserFeedbackAllowed");
+            Utilities.TryDeleteRegistryValue(false, @"SOFTWARE\Policies\Microsoft\Edge", "PersonalizationReportingEnabled");
+            Utilities.TryDeleteRegistryValue(false, @"Software\Policies\Microsoft\Edge", "UserFeedbackAllowed");
+
+            Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Edge", "SpotlightExperiencesAndRecommendationsEnabled");
+            Utilities.TryDeleteRegistryValue(false, @"SOFTWARE\Policies\Microsoft\Edge", "SpotlightExperiencesAndRecommendationsEnabled");
         }
 
         /* Apps-specific tweaks */

+ 16 - 9
Optimizer/Options.cs

@@ -16,8 +16,8 @@ namespace Optimizer
         public bool EnableTray { get; set; }
         public bool AutoStart { get; set; }
 
-        public string TelemetryClientID { get; set; }
-        public bool DisableOptimizerTelemetry { get; set; }
+        //public string TelemetryClientID { get; set; }
+        //public bool DisableOptimizerTelemetry { get; set; }
 
         public LanguageCode LanguageCode { get; set; }
 
@@ -89,6 +89,10 @@ namespace Optimizer
         public bool CompactMode { get; set; }
         public bool DisableStickers { get; set; }
         public bool DisableVBS { get; set; }
+
+        // advanced
+        public bool DisableHPET { get; set; }
+        public bool EnableLoginVerbose { get; set; }
     }
 
     internal static class Options
@@ -217,8 +221,8 @@ namespace Optimizer
                     CurrentOptions.EnableTray = false;
                     CurrentOptions.AutoStart = false;
 
-                    CurrentOptions.TelemetryClientID = Guid.NewGuid().ToString().ToUpperInvariant();
-                    CurrentOptions.DisableOptimizerTelemetry = false;
+                    //CurrentOptions.TelemetryClientID = Guid.NewGuid().ToString().ToUpperInvariant();
+                    //CurrentOptions.DisableOptimizerTelemetry = false;
 
                     CurrentOptions.LanguageCode = LanguageCode.EN;
 
@@ -284,6 +288,9 @@ namespace Optimizer
                     CurrentOptions.DisableStickers = false;
                     CurrentOptions.DisableVBS = false;
 
+                    CurrentOptions.DisableHPET = false;
+                    CurrentOptions.EnableLoginVerbose = false;
+
                     using (FileStream fs = File.Open(SettingsFile, FileMode.CreateNew))
                     using (StreamWriter sw = new StreamWriter(fs))
                     using (JsonWriter jw = new JsonTextWriter(sw))
@@ -306,11 +313,11 @@ namespace Optimizer
                 CurrentOptions.Theme = Color.FromArgb(153, 102, 204);
             }
             // generate random telemetry ID if not present
-            if (string.IsNullOrEmpty(CurrentOptions.TelemetryClientID))
-            {
-                CurrentOptions.TelemetryClientID = Guid.NewGuid().ToString().ToUpperInvariant();
-                SaveSettings();
-            }
+            //if (string.IsNullOrEmpty(CurrentOptions.TelemetryClientID))
+            //{
+            //    CurrentOptions.TelemetryClientID = Guid.NewGuid().ToString().ToUpperInvariant();
+            //    SaveSettings();
+            //}
 
             LoadTranslation();
         }

+ 6 - 6
Optimizer/Program.cs

@@ -310,10 +310,10 @@ namespace Optimizer
                     Options.LoadSettings();
                 }
 
-                if (!Options.CurrentOptions.DisableOptimizerTelemetry)
-                {
-                    TelemetryHelper.EnableTelemetryService();
-                }
+                //if (!Options.CurrentOptions.DisableOptimizerTelemetry)
+                //{
+                //    TelemetryHelper.EnableTelemetryService();
+                //}
 
                 // ideal place to replace internal messages from translation list
                 _adminMissingMessage = Options.TranslationList["adminMissingMsg"];
@@ -331,7 +331,7 @@ namespace Optimizer
             }
         }
 
-        private static void RestartInSafeMode()
+        internal static void RestartInSafeMode()
         {
             Utilities.RunCommand("bcdedit /set {current} safeboot Minimal");
             Thread.Sleep(500);
@@ -340,7 +340,7 @@ namespace Optimizer
             Environment.Exit(0);
         }
 
-        private static void RestartInNormalMode()
+        internal static void RestartInNormalMode()
         {
             Utilities.RunCommand("bcdedit /deletevalue {current} safeboot");
             Thread.Sleep(500);

+ 11 - 1
Optimizer/Resources/i18n/EL.json

@@ -435,5 +435,15 @@
 	"storeUpdatesTip": "Απενεργοποιεί τις ενημερώσεις του Microsoft Store.",
 	"btnRestoreUwp": "Επαναφορά όλων των UWP",
 	"restoreUwpMessage": "Είστε σίγουροι ότι θέλετε να επαναφέρετε όλες τις εφαρμογές UWP;",
-	"telemetrySvcToggle": "Απενεργοποίηση τηλεμετρίας Optimizer"
+	"telemetrySvcToggle": "Απενεργοποίηση τηλεμετρίας Optimizer",
+	"edgeAiSw": "Disable Edge Discover",
+	"edgeTelemetrySw": "Disable Edge Telemetry",
+	"edgeAiTip": "Removes Discover Bar in Edge.",
+	"edgeTelemetryTip": "Disables SmartScreen, Spotlight and Telemetry services in Edge.",
+	"hpetSw": "Disable HPET",
+	"loginVerboseSw": "Enable Detailed Login Screen",
+	"advancedTab": "Advanced",
+	"btnRestartSafe": "Restart in Safe Mode",
+	"btnRestart": "Restart in Normal Mode",
+	"btnRestartDisableDefender": "Restart && Disable Defender"
 }

+ 11 - 3
Optimizer/Resources/i18n/EN.json

@@ -42,7 +42,6 @@
 	"cleanerTab": "Cleaner",
 	"pingerTab": "Pinger",
 	"registryFixerTab": "Registry",
-	"advancedTab": "Advanced",
 	"integratorTab": "Integrator",
 	"CleanPreviewForm": "Clean Preview",
 	"optionsTab": "Options",
@@ -290,7 +289,6 @@
 	"trayHosts": "HOSTS Editor",
 	"trayAD": "Apps Downloader",
 	"trayOptions": "Options",
-	"trayAdvanced": "Advanced",
 	"trayRegistry": "Registry Repair",
 	"trayRestartExplorer": "Restart Explorer",
 	"trayExit": "Exit",
@@ -442,5 +440,15 @@ It has negative effect on performance.",
 	"winSearchTip": "Disables Windows search service.",
 	"btnRestoreUwp": "Restore all UWP",
 	"restoreUwpMessage": "Are you sure you want to do this?",
-	"telemetrySvcToggle": "Disable Optimizer Insights"
+	"telemetrySvcToggle": "Disable Optimizer Insights",
+	"edgeAiSw": "Disable Edge Discover",
+	"edgeTelemetrySw": "Disable Edge Telemetry",
+	"edgeAiTip": "Removes Discover Bar in Edge.",
+	"edgeTelemetryTip": "Disables SmartScreen, Spotlight and Telemetry services in Edge.",
+	"hpetSw": "Disable HPET",
+	"loginVerboseSw": "Enable Detailed Login Screen",
+	"advancedTab": "Advanced",
+	"btnRestartSafe": "Restart in Safe Mode",
+	"btnRestart": "Restart in Normal Mode",
+	"btnRestartDisableDefender": "Restart && Disable Defender"
 }

+ 11 - 2
Optimizer/Resources/i18n/JA.json

@@ -42,7 +42,6 @@
 	"cleanerTab": "クリーナー",
 	"pingerTab": "Ping",
 	"registryFixerTab": "レジストリ",
-	"advancedTab": "高度な設定",
 	"integratorTab": "Integrator",
 	"CleanPreviewForm": "Clean Preview",
 	"optionsTab": "オプション",
@@ -432,5 +431,15 @@ SMBv3に置き換えられており、そちらのほうがより安全です。
 	"winSearchTip": "Windows Searchサービスを無効化します。",
 	"btnRestoreUwp": "全てのUWPを復元",
 	"restoreUwpMessage": "本当に復元しますか?",
-	"telemetrySvcToggle": "Optimizerのテレメトリを無効にする"
+	"telemetrySvcToggle": "Optimizerのテレメトリを無効にする",
+	"edgeAiSw": "Disable Edge Discover",
+	"edgeTelemetrySw": "Disable Edge Telemetry",
+	"edgeAiTip": "Removes Discover Bar in Edge.",
+	"edgeTelemetryTip": "Disables SmartScreen, Spotlight and Telemetry services in Edge.",
+	"hpetSw": "Disable HPET",
+	"loginVerboseSw": "Enable Detailed Login Screen",
+	"advancedTab": "Advanced",
+	"btnRestartSafe": "Restart in Safe Mode",
+	"btnRestart": "Restart in Normal Mode",
+	"btnRestartDisableDefender": "Restart && Disable Defender"
 }

+ 11 - 1
Optimizer/Resources/i18n/PL.json

@@ -409,5 +409,15 @@
 	"storeUpdatesTip": "Wyłącza funkcję automatycznych aktualizacji Microsoft Store.",
 	"btnRestoreUwp": "Przywróć wszystkie platformy UWP",
 	"restoreUwpMessage": "Czy na pewno chcesz to zrobić?",
-	"telemetrySvcToggle": "Wyłącz telemetrię aplikacji"
+	"telemetrySvcToggle": "Wyłącz telemetrię aplikacji",
+	"edgeAiSw": "Disable Edge Discover",
+	"edgeTelemetrySw": "Disable Edge Telemetry",
+	"edgeAiTip": "Removes Discover Bar in Edge.",
+	"edgeTelemetryTip": "Disables SmartScreen, Spotlight and Telemetry services in Edge.",
+	"hpetSw": "Disable HPET",
+	"loginVerboseSw": "Enable Detailed Login Screen",
+	"advancedTab": "Advanced",
+	"btnRestartSafe": "Restart in Safe Mode",
+	"btnRestart": "Restart in Normal Mode",
+	"btnRestartDisableDefender": "Restart && Disable Defender"
 }

+ 11 - 1
Optimizer/Resources/i18n/PT.json

@@ -437,5 +437,15 @@ Tem efeito negativo no desempenho.",
 	"storeUpdatesTip": "Desativa a funcionalidade de atualizações automáticas da Microsoft Store.",
 	"btnRestoreUwp": "Restaurar todos os UWP",
 	"restoreUwpMessage": "Você tem certeza de que quer fazer isso?",
-	"telemetrySvcToggle": "Desativar a telemetria do otimizador"
+	"telemetrySvcToggle": "Desativar a telemetria do otimizador",
+	"edgeAiSw": "Disable Edge Discover",
+	"edgeTelemetrySw": "Disable Edge Telemetry",
+	"edgeAiTip": "Removes Discover Bar in Edge.",
+	"edgeTelemetryTip": "Disables SmartScreen, Spotlight and Telemetry services in Edge.",
+	"hpetSw": "Disable HPET",
+	"loginVerboseSw": "Enable Detailed Login Screen",
+	"advancedTab": "Advanced",
+	"btnRestartSafe": "Restart in Safe Mode",
+	"btnRestart": "Restart in Normal Mode",
+	"btnRestartDisableDefender": "Restart && Disable Defender"
 }

+ 11 - 1
Optimizer/Resources/i18n/RU.json

@@ -410,5 +410,15 @@
 	"storeUpdatesTip": "Отключает функцию автоматического обновления Microsoft Store.",
 	"btnRestoreUwp": "Восстановить все UWP",
 	"restoreUwpMessage": "Вы уверены, что хотите это сделать?",
-	"telemetrySvcToggle": "Отключить телеметрию данного приложения"
+	"telemetrySvcToggle": "Отключить телеметрию данного приложения",
+	"edgeAiSw": "Disable Edge Discover",
+	"edgeTelemetrySw": "Disable Edge Telemetry",
+	"edgeAiTip": "Removes Discover Bar in Edge.",
+	"edgeTelemetryTip": "Disables SmartScreen, Spotlight and Telemetry services in Edge.",
+	"hpetSw": "Disable HPET",
+	"loginVerboseSw": "Enable Detailed Login Screen",
+	"advancedTab": "Advanced",
+	"btnRestartSafe": "Restart in Safe Mode",
+	"btnRestart": "Restart in Normal Mode",
+	"btnRestartDisableDefender": "Restart && Disable Defender"
 }

+ 6 - 0
Optimizer/SilentConfig.cs

@@ -34,6 +34,9 @@ namespace Optimizer
         public bool? DisableChromeTelemetry { get; set; }
         public bool? DisableNVIDIATelemetry { get; set; }
 
+        public bool? DisableEdgeDiscoverBar { get; set; }
+        public bool? DisableEdgeTelemetry { get; set; }
+
         public bool? EnableLegacyVolumeSlider { get; set; }
         public bool? DisableQuickAccessHistory { get; set; }
         public bool? DisableStartMenuAds { get; set; }
@@ -66,5 +69,8 @@ namespace Optimizer
         public bool? CompactMode { get; set; }
         public bool? DisableStickers { get; set; }
         public bool? DisableVBS { get; set; }
+
+        public bool? DisableHPET { get; set; }
+        public bool? EnableLoginVerbose { get; set; }
     }
 }

+ 64 - 1
Optimizer/SilentOps.cs

@@ -313,6 +313,30 @@ namespace Optimizer
                     OptimizeHelper.EnableNvidiaTelemetry();
                 }
             }
+
+            if (CurrentSilentConfig.DisableHPET.HasValue)
+            {
+                if (CurrentSilentConfig.DisableHPET.Value)
+                {
+                    Utilities.DisableHPET();
+                }
+                else
+                {
+                    Utilities.EnableHPET();
+                }
+            }
+
+            if (CurrentSilentConfig.EnableLoginVerbose.HasValue)
+            {
+                if (CurrentSilentConfig.EnableLoginVerbose.Value)
+                {
+                    Utilities.EnableLoginVerbose();
+                }
+                else
+                {
+                    Utilities.DisableLoginVerbose();
+                }
+            }
         }
 
         // silent config processing for Windows 8 tweaks
@@ -329,7 +353,6 @@ namespace Optimizer
                     OptimizeHelper.EnableOneDrive();
                 }
             }
-
         }
 
         // silent config processing for Windows 10 tweaks
@@ -588,6 +611,30 @@ namespace Optimizer
                     OptimizeHelper.AddCastToDevice();
                 }
             }
+
+            if (CurrentSilentConfig.DisableEdgeTelemetry.HasValue)
+            {
+                if (CurrentSilentConfig.DisableEdgeTelemetry.Value)
+                {
+                    OptimizeHelper.DisableEdgeTelemetry();
+                }
+                else
+                {
+                    OptimizeHelper.EnableEdgeTelemetry();
+                }
+            }
+
+            if (CurrentSilentConfig.DisableEdgeDiscoverBar.HasValue)
+            {
+                if (CurrentSilentConfig.DisableEdgeDiscoverBar.Value)
+                {
+                    OptimizeHelper.DisableEdgeDiscoverBar();
+                }
+                else
+                {
+                    OptimizeHelper.EnableEdgeDiscoverBar();
+                }
+            }
         }
 
         // silent config processing for Windows 11 tweaks
@@ -801,6 +848,14 @@ namespace Optimizer
             {
                 Options.CurrentOptions.DisableNVIDIATelemetry = CurrentSilentConfig.DisableNVIDIATelemetry.Value;
             }
+            if (CurrentSilentConfig.DisableHPET.HasValue)
+            {
+                Options.CurrentOptions.DisableHPET = CurrentSilentConfig.DisableHPET.Value;
+            }
+            if (CurrentSilentConfig.EnableLoginVerbose.HasValue)
+            {
+                Options.CurrentOptions.EnableLoginVerbose = CurrentSilentConfig.EnableLoginVerbose.Value;
+            }
         }
 
         internal static void SilentUpdateOptions8()
@@ -937,6 +992,14 @@ namespace Optimizer
             {
                 Options.CurrentOptions.RemoveCastToDevice = CurrentSilentConfig.RemoveCastToDevice.Value;
             }
+            if (CurrentSilentConfig.DisableEdgeDiscoverBar.HasValue)
+            {
+                Options.CurrentOptions.DisableEdgeDiscoverBar = CurrentSilentConfig.DisableEdgeDiscoverBar.Value;
+            }
+            if (CurrentSilentConfig.DisableEdgeTelemetry.HasValue)
+            {
+                Options.CurrentOptions.DisableEdgeTelemetry = CurrentSilentConfig.DisableEdgeTelemetry.Value;
+            }
         }
     }
 }

+ 31 - 31
Optimizer/TelemetryData.cs

@@ -1,36 +1,36 @@
-using System;
+//using System;
 
-namespace Optimizer
-{
-    [Serializable]
-    public sealed class TelemetryData
-    {
-        // General data
-        public string Timestamp { get; set; }
-        public string Country { get; set; }
+//namespace Optimizer
+//{
+//    [Serializable]
+//    public sealed class TelemetryData
+//    {
+//        // General data
+//        public string Timestamp { get; set; }
+//        public string Country { get; set; }
 
-        // Windows environment info
-        public string WindowsVersion { get; set; }
-        public string DotNetVersion { get; set; }
+//        // Windows environment info
+//        public string WindowsVersion { get; set; }
+//        public string DotNetVersion { get; set; }
 
-        // Optimizer-specific details
-        public string OptimizerVersion { get; set; }
-        public string LanguageCode { get; set; }
-        public string TelemetryID { get; set; }
-        public string UnsafeMode { get; set; }
-        public string ExperimentalBuild { get; set; }
-        public string SavedOptions { get; set; }
+//        // Optimizer-specific details
+//        public string OptimizerVersion { get; set; }
+//        public string LanguageCode { get; set; }
+//        public string TelemetryID { get; set; }
+//        public string UnsafeMode { get; set; }
+//        public string ExperimentalBuild { get; set; }
+//        public string SavedOptions { get; set; }
 
-        // Exception details
-        public string FunctionName { get; set; }
-        public string ErrorMessage { get; set; }
-        public string StackTrace { get; set; }
-    }
+//        // Exception details
+//        public string FunctionName { get; set; }
+//        public string ErrorMessage { get; set; }
+//        public string StackTrace { get; set; }
+//    }
 
-    [Serializable]
-    public sealed class GeoLookupResult
-    {
-        public string status { get; set; }
-        public string country { get; set; }
-    }
-}
+//    [Serializable]
+//    public sealed class GeoLookupResult
+//    {
+//        public string status { get; set; }
+//        public string country { get; set; }
+//    }
+//}

+ 76 - 76
Optimizer/TelemetryHelper.cs

@@ -1,86 +1,86 @@
-using Newtonsoft.Json;
-using System;
-using System.Net.Http;
-using System.Net.Http.Headers;
-using System.Text;
-using System.Threading.Tasks;
+//using Newtonsoft.Json;
+//using System;
+//using System.Net.Http;
+//using System.Net.Http.Headers;
+//using System.Text;
+//using System.Threading.Tasks;
 
-namespace Optimizer
-{
-    internal static class TelemetryHelper
-    {
-        const string GEO_LOOKUP_URL = "http://ip-api.com/json/";
-        static TelemetryData telemetryEntry = new TelemetryData();
+//namespace Optimizer
+//{
+//    internal static class TelemetryHelper
+//    {
+//        const string GEO_LOOKUP_URL = "http://ip-api.com/json/";
+//        static TelemetryData telemetryEntry = new TelemetryData();
 
-        internal static HttpClient TelemetryClient;
+//        internal static HttpClient TelemetryClient;
 
-        internal const string TELEMETRY_API_URL = "https://optimizer-telemetry-handler.azurewebsites.net/telemetry.php";
-        internal const string TELEMETRY_KEY = @"{OPTIMIZER-0EFC7B8A-D1FC-467F-B4B1-0117C643FE19-TELEMETRY}";
+//        internal const string TELEMETRY_API_URL = "https://optimizer-telemetry-handler.azurewebsites.net/telemetry.php";
+//        internal const string TELEMETRY_KEY = @"{OPTIMIZER-0EFC7B8A-D1FC-467F-B4B1-0117C643FE19-TELEMETRY}";
 
-        internal static async void EnableTelemetryService()
-        {
-            TelemetryClient = new HttpClient();
-            TelemetryClient.BaseAddress = new Uri(TELEMETRY_API_URL);
-            TelemetryClient.DefaultRequestHeaders.Add("Optimizertelemetrykey", TELEMETRY_KEY);
-            TelemetryClient.DefaultRequestHeaders
-              .Accept
-              .Add(new MediaTypeWithQualityHeaderValue("application/json"));
+//        internal static async void EnableTelemetryService()
+//        {
+//            TelemetryClient = new HttpClient();
+//            TelemetryClient.BaseAddress = new Uri(TELEMETRY_API_URL);
+//            TelemetryClient.DefaultRequestHeaders.Add("Optimizertelemetrykey", TELEMETRY_KEY);
+//            TelemetryClient.DefaultRequestHeaders
+//              .Accept
+//              .Add(new MediaTypeWithQualityHeaderValue("application/json"));
 
-            await CacheTelemetryData();
-        }
+//            await CacheTelemetryData();
+//        }
 
-        internal static async Task<string> GetSessionCountry()
-        {
-            try
-            {
-                string result = await TelemetryClient.GetStringAsync(GEO_LOOKUP_URL);
-                GeoLookupResult x = JsonConvert.DeserializeObject<GeoLookupResult>(result);
-                if (x.status == "success")
-                {
-                    return x.country;
-                }
-                else
-                {
-                    return "Unknown";
-                }
-            }
-            catch
-            {
-                return "Unknown";
-            }
-        }
+//        internal static async Task<string> GetSessionCountry()
+//        {
+//            try
+//            {
+//                string result = await TelemetryClient.GetStringAsync(GEO_LOOKUP_URL);
+//                GeoLookupResult x = JsonConvert.DeserializeObject<GeoLookupResult>(result);
+//                if (x.status == "success")
+//                {
+//                    return x.country;
+//                }
+//                else
+//                {
+//                    return "Unknown";
+//                }
+//            }
+//            catch
+//            {
+//                return "Unknown";
+//            }
+//        }
 
-        internal static async Task CacheTelemetryData()
-        {
-            telemetryEntry.Country = await GetSessionCountry();
-            telemetryEntry.WindowsVersion = Utilities.GetWindowsDetails();
-            telemetryEntry.DotNetVersion = Utilities.GetNETFramework();
-            telemetryEntry.OptimizerVersion = Program.GetCurrentVersionTostring();
-            telemetryEntry.UnsafeMode = Program.UNSAFE_MODE.ToString();
-            telemetryEntry.ExperimentalBuild = Program.EXPERIMENTAL_BUILD.ToString();
-            telemetryEntry.TelemetryID = Options.CurrentOptions.TelemetryClientID;
-        }
+//        internal static async Task CacheTelemetryData()
+//        {
+//            telemetryEntry.Country = await GetSessionCountry();
+//            telemetryEntry.WindowsVersion = Utilities.GetWindowsDetails();
+//            telemetryEntry.DotNetVersion = Utilities.GetNETFramework();
+//            telemetryEntry.OptimizerVersion = Program.GetCurrentVersionTostring();
+//            telemetryEntry.UnsafeMode = Program.UNSAFE_MODE.ToString();
+//            telemetryEntry.ExperimentalBuild = Program.EXPERIMENTAL_BUILD.ToString();
+//            telemetryEntry.TelemetryID = Options.CurrentOptions.TelemetryClientID;
+//        }
 
-        internal static void GenerateTelemetryData(string functionName, string errorMessage, string errorStackTrace)
-        {
-            telemetryEntry.Timestamp = string.Format("{0:yyyy-MM-ddTHH:mm:ss.FFFZ}", DateTime.UtcNow);
-            telemetryEntry.LanguageCode = Enum.GetName(typeof(LanguageCode), Options.CurrentOptions.LanguageCode);
-            telemetryEntry.SavedOptions = JsonConvert.SerializeObject(Options.CurrentOptions, Formatting.Indented);
-            telemetryEntry.FunctionName = functionName;
-            telemetryEntry.ErrorMessage = errorMessage;
-            telemetryEntry.StackTrace = errorStackTrace;
+//        internal static void GenerateTelemetryData(string functionName, string errorMessage, string errorStackTrace)
+//        {
+//            telemetryEntry.Timestamp = string.Format("{0:yyyy-MM-ddTHH:mm:ss.FFFZ}", DateTime.UtcNow);
+//            telemetryEntry.LanguageCode = Enum.GetName(typeof(LanguageCode), Options.CurrentOptions.LanguageCode);
+//            telemetryEntry.SavedOptions = JsonConvert.SerializeObject(Options.CurrentOptions, Formatting.Indented);
+//            telemetryEntry.FunctionName = functionName;
+//            telemetryEntry.ErrorMessage = errorMessage;
+//            telemetryEntry.StackTrace = errorStackTrace;
 
-            SendTelemetryData(telemetryEntry);
-        }
+//            SendTelemetryData(telemetryEntry);
+//        }
 
-        internal static void SendTelemetryData(TelemetryData entry)
-        {
-            try
-            {
-                StringContent bodyContent = new StringContent(JsonConvert.SerializeObject(telemetryEntry, Formatting.Indented), Encoding.UTF8, "application/json");
-                TelemetryClient.PostAsync(TelemetryClient.BaseAddress, bodyContent);
-            }
-            catch { }
-        }
-    }
-}
+//        internal static void SendTelemetryData(TelemetryData entry)
+//        {
+//            try
+//            {
+//                StringContent bodyContent = new StringContent(JsonConvert.SerializeObject(telemetryEntry, Formatting.Indented), Encoding.UTF8, "application/json");
+//                TelemetryClient.PostAsync(TelemetryClient.BaseAddress, bodyContent);
+//            }
+//            catch { }
+//        }
+//    }
+//}

+ 10 - 0
Optimizer/Utilities.cs

@@ -676,6 +676,16 @@ namespace Optimizer
             catch { }
         }
 
+        internal static void EnableLoginVerbose()
+        {
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "verbosestatus", 1, RegistryValueKind.DWord);
+        }
+
+        internal static void DisableLoginVerbose()
+        {
+            Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "verbosestatus");
+        }
+
         // [!!!]
         internal static void UnlockAllCores()
         {

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików