From b00fe1b530975c9b0053254fe9c74c3e4b64893c Mon Sep 17 00:00:00 2001 From: terrymacdonald Date: Fri, 22 Apr 2022 08:35:45 +1200 Subject: [PATCH 01/60] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1185406..9e0077e 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ DisplayMagician lets you set up the following information for each game or appli * Or maybe just create a Shortcut that permanently changes to a different Display Profile! The options are endless. * Also comes with a Shell Extension that allows you to change to a different Display Profile by right-clicking on the desktop background! * Supports NVIDIA Surround setups, AMD Eyefinity setups and standard Windows multi-desktop views. -* Supports USB display devices and works with SuperDisplay (Android Tablets as a display) +* Supports USB display devices, wireless display devices and works with SuperDisplay and Spacedesk (Android Tablets as a display) * Supports cloned displays, extended displays, NVIDIA Surround with additional displays, and nearly anything else you can throw at it! ## Planned features From 8c05438a219a74eb1989f24eb93f7e9aceb0fbe7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 May 2022 08:32:05 +0000 Subject: [PATCH 02/60] Bump protobuf-net from 3.1.0 to 3.1.4 Bumps [protobuf-net](https://github.com/protobuf-net/protobuf-net) from 3.1.0 to 3.1.4. - [Release notes](https://github.com/protobuf-net/protobuf-net/releases) - [Changelog](https://github.com/protobuf-net/protobuf-net/blob/main/docs/releasenotes.md) - [Commits](https://github.com/protobuf-net/protobuf-net/compare/3.1.0...3.1.4) --- updated-dependencies: - dependency-name: protobuf-net dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- DisplayMagician/DisplayMagician.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 31a4933..b97cebd 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -345,7 +345,7 @@ 4.7.15 - 3.1.0 + 3.1.4 1.0.0 From 1f94de1ebb6ff7573f7c75eb9b3b1cd341468c5a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 May 2022 08:22:27 +0000 Subject: [PATCH 03/60] Bump Microsoft.NET.Test.Sdk from 17.1.0 to 17.2.0 Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.1.0 to 17.2.0. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v17.1.0...v17.2.0) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- DisplayMagicianTests/DisplayMagicianTests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DisplayMagicianTests/DisplayMagicianTests.csproj b/DisplayMagicianTests/DisplayMagicianTests.csproj index d158b4b..dc78d4a 100644 --- a/DisplayMagicianTests/DisplayMagicianTests.csproj +++ b/DisplayMagicianTests/DisplayMagicianTests.csproj @@ -21,7 +21,7 @@ - + From 335250035ca4c87b20aba209b689409f68601d73 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 May 2022 08:27:33 +0000 Subject: [PATCH 04/60] Bump NLog from 4.7.15 to 5.0.0 Bumps [NLog](https://github.com/NLog/NLog) from 4.7.15 to 5.0.0. - [Release notes](https://github.com/NLog/NLog/releases) - [Changelog](https://github.com/NLog/NLog/blob/dev/CHANGELOG.md) - [Commits](https://github.com/NLog/NLog/compare/v4.7.15...v5.0) --- updated-dependencies: - dependency-name: NLog dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- DisplayMagician/DisplayMagician.csproj | 2 +- DisplayMagicianShared/DisplayMagicianShared.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 31a4933..2aebfdb 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -342,7 +342,7 @@ 2.1.0 - 4.7.15 + 5.0.0 3.1.0 diff --git a/DisplayMagicianShared/DisplayMagicianShared.csproj b/DisplayMagicianShared/DisplayMagicianShared.csproj index 4d924e1..75e5830 100644 --- a/DisplayMagicianShared/DisplayMagicianShared.csproj +++ b/DisplayMagicianShared/DisplayMagicianShared.csproj @@ -134,7 +134,7 @@ 2.1.0 - 4.7.15 + 5.0.0 From 0e42a3aad39e927be67f862b64bad129c0de5194 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Wed, 18 May 2022 21:36:01 +1200 Subject: [PATCH 05/60] Bugfix to stop high CPU usage. --- DisplayMagician/Program.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index fc26da0..fb815b7 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -1134,7 +1134,7 @@ namespace DisplayMagician { //taskToRun.RunSynchronously(); while (!taskToRun.IsCompleted) { - Task.Delay(1000); + Thread.Sleep(1000); Application.DoEvents(); if (Program.AppCancellationTokenSource.Token.IsCancellationRequested) { From 6d8da7f4781cc123cb137e7dabc80a541f24ea89 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Wed, 25 May 2022 08:51:56 +1200 Subject: [PATCH 06/60] Handle empty Steam Libraries without breaking Fixes #108. --- DisplayMagician/GameLibraries/GameLibrary.cs | 12 +- DisplayMagician/GameLibraries/SteamLibrary.cs | 147 ++++++++++-------- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/UIForms/MainForm.cs | 14 +- 4 files changed, 100 insertions(+), 77 deletions(-) diff --git a/DisplayMagician/GameLibraries/GameLibrary.cs b/DisplayMagician/GameLibraries/GameLibrary.cs index 7069d7f..c257477 100644 --- a/DisplayMagician/GameLibraries/GameLibrary.cs +++ b/DisplayMagician/GameLibraries/GameLibrary.cs @@ -8,12 +8,12 @@ namespace DisplayMagician.GameLibraries { public enum SupportedGameLibraryType { - Unknown, - Steam, - Uplay, - Origin, - Epic, - GOG + Unknown = 0, + Steam = 1, + Uplay = 2, + Origin = 3, + Epic = 4, + GOG = 5 } public class GameLibrary diff --git a/DisplayMagician/GameLibraries/SteamLibrary.cs b/DisplayMagician/GameLibraries/SteamLibrary.cs index 4622bce..3795d53 100644 --- a/DisplayMagician/GameLibraries/SteamLibrary.cs +++ b/DisplayMagician/GameLibraries/SteamLibrary.cs @@ -705,86 +705,105 @@ namespace DisplayMagician.GameLibraries { // Work out the path to the appmanifests for this steamLibrary string steamLibraryAppManifestPath = Path.Combine(steamLibraryPath, @"steamapps"); - // Get the names of the App Manifests for the games installed in this SteamLibrary - string[] steamLibraryAppManifestFilenames = Directory.GetFiles(steamLibraryAppManifestPath, "appmanifest_*.acf"); - // Go through each app and extract it's details - foreach (string steamLibraryAppManifestFilename in steamLibraryAppManifestFilenames) + try { - logger.Trace($"SteamLibrary/LoadInstalledGames: Found {steamLibraryAppManifestFilename} app manifest within steam library {steamLibraryPath}"); - // Read in the contents of the file - string steamLibraryAppManifestText = File.ReadAllText(steamLibraryAppManifestFilename); - // Grab the appid from the file - Regex appidRegex = new Regex(@"""appid""\s+""(\d+)""", RegexOptions.IgnoreCase); - Match appidMatches = appidRegex.Match(steamLibraryAppManifestText); - if (appidMatches.Success) + // Get the names of the App Manifests for the games installed in this SteamLibrary + string[] steamLibraryAppManifestFilenames = Directory.GetFiles(steamLibraryAppManifestPath, "appmanifest_*.acf"); + // Go through each app and extract it's details + foreach (string steamLibraryAppManifestFilename in steamLibraryAppManifestFilenames) { - if (!String.IsNullOrWhiteSpace(appidMatches.Groups[1].Value)) + logger.Trace($"SteamLibrary/LoadInstalledGames: Found {steamLibraryAppManifestFilename} app manifest within steam library {steamLibraryPath}"); + // Read in the contents of the file + string steamLibraryAppManifestText = File.ReadAllText(steamLibraryAppManifestFilename); + // Grab the appid from the file + Regex appidRegex = new Regex(@"""appid""\s+""(\d+)""", RegexOptions.IgnoreCase); + Match appidMatches = appidRegex.Match(steamLibraryAppManifestText); + if (appidMatches.Success) { - string steamGameId = appidMatches.Groups[1].Value; - logger.Trace($"SteamLibrary/LoadInstalledGames: Found Steam Game ID {steamGameId} within {steamLibraryAppManifestFilename} steam app manifest within steam library {steamLibraryPath}"); - // Check if this game is one that was installed - if (steamAppInfo.ContainsKey(steamGameId)) + if (!String.IsNullOrWhiteSpace(appidMatches.Groups[1].Value)) { - logger.Trace($"SteamLibrary/LoadInstalledGames: Steam Game ID {steamGameId} is installed within steam library {steamLibraryPath}!"); - // This game is an installed game! so we start to populate it with data! - string steamGameExe = ""; - - string steamGameName = steamAppInfo[steamGameId].GameName; - - // Construct the full path to the game dir from the appInfo and libraryAppManifest data - string steamGameInstallDir = Path.Combine(steamLibraryPath, @"steamapps", @"common", steamAppInfo[steamGameId].GameInstallDir); - - logger.Trace($"SteamLibrary/LoadInstalledGames: Looking for Steam Game ID {steamGameId} at {steamGameInstallDir }"); - - // And finally we try to populate the 'where', to see what gets run - // And so we can extract the process name - if (steamAppInfo[steamGameId].GameExes.Count > 0) + string steamGameId = appidMatches.Groups[1].Value; + logger.Trace($"SteamLibrary/LoadInstalledGames: Found Steam Game ID {steamGameId} within {steamLibraryAppManifestFilename} steam app manifest within steam library {steamLibraryPath}"); + // Check if this game is one that was installed + if (steamAppInfo.ContainsKey(steamGameId)) { - foreach (string gameExe in steamAppInfo[steamGameId].GameExes) + logger.Trace($"SteamLibrary/LoadInstalledGames: Steam Game ID {steamGameId} is installed within steam library {steamLibraryPath}!"); + // This game is an installed game! so we start to populate it with data! + string steamGameExe = ""; + + string steamGameName = steamAppInfo[steamGameId].GameName; + + // Construct the full path to the game dir from the appInfo and libraryAppManifest data + string steamGameInstallDir = Path.Combine(steamLibraryPath, @"steamapps", @"common", steamAppInfo[steamGameId].GameInstallDir); + + logger.Trace($"SteamLibrary/LoadInstalledGames: Looking for Steam Game ID {steamGameId} at {steamGameInstallDir }"); + + // And finally we try to populate the 'where', to see what gets run + // And so we can extract the process name + if (steamAppInfo[steamGameId].GameExes.Count > 0) { - steamGameExe = Path.Combine(steamGameInstallDir, gameExe); - logger.Trace($"SteamLibrary/LoadInstalledGames: Looking for Steam Game Exe {steamGameExe} for Steam Game ID {steamGameId} at {steamGameInstallDir }"); - // If the game executable exists, then we can proceed - if (File.Exists(steamGameExe)) + foreach (string gameExe in steamAppInfo[steamGameId].GameExes) { - logger.Debug($"SteamLibrary/LoadInstalledGames: Found Steam Game Exe {steamGameExe} for Steam Game ID {steamGameId} at {steamGameInstallDir }"); - break; + steamGameExe = Path.Combine(steamGameInstallDir, gameExe); + logger.Trace($"SteamLibrary/LoadInstalledGames: Looking for Steam Game Exe {steamGameExe} for Steam Game ID {steamGameId} at {steamGameInstallDir }"); + // If the game executable exists, then we can proceed + if (File.Exists(steamGameExe)) + { + logger.Debug($"SteamLibrary/LoadInstalledGames: Found Steam Game Exe {steamGameExe} for Steam Game ID {steamGameId} at {steamGameInstallDir }"); + break; + } } + } - } + // Next, we need to get the Icons we want to use, and make sure it's the latest one. + string steamGameIconPath = ""; + // First of all, we attempt to use the Icon that Steam has cached, if it's available, as that will be updated to the latest + if (File.Exists(steamAppInfo[steamGameId].GameIconPath) && steamAppInfo[steamGameId].GameIconPath.EndsWith(".ico")) + { + steamGameIconPath = steamAppInfo[steamGameId].GameIconPath; + logger.Debug($"SteamLibrary/LoadInstalledGames: Found Steam Game Icon Path {steamGameIconPath} for Steam Game ID {steamGameId} at {steamGameInstallDir }"); - // Next, we need to get the Icons we want to use, and make sure it's the latest one. - string steamGameIconPath = ""; - // First of all, we attempt to use the Icon that Steam has cached, if it's available, as that will be updated to the latest - if (File.Exists(steamAppInfo[steamGameId].GameIconPath) && steamAppInfo[steamGameId].GameIconPath.EndsWith(".ico")) - { - steamGameIconPath = steamAppInfo[steamGameId].GameIconPath; - logger.Debug($"SteamLibrary/LoadInstalledGames: Found Steam Game Icon Path {steamGameIconPath} for Steam Game ID {steamGameId} at {steamGameInstallDir }"); + } + // If there isn't an icon for us to use, then we need to extract one from the Game Executables + else if (!String.IsNullOrEmpty(steamGameExe)) + { + steamGameIconPath = steamGameExe; + logger.Debug($"SteamLibrary/LoadInstalledGames: Found Steam Game Icon Path {steamGameIconPath} for Steam Game ID {steamGameId} at {steamGameInstallDir }"); + } + // The absolute worst case means we don't have an icon to use. SO we use the Steam one. + else + { + // And we have to make do with a Steam Icon + logger.Debug($"SteamLibrary/LoadInstalledGames: Couldn't find Steam Game Icon Path {steamGameIconPath} for Steam Game ID {steamGameId} so using default Steam Icon"); + steamGameIconPath = _steamPath; + } + // And we add the Game to the list of games we have! + SteamGame gameToAdd = new SteamGame(steamGameId, steamGameName, steamGameExe, steamGameIconPath); + _allSteamGames.Add(gameToAdd); + logger.Debug($"SteamLibrary/LoadInstalledGames: Adding Steam Game with game id {steamGameId}, name {steamGameName}, game exe {steamGameExe} and icon path {steamGameIconPath}"); } - // If there isn't an icon for us to use, then we need to extract one from the Game Executables - else if (!String.IsNullOrEmpty(steamGameExe)) - { - steamGameIconPath = steamGameExe; - logger.Debug($"SteamLibrary/LoadInstalledGames: Found Steam Game Icon Path {steamGameIconPath} for Steam Game ID {steamGameId} at {steamGameInstallDir }"); - } - // The absolute worst case means we don't have an icon to use. SO we use the Steam one. - else - { - // And we have to make do with a Steam Icon - logger.Debug($"SteamLibrary/LoadInstalledGames: Couldn't find Steam Game Icon Path {steamGameIconPath} for Steam Game ID {steamGameId} so using default Steam Icon"); - steamGameIconPath = _steamPath; - } - - // And we add the Game to the list of games we have! - SteamGame gameToAdd = new SteamGame(steamGameId, steamGameName, steamGameExe, steamGameIconPath); - _allSteamGames.Add(gameToAdd); - logger.Debug($"SteamLibrary/LoadInstalledGames: Adding Steam Game with game id {steamGameId}, name {steamGameName}, game exe {steamGameExe} and icon path {steamGameIconPath}"); } } } - } + } + catch (DirectoryNotFoundException ex) + { + logger.Warn(ex, $"SteamLibrary/LoadInstalledGames: Exception: Steam Library {steamLibraryPath} doesn't contain 'steamapps' subfolder . This is most likely because the Steam Library doesn't have any games installed in it."); + } + catch (PathTooLongException ex) + { + logger.Warn(ex, $"SteamLibrary/LoadInstalledGames: Exception: Steam Library {steamLibraryPath} is too long for Windows to access. Please make the path shorter by moving the directory."); + } + catch (UnauthorizedAccessException ex) + { + logger.Warn(ex, $"SteamLibrary/LoadInstalledGames: Exception: We don't have permission to access Steam Library {steamLibraryPath}. Please check you are able to access {steamLibraryPath} in Windows Explorer."); + } + catch (Exception ex) + { + logger.Warn(ex, $"SteamLibrary/LoadInstalledGames: Exception: General exception while trying to scan Steam Library {steamLibraryPath} for games."); + } } logger.Info($"SteamLibrary/LoadInstalledGames: Found {_allSteamGames.Count} installed Steam games"); } diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 93e872a..1798210 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.3.1.65")] -[assembly: AssemblyFileVersion("2.3.1.65")] +[assembly: AssemblyVersion("2.3.1.68")] +[assembly: AssemblyFileVersion("2.3.1.68")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/MainForm.cs b/DisplayMagician/UIForms/MainForm.cs index 48fdd26..233b9d7 100644 --- a/DisplayMagician/UIForms/MainForm.cs +++ b/DisplayMagician/UIForms/MainForm.cs @@ -35,10 +35,17 @@ namespace DisplayMagician.UIForms btn_setup_display_profiles.Parent = splitContainer1.Panel1; btn_setup_game_shortcuts.Parent = splitContainer1.Panel2; lbl_version.Text = string.Format(lbl_version.Text, Assembly.GetExecutingAssembly().GetName().Version); + + // Refresh all possible profiles and shortcuts + ProfileRepository.IsPossibleRefresh(); + ShortcutRepository.IsValidRefresh(); + + // Update the system tray menus notifyIcon.Visible = true; notifyIcon.ContextMenuStrip = mainContextMenuStrip; RefreshNotifyIconMenus(); + try { if (Program.AppProgramSettings.HotkeyMainWindow != Keys.None) @@ -201,7 +208,7 @@ namespace DisplayMagician.UIForms notifyIcon.Text = $"DisplayMagician ({shortProfileName })"; Application.DoEvents(); } - + // If we've been handed a Form of some kind, then open it straight away if (formToOpen is DisplayProfileForm) { @@ -330,10 +337,7 @@ namespace DisplayMagician.UIForms } private void MainForm_Load(object sender, EventArgs e) - { - // Update the Notify Icon menu - RefreshNotifyIconMenus(); - + { EnableShortcutButtonIfProfiles(); logger.Trace($"MainForm/MainForm_Load: Main Window has loaded."); From 70e0765a59a70b24a83d3e5fb26ed629c184fe07 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 28 May 2022 19:40:49 +1200 Subject: [PATCH 07/60] Added WorkingDirectory to ProcessStartInfo By adding working directory to the ProcessStartInfo, it should hopefully mean that software that looks for config files in the same directory as the executable should work now. Should fix #112. --- DisplayMagician/Processes/ProcessUtils.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/DisplayMagician/Processes/ProcessUtils.cs b/DisplayMagician/Processes/ProcessUtils.cs index b476e8c..9906523 100644 --- a/DisplayMagician/Processes/ProcessUtils.cs +++ b/DisplayMagician/Processes/ProcessUtils.cs @@ -530,7 +530,8 @@ namespace DisplayMagician.Processes UseShellExecute = true, Verb = "Runas", CreateNoWindow = false, - RedirectStandardOutput = false + RedirectStandardOutput = false, + WorkingDirectory = Path.GetDirectoryName(executable) }; } else @@ -539,7 +540,8 @@ namespace DisplayMagician.Processes { UseShellExecute = false, CreateNoWindow = false, - RedirectStandardOutput = false + RedirectStandardOutput = false, + WorkingDirectory = Path.GetDirectoryName(executable) }; } @@ -552,7 +554,8 @@ namespace DisplayMagician.Processes UseShellExecute = true, Verb = "Open", CreateNoWindow = false, - RedirectStandardOutput = false + RedirectStandardOutput = false, + WorkingDirectory = Path.GetDirectoryName(executable) }; } From f6b1eed990f005fc568e2fd77da144571f0ca40b Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 28 May 2022 21:09:53 +1200 Subject: [PATCH 08/60] Fixed ProgramSetting loading and use There was a flaw in the way that ProgramSettings was being used that meant there was a lot of reloading and saving going on which was unnecessary. Additionally there were some errors in the way that the Settings file was upgraded which mean that the old settings were keeping on getting overwritten. Fixes #104. --- DisplayMagician/Program.cs | 118 +++++++++++++-------- DisplayMagician/ProgramSettings.cs | 74 +------------ DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/ShortcutRepository.cs | 4 +- DisplayMagician/UIForms/SettingsForm.cs | 21 +++- DisplayMagicianShared/ProfileItem.cs | 2 +- DisplayMagicianShared/ProfileRepository.cs | 2 + 7 files changed, 101 insertions(+), 124 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index fb815b7..758329e 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -178,19 +178,27 @@ namespace DisplayMagician { // NOTE: This had to be moved up from the later state // Copy the old Settings file to the new v2 name bool upgradedSettingsFile = false; - string oldSettingsFile = Path.Combine(AppDataPath, "Settings_1.0.json"); - string newSettingsFile = Path.Combine(AppDataPath, "Settings_2.0.json"); + string oldv1SettingsFile = Path.Combine(AppDataPath, "Settings_1.0.json"); + string oldv2SettingsFile = Path.Combine(AppDataPath, "Settings_2.0.json"); + string targetSettingsFile = ProgramSettings.programSettingsStorageJsonFileName; try { - if (File.Exists(oldSettingsFile) && !File.Exists(newSettingsFile)) + if (File.Exists(oldv2SettingsFile) && !File.Exists(targetSettingsFile)) { - File.Copy(oldSettingsFile, newSettingsFile, true); + File.Copy(oldv2SettingsFile, targetSettingsFile, true); + File.Move(oldv2SettingsFile, $"{oldv2SettingsFile}.old"); + upgradedSettingsFile = true; + } + else if (File.Exists(oldv1SettingsFile) && !File.Exists(targetSettingsFile)) + { + File.Copy(oldv1SettingsFile, targetSettingsFile, true); + File.Move(oldv1SettingsFile, $"{oldv1SettingsFile}.old"); upgradedSettingsFile = true; } } catch (Exception ex) { - logger.Error(ex, $"Program/Main: Exception upgrading v1 settings file {oldSettingsFile} to v2 settings file {ProgramSettings.programSettingsStorageJsonFileName}."); + logger.Error(ex, $"Program/Main: Exception upgrading old settings file to v2.4 settings file {ProgramSettings.programSettingsStorageJsonFileName}."); } // Load the program settings @@ -339,12 +347,15 @@ namespace DisplayMagician { string dp10 = Path.Combine(AppProfilePath, "DisplayProfiles_1.0.json"); // This is the latest displayprofile config file - string targetdp = dp23; + string targetdp = ProfileRepository.ProfileStorageFileName; + // Now always try to get the oldest one if (File.Exists(dp22) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) { logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.1 to DisplayMagician v2.3, so informing the user."); + File.Move(dp22, $"{dp22}.old"); + // Warn the user about the fact we need them to recreate their Display Profiles again! StartMessageForm myMessageWindow = new StartMessageForm(); myMessageWindow.MessageMode = "rtf"; @@ -357,6 +368,8 @@ namespace DisplayMagician { { logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.1 to DisplayMagician v2.3, so informing the user."); + File.Move(dp21, $"{dp21}.old"); + // Warn the user about the fact we need them to recreate their Display Profiles again! StartMessageForm myMessageWindow = new StartMessageForm(); myMessageWindow.MessageMode = "rtf"; @@ -369,6 +382,8 @@ namespace DisplayMagician { { logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.0 to DisplayMagician v2.3, so informing the user."); + File.Move(dp20, $"{dp20}.old"); + // Warn the user about the fact we need them to recreate their Display Profiles again! StartMessageForm myMessageWindow = new StartMessageForm(); myMessageWindow.MessageMode = "rtf"; @@ -381,31 +396,17 @@ namespace DisplayMagician { // and if it is then copy the old configs to the new filenames and // explain to the user what they need to do. // e.g. DisplayProfiles_1.0.json exists, but DisplayProfiles_2.2.json doesn't - else if (File.Exists(Path.Combine(AppProfilePath, "DisplayProfiles_1.0.json")) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) + else if (File.Exists(dp10) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) { logger.Info($"Program/Main: This is an upgrade from DisplayMagician v1.0 to DisplayMagician v2.2, so performing some upgrade steps."); // Note whether we copied the old Settings file to the new v2 name earlier (before the logging was enabled) if (upgradedSettingsFile) { - logger.Info($"Program/Main: Upgraded v1.0 settings file {oldSettingsFile} to v2.2 settings file {newSettingsFile} earlier in loading process (before logging service was available)."); - } - - // Copy the old Game Shortcuts file to the new v2 name - string oldShortcutsFile = Path.Combine(AppShortcutPath, "Shortcuts_1.0.json"); - string newShortcutsFile = Path.Combine(AppShortcutPath, "Shortcuts_2.2.json"); - try - { - if (File.Exists(oldShortcutsFile) && !File.Exists(newShortcutsFile)) - { - logger.Info($"Program/Main: Upgrading v1 shortcut file {oldShortcutsFile} to v2 shortcut file {newShortcutsFile }."); - File.Copy(oldShortcutsFile, newShortcutsFile); - } - } - catch(Exception ex) - { - logger.Error(ex, $"Program/Main: Exception upgrading v1.0 shortcut file {oldShortcutsFile} to v2.2 shortcut file {ShortcutRepository.ShortcutStorageFileName}."); + logger.Info($"Program/Main: Upgraded old settings file to settings file {targetSettingsFile} earlier in loading process (before logging service was available)."); } + File.Move(dp10, $"{dp10}.old"); + // Warn the user about the fact we need a new DisplayProfiles_2.0.json StartMessageForm myMessageWindow = new StartMessageForm(); myMessageWindow.MessageMode = "rtf"; @@ -414,7 +415,32 @@ namespace DisplayMagician { myMessageWindow.ButtonText = "&Close"; myMessageWindow.ShowDialog(); } - + + // Also upgrade the Shortcuts file if it's needed + string oldv1ShortcutsFile = Path.Combine(AppShortcutPath, "Shortcuts_1.0.json"); + string oldv2ShortcutsFile = Path.Combine(AppShortcutPath, "Shortcuts_2.0.json"); + string targetShortcutsFile = ShortcutRepository.ShortcutStorageFileName; + try + { + if (File.Exists(oldv2ShortcutsFile) && !File.Exists(targetShortcutsFile)) + { + logger.Info($"Program/Main: Upgrading v1 shortcut file {oldv2ShortcutsFile} to v2.2 shortcut file {targetShortcutsFile}."); + File.Copy(oldv2ShortcutsFile, targetShortcutsFile); + File.Move(oldv2ShortcutsFile, $"{oldv2ShortcutsFile}.old"); + } + else if (File.Exists(oldv1ShortcutsFile) && !File.Exists(targetShortcutsFile)) + { + logger.Info($"Program/Main: Upgrading v1 shortcut file {oldv1ShortcutsFile} to v2.2 shortcut file {targetShortcutsFile}."); + File.Copy(oldv1ShortcutsFile, targetShortcutsFile); + File.Move(oldv1ShortcutsFile, $"{oldv1ShortcutsFile}.old"); + } + + } + catch (Exception ex) + { + logger.Error(ex, $"Program/Main: Exception upgrading old shortcut file to v2.2 shortcut file {targetShortcutsFile}."); + } + logger.Debug($"Program/Main: Setting up commandline processing configuration"); var app = new CommandLineApplication { @@ -511,7 +537,7 @@ namespace DisplayMagician { GameLibrary.LoadGamesInBackground(); // Close the splash screen - if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + if (AppProgramSettings.ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); ERRORLEVEL errLevel = RunShortcut(argumentShortcut.Value); @@ -587,7 +613,7 @@ namespace DisplayMagician { AppMainForm.Load += MainForm_LoadCompleted; // Close the splash screen - if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + if (AppProgramSettings.ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); try @@ -855,7 +881,7 @@ namespace DisplayMagician { logger.Debug($"Beginning to shutdown"); // Close the splash screen if it's still open (happens with some errors) - if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + if (AppProgramSettings.ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); logger.Debug($"Program/Main: Clearing all previous windows toast notifications as they aren't needed any longer"); @@ -881,7 +907,7 @@ namespace DisplayMagician { try { // Close the splash screen - if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + if (AppProgramSettings.ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); // Run the program with directly showing CreateProfile form @@ -968,13 +994,13 @@ namespace DisplayMagician { private static void MainForm_LoadCompleted(object sender, EventArgs e) { - if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + if (AppProgramSettings.ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); } private static void MainForm_LoadCompletedAndOpenApp(object sender, EventArgs e) { - if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + if (AppProgramSettings.ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); AppMainForm.TopMost = true; AppMainForm.Activate(); @@ -990,7 +1016,7 @@ namespace DisplayMagician { ShortcutItem shortcutToRun = null; // Close the splash screen - if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + if (AppProgramSettings.ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); // Match the ShortcutName to the actual shortcut listed in the shortcut library @@ -1022,7 +1048,7 @@ namespace DisplayMagician { logger.Trace($"Program/CurrentProfile: Finding the current profile in use"); // Close the splash screen - if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + if (AppProgramSettings.ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); // Lookup the profile @@ -1057,7 +1083,7 @@ namespace DisplayMagician { ERRORLEVEL errLevel = ERRORLEVEL.OK; // Close the splash screen - if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + if (AppProgramSettings.ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); @@ -1291,16 +1317,14 @@ namespace DisplayMagician { logger.Error(ex, $"Program/ShowMessages: Exception while trying to load the messages index from {indexUrl}."); return; } - - ProgramSettings programSettings = ProgramSettings.LoadSettings(); - + foreach (MessageItem message in messageIndex) { // Skip if we've already shown it - if (message.Id <= programSettings.LastMessageIdRead) + if (message.Id <= AppProgramSettings.LastMessageIdRead) { // Unless it's one coming up that we're monitoring - if (!programSettings.MessagesToMonitor.Contains(message.Id)) + if (!AppProgramSettings.MessagesToMonitor.Contains(message.Id)) { continue; } @@ -1354,10 +1378,10 @@ namespace DisplayMagician { if (!(DateTime.Now >= startTime)) { logger.Debug($"Program/ShowMessages: Message start date for \"{message.HeadingText}\" (#{message.Id}) not yet reached so not ready to show message."); - if (!programSettings.MessagesToMonitor.Contains(message.Id)) + if (!AppProgramSettings.MessagesToMonitor.Contains(message.Id)) { - programSettings.MessagesToMonitor.Add(message.Id); - programSettings.SaveSettings(); + AppProgramSettings.MessagesToMonitor.Add(message.Id); + AppProgramSettings.SaveSettings(); } continue; } @@ -1386,16 +1410,16 @@ namespace DisplayMagician { myMessageWindow.ButtonText = message.ButtonText; myMessageWindow.ShowDialog(); // If this the list of messages is still trying to monitor this message, then remove it if we've shown it to the user. - if (programSettings.MessagesToMonitor.Contains(message.Id)) + if (AppProgramSettings.MessagesToMonitor.Contains(message.Id)) { - programSettings.MessagesToMonitor.Remove(message.Id); - programSettings.SaveSettings(); + AppProgramSettings.MessagesToMonitor.Remove(message.Id); + AppProgramSettings.SaveSettings(); } // Update the latest message id to keep track of where we're up to - if (message.Id > programSettings.LastMessageIdRead) + if (message.Id > AppProgramSettings.LastMessageIdRead) { - programSettings.LastMessageIdRead = message.Id; + AppProgramSettings.LastMessageIdRead = message.Id; } } diff --git a/DisplayMagician/ProgramSettings.cs b/DisplayMagician/ProgramSettings.cs index f3482e6..54fa9b4 100644 --- a/DisplayMagician/ProgramSettings.cs +++ b/DisplayMagician/ProgramSettings.cs @@ -45,11 +45,6 @@ namespace DisplayMagician set { _startOnBootUp = value; - - // Because a value has changed, we need to save the setting - // to remember it for later. - if (_programSettingsLoaded) - SaveSettings(); } } @@ -62,11 +57,6 @@ namespace DisplayMagician set { _showSplashScreen = value; - - // Because a value has changed, we need to save the setting - // to remember it for later. - if (_programSettingsLoaded) - SaveSettings(); } } @@ -79,11 +69,6 @@ namespace DisplayMagician set { _showMinimiseMessageInActionCenter = value; - - // Because a value has changed, we need to save the setting - // to remember it for later. - if (_programSettingsLoaded) - SaveSettings(); } } @@ -95,12 +80,7 @@ namespace DisplayMagician } set { - _showStatusMessageInActionCenter = value; - - // Because a value has changed, we need to save the setting - // to remember it for later. - if (_programSettingsLoaded) - SaveSettings(); + _showStatusMessageInActionCenter = value; } } @@ -113,11 +93,6 @@ namespace DisplayMagician set { _upgradeToPrereleases = value; - - // Because a value has changed, we need to save the setting - // to remember it for later. - if (_programSettingsLoaded) - SaveSettings(); } } @@ -129,11 +104,6 @@ namespace DisplayMagician set { _minimiseOnStart = value; - - // Because a value has changed, we need to save the setting - // to remember it for later. - if (_programSettingsLoaded) - SaveSettings(); } } @@ -146,11 +116,6 @@ namespace DisplayMagician set { _installedDesktopContextMenu = value; - - // Because a value has changed, we need to save the setting - // to remember it for later. - if (_programSettingsLoaded) - SaveSettings(); } } @@ -163,11 +128,6 @@ namespace DisplayMagician set { _lastMessageIdRead = value; - - // Because a value has changed, we need to save the setting - // to remember it for later. - if (_programSettingsLoaded) - SaveSettings(); } } @@ -180,11 +140,6 @@ namespace DisplayMagician set { _messagesToMonitor = value; - - // Because a value has changed, we need to save the setting - // to remember it for later. - if (_programSettingsLoaded) - SaveSettings(); } } @@ -222,11 +177,6 @@ namespace DisplayMagician break; } - - // Because a value has changed, we need to save the setting - // to remember it for later. - if (_programSettingsLoaded) - SaveSettings(); } } @@ -239,13 +189,6 @@ namespace DisplayMagician set { _hotkeyMainWindow = value; - - // Because a value has changed, we need to save the setting - // to remember it for later. - if (_programSettingsLoaded) - { - SaveSettings(); - } } } @@ -258,13 +201,6 @@ namespace DisplayMagician set { _hotkeyDisplayProfileWindow = value; - - // Because a value has changed, we need to save the setting - // to remember it for later. - if (_programSettingsLoaded) - { - SaveSettings(); - } } } @@ -277,13 +213,6 @@ namespace DisplayMagician set { _hotkeyShortcutLibraryWindow = value; - - // Because a value has changed, we need to save the setting - // to remember it for later. - if (_programSettingsLoaded) - { - SaveSettings(); - } } } @@ -297,6 +226,7 @@ namespace DisplayMagician // loglevel settings so we know what level to configure the logger to write! // This means we have to only use console.write in this function.... ProgramSettings programSettings = null; + _programSettingsLoaded = false; if (File.Exists(programSettingsStorageJsonFileName)) { diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 1798210..54538bd 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.3.1.68")] -[assembly: AssemblyFileVersion("2.3.1.68")] +[assembly: AssemblyVersion("2.3.1.79")] +[assembly: AssemblyFileVersion("2.3.1.79")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutRepository.cs b/DisplayMagician/ShortcutRepository.cs index a511abd..ba0fff5 100644 --- a/DisplayMagician/ShortcutRepository.cs +++ b/DisplayMagician/ShortcutRepository.cs @@ -40,7 +40,7 @@ namespace DisplayMagician //private static bool _cancelWait = false; // Other constants that are useful private static string AppShortcutStoragePath = Path.Combine(Program.AppDataPath, $"Shortcuts"); - private static string _shortcutStorageJsonFileName = Path.Combine(AppShortcutStoragePath, $"Shortcuts_2.0.json"); + private static string _shortcutStorageJsonFileName = Path.Combine(AppShortcutStoragePath, $"Shortcuts_2.2.json"); private static string uuidV4Regex = @"(?im)^[{(]?[0-9A-F]{8}[-]?(?:[0-9A-F]{4}[-]?){3}[0-9A-F]{12}[)}]?$"; private static CoreAudioController _audioController = null; private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); @@ -411,6 +411,8 @@ namespace DisplayMagician logger.Debug($"ShortcutRepository/LoadShortcuts: Loading shortcuts from {_shortcutStorageJsonFileName} into the Shortcut Repository"); + _shortcutsLoaded = false; + if (File.Exists(_shortcutStorageJsonFileName)) { string json = ""; diff --git a/DisplayMagician/UIForms/SettingsForm.cs b/DisplayMagician/UIForms/SettingsForm.cs index 36ab922..f835ea3 100644 --- a/DisplayMagician/UIForms/SettingsForm.cs +++ b/DisplayMagician/UIForms/SettingsForm.cs @@ -355,6 +355,9 @@ namespace DisplayMagician.UIForms Program.AppProgramSettings.UpgradeToPreReleases = false; logger.Info($"SettingsForm/SettingsForm_FormClosing: Successfully stopped DisplayMagician from upgrading to pre-release versions of software"); } + + // Save ProgramSettings + Program.AppProgramSettings.SaveSettings(); } private void btn_back_Click(object sender, EventArgs e) @@ -595,18 +598,34 @@ namespace DisplayMagician.UIForms // Get the list of files we want to look for to zip (they may or may not exist) List listOfFiles = new List { + // Try to copy the logs if they exist Path.Combine(Program.AppLogPath,"DisplayMagician.log"), Path.Combine(Program.AppLogPath,"DisplayMagician1.log"), Path.Combine(Program.AppLogPath,"DisplayMagician2.log"), Path.Combine(Program.AppLogPath,"DisplayMagician3.log"), Path.Combine(Program.AppLogPath,"DisplayMagician4.log"), + // Also try to copy the new configs if they exist Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.3.json"), Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.2.json"), Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.1.json"), Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.0.json"), + Path.Combine(Program.AppShortcutPath,"Shortcuts_1.0.json"), Path.Combine(Program.AppShortcutPath,"Shortcuts_2.0.json"), + Path.Combine(Program.AppShortcutPath,"Shortcuts_2.2.json"), + Path.Combine(Program.AppDataPath,"Settings_1.0.json"), Path.Combine(Program.AppDataPath,"Settings_2.0.json"), - Path.Combine(Program.AppDataPath,"Settings_2.4.json") + Path.Combine(Program.AppDataPath,"Settings_2.4.json"), + // Also try to copy the old configs if they exist + Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.3.json.old"), + Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.2.json.old"), + Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.1.json.old"), + Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.0.json.old"), + Path.Combine(Program.AppShortcutPath,"Shortcuts_1.0.json.old"), + Path.Combine(Program.AppShortcutPath,"Shortcuts_2.0.json.old"), + Path.Combine(Program.AppShortcutPath,"Shortcuts_2.2.json.old"), + Path.Combine(Program.AppDataPath,"Settings_1.0.json.old"), + Path.Combine(Program.AppDataPath,"Settings_2.0.json.old"), + Path.Combine(Program.AppDataPath,"Settings_2.4.json.old") }; foreach (string filename in listOfFiles) { diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index 9db1cd3..d7fa7e9 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -567,7 +567,7 @@ namespace DisplayMagicianShared WshShell shell = new WshShell(); - IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutFileName); + IWshShortcut shortcut = shell.CreateShortcut(shortcutFileName) as IWshShortcut; shortcut.TargetPath = Application.ExecutablePath; shortcut.Arguments = string.Join(" ", shortcutArgs); diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index 09fb9db..0c49ad9 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -704,6 +704,8 @@ namespace DisplayMagicianShared { SharedLogger.logger.Debug($"ProfileRepository/LoadProfiles: Loading profiles from {_profileStorageJsonFileName} into the Profile Repository"); + _profilesLoaded = false; + if (File.Exists(_profileStorageJsonFileName)) { string json = ""; From 567c9b7af20b99dd2959d8a6fab6a11d2fc89885 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 29 May 2022 21:01:08 +1200 Subject: [PATCH 09/60] Reduced the displayid calls for profile comparison --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/AMD/AMDLibrary.cs | 11 ++++++----- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 13 +++++++------ DisplayMagicianShared/Windows/WinLibrary.cs | 11 ++++++----- 4 files changed, 21 insertions(+), 18 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 54538bd..3783fb1 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.3.1.79")] -[assembly: AssemblyFileVersion("2.3.1.79")] +[assembly: AssemblyVersion("2.3.2.1")] +[assembly: AssemblyFileVersion("2.3.2.1")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/AMD/AMDLibrary.cs b/DisplayMagicianShared/AMD/AMDLibrary.cs index 08dfcf9..e71cc9a 100644 --- a/DisplayMagicianShared/AMD/AMDLibrary.cs +++ b/DisplayMagicianShared/AMD/AMDLibrary.cs @@ -167,6 +167,7 @@ namespace DisplayMagicianShared.AMD private IntPtr _adlContextHandle = IntPtr.Zero; private AMD_DISPLAY_CONFIG _activeDisplayConfig; public List SkippedColorConnectionTypes; + public List _allConnectedDisplayIdentifiers; static AMDLibrary() { } public AMDLibrary() @@ -205,6 +206,7 @@ namespace DisplayMagicianShared.AMD SharedLogger.logger.Trace($"AMDLibrary/AMDLibrary: AMD ADL2 library was initialised successfully"); SharedLogger.logger.Trace($"AMDLibrary/AMDLibrary: Running UpdateActiveConfig to ensure there is a config to use later"); _activeDisplayConfig = GetActiveConfig(); + _allConnectedDisplayIdentifiers = GetAllConnectedDisplayIdentifiers(); } else { @@ -1604,11 +1606,8 @@ namespace DisplayMagicianShared.AMD // We want to check the AMD profile can be used now SharedLogger.logger.Trace($"AMDLibrary/IsPossibleConfig: Testing whether the AMD display configuration is possible to be used now"); - // Check the currently available displays (include the ones not active) - List currentAllIds = GetAllConnectedDisplayIdentifiers(); - // Check that we have all the displayConfig DisplayIdentifiers we need available now - if (displayConfig.DisplayIdentifiers.All(value => currentAllIds.Contains(value))) + if (displayConfig.DisplayIdentifiers.All(value => _allConnectedDisplayIdentifiers.Contains(value))) { SharedLogger.logger.Trace($"AMDLibrary/IsPossibleConfig: Success! The AMD display configuration is possible to be used now"); return true; @@ -1631,7 +1630,9 @@ namespace DisplayMagicianShared.AMD { SharedLogger.logger.Trace($"AMDLibrary/GetAllConnectedDisplayIdentifiers: Getting all the display identifiers that can possibly be used"); bool allDisplays = true; - return GetSomeDisplayIdentifiers(allDisplays); + _allConnectedDisplayIdentifiers = GetSomeDisplayIdentifiers(allDisplays); + + return _allConnectedDisplayIdentifiers; } private List GetSomeDisplayIdentifiers(bool allDisplays = false) diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index bd9694b..48515d1 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -195,6 +195,7 @@ namespace DisplayMagicianShared.NVIDIA private bool _initialised = false; private NVIDIA_DISPLAY_CONFIG _activeDisplayConfig; public List SkippedColorConnectionTypes; + public List _allConnectedDisplayIdentifiers; // To detect redundant calls private bool _disposed = false; @@ -233,6 +234,7 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: NVIDIA NVAPI library was initialised successfully"); SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: Running UpdateActiveConfig to ensure there is a config to use later"); _activeDisplayConfig = GetActiveConfig(); + _allConnectedDisplayIdentifiers = GetAllConnectedDisplayIdentifiers(); } else { @@ -1072,7 +1074,7 @@ namespace DisplayMagicianShared.NVIDIA NVStatus = NVImport.NvAPI_Disp_ColorControl(displayIds[displayIndex].DisplayId, ref colorData); if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Your monitor {displayIds[displayIndex].DisplayId} has the following color settings set. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Your monitor {displayIds[displayIndex].DisplayId} has the following color settings set. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); myDisplay.ColorData = colorData; myDisplay.HasColorData = true; } @@ -2700,11 +2702,8 @@ namespace DisplayMagicianShared.NVIDIA // We want to check the NVIDIA profile can be used now SharedLogger.logger.Trace($"NVIDIALibrary/IsPossibleConfig: Testing whether the NVIDIA display configuration is possible to be used now"); - // check what the currently available displays are (include the ones not active) - List currentAllIds = GetAllConnectedDisplayIdentifiers(); - // CHeck that we have all the displayConfig DisplayIdentifiers we need available now - if (displayConfig.DisplayIdentifiers.All(value => currentAllIds.Contains(value))) + if (displayConfig.DisplayIdentifiers.All(value => _allConnectedDisplayIdentifiers.Contains(value))) //if (currentAllIds.Intersect(displayConfig.DisplayIdentifiers).Count() == displayConfig.DisplayIdentifiers.Count) { SharedLogger.logger.Trace($"NVIDIALibrary/IsPossibleConfig: Success! The NVIDIA display configuration is possible to be used now"); @@ -2830,7 +2829,9 @@ namespace DisplayMagicianShared.NVIDIA public List GetAllConnectedDisplayIdentifiers() { SharedLogger.logger.Trace($"NVIDIALibrary/GetAllConnectedDisplayIdentifiers: Getting all the display identifiers that can possibly be used"); - return GetSomeDisplayIdentifiers(true); + _allConnectedDisplayIdentifiers = GetSomeDisplayIdentifiers(true); + + return _allConnectedDisplayIdentifiers; } private List GetSomeDisplayIdentifiers(bool allDisplays = true) diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 80b0471..c479f9b 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -114,6 +114,7 @@ namespace DisplayMagicianShared.Windows private bool _initialised = false; private WINDOWS_DISPLAY_CONFIG _activeDisplayConfig; public List SkippedColorConnectionTypes; + public List _allConnectedDisplayIdentifiers; // To detect redundant calls private bool _disposed = false; @@ -136,6 +137,7 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace("WinLibrary/WinLibrary: Intialising Windows CCD library interface"); _initialised = true; _activeDisplayConfig = GetActiveConfig(); + _allConnectedDisplayIdentifiers = GetAllConnectedDisplayIdentifiers(); } ~WinLibrary() @@ -1670,12 +1672,9 @@ namespace DisplayMagicianShared.Windows // We want to check the Windows Display profile can be used now SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Testing whether the Windows display configuration is possible to be used now"); - // check what the currently available displays are (include the ones not active) - List currentAllIds = GetAllConnectedDisplayIdentifiers(); - // CHeck that we have all the displayConfig DisplayIdentifiers we need available now //if (currentAllIds.Intersect(displayConfig.DisplayIdentifiers).Count() == displayConfig.DisplayIdentifiers.Count) - if (displayConfig.DisplayIdentifiers.All(value => currentAllIds.Contains(value))) + if (displayConfig.DisplayIdentifiers.All(value => _allConnectedDisplayIdentifiers.Contains(value))) { SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Success! THe Windows display configuration is possible to be used now"); return true; @@ -1697,7 +1696,9 @@ namespace DisplayMagicianShared.Windows public List GetAllConnectedDisplayIdentifiers() { SharedLogger.logger.Trace($"WinLibrary/GetAllConnectedDisplayIdentifiers: Getting all the display identifiers that can possibly be used"); - return GetSomeDisplayIdentifiers(QDC.QDC_ALL_PATHS | QDC.QDC_INCLUDE_HMD); + _allConnectedDisplayIdentifiers = GetSomeDisplayIdentifiers(QDC.QDC_ALL_PATHS | QDC.QDC_INCLUDE_HMD); + + return _allConnectedDisplayIdentifiers; } private List GetSomeDisplayIdentifiers(QDC selector = QDC.QDC_ONLY_ACTIVE_PATHS | QDC.QDC_INCLUDE_HMD) From f40640ccbdeba28b896f2a895eb82f48f080de6b Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 29 May 2022 21:16:55 +1200 Subject: [PATCH 10/60] Updated UpdateActiveConfig --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/AMD/AMDLibrary.cs | 1 + DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 1 + DisplayMagicianShared/Windows/WinLibrary.cs | 1 + 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 3783fb1..9686276 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.3.2.1")] -[assembly: AssemblyFileVersion("2.3.2.1")] +[assembly: AssemblyVersion("2.3.2.2")] +[assembly: AssemblyFileVersion("2.3.2.2")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/AMD/AMDLibrary.cs b/DisplayMagicianShared/AMD/AMDLibrary.cs index e71cc9a..4a3dcc6 100644 --- a/DisplayMagicianShared/AMD/AMDLibrary.cs +++ b/DisplayMagicianShared/AMD/AMDLibrary.cs @@ -337,6 +337,7 @@ namespace DisplayMagicianShared.AMD try { _activeDisplayConfig = GetActiveConfig(); + _allConnectedDisplayIdentifiers = GetAllConnectedDisplayIdentifiers(); } catch (Exception ex) { diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index 48515d1..d8c28be 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -347,6 +347,7 @@ namespace DisplayMagicianShared.NVIDIA try { _activeDisplayConfig = GetActiveConfig(); + _allConnectedDisplayIdentifiers = GetAllConnectedDisplayIdentifiers(); } catch (Exception ex) { diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index c479f9b..a8fbe62 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -407,6 +407,7 @@ namespace DisplayMagicianShared.Windows try { _activeDisplayConfig = GetActiveConfig(); + _allConnectedDisplayIdentifiers = GetAllConnectedDisplayIdentifiers(); } catch (Exception ex) { From a93c9e62d21bb9e2822fd7ccfde6a9dd9bea9127 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 30 May 2022 10:01:43 +1200 Subject: [PATCH 11/60] Added Windows per source DPI scaling settings --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagicianShared/Windows/CCD.cs | 86 ++++++++++++++++++++- DisplayMagicianShared/Windows/WinLibrary.cs | 71 ++++++++++++++--- 3 files changed, 147 insertions(+), 14 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 9686276..13d55dd 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.3.2.2")] -[assembly: AssemblyFileVersion("2.3.2.2")] +[assembly: AssemblyVersion("2.3.2.5")] +[assembly: AssemblyFileVersion("2.3.2.5")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/Windows/CCD.cs b/DisplayMagicianShared/Windows/CCD.cs index 1320a22..fcc67f7 100644 --- a/DisplayMagicianShared/Windows/CCD.cs +++ b/DisplayMagicianShared/Windows/CCD.cs @@ -19,8 +19,14 @@ namespace DisplayMagicianShared.Windows ERROR_BAD_CONFIGURATION = 1610, } - public enum DISPLAYCONFIG_DEVICE_INFO_TYPE : UInt32 + public enum DISPLAYCONFIG_DEVICE_INFO_TYPE : Int32 { + // MS Private API (which seems to use negative numbers) + // See https://github.com/lihas/windows-DPI-scaling-sample/blob/master/DPIHelper/DpiHelper.h from Sahil Singh + DISPLAYCONFIG_DEVICE_INFO_SET_DPI_SCALE = -4, // Set current dpi scaling value for a display + DISPLAYCONFIG_DEVICE_INFO_GET_DPI_SCALE = -3, // Returns min, max, suggested, and currently applied DPI scaling values. + + // MS Public API Zero = 0, DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME = 1, // Specifies the source name of the display device. If the DisplayConfigGetDeviceInfo function is successful, DisplayConfigGetDeviceInfo returns the source name in the DISPLAYCONFIG_SOURCE_DEVICE_NAME structure. DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME = 2, // Specifies information about the monitor. If the DisplayConfigGetDeviceInfo function is successful, DisplayConfigGetDeviceInfo returns info about the monitor in the DISPLAYCONFIG_TARGET_DEVICE_NAME structure. @@ -37,7 +43,7 @@ namespace DisplayMagicianShared.Windows // Supported starting in Windows�10 Fall Creators Update (Version 1709). DISPLAYCONFIG_DEVICE_INFO_GET_MONITOR_SPECIALIZATION = 12, DISPLAYCONFIG_DEVICE_INFO_SET_MONITOR_SPECIALIZATION = 13, - DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32 = 0xFFFFFFFF // Only here to + //DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32 = 0xFFFFFFFF // Only here to } [Flags] @@ -269,6 +275,73 @@ namespace DisplayMagicianShared.Windows Other = 255 } + + /* +* OS reports DPI scaling values in relative terms, and not absolute terms. +* eg. if current DPI value is 250%, and recommended value is 200%, then +* OS will give us integer 2 for DPI scaling value (starting from recommended +* DPI scaling move 2 steps to the right in this list). +* values observed (and extrapolated) from system settings app (immersive control panel). +*/ + /*public enum DPI_VALUES: UInt32 + { + DPI_100 = 100, + DPI_125 = 125, + DPI_150 = 150, + DPI_175 = 175, + DPI_200 = 200, + DPI_225 = 225, + DPI_250 = 250, + DPI_300 = 300, + DPI_350 = 350, + DPI_400 = 400, + DPI_450 = 450, + DPI_500 = 500 + };*/ + + /* + * struct DISPLAYCONFIG_SOURCE_DPI_SCALE_GET + * @brief used to fetch min, max, suggested, and currently applied DPI scaling values. + * All values are relative to the recommended DPI scaling value + * Note that DPI scaling is a property of the source, and not of target. + */ + [StructLayout(LayoutKind.Sequential)] + public struct DISPLAYCONFIG_SOURCE_DPI_SCALE_GET + { + public DISPLAYCONFIG_DEVICE_INFO_HEADER Header; + /* + * @brief min value of DPI scaling is always 100, minScaleRel gives no. of steps down from recommended scaling + * eg. if minScaleRel is -3 => 100 is 3 steps down from recommended scaling => recommended scaling is 175% + */ + public UInt32 MinScaleRel; + + /* + * @brief currently applied DPI scaling value wrt the recommended value. eg. if recommended value is 175%, + * => if curScaleRel == 0 the current scaling is 175%, if curScaleRel == -1, then current scale is 150% + */ + public UInt32 CurrrentScaleRel; + + /* + * @brief maximum supported DPI scaling wrt recommended value + */ + public UInt32 MaxScaleRel; + }; + + /* + * struct DISPLAYCONFIG_SOURCE_DPI_SCALE_SET + * @brief set DPI scaling value of a source + * Note that DPI scaling is a property of the source, and not of target. + */ + public struct DISPLAYCONFIG_SOURCE_DPI_SCALE_SET + { + public DISPLAYCONFIG_DEVICE_INFO_HEADER Header; + /* + * @brief The value we want to set. The value should be relative to the recommended DPI scaling value of source. + * eg. if scaleRel == 1, and recommended value is 175% => we are trying to set 200% scaling for the source + */ + public UInt32 ScaleRel; + }; + [StructLayout(LayoutKind.Sequential)] public struct DISPLAYCONFIG_DEVICE_INFO_HEADER : IEquatable { @@ -1022,6 +1095,7 @@ namespace DisplayMagicianShared.Windows // Set some useful constants public const SDC SDC_CCD_TEST_IF_VALID = (SDC.SDC_VALIDATE | SDC.SDC_USE_SUPPLIED_DISPLAY_CONFIG); public const uint DISPLAYCONFIG_PATH_MODE_IDX_INVALID = 0xffffffff; + public static readonly UInt32[] DPI_VALUES = { 100, 125, 150, 175, 200, 225, 250, 300, 350, 400, 450, 500 }; // GetDisplayConfigBufferSizes @@ -1069,6 +1143,10 @@ namespace DisplayMagicianShared.Windows [DllImport("user32")] public static extern WIN32STATUS DisplayConfigGetDeviceInfo(ref DISPLAYCONFIG_SDR_WHITE_LEVEL requestPacket); + [DllImport("user32")] + public static extern WIN32STATUS DisplayConfigGetDeviceInfo(ref DISPLAYCONFIG_SOURCE_DPI_SCALE_GET requestPacket); + + // DisplayConfigSetDeviceInfo [DllImport("user32")] public static extern WIN32STATUS DisplayConfigSetDeviceInfo(ref DISPLAYCONFIG_SET_TARGET_PERSISTENCE requestPacket); @@ -1076,6 +1154,9 @@ namespace DisplayMagicianShared.Windows [DllImport("user32")] public static extern WIN32STATUS DisplayConfigSetDeviceInfo(ref DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE requestPacket); + [DllImport("user32")] + public static extern WIN32STATUS DisplayConfigSetDeviceInfo(ref DISPLAYCONFIG_SOURCE_DPI_SCALE_SET requestPacket); + // Have disabled the DisplayConfigSetDeviceInfo options except for SET_TARGET_PERSISTENCE, as per the note // from https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-displayconfigsetdeviceinfo @@ -1086,6 +1167,5 @@ namespace DisplayMagicianShared.Windows // SetDisplayConfig [DllImport("user32")] public static extern WIN32STATUS SetDisplayConfig([In] uint numPathArrayElements, [In] DISPLAYCONFIG_PATH_INFO[] pathArray, [In] uint numModeInfoArrayElements, [In] DISPLAYCONFIG_MODE_INFO[] modeInfoArray, [In] SDC flags); - } } \ No newline at end of file diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index a8fbe62..955b5a0 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -46,13 +46,17 @@ namespace DisplayMagicianShared.Windows public UInt32 SourceId; public UInt32 TargetId; public string DevicePath; + //The value we want to set. The value should be relative to the recommended DPI scaling value of source. + // eg. if scaleRel == 1, and recommended value is 175% => we are trying to set 200% scaling for the source + public UInt32 SourceDpiScalingRel; public override bool Equals(object obj) => obj is DISPLAY_SOURCE other && this.Equals(other); public bool Equals(DISPLAY_SOURCE other) => true; public override int GetHashCode() { - return 300; + //return 300; + return (AdapterId, SourceId, TargetId, DevicePath, SourceDpiScalingRel).GetHashCode(); } public static bool operator ==(DISPLAY_SOURCE lhs, DISPLAY_SOURCE rhs) => lhs.Equals(rhs); @@ -91,12 +95,14 @@ namespace DisplayMagicianShared.Windows // NOTE: I have disabled the TaskBar specific matching for now due to errors I cannot fix // WinLibrary will still track the location of the taskbars, but won't actually set them as the setting of the taskbars doesnt work at the moment. /*&& - TaskBarLayout.SequenceEqual(other.TaskBarLayout) && + TaskBarLayout.Values.SequenceEqual(other.TaskBarLayout.Values) && TaskBarSettings.Equals(other.TaskBarSettings);*/ public override int GetHashCode() { - return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates, IsCloned, DisplayIdentifiers, TaskBarLayout, TaskBarSettings).GetHashCode(); + // Temporarily disabled this to make sure that the hashcode generation matched the equality tests. + //return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates, IsCloned, DisplayIdentifiers, TaskBarLayout, TaskBarSettings).GetHashCode(); + return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates, IsCloned, DisplayIdentifiers).GetHashCode(); } public static bool operator ==(WINDOWS_DISPLAY_CONFIG lhs, WINDOWS_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); @@ -285,7 +291,7 @@ namespace DisplayMagicianShared.Windows { SharedLogger.logger.Error(ex, "WinLibrary/PatchAdapterIDs: Exception while going through the display config paths to update the adapter id"); } - + try { @@ -315,7 +321,7 @@ namespace DisplayMagicianShared.Windows { SharedLogger.logger.Error(ex, "WinLibrary/PatchAdapterIDs: Exception while going through the display config modes to update the adapter id"); } - + try { @@ -350,7 +356,7 @@ namespace DisplayMagicianShared.Windows hdrInfo.SDRWhiteLevel.Header.AdapterId = AdapterValueToLUID(newAdapterValue); } } - } + } else { SharedLogger.logger.Warn($"WinLibrary/PatchAdapterIDs: There are no Display HDR states to update. Skipping."); @@ -360,7 +366,7 @@ namespace DisplayMagicianShared.Windows { SharedLogger.logger.Error(ex, "WinLibrary/PatchAdapterIDs: Exception while going through the display config HDR info to update the adapter id"); } - + try { @@ -398,7 +404,7 @@ namespace DisplayMagicianShared.Windows { SharedLogger.logger.Error(ex, "WinLibrary/PatchAdapterIDs: Exception while going through the display sources list info to update the adapter id"); } - + } public bool UpdateActiveConfig() @@ -525,6 +531,26 @@ namespace DisplayMagicianShared.Windows // Track if this display is a cloned path bool isClonedPath = false; + + // Get the Windows Scaling DPI per display + UInt32 sourceDpiScalingRel = 0; + DISPLAYCONFIG_SOURCE_DPI_SCALE_GET displayScalingInfo = new DISPLAYCONFIG_SOURCE_DPI_SCALE_GET(); + displayScalingInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_DPI_SCALE; + displayScalingInfo.Header.Size = (uint)Marshal.SizeOf(); ; + displayScalingInfo.Header.AdapterId = paths[i].SourceInfo.AdapterId; + displayScalingInfo.Header.Id = paths[i].SourceInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref displayScalingInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found DPI value for source {paths[i].SourceInfo.Id} is {CCDImport.DPI_VALUES[displayScalingInfo.CurrrentScaleRel]}%."); + sourceDpiScalingRel = displayScalingInfo.CurrrentScaleRel; + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get advanced color settings for display {paths[i].TargetInfo.Id}."); + } + + // get display source name var sourceInfo = new DISPLAYCONFIG_SOURCE_DEVICE_NAME(); sourceInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME; @@ -534,6 +560,7 @@ namespace DisplayMagicianShared.Windows err = CCDImport.DisplayConfigGetDeviceInfo(ref sourceInfo); if (err == WIN32STATUS.ERROR_SUCCESS) { + //gotSourceDeviceName = true; // Store it for later if (windowsDisplayConfig.DisplaySources.ContainsKey(sourceInfo.ViewGdiDeviceName)) @@ -543,6 +570,7 @@ namespace DisplayMagicianShared.Windows ds.AdapterId = paths[i].SourceInfo.AdapterId; ds.SourceId = paths[i].SourceInfo.Id; ds.TargetId = paths[i].TargetInfo.Id; + ds.SourceDpiScalingRel = sourceDpiScalingRel; windowsDisplayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName].Add(ds); isClonedPath = true; isClonedProfile = true; @@ -556,6 +584,7 @@ namespace DisplayMagicianShared.Windows ds.AdapterId = paths[i].SourceInfo.AdapterId; ds.SourceId = paths[i].SourceInfo.Id; ds.TargetId = paths[i].TargetInfo.Id; + ds.SourceDpiScalingRel = sourceDpiScalingRel; sources.Add(ds); windowsDisplayConfig.DisplaySources.Add(sourceInfo.ViewGdiDeviceName, sources); } @@ -607,6 +636,7 @@ namespace DisplayMagicianShared.Windows //gotAdapterName = true; } + // Get advanced color info SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get advanced color info for display {paths[i].TargetInfo.Id}."); @@ -1388,9 +1418,32 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: SUCCESS! The display configuration has been successfully applied"); - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Waiting 0.1 second to let the display change take place before adjusting the Windows CCD HDR settings"); + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Waiting 0.1 second to let the display change take place before adjusting the Windows CCD Source DPI scaling settings"); System.Threading.Thread.Sleep(100); + SharedLogger.logger.Trace($"WinLibrary/SetWindowsDisplayConfig: Attempting to set Windows DPI Scaling setting for display sources."); + foreach (var displaySourceEntry in displayConfig.DisplaySources) + { + // We only need to set the source on the first display source + // Set the Windows Scaling DPI per source + DISPLAYCONFIG_SOURCE_DPI_SCALE_SET displayScalingInfo = new DISPLAYCONFIG_SOURCE_DPI_SCALE_SET(); + displayScalingInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_SET_DPI_SCALE; + displayScalingInfo.Header.Size = (uint)Marshal.SizeOf(); ; + displayScalingInfo.Header.AdapterId = displaySourceEntry.Value[0].AdapterId; + displayScalingInfo.Header.Id = displaySourceEntry.Value[0].SourceId; + displayScalingInfo.ScaleRel = displaySourceEntry.Value[0].SourceDpiScalingRel; + err = CCDImport.DisplayConfigSetDeviceInfo(ref displayScalingInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/SetWindowsDisplayConfig: Setting DPI value for source {displaySourceEntry.Value[0].SourceId} to {CCDImport.DPI_VALUES[displayScalingInfo.ScaleRel]}%."); + } + else + { + SharedLogger.logger.Warn($"WinLibrary/SetWindowsDisplayConfig: WARNING - Unable to set DPI value for source {displaySourceEntry.Value[0].SourceId} to {CCDImport.DPI_VALUES[displayScalingInfo.ScaleRel]}%."); + } + } + + // NOTE: There is currently no way within Windows CCD API to set the HDR settings to any particular setting // This code will only turn on the HDR setting. foreach (ADVANCED_HDR_INFO_PER_PATH myHDRstate in displayConfig.DisplayHDRStates) From 340387dcc4222192741924fa6b382cc71ca90e26 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 31 May 2022 09:02:18 +1200 Subject: [PATCH 12/60] Updated WinLibrary, NVIDIALibrary and AMDLIbrary to latest versions Updated video libraries to v1.7.5 --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagicianShared/AMD/AMDLibrary.cs | 6 +- DisplayMagicianShared/NVIDIA/NVAPI.cs | 2191 +++++++++++++---- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 896 ++++++- DisplayMagicianShared/Windows/WinLibrary.cs | 30 +- 5 files changed, 2667 insertions(+), 460 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 13d55dd..a8da07a 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.3.2.5")] -[assembly: AssemblyFileVersion("2.3.2.5")] +[assembly: AssemblyVersion("2.3.2.6")] +[assembly: AssemblyFileVersion("2.3.2.6")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/AMD/AMDLibrary.cs b/DisplayMagicianShared/AMD/AMDLibrary.cs index 4a3dcc6..8c244da 100644 --- a/DisplayMagicianShared/AMD/AMDLibrary.cs +++ b/DisplayMagicianShared/AMD/AMDLibrary.cs @@ -223,7 +223,7 @@ namespace DisplayMagicianShared.AMD { // If we get here then the AMD ADL DLL wasn't found. We can't continue to use it, so we log the error and exit SharedLogger.logger.Info(ex, $"AMDLibrary/AMDLibrary: Exception trying to load the AMD ADL DLL {ADLImport.ATI_ADL_DLL}. This generally means you don't have the AMD ADL driver installed."); - } + } } @@ -937,7 +937,7 @@ namespace DisplayMagicianShared.AMD } myDisplayConfig.HdrConfigs = new Dictionary(); - + // Now we need to get all the displays connected to this adapter so that we can get their HDR state foreach (var displayTarget in displayTargetArray) { @@ -946,7 +946,7 @@ namespace DisplayMagicianShared.AMD ADL_DISPLAY_CONNECTION_TYPE displayConnector; try { - displayConnector = displayInfoArray.First(d => d.DisplayID == displayTarget.DisplayID).DisplayConnector; + displayConnector = displayInfoArray.First(d => d.DisplayID == displayTarget.DisplayID).DisplayConnector; } catch (Exception ex) { diff --git a/DisplayMagicianShared/NVIDIA/NVAPI.cs b/DisplayMagicianShared/NVIDIA/NVAPI.cs index e300eb5..1cf910d 100644 --- a/DisplayMagicianShared/NVIDIA/NVAPI.cs +++ b/DisplayMagicianShared/NVIDIA/NVAPI.cs @@ -186,6 +186,14 @@ namespace DisplayMagicianShared.NVIDIA EXCLUDE_MST = 0x10, //!< Excludes devices that are part of the multi stream topology. } + public enum NVDRS_SETTING_TYPE : UInt32 + { + NVDRS_DWORD_TYPE = 0, + NVDRS_BINARY_TYPE = 1, + NVDRS_STRING_TYPE = 2, + NVDRS_WSTRING_TYPE = 3, + } + public enum NV_STATIC_METADATA_DESCRIPTOR_ID : UInt32 { NV_STATIC_METADATA_TYPE_1 = 0 //!< Tells the type of structure used to define the Static Metadata Descriptor block. @@ -685,15 +693,8 @@ namespace DisplayMagicianShared.NVIDIA NV_DESKTOP_COLOR_DEPTH_MAX_VALUE = NV_DESKTOP_COLOR_DEPTH_16BPC_FLOAT_HDR, // must be set to highest enum value } - public enum NVDRS_SETTING_TYPE - { - NVDRS_DWORD_TYPE = 0x0, - NVDRS_BINARY_TYPE = 0x1, - NVDRS_STRING_TYPE = 0x2, - NVDRS_WSTRING_TYPE = 0x3, - } - public enum NVDRS_SETTING_LOCATION + public enum NVDRS_SETTING_LOCATION : UInt32 { NVDRS_CURRENT_PROFILE_LOCATION = 0x0, NVDRS_GLOBAL_PROFILE_LOCATION = 0x1, @@ -701,6 +702,7 @@ namespace DisplayMagicianShared.NVIDIA NVDRS_DEFAULT_PROFILE_LOCATION = 0x3, } + [Flags] public enum NV_HDR_CAPABILITIES_V2_FLAGS : UInt32 { @@ -779,6 +781,59 @@ namespace DisplayMagicianShared.NVIDIA // STRUCTS // ================================== + + [StructLayout(LayoutKind.Sequential, Pack = 8)] + public struct NvDRSSessionHandle : IEquatable, ICloneable + { + public IntPtr Ptr; + + public override bool Equals(object obj) => obj is NvDRSSessionHandle other && this.Equals(other); + + public bool Equals(NvDRSSessionHandle other) + => Ptr == other.Ptr; + + public override Int32 GetHashCode() + { + return (Ptr).GetHashCode(); + } + + public static bool operator ==(NvDRSSessionHandle lhs, NvDRSSessionHandle rhs) => lhs.Equals(rhs); + + public static bool operator !=(NvDRSSessionHandle lhs, NvDRSSessionHandle rhs) => !(lhs == rhs); + + public object Clone() + { + NvDRSSessionHandle other = (NvDRSSessionHandle)MemberwiseClone(); + return other; + } + } + + [StructLayout(LayoutKind.Sequential, Pack = 8)] + public struct NvDRSProfileHandle : IEquatable, ICloneable + { + public IntPtr Ptr; + + public override bool Equals(object obj) => obj is NvDRSProfileHandle other && this.Equals(other); + + public bool Equals(NvDRSProfileHandle other) + => Ptr == other.Ptr; + + public override Int32 GetHashCode() + { + return (Ptr).GetHashCode(); + } + + public static bool operator ==(NvDRSProfileHandle lhs, NvDRSProfileHandle rhs) => lhs.Equals(rhs); + + public static bool operator !=(NvDRSProfileHandle lhs, NvDRSProfileHandle rhs) => !(lhs == rhs); + + public object Clone() + { + NvDRSProfileHandle other = (NvDRSProfileHandle)MemberwiseClone(); + return other; + } + } + [StructLayout(LayoutKind.Sequential, Pack = 8)] public struct DisplayHandle : IEquatable, ICloneable { @@ -882,7 +937,7 @@ namespace DisplayMagicianShared.NVIDIA } } - [StructLayout(LayoutKind.Sequential, Pack = 8)] + [StructLayout(LayoutKind.Sequential, Pack = 8, CharSet = CharSet.Unicode)] public struct NVDRS_PROFILE_V1 : IEquatable, ICloneable // Note: Version 3 of NV_EDID_V3 structure { public UInt32 Version; //!< Structure version @@ -918,32 +973,367 @@ namespace DisplayMagicianShared.NVIDIA } } - [StructLayout(LayoutKind.Sequential, Pack = 8)] + [StructLayout(LayoutKind.Sequential, Pack = 8, CharSet = CharSet.Unicode)] public struct NVDRS_SETTING_V1 : IEquatable, ICloneable // Note: Version 1 of NVDRS_SETTING_V1 structure { - public UInt32 Version; //!< Structure version - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = (Int32)NVImport.NVAPI_UNICODE_STRING_MAX)] - public string SettingName; // EDID_Data[NV_EDID_DATA_SIZE]; - public UInt32 SettingId; - public NVDRS_SETTING_TYPE SettingType; - public NVDRS_SETTING_LOCATION SettingLocation; - public UInt32 IsCurrentPredefined; - public UInt32 IsPredefinedValid; + public UInt32 InternalVersion; + public UnicodeString InternalSettingName; + public UInt32 InternalSettingId; + public NVDRS_SETTING_TYPE InternalSettingType; + public NVDRS_SETTING_LOCATION InternalSettingLocation; + public UInt32 InternalIsCurrentPredefined; + public UInt32 InternalIsPredefinedValid; + public NVDRS_SETTING_VALUE InternalPredefinedValue; + public NVDRS_SETTING_VALUE InternalCurrentValue; + + /// + /// Creates a new instance of containing the passed value. + /// + /// The setting identification number. + /// The type of the setting's value + /// The setting's value + public NVDRS_SETTING_V1(uint id, NVDRS_SETTING_TYPE settingType, object value) + { + InternalVersion = NVImport.NVDRS_SETTING_V1_VER; + InternalSettingId = id; + InternalIsPredefinedValid = (UInt32)0; + InternalSettingName = new UnicodeString(""); + InternalSettingId = 0; + InternalSettingType = settingType; + InternalSettingLocation = NVDRS_SETTING_LOCATION.NVDRS_BASE_PROFILE_LOCATION; + InternalIsCurrentPredefined = 0; + InternalIsPredefinedValid = 0; + InternalPredefinedValue = new NVDRS_SETTING_VALUE(); + InternalCurrentValue = new NVDRS_SETTING_VALUE(0); + + CurrentValue = value; + } + + /// + /// Creates a new instance of containing the passed value. + /// + /// The setting identification number. + /// The setting's value + public NVDRS_SETTING_V1(uint id, string value) : this(id, NVDRS_SETTING_TYPE.NVDRS_WSTRING_TYPE, value) + { + } + + /// + /// Creates a new instance of containing the passed value. + /// + /// The setting identification number. + /// The setting's value + public NVDRS_SETTING_V1(uint id, uint value) : this(id, NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE, value) + { + } + + /// + /// Creates a new instance of containing the passed value. + /// + /// The setting identification number. + /// The setting's value + public NVDRS_SETTING_V1(uint id, byte[] value) : this(id, NVDRS_SETTING_TYPE.NVDRS_BINARY_TYPE, value) + { + } + + /// + /// Gets the name of the setting + /// + public string Name + { + get => InternalSettingName.Value; + } + + /// + /// Gets the identification number of the setting + /// + public UInt32 SettingId + { + get => InternalSettingId; + private set => InternalSettingId = value; + } + + /// + /// Gets the setting's value type + /// + public NVDRS_SETTING_TYPE SettingType + { + get => InternalSettingType; + private set => InternalSettingType = value; + } + + /// + /// Gets the setting location + /// + public NVDRS_SETTING_LOCATION SettingLocation + { + get => InternalSettingLocation; + } + + /// + /// Gets a boolean value indicating if the current value is the predefined value + /// + public bool IsCurrentPredefined + { + get => InternalIsCurrentPredefined > 0; + internal set => InternalIsCurrentPredefined = value ? 1u : 0u; + } + + /// + /// Gets a boolean value indicating if the predefined value is available and valid + /// + public bool IsPredefinedValid + { + get => InternalIsPredefinedValid > 0; + internal set => InternalIsPredefinedValid = value ? 1u : 0u; + } + + /// + /// Returns the predefined value as an integer + /// + /// An integer representing the predefined value + public uint GetPredefinedValueAsInteger() + { + return InternalPredefinedValue.AsInteger(); + } + + /// + /// Returns the predefined value as an array of bytes + /// + /// An byte array representing the predefined value + public byte[] GetPredefinedValueAsBinary() + { + return InternalPredefinedValue.AsBinary(); + } + + /// + /// Returns the predefined value as an unicode string + /// + /// An unicode string representing the predefined value + public string GetPredefinedValueAsUnicodeString() + { + return InternalPredefinedValue.AsUnicodeString(); + } + + /// + /// Gets the setting's predefined value + /// + public object PredefinedValue + { + get + { + if (!IsPredefinedValid) + { + return 0; + } + + switch (InternalSettingType) + { + case NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE: + + return GetPredefinedValueAsInteger(); + case NVDRS_SETTING_TYPE.NVDRS_BINARY_TYPE: + + return GetPredefinedValueAsBinary(); + case NVDRS_SETTING_TYPE.NVDRS_STRING_TYPE: + case NVDRS_SETTING_TYPE.NVDRS_WSTRING_TYPE: + + return GetPredefinedValueAsUnicodeString(); + default: + + throw new ArgumentOutOfRangeException(nameof(SettingType)); + } + } + } + + /// + /// Returns the current value as an integer + /// + /// An integer representing the current value + public uint GetCurrentValueAsInteger() + { + return InternalCurrentValue.AsInteger(); + } + + /// + /// Returns the current value as an array of bytes + /// + /// An byte array representing the current value + public byte[] GetCurrentValueAsBinary() + { + return InternalCurrentValue.AsBinary(); + } + + /// + /// Returns the current value as an unicode string + /// + /// An unicode string representing the current value + public string GetCurrentValueAsUnicodeString() + { + return InternalCurrentValue.AsUnicodeString(); + } + + /// + /// Sets the passed value as the current value + /// + /// The new value for the setting + public void SetCurrentValueAsInteger(uint value) + { + if (SettingType != NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE) + { + throw new ArgumentOutOfRangeException(nameof(value), "Passed argument is invalid for this setting."); + } + + InternalCurrentValue = new NVDRS_SETTING_VALUE(value); + IsCurrentPredefined = IsPredefinedValid && (uint)CurrentValue == (uint)PredefinedValue; + } + + /// + /// Sets the passed value as the current value + /// + /// The new value for the setting + public void SetCurrentValueAsBinary(byte[] value) + { + if (SettingType != NVDRS_SETTING_TYPE.NVDRS_BINARY_TYPE) + { + throw new ArgumentOutOfRangeException(nameof(value), "Passed argument is invalid for this setting."); + } + + InternalCurrentValue = new NVDRS_SETTING_VALUE(value); + IsCurrentPredefined = + IsPredefinedValid && + ((byte[])CurrentValue)?.SequenceEqual((byte[])PredefinedValue ?? new byte[0]) == true; + } + + /// + /// Sets the passed value as the current value + /// + /// The new value for the setting + public void SetCurrentValueAsUnicodeString(string value) + { + if (SettingType != NVDRS_SETTING_TYPE.NVDRS_WSTRING_TYPE) + { + throw new ArgumentOutOfRangeException(nameof(value), "Passed argument is invalid for this setting."); + } + + InternalCurrentValue = new NVDRS_SETTING_VALUE(value); + IsCurrentPredefined = + IsPredefinedValid && + string.Equals( + (string)CurrentValue, + (string)PredefinedValue, + StringComparison.InvariantCulture + ); + } + + /// + /// Gets or sets the setting's current value + /// + public object CurrentValue + { + get + { + switch (InternalSettingType) + { + case NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE: + + return GetCurrentValueAsInteger(); + case NVDRS_SETTING_TYPE.NVDRS_BINARY_TYPE: + + return GetCurrentValueAsBinary(); + case NVDRS_SETTING_TYPE.NVDRS_STRING_TYPE: + case NVDRS_SETTING_TYPE.NVDRS_WSTRING_TYPE: + + return GetCurrentValueAsUnicodeString(); + default: + + throw new ArgumentOutOfRangeException(nameof(SettingType)); + } + } + internal set + { + if (value is int intValue) + { + SetCurrentValueAsInteger((uint)intValue); + } + else if (value is uint unsignedIntValue) + { + SetCurrentValueAsInteger(unsignedIntValue); + } + else if (value is short shortValue) + { + SetCurrentValueAsInteger((uint)shortValue); + } + else if (value is ushort unsignedShortValue) + { + SetCurrentValueAsInteger(unsignedShortValue); + } + else if (value is long longValue) + { + SetCurrentValueAsInteger((uint)longValue); + } + else if (value is ulong unsignedLongValue) + { + SetCurrentValueAsInteger((uint)unsignedLongValue); + } + else if (value is byte byteValue) + { + SetCurrentValueAsInteger(byteValue); + } + else if (value is string stringValue) + { + SetCurrentValueAsUnicodeString(stringValue); + } + else if (value is byte[] binaryValue) + { + SetCurrentValueAsBinary(binaryValue); + } + else + { + throw new ArgumentException("Unacceptable argument type.", nameof(value)); + } + } + } public override bool Equals(object obj) => obj is NVDRS_SETTING_V1 other && this.Equals(other); public bool Equals(NVDRS_SETTING_V1 other) - => Version == other.Version && - SettingName == other.SettingName && - SettingId == other.SettingId && - SettingType == other.SettingType && - SettingLocation == other.SettingLocation && - IsCurrentPredefined == other.IsCurrentPredefined && - IsPredefinedValid == other.IsPredefinedValid; + { + if (!(InternalVersion == other.InternalVersion && + InternalSettingName.Equals(other.InternalSettingName) && + InternalSettingId == other.InternalSettingId && + InternalSettingType == other.InternalSettingType && + InternalSettingLocation == other.InternalSettingLocation && + InternalIsCurrentPredefined == other.InternalIsCurrentPredefined && + InternalIsPredefinedValid == other.InternalIsPredefinedValid)) + { + return false; + } + if (InternalSettingType == NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE && + InternalCurrentValue.AsInteger() == other.InternalCurrentValue.AsInteger()) + { + return true; + } + else if (InternalSettingType == NVDRS_SETTING_TYPE.NVDRS_BINARY_TYPE && + InternalCurrentValue.AsBinary() == other.InternalCurrentValue.AsBinary()) + { + return true; + } + else if ((InternalSettingType == NVDRS_SETTING_TYPE.NVDRS_STRING_TYPE || InternalSettingType == NVDRS_SETTING_TYPE.NVDRS_WSTRING_TYPE) && + InternalCurrentValue.AsUnicodeString() == other.InternalCurrentValue.AsUnicodeString()) + { + return true; + } + else + { + return false; + } + } + public override Int32 GetHashCode() { - return (Version, SettingName, SettingId, SettingType, SettingLocation, IsCurrentPredefined, IsPredefinedValid).GetHashCode(); + return (InternalVersion, InternalSettingName, InternalSettingId, InternalSettingType, InternalSettingLocation, InternalIsCurrentPredefined, InternalIsPredefinedValid, InternalCurrentValue).GetHashCode(); } public static bool operator ==(NVDRS_SETTING_V1 lhs, NVDRS_SETTING_V1 rhs) => lhs.Equals(rhs); @@ -956,6 +1346,313 @@ namespace DisplayMagicianShared.NVIDIA } } + [StructLayout(LayoutKind.Sequential, Pack = 8, CharSet = CharSet.Unicode)] + public struct NVDRS_BINARY_SETTING : IEquatable, ICloneable + { + public UInt32 ValueLength; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = (Int32)NVImport.NVAPI_UNICODE_STRING_MAX)] + public string ValueData; + + public override bool Equals(object obj) => obj is NVDRS_BINARY_SETTING other && this.Equals(other); + + public bool Equals(NVDRS_BINARY_SETTING other) + => ValueLength == other.ValueLength && + ValueData.SequenceEqual(other.ValueData); + + public override Int32 GetHashCode() + { + return (ValueLength, ValueData).GetHashCode(); + } + public static bool operator ==(NVDRS_BINARY_SETTING lhs, NVDRS_BINARY_SETTING rhs) => lhs.Equals(rhs); + + public static bool operator !=(NVDRS_BINARY_SETTING lhs, NVDRS_BINARY_SETTING rhs) => !(lhs == rhs); + + public object Clone() + { + NVDRS_BINARY_SETTING other = (NVDRS_BINARY_SETTING)MemberwiseClone(); + return other; + } + } + + + //NVDRS_SETTING_VALUE_UNION + [StructLayout(LayoutKind.Sequential, Pack = 8)] + public struct NVDRS_SETTING_VALUE : IEquatable, ICloneable // Note: Version 1 of NVDRS_SETTINGS_VALUE structure + { + private const int UnicodeStringLength = UnicodeString.UnicodeStringLength; + private const int BinaryDataMax = 4096; + + // Math.Max(BinaryDataMax + sizeof(uint), UnicodeStringLength * sizeof(ushort)) + private const int FullStructureSize = 4100; + + [MarshalAs(UnmanagedType.ByValArray, SizeConst = FullStructureSize, ArraySubType = UnmanagedType.U1)] + public byte[] InternalBinaryValue; + + /// + /// Creates a new instance of containing the passed unicode string as the value + /// + /// The unicode string value + public NVDRS_SETTING_VALUE(string value) + { + if (value?.Length > UnicodeStringLength) + { + value = value.Substring(0, UnicodeStringLength); + } + + InternalBinaryValue = new byte[FullStructureSize]; + + var stringBytes = Encoding.Unicode.GetBytes(value ?? string.Empty); + Array.Copy(stringBytes, 0, InternalBinaryValue, 0, Math.Min(stringBytes.Length, InternalBinaryValue.Length)); + } + + /// + /// Creates a new instance of containing the passed byte array as the value + /// + /// The byte array value + public NVDRS_SETTING_VALUE(byte[] value) + { + InternalBinaryValue = new byte[FullStructureSize]; + + if (value?.Length > 0) + { + var arrayLength = Math.Min(value.Length, BinaryDataMax); + var arrayLengthBytes = BitConverter.GetBytes((uint)arrayLength); + Array.Copy(arrayLengthBytes, 0, InternalBinaryValue, 0, arrayLengthBytes.Length); + Array.Copy(value, 0, InternalBinaryValue, arrayLengthBytes.Length, arrayLength); + } + } + + /// + /// Creates a new instance of containing the passed integer as the value + /// + /// The integer value + public NVDRS_SETTING_VALUE(uint value) + { + InternalBinaryValue = new byte[FullStructureSize]; + var arrayLengthBytes = BitConverter.GetBytes(value); + Array.Copy(arrayLengthBytes, 0, InternalBinaryValue, 0, arrayLengthBytes.Length); + } + + /// + /// Returns the value as an integer + /// + /// An integer representing the value + public uint AsInteger() + { + return BitConverter.ToUInt32(InternalBinaryValue, 0); + } + + /// + /// Returns the value as an array of bytes + /// + /// An array of bytes representing the value + public byte[] AsBinary() + { + return InternalBinaryValue.Skip(sizeof(uint)).Take((int)AsInteger()).ToArray(); + } + + /// + /// Returns the value as an unicode string + /// + /// An unicode string representing the value + public string AsUnicodeString() + { + return Encoding.Unicode.GetString(InternalBinaryValue).TrimEnd('\0'); + } + + public override bool Equals(object obj) => obj is NVDRS_SETTING_VALUE other && this.Equals(other); + + public bool Equals(NVDRS_SETTING_VALUE other) + => InternalBinaryValue == other.InternalBinaryValue; + + public override Int32 GetHashCode() + { + return (InternalBinaryValue).GetHashCode(); + } + public static bool operator ==(NVDRS_SETTING_VALUE lhs, NVDRS_SETTING_VALUE rhs) => lhs.Equals(rhs); + + public static bool operator !=(NVDRS_SETTING_VALUE lhs, NVDRS_SETTING_VALUE rhs) => !(lhs == rhs); + + public object Clone() + { + NVDRS_SETTING_VALUE other = (NVDRS_SETTING_VALUE)MemberwiseClone(); + return other; + } + } + + //NVDRS_SETTING_VALUES + [StructLayout(LayoutKind.Sequential, Pack = 8)] + public struct NVDRS_SETTING_VALUES_V1 : IEquatable, ICloneable // Note: Version 1 of NVDRS_SETTING_VALUES_V1 structure + { + internal const int MaximumNumberOfValues = (int)NVImport.NVAPI_SETTING_MAX_VALUES; + + public UInt32 Version; + public UInt32 NumberOfValues; + public NVDRS_SETTING_TYPE _SettingType; + public NVDRS_SETTING_VALUE InternalDefaultValue; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MaximumNumberOfValues)] + public NVDRS_SETTING_VALUE[] InternalValues; + + /// + /// Gets the setting's value type + /// + public NVDRS_SETTING_TYPE SettingType + { + get => _SettingType; + } + + /// + /// Gets a list of possible values for the setting + /// + public object[] Values + { + get + { + switch (_SettingType) + { + case NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE: + return ValuesAsInteger().Cast().ToArray(); + + case NVDRS_SETTING_TYPE.NVDRS_BINARY_TYPE: + return ValuesAsBinary().Cast().ToArray(); + + case NVDRS_SETTING_TYPE.NVDRS_STRING_TYPE: + case NVDRS_SETTING_TYPE.NVDRS_WSTRING_TYPE: + return ValuesAsUnicodeString().Cast().ToArray(); + + default: + throw new ArgumentOutOfRangeException(nameof(SettingType)); + } + } + } + + /// + /// Gets the default value of the setting + /// + public object DefaultValue + { + get + { + switch (_SettingType) + { + case NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE: + return DefaultValueAsInteger(); + + case NVDRS_SETTING_TYPE.NVDRS_BINARY_TYPE: + return DefaultValueAsBinary(); + + case NVDRS_SETTING_TYPE.NVDRS_STRING_TYPE: + case NVDRS_SETTING_TYPE.NVDRS_WSTRING_TYPE: + return DefaultValueAsUnicodeString(); + + default: + throw new ArgumentOutOfRangeException(nameof(SettingType)); + } + } + } + + /// + /// Returns the default value as an integer + /// + /// An integer representing the default value + public uint DefaultValueAsInteger() + { + return InternalDefaultValue.AsInteger(); + } + + /// + /// Returns the default value as a byte array + /// + /// An array of bytes representing the default value + public byte[] DefaultValueAsBinary() + { + return InternalDefaultValue.AsBinary(); + } + + /// + /// Returns the default value as an unicode string + /// + /// A string representing the default value + public string DefaultValueAsUnicodeString() + { + return InternalDefaultValue.AsUnicodeString(); + } + + /// + /// Returns the setting's possible values as an array of integers + /// + /// An array of integers representing the possible values + public uint[] ValuesAsInteger() + { + return InternalValues.Take((int)NumberOfValues).Select(value => value.AsInteger()).ToArray(); + } + + /// + /// Returns the setting's possible values as an array of byte arrays + /// + /// An array of byte arrays representing the possible values + public byte[][] ValuesAsBinary() + { + return InternalValues.Take((int)NumberOfValues).Select(value => value.AsBinary()).ToArray(); + } + + /// + /// Returns the setting's possible values as an array of unicode strings + /// + /// An array of unicode strings representing the possible values + public string[] ValuesAsUnicodeString() + { + return InternalValues.Take((int)NumberOfValues).Select(value => value.AsUnicodeString()).ToArray(); + } + + public override bool Equals(object obj) => obj is NVDRS_SETTING_VALUES_V1 other && this.Equals(other); + + public bool Equals(NVDRS_SETTING_VALUES_V1 other) + => Version == other.Version && + NumberOfValues == other.NumberOfValues && + _SettingType == other._SettingType && + InternalDefaultValue == other.InternalDefaultValue && + InternalValues == other.InternalValues; + + + public override Int32 GetHashCode() + { + return (Version, NumberOfValues, _SettingType, InternalDefaultValue, InternalValues).GetHashCode(); + } + public static bool operator ==(NVDRS_SETTING_VALUES_V1 lhs, NVDRS_SETTING_VALUES_V1 rhs) => lhs.Equals(rhs); + + public static bool operator !=(NVDRS_SETTING_VALUES_V1 lhs, NVDRS_SETTING_VALUES_V1 rhs) => !(lhs == rhs); + + public object Clone() + { + NVDRS_SETTING_VALUES_V1 other = (NVDRS_SETTING_VALUES_V1)MemberwiseClone(); + return other; + } + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + public struct UnicodeString + { + public const int UnicodeStringLength = 2048; + + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = UnicodeStringLength)] + public readonly string InternalValue; + + public string Value + { + get => InternalValue; + } + + public UnicodeString(string value) + { + InternalValue = value ?? string.Empty; + } + + public override string ToString() + { + return Value; + } + } [StructLayout(LayoutKind.Sequential, Pack = 8)] public struct NV_LOGICAL_GPU_DATA_V1 : IEquatable, ICloneable // Note: Version 1 of NV_BOARD_INFO_V1 structure @@ -2819,6 +3516,10 @@ namespace DisplayMagicianShared.NVIDIA public static UInt32 NV_DISPLAYCONFIG_PATH_INFO_V2_INTERNAL_VER = MAKE_NVAPI_VERSION(2); public static UInt32 NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_V1_INTERNAL_VER = MAKE_NVAPI_VERSION(1); + public static UInt32 NVDRS_PROFILE_V1_VER = MAKE_NVAPI_VERSION(1); + public static UInt32 NVDRS_SETTING_V1_VER = MAKE_NVAPI_VERSION(1); + //public static UInt32 NVDRS_SETTING_VALUES_V1_VER = MAKE_NVAPI_VERSION(1); + @@ -2994,6 +3695,27 @@ namespace DisplayMagicianShared.NVIDIA // System GetDelegate(NvId_SYS_GetGpuAndOutputIdFromDisplayId, out SYS_GetGpuAndOutputIdFromDisplayIdInternal); + // DRS + GetDelegate(NvId_DRS_SetProfileInfo, out DRS_SetProfileInfoInternal); + GetDelegate(NvId_DRS_SetSetting, out DRS_SetSettingInternal); + GetDelegate(NvId_DRS_GetCurrentGlobalProfile, out DRS_GetCurrentGlobalProfileInternal); + GetDelegate(NvId_DRS_EnumSettings, out DRS_EnumSettingsInternal); + GetDelegate(NvId_DRS_GetSetting, out DRS_GetSettingInternal); + GetDelegate(NvId_DRS_GetProfileInfo, out DRS_GetProfileInfoInternal); + GetDelegate(NvId_DRS_GetSettingIdFromName, out DRS_GetSettingIdFromNameInternal); + GetDelegate(NvId_DRS_EnumAvailableSettingIds, out DRS_EnumAvailableSettingIdsInternal); + GetDelegate(NvId_DRS_CreateSession, out DRS_CreateSessionInternal); + GetDelegate(NvId_DRS_GetSettingNameFromId, out DRS_GetSettingNameFromIdInternal); + GetDelegate(NvId_DRS_EnumAvailableSettingValues, out DRS_EnumAvailableSettingValuesInternal); + GetDelegate(NvId_DRS_EnumProfiles, out DRS_EnumProfilesInternal); + GetDelegate(NvId_DRS_SetCurrentGlobalProfile, out DRS_SetCurrentGlobalProfileInternal); + GetDelegate(NvId_DRS_DestroySession, out DRS_DestroySessionInternal); + GetDelegate(NvId_DRS_LoadSettings, out DRS_LoadSettingsInternal); + GetDelegate(NvId_DRS_SaveSettings, out DRS_SaveSettingsInternal); + GetDelegate(NvId_DRS_GetBaseProfile, out DRS_GetBaseProfileInternal); + GetDelegate(NvId_DRS_GetNumProfiles, out DRS_GetNumProfilesInternal); + GetDelegate(NvId_DRS_RestoreProfileDefaultSetting, out DRS_RestoreProfileDefaultSettingInternal); + // Set the availability available = true; } @@ -3114,420 +3836,430 @@ namespace DisplayMagicianShared.NVIDIA #region NvAPI Public Functions - private const UInt32 NvId_GetErrorMessage = 0x6C2D048C; - private const UInt32 NvId_GetInterfaceVersionString = 0x1053FA5; - private const UInt32 NvId_GPU_GetEDID = 0x37D32E69; - private const UInt32 NvId_SetView = 0x957D7B6; - private const UInt32 NvId_SetViewEx = 0x6B89E68; - private const UInt32 NvId_GetDisplayDriverVersion = 0xF951A4D1; - private const UInt32 NvId_SYS_GetDriverAndBranchVersion = 0x2926AAAD; - private const UInt32 NvId_GPU_GetMemoryInfo = 0x7F9B368; - private const UInt32 NvId_OGL_ExpertModeSet = 0x3805EF7A; - private const UInt32 NvId_OGL_ExpertModeGet = 0x22ED9516; - private const UInt32 NvId_OGL_ExpertModeDefaultsSet = 0xB47A657E; - private const UInt32 NvId_OGL_ExpertModeDefaultsGet = 0xAE921F12; - private const UInt32 NvId_EnumPhysicalGPUs = 0xE5AC921F; - private const UInt32 NvId_EnumTCCPhysicalGPUs = 0xD9930B07; - private const UInt32 NvId_EnumLogicalGPUs = 0x48B3EA59; - private const UInt32 NvId_GetPhysicalGPUsFromDisplay = 0x34EF9506; - private const UInt32 NvId_GetPhysicalGPUFromUnAttachedDisplay = 0x5018ED61; - private const UInt32 NvId_GetLogicalGPUFromDisplay = 0xEE1370CF; - private const UInt32 NvId_GetLogicalGPUFromPhysicalGPU = 0xADD604D1; - private const UInt32 NvId_GetPhysicalGPUsFromLogicalGPU = 0xAEA3FA32; - private const UInt32 NvId_GPU_GetShaderSubPipeCount = 0xBE17923; - private const UInt32 NvId_GPU_GetGpuCoreCount = 0xC7026A87; - private const UInt32 NvId_GPU_GetAllOutputs = 0x7D554F8E; - private const UInt32 NvId_GPU_GetConnectedOutputs = 0x1730BFC9; - private const UInt32 NvId_GPU_GetConnectedSLIOutputs = 0x680DE09; - private const UInt32 NvId_GPU_GetConnectedDisplayIds = 0x78DBA2; - private const UInt32 NvId_GPU_GetAllDisplayIds = 0x785210A2; - private const UInt32 NvId_GPU_GetConnectedOutputsWithLidState = 0xCF8CAF39; - private const UInt32 NvId_GPU_GetConnectedSLIOutputsWithLidState = 0x96043CC7; - private const UInt32 NvId_GPU_GetSystemType = 0xBAAABFCC; - private const UInt32 NvId_GPU_GetActiveOutputs = 0xE3E89B6F; - private const UInt32 NvId_GPU_SetEDID = 0xE83D6456; - private const UInt32 NvId_GPU_GetOutputType = 0x40A505E4; - private const UInt32 NvId_GPU_ValidateOutputCombination = 0x34C9C2D4; - private const UInt32 NvId_GPU_GetFullName = 0xCEEE8E9F; - private const UInt32 NvId_GPU_GetPCIIdentifiers = 0x2DDFB66E; - private const UInt32 NvId_GPU_GetGPUType = 0xC33BAEB1; - private const UInt32 NvId_GPU_GetBusType = 0x1BB18724; - private const UInt32 NvId_GPU_GetBusId = 0x1BE0B8E5; - private const UInt32 NvId_GPU_GetBusSlotId = 0x2A0A350F; - private const UInt32 NvId_GPU_GetIRQ = 0xE4715417; - private const UInt32 NvId_GPU_GetVbiosRevision = 0xACC3DA0A; - private const UInt32 NvId_GPU_GetVbiosOEMRevision = 0x2D43FB31; - private const UInt32 NvId_GPU_GetVbiosVersionString = 0xA561FD7D; - private const UInt32 NvId_GPU_GetAGPAperture = 0x6E042794; - private const UInt32 NvId_GPU_GetCurrentAGPRate = 0xC74925A0; - private const UInt32 NvId_GPU_GetCurrentPCIEDownstreamWidth = 0xD048C3B1; - private const UInt32 NvId_GPU_GetPhysicalFrameBufferSize = 0x46FBEB03; - private const UInt32 NvId_GPU_GetVirtualFrameBufferSize = 0x5A04B644; - private const UInt32 NvId_GPU_GetQuadroStatus = 0xE332FA47; - private const UInt32 NvId_GPU_GetBoardInfo = 0x22D54523; - private const UInt32 NvId_GPU_GetArchInfo = 0xD8265D24; - private const UInt32 NvId_I2CRead = 0x2FDE12C5; - private const UInt32 NvId_I2CWrite = 0xE812EB07; - private const UInt32 NvId_GPU_WorkstationFeatureSetup = 0x6C1F3FE4; - private const UInt32 NvId_GPU_WorkstationFeatureQuery = 0x4537DF; - private const UInt32 NvId_GPU_GetHDCPSupportStatus = 0xF089EEF5; - private const UInt32 NvId_GPU_GetTachReading = 0x5F608315; - private const UInt32 NvId_GPU_GetECCStatusInfo = 0xCA1DDAF3; - private const UInt32 NvId_GPU_GetECCErrorInfo = 0xC71F85A6; - private const UInt32 NvId_GPU_ResetECCErrorInfo = 0xC02EEC20; - private const UInt32 NvId_GPU_GetECCConfigurationInfo = 0x77A796F3; - private const UInt32 NvId_GPU_SetECCConfiguration = 0x1CF639D9; - private const UInt32 NvId_GPU_QueryWorkstationFeatureSupport = 0x80B1ABB9; - private const UInt32 NvId_GPU_SetScanoutIntensity = 0xA57457A4; - private const UInt32 NvId_GPU_GetScanoutIntensityState = 0xE81CE836; - private const UInt32 NvId_GPU_SetScanoutWarping = 0xB34BAB4F; - private const UInt32 NvId_GPU_GetScanoutWarpingState = 0x6F5435AF; - private const UInt32 NvId_GPU_SetScanoutCompositionParameter = 0xF898247D; - private const UInt32 NvId_GPU_GetScanoutCompositionParameter = 0x58FE51E6; - private const UInt32 NvId_GPU_GetScanoutConfiguration = 0x6A9F5B63; - private const UInt32 NvId_GPU_GetScanoutConfigurationEx = 0xE2E1E6F0; - private const UInt32 NvId_GPU_GetAdapterIdFromPhysicalGpu = 0xFF07FDE; - private const UInt32 NvId_GPU_GetVirtualizationInfo = 0x44E022A9; - private const UInt32 NvId_GPU_GetLogicalGpuInfo = 0x842B066E; - private const UInt32 NvId_GPU_GetLicensableFeatures = 0x3FC596AA; - private const UInt32 NvId_GPU_GetVRReadyData = 0x81D629C5; - private const UInt32 NvId_GPU_GetPerfDecreaseInfo = 0x7F7F4600; - private const UInt32 NvId_GPU_GetPstatesInfoEx = 0x843C0256; - private const UInt32 NvId_GPU_GetPstates20 = 0x6FF81213; - private const UInt32 NvId_GPU_GetCurrentPstate = 0x927DA4F6; - private const UInt32 NvId_GPU_GetDynamicPstatesInfoEx = 0x60DED2ED; - private const UInt32 NvId_GPU_GetThermalSettings = 0xE3640A56; - private const UInt32 NvId_GPU_GetAllClockFrequencies = 0xDCB616C3; - private const UInt32 NvId_GPU_QueryIlluminationSupport = 0xA629DA31; - private const UInt32 NvId_GPU_GetIllumination = 0x9A1B9365; - private const UInt32 NvId_GPU_SetIllumination = 0x254A187; - private const UInt32 NvId_GPU_ClientIllumDevicesGetInfo = 0xD4100E58; - private const UInt32 NvId_GPU_ClientIllumDevicesGetControl = 0x73C01D58; - private const UInt32 NvId_GPU_ClientIllumDevicesSetControl = 0x57024C62; - private const UInt32 NvId_GPU_ClientIllumZonesGetInfo = 0x4B81241B; - private const UInt32 NvId_GPU_ClientIllumZonesGetControl = 0x3DBF5764; - private const UInt32 NvId_GPU_ClientIllumZonesSetControl = 0x197D065E; - private const UInt32 NvId_Event_RegisterCallback = 0xE6DBEA69; - private const UInt32 NvId_Event_UnregisterCallback = 0xDE1F9B45; - private const UInt32 NvId_EnumNvidiaDisplayHandle = 0x9ABDD40D; - private const UInt32 NvId_EnumNvidiaUnAttachedDisplayHandle = 0x20DE9260; - private const UInt32 NvId_CreateDisplayFromUnAttachedDisplay = 0x63F9799E; - private const UInt32 NvId_GetAssociatedNvidiaDisplayHandle = 0x35C29134; - private const UInt32 NvId_DISP_GetAssociatedUnAttachedNvidiaDisplayHandle = 0xA70503B2; - private const UInt32 NvId_GetAssociatedNvidiaDisplayName = 0x22A78B05; - private const UInt32 NvId_GetUnAttachedAssociatedDisplayName = 0x4888D790; - private const UInt32 NvId_EnableHWCursor = 0x2863148D; - private const UInt32 NvId_DisableHWCursor = 0xAB163097; - private const UInt32 NvId_GetVBlankCounter = 0x67B5DB55; - private const UInt32 NvId_SetRefreshRateOverride = 0x3092AC32; - private const UInt32 NvId_GetAssociatedDisplayOutputId = 0xD995937E; - private const UInt32 NvId_GetDisplayPortInfo = 0xC64FF367; - private const UInt32 NvId_SetDisplayPort = 0xFA13E65A; - private const UInt32 NvId_GetHDMISupportInfo = 0x6AE16EC3; - private const UInt32 NvId_Disp_InfoFrameControl = 0x6067AF3F; - private const UInt32 NvId_Disp_ColorControl = 0x92F9D80D; - private const UInt32 NvId_Disp_GetHdrCapabilities = 0x84F2A8DF; - private const UInt32 NvId_Disp_HdrColorControl = 0x351DA224; - private const UInt32 NvId_DISP_GetTiming = 0x175167E9; - private const UInt32 NvId_DISP_GetMonitorCapabilities = 0x3B05C7E1; - private const UInt32 NvId_DISP_GetMonitorColorCapabilities = 0x6AE4CFB5; - private const UInt32 NvId_DISP_EnumCustomDisplay = 0xA2072D59; - private const UInt32 NvId_DISP_TryCustomDisplay = 0x1F7DB630; - private const UInt32 NvId_DISP_DeleteCustomDisplay = 0x552E5B9B; - private const UInt32 NvId_DISP_SaveCustomDisplay = 0x49882876; - private const UInt32 NvId_DISP_RevertCustomDisplayTrial = 0xCBBD40F0; - private const UInt32 NvId_GetView = 0xD6B99D89; - private const UInt32 NvId_GetViewEx = 0xDBBC0AF4; - private const UInt32 NvId_GetSupportedViews = 0x66FB7FC0; - private const UInt32 NvId_DISP_GetDisplayIdByDisplayName = 0xAE457190; - private const UInt32 NvId_DISP_GetGDIPrimaryDisplayId = 0x1E9D8A31; - private const UInt32 NvId_DISP_GetDisplayConfig = 0x11ABCCF8; - private const UInt32 NvId_DISP_SetDisplayConfig = 0x5D8CF8DE; - private const UInt32 NvId_DISP_GetAdaptiveSyncData = 0xB73D1EE9; - private const UInt32 NvId_DISP_SetAdaptiveSyncData = 0x3EEBBA1D; - private const UInt32 NvId_DISP_SetPreferredStereoDisplay = 0xC9D0E25F; - private const UInt32 NvId_DISP_GetPreferredStereoDisplay = 0x1F6B4666; - private const UInt32 NvId_Mosaic_GetSupportedTopoInfo = 0xFDB63C81; - private const UInt32 NvId_Mosaic_GetTopoGroup = 0xCB89381D; - private const UInt32 NvId_Mosaic_GetOverlapLimits = 0x989685F0; - private const UInt32 NvId_Mosaic_SetCurrentTopo = 0x9B542831; - private const UInt32 NvId_Mosaic_GetCurrentTopo = 0xEC32944E; - private const UInt32 NvId_Mosaic_EnableCurrentTopo = 0x5F1AA66C; - private const UInt32 NvId_Mosaic_GetDisplayViewportsByResolution = 0xDC6DC8D3; - private const UInt32 NvId_Mosaic_SetDisplayGrids = 0x4D959A89; - private const UInt32 NvId_Mosaic_ValidateDisplayGrids = 0xCF43903D; - private const UInt32 NvId_Mosaic_EnumDisplayModes = 0x78DB97D7; - private const UInt32 NvId_Mosaic_EnumDisplayGrids = 0xDF2887AF; - private const UInt32 NvId_GetSupportedMosaicTopologies = 0x410B5C25; - private const UInt32 NvId_GetCurrentMosaicTopology = 0xF60852BD; - private const UInt32 NvId_SetCurrentMosaicTopology = 0xD54B8989; - private const UInt32 NvId_EnableCurrentMosaicTopology = 0x74073CC9; - private const UInt32 NvId_GSync_EnumSyncDevices = 0xD9639601; - private const UInt32 NvId_GSync_QueryCapabilities = 0x44A3F1D1; - private const UInt32 NvId_GSync_GetTopology = 0x4562BC38; - private const UInt32 NvId_GSync_SetSyncStateSettings = 0x60ACDFDD; - private const UInt32 NvId_GSync_GetControlParameters = 0x16DE1C6A; - private const UInt32 NvId_GSync_SetControlParameters = 0x8BBFF88B; - private const UInt32 NvId_GSync_AdjustSyncDelay = 0x2D11FF51; - private const UInt32 NvId_GSync_GetSyncStatus = 0xF1F5B434; - private const UInt32 NvId_GSync_GetStatusParameters = 0x70D404EC; - private const UInt32 NvId_D3D_GetCurrentSLIState = 0x4B708B54; - private const UInt32 NvId_D3D9_RegisterResource = 0xA064BDFC; - private const UInt32 NvId_D3D9_UnregisterResource = 0xBB2B17AA; - private const UInt32 NvId_D3D9_AliasSurfaceAsTexture = 0xE5CEAE41; - private const UInt32 NvId_D3D9_StretchRectEx = 0x22DE03AA; - private const UInt32 NvId_D3D9_ClearRT = 0x332D3942; - private const UInt32 NvId_D3D_GetObjectHandleForResource = 0xFCEAC864; - private const UInt32 NvId_D3D_SetResourceHInt32 = 0x6C0ED98C; - private const UInt32 NvId_D3D_BeginResourceRendering = 0x91123D6A; - private const UInt32 NvId_D3D_EndResourceRendering = 0x37E7191C; - private const UInt32 NvId_D3D9_GetSurfaceHandle = 0xF2DD3F2; - private const UInt32 NvId_D3D9_VideoSetStereoInfo = 0xB852F4DB; - private const UInt32 NvId_D3D10_SetDepthBoundsTest = 0x4EADF5D2; - private const UInt32 NvId_D3D11_CreateDevice = 0x6A16D3A0; - private const UInt32 NvId_D3D11_CreateDeviceAndSwapChain = 0xBB939EE5; - private const UInt32 NvId_D3D11_SetDepthBoundsTest = 0x7AAF7A04; - private const UInt32 NvId_D3D11_IsNvShaderExtnOpCodeSupported = 0x5F68DA40; - private const UInt32 NvId_D3D11_SetNvShaderExtnSlot = 0x8E90BB9F; - private const UInt32 NvId_D3D12_SetNvShaderExtnSlotSpace = 0xAC2DFEB5; - private const UInt32 NvId_D3D12_SetNvShaderExtnSlotSpaceLocalThread = 0x43D867C0; - private const UInt32 NvId_D3D11_SetNvShaderExtnSlotLocalThread = 0xE6482A0; - private const UInt32 NvId_D3D11_BeginUAVOverlapEx = 0xBA08208A; - private const UInt32 NvId_D3D11_BeginUAVOverlap = 0x65B93CA8; - private const UInt32 NvId_D3D11_EndUAVOverlap = 0x2216A357; - private const UInt32 NvId_D3D11_GetResourceHandle = 0x9D52986; - private const UInt32 NvId_D3D_SetFPSIndicatorState = 0xA776E8DB; - private const UInt32 NvId_D3D9_Present = 0x5650BEB; - private const UInt32 NvId_D3D9_QueryFrameCount = 0x9083E53A; - private const UInt32 NvId_D3D9_ResetFrameCount = 0xFA6A0675; - private const UInt32 NvId_D3D9_QueryMaxSwapGroup = 0x5995410D; - private const UInt32 NvId_D3D9_QuerySwapGroup = 0xEBA4D232; - private const UInt32 NvId_D3D9_JoinSwapGroup = 0x7D44BB54; - private const UInt32 NvId_D3D9_BindSwapBarrier = 0x9C39C246; - private const UInt32 NvId_D3D1x_Present = 0x3B845A1; - private const UInt32 NvId_D3D1x_QueryFrameCount = 0x9152E055; - private const UInt32 NvId_D3D1x_ResetFrameCount = 0xFBBB031A; - private const UInt32 NvId_D3D1x_QueryMaxSwapGroup = 0x9BB9D68F; - private const UInt32 NvId_D3D1x_QuerySwapGroup = 0x407F67AA; - private const UInt32 NvId_D3D1x_JoinSwapGroup = 0x14610CD7; - private const UInt32 NvId_D3D1x_BindSwapBarrier = 0x9DE8C729; - private const UInt32 NvId_D3D12_QueryPresentBarrierSupport = 0xA15FAEF7; - private const UInt32 NvId_D3D12_CreatePresentBarrierClient = 0x4D815DE9; - private const UInt32 NvId_D3D12_RegisterPresentBarrierResources = 0xD53C9EF0; - private const UInt32 NvId_DestroyPresentBarrierClient = 0x3C5C351B; - private const UInt32 NvId_JoinPresentBarrier = 0x17F6BF82; - private const UInt32 NvId_LeavePresentBarrier = 0xC3EC5A7F; - private const UInt32 NvId_QueryPresentBarrierFrameStatistics = 0x61B844A1; - private const UInt32 NvId_D3D11_CreateRasterizerState = 0xDB8D28AF; - private const UInt32 NvId_D3D_ConfigureAnsel = 0x341C6C7F; - private const UInt32 NvId_D3D11_CreateTiledTexture2DArray = 0x7886981A; - private const UInt32 NvId_D3D11_CheckFeatureSupport = 0x106A487E; - private const UInt32 NvId_D3D11_CreateImplicitMSAATexture2D = 0xB8F79632; - private const UInt32 NvId_D3D12_CreateCommittedImplicitMSAATexture2D = 0x24C6A07B; - private const UInt32 NvId_D3D11_ResolveSubresourceRegion = 0xE6BFEDD6; - private const UInt32 NvId_D3D12_ResolveSubresourceRegion = 0xC24A15BF; - private const UInt32 NvId_D3D11_TiledTexture2DArrayGetDesc = 0xF1A2B9D5; - private const UInt32 NvId_D3D11_UpdateTileMappings = 0x9A06EA07; - private const UInt32 NvId_D3D11_CopyTileMappings = 0xC09EE6BC; - private const UInt32 NvId_D3D11_TiledResourceBarrier = 0xD6839099; - private const UInt32 NvId_D3D11_AliasMSAATexture2DAsNonMSAA = 0xF1C54FC9; - private const UInt32 NvId_D3D11_CreateGeometryShaderEx_2 = 0x99ED5C1C; - private const UInt32 NvId_D3D11_CreateVertexShaderEx = 0xBEAA0B2; - private const UInt32 NvId_D3D11_CreateHullShaderEx = 0xB53CAB00; - private const UInt32 NvId_D3D11_CreateDomainShaderEx = 0xA0D7180D; - private const UInt32 NvId_D3D11_CreatePixelShaderEx_2 = 0x4162822B; - private const UInt32 NvId_D3D11_CreateFastGeometryShaderExplicit = 0x71AB7C9C; - private const UInt32 NvId_D3D11_CreateFastGeometryShader = 0x525D43BE; - private const UInt32 NvId_D3D11_DecompressView = 0x3A94E822; - private const UInt32 NvId_D3D12_CreateGraphicsPipelineState = 0x2FC28856; - private const UInt32 NvId_D3D12_CreateComputePipelineState = 0x2762DEAC; - private const UInt32 NvId_D3D12_SetDepthBoundsTestValues = 0xB9333FE9; - private const UInt32 NvId_D3D12_CreateReservedResource = 0x2C85F101; - private const UInt32 NvId_D3D12_CreateHeap = 0x5CB397CF; - private const UInt32 NvId_D3D12_CreateHeap2 = 0x924BE9D6; - private const UInt32 NvId_D3D12_QueryCpuVisibleVidmem = 0x26322BC3; - private const UInt32 NvId_D3D12_ReservedResourceGetDesc = 0x9AA2AABB; - private const UInt32 NvId_D3D12_UpdateTileMappings = 0xC6017A7D; - private const UInt32 NvId_D3D12_CopyTileMappings = 0x47F78194; - private const UInt32 NvId_D3D12_ResourceAliasingBarrier = 0xB942BAB7; - private const UInt32 NvId_D3D12_CaptureUAVInfo = 0x6E5EA9DB; - private const UInt32 NvId_D3D11_GetResourceGPUVirtualAddressEx = 0xAF6D14DA; - private const UInt32 NvId_D3D11_EnumerateMetaCommands = 0xC7453BA8; - private const UInt32 NvId_D3D11_CreateMetaCommand = 0xF505FBA0; - private const UInt32 NvId_D3D11_InitializeMetaCommand = 0xAEC629E9; - private const UInt32 NvId_D3D11_ExecuteMetaCommand = 0x82236C47; - private const UInt32 NvId_D3D12_EnumerateMetaCommands = 0xCD9141D8; - private const UInt32 NvId_D3D12_CreateMetaCommand = 0xEB29634B; - private const UInt32 NvId_D3D12_InitializeMetaCommand = 0xA4125399; - private const UInt32 NvId_D3D12_ExecuteMetaCommand = 0xDE24FC3D; - private const UInt32 NvId_D3D12_CreateCommittedResource = 0x27E98AE; - private const UInt32 NvId_D3D12_GetCopyableFootprInt32s = 0xF6305EB5; - private const UInt32 NvId_D3D12_CopyTextureRegion = 0x82B91B25; - private const UInt32 NvId_D3D12_IsNvShaderExtnOpCodeSupported = 0x3DFACEC8; - private const UInt32 NvId_D3D_IsGSyncCapable = 0x9C1EED78; - private const UInt32 NvId_D3D_IsGSyncActive = 0xE942B0FF; - private const UInt32 NvId_D3D1x_DisableShaderDiskCache = 0xD0CBCA7D; - private const UInt32 NvId_D3D11_MultiGPU_GetCaps = 0xD2D25687; - private const UInt32 NvId_D3D11_MultiGPU_Init = 0x17BE49E; - private const UInt32 NvId_D3D11_CreateMultiGPUDevice = 0xBDB20007; - private const UInt32 NvId_D3D_QuerySinglePassStereoSupport = 0x6F5F0A6D; - private const UInt32 NvId_D3D_SetSinglePassStereoMode = 0xA39E6E6E; - private const UInt32 NvId_D3D12_QuerySinglePassStereoSupport = 0x3B03791B; - private const UInt32 NvId_D3D12_SetSinglePassStereoMode = 0x83556D87; - private const UInt32 NvId_D3D_QueryMultiViewSupport = 0xB6E0A41C; - private const UInt32 NvId_D3D_SetMultiViewMode = 0x8285C8DA; - private const UInt32 NvId_D3D_QueryModifiedWSupport = 0xCBF9F4F5; - private const UInt32 NvId_D3D_SetModifiedWMode = 0x6EA4BF4; - private const UInt32 NvId_D3D12_QueryModifiedWSupport = 0x51235248; - private const UInt32 NvId_D3D12_SetModifiedWMode = 0xE1FDABA7; - private const UInt32 NvId_D3D_CreateLateLatchObject = 0x2DB27D09; - private const UInt32 NvId_D3D_QueryLateLatchSupport = 0x8CECA0EC; - private const UInt32 NvId_D3D_RegisterDevice = 0x8C02C4D0; - private const UInt32 NvId_D3D11_MultiDrawInstancedIndirect = 0xD4E26BBF; - private const UInt32 NvId_D3D11_MultiDrawIndexedInstancedIndirect = 0x59E890F9; - private const UInt32 NvId_D3D_ImplicitSLIControl = 0x2AEDE111; - private const UInt32 NvId_D3D12_UseDriverHeapPriorities = 0xF0D978A8; - private const UInt32 NvId_D3D12_Mosaic_GetCompanionAllocations = 0xA46022C7; - private const UInt32 NvId_D3D12_Mosaic_GetViewportAndGpuPartitions = 0xB092B818; - private const UInt32 NvId_D3D1x_GetGraphicsCapabilities = 0x52B1499A; - private const UInt32 NvId_D3D12_GetGraphicsCapabilities = 0x1E87354; - private const UInt32 NvId_D3D11_RSSetExclusiveScissorRects = 0xAE4D73EF; - private const UInt32 NvId_D3D11_RSSetViewportsPixelShadingRates = 0x34F7938F; - private const UInt32 NvId_D3D11_CreateShadingRateResourceView = 0x99CA2DFF; - private const UInt32 NvId_D3D11_RSSetShadingRateResourceView = 0x1B0C2F83; - private const UInt32 NvId_D3D11_RSGetPixelShadingRateSampleOrder = 0x92442A1; - private const UInt32 NvId_D3D11_RSSetPixelShadingRateSampleOrder = 0xA942373A; - private const UInt32 NvId_D3D_InitializeVRSHelper = 0x4780D70B; - private const UInt32 NvId_D3D_InitializeNvGazeHandler = 0x5B3B7479; - private const UInt32 NvId_D3D_InitializeSMPAssist = 0x42763D0C; - private const UInt32 NvId_D3D_QuerySMPAssistSupport = 0xC57921DE; - private const UInt32 NvId_D3D_GetSleepStatus = 0xAEF96CA1; - private const UInt32 NvId_D3D_SetSleepMode = 0xAC1CA9E0; - private const UInt32 NvId_D3D_Sleep = 0x852CD1D2; - private const UInt32 NvId_D3D_GetLatency = 0x1A587F9C; - private const UInt32 NvId_D3D_SetLatencyMarker = 0xD9984C05; - private const UInt32 NvId_D3D12_CreateCubinComputeShader = 0x2A2C79E8; - private const UInt32 NvId_D3D12_CreateCubinComputeShaderEx = 0x3151211B; - private const UInt32 NvId_D3D12_CreateCubinComputeShaderWithName = 0x1DC7261F; - private const UInt32 NvId_D3D12_LaunchCubinShader = 0x5C52BB86; - private const UInt32 NvId_D3D12_DestroyCubinComputeShader = 0x7FB785BA; - private const UInt32 NvId_D3D12_GetCudaTextureObject = 0x80403FC9; - private const UInt32 NvId_D3D12_GetCudaSurfaceObject = 0x48F5B2EE; - private const UInt32 NvId_D3D12_IsFatbinPTXSupported = 0x70C07832; - private const UInt32 NvId_D3D11_CreateCubinComputeShader = 0xED98181; - private const UInt32 NvId_D3D11_CreateCubinComputeShaderEx = 0x32C2A0F6; - private const UInt32 NvId_D3D11_CreateCubinComputeShaderWithName = 0xB672BE19; - private const UInt32 NvId_D3D11_LaunchCubinShader = 0x427E236D; - private const UInt32 NvId_D3D11_DestroyCubinComputeShader = 0x1682C86; - private const UInt32 NvId_D3D11_IsFatbinPTXSupported = 0x6086BD93; - private const UInt32 NvId_D3D11_CreateUnorderedAccessView = 0x74A497A1; - private const UInt32 NvId_D3D11_CreateShaderResourceView = 0x65CB431E; - private const UInt32 NvId_D3D11_CreateSamplerState = 0x89ECA416; - private const UInt32 NvId_D3D11_GetCudaTextureObject = 0x9006FA68; - private const UInt32 NvId_D3D11_GetResourceGPUVirtualAddress = 0x1819B423; - private const UInt32 NvId_VIO_GetCapabilities = 0x1DC91303; - private const UInt32 NvId_VIO_Open = 0x44EE4841; - private const UInt32 NvId_VIO_Close = 0xD01BD237; - private const UInt32 NvId_VIO_Status = 0xE6CE4F1; - private const UInt32 NvId_VIO_SyncFormatDetect = 0x118D48A3; - private const UInt32 NvId_VIO_GetConfig = 0xD34A789B; - private const UInt32 NvId_VIO_SetConfig = 0xE4EEC07; - private const UInt32 NvId_VIO_SetCSC = 0xA1EC8D74; - private const UInt32 NvId_VIO_GetCSC = 0x7B0D72A3; - private const UInt32 NvId_VIO_SetGamma = 0x964BF452; - private const UInt32 NvId_VIO_GetGamma = 0x51D53D06; - private const UInt32 NvId_VIO_SetSyncDelay = 0x2697A8D1; - private const UInt32 NvId_VIO_GetSyncDelay = 0x462214A9; - private const UInt32 NvId_VIO_GetPCIInfo = 0xB981D935; - private const UInt32 NvId_VIO_IsRunning = 0x96BD040E; - private const UInt32 NvId_VIO_Start = 0xCDE8E1A3; - private const UInt32 NvId_VIO_Stop = 0x6BA2A5D6; - private const UInt32 NvId_VIO_IsFrameLockModeCompatible = 0x7BF0A94D; - private const UInt32 NvId_VIO_EnumDevices = 0xFD7C5557; - private const UInt32 NvId_VIO_QueryTopology = 0x869534E2; - private const UInt32 NvId_VIO_EnumSignalFormats = 0xEAD72FE4; - private const UInt32 NvId_VIO_EnumDataFormats = 0x221FA8E8; - private const UInt32 NvId_Stereo_CreateConfigurationProfileRegistryKey = 0xBE7692EC; - private const UInt32 NvId_Stereo_DeleteConfigurationProfileRegistryKey = 0xF117B834; - private const UInt32 NvId_Stereo_SetConfigurationProfileValue = 0x24409F48; - private const UInt32 NvId_Stereo_DeleteConfigurationProfileValue = 0x49BCEECF; - private const UInt32 NvId_Stereo_Enable = 0x239C4545; - private const UInt32 NvId_Stereo_Disable = 0x2EC50C2B; - private const UInt32 NvId_Stereo_IsEnabled = 0x348FF8E1; - private const UInt32 NvId_Stereo_GetStereoSupport = 0x296C434D; - private const UInt32 NvId_Stereo_CreateHandleFromIUnknown = 0xAC7E37F4; - private const UInt32 NvId_Stereo_DestroyHandle = 0x3A153134; - private const UInt32 NvId_Stereo_Activate = 0xF6A1AD68; - private const UInt32 NvId_Stereo_Deactivate = 0x2D68DE96; - private const UInt32 NvId_Stereo_IsActivated = 0x1FB0BC30; - private const UInt32 NvId_Stereo_GetSeparation = 0x451F2134; - private const UInt32 NvId_Stereo_SetSeparation = 0x5C069FA3; - private const UInt32 NvId_Stereo_DecreaseSeparation = 0xDA044458; - private const UInt32 NvId_Stereo_IncreaseSeparation = 0xC9A8ECEC; - private const UInt32 NvId_Stereo_GetConvergence = 0x4AB00934; - private const UInt32 NvId_Stereo_SetConvergence = 0x3DD6B54B; - private const UInt32 NvId_Stereo_DecreaseConvergence = 0x4C87E317; - private const UInt32 NvId_Stereo_IncreaseConvergence = 0xA17DAABE; - private const UInt32 NvId_Stereo_GetFrustumAdjustMode = 0xE6839B43; - private const UInt32 NvId_Stereo_SetFrustumAdjustMode = 0x7BE27FA2; - private const UInt32 NvId_Stereo_CaptureJpegImage = 0x932CB140; - private const UInt32 NvId_Stereo_InitActivation = 0xC7177702; - private const UInt32 NvId_Stereo_Trigger_Activation = 0xD6C6CD2; - private const UInt32 NvId_Stereo_CapturePngImage = 0x8B7E99B5; - private const UInt32 NvId_Stereo_ReverseStereoBlitControl = 0x3CD58F89; - private const UInt32 NvId_Stereo_SetNotificationMessage = 0x6B9B409E; - private const UInt32 NvId_Stereo_SetActiveEye = 0x96EEA9F8; - private const UInt32 NvId_Stereo_SetDriverMode = 0x5E8F0BEC; - private const UInt32 NvId_Stereo_GetEyeSeparation = 0xCE653127; - private const UInt32 NvId_Stereo_IsWindowedModeSupported = 0x40C8ED5E; - private const UInt32 NvId_Stereo_SetSurfaceCreationMode = 0xF5DCFCBA; - private const UInt32 NvId_Stereo_GetSurfaceCreationMode = 0x36F1C736; - private const UInt32 NvId_Stereo_Debug_WasLastDrawStereoized = 0xED4416C5; - private const UInt32 NvId_Stereo_SetDefaultProfile = 0x44F0ECD1; - private const UInt32 NvId_Stereo_GetDefaultProfile = 0x624E21C2; - private const UInt32 NvId_D3D1x_CreateSwapChain = 0x1BC21B66; - private const UInt32 NvId_D3D9_CreateSwapChain = 0x1A131E09; - private const UInt32 NvId_DRS_CreateSession = 0x694D52E; - private const UInt32 NvId_DRS_DestroySession = 0xDAD9CFF8; - private const UInt32 NvId_DRS_LoadSettings = 0x375DBD6B; - private const UInt32 NvId_DRS_SaveSettings = 0xFCBC7E14; - private const UInt32 NvId_DRS_LoadSettingsFromFile = 0xD3EDE889; - private const UInt32 NvId_DRS_SaveSettingsToFile = 0x2BE25DF8; - private const UInt32 NvId_DRS_CreateProfile = 0xCC176068; - private const UInt32 NvId_DRS_DeleteProfile = 0x17093206; - private const UInt32 NvId_DRS_SetCurrentGlobalProfile = 0x1C89C5DF; - private const UInt32 NvId_DRS_GetCurrentGlobalProfile = 0x617BFF9F; - private const UInt32 NvId_DRS_GetProfileInfo = 0x61CD6FD6; - private const UInt32 NvId_DRS_SetProfileInfo = 0x16ABD3A9; - private const UInt32 NvId_DRS_FindProfileByName = 0x7E4A9A0B; - private const UInt32 NvId_DRS_EnumProfiles = 0xBC371EE0; - private const UInt32 NvId_DRS_GetNumProfiles = 0x1DAE4FBC; - private const UInt32 NvId_DRS_CreateApplication = 0x4347A9DE; - private const UInt32 NvId_DRS_DeleteApplicationEx = 0xC5EA85A1; - private const UInt32 NvId_DRS_DeleteApplication = 0x2C694BC6; - private const UInt32 NvId_DRS_GetApplicationInfo = 0xED1F8C69; - private const UInt32 NvId_DRS_EnumApplications = 0x7FA2173A; - private const UInt32 NvId_DRS_FindApplicationByName = 0xEEE566B2; - private const UInt32 NvId_DRS_SetSetting = 0x577DD202; - private const UInt32 NvId_DRS_GetSetting = 0x73BF8338; - private const UInt32 NvId_DRS_EnumSettings = 0xAE3039DA; - private const UInt32 NvId_DRS_EnumAvailableSettingIds = 0xF020614A; - private const UInt32 NvId_DRS_EnumAvailableSettingValues = 0x2EC39F90; - private const UInt32 NvId_DRS_GetSettingIdFromName = 0xCB7309CD; - private const UInt32 NvId_DRS_GetSettingNameFromId = 0xD61CBE6E; - private const UInt32 NvId_DRS_DeleteProfileSetting = 0xE4A26362; - private const UInt32 NvId_DRS_RestoreAllDefaults = 0x5927B094; - private const UInt32 NvId_DRS_RestoreProfileDefault = 0xFA5F6134; - private const UInt32 NvId_DRS_RestoreProfileDefaultSetting = 0x53F0381E; - private const UInt32 NvId_DRS_GetBaseProfile = 0xDA8466A0; - private const UInt32 NvId_SYS_GetChipSetInfo = 0x53DABBCA; - private const UInt32 NvId_SYS_GetLidAndDockInfo = 0xCDA14D8A; - private const UInt32 NvId_SYS_GetDisplayIdFromGpuAndOutputId = 0x8F2BAB4; - private const UInt32 NvId_SYS_GetGpuAndOutputIdFromDisplayId = 0x112BA1A5; - private const UInt32 NvId_SYS_GetPhysicalGpuFromDisplayId = 0x9EA74659; - private const UInt32 NvId_SYS_GetDisplayDriverInfo = 0x721FACEB; - private const UInt32 NvId_GPU_ClientRegisterForUtilizationSampleUpdates = 0xADEEAF67; - private const UInt32 NvId_Unload = 0xD7C61344; + private const uint NvId_GetErrorMessage = 0x6C2D048C; + private const uint NvId_GetInterfaceVersionString = 0x1053FA5; + private const uint NvId_GPU_GetEDID = 0x37D32E69; + private const uint NvId_SetView = 0x957D7B6; + private const uint NvId_SetViewEx = 0x6B89E68; + private const uint NvId_GetDisplayDriverVersion = 0xF951A4D1; + private const uint NvId_SYS_GetDriverAndBranchVersion = 0x2926AAAD; + private const uint NvId_GPU_GetMemoryInfo = 0x7F9B368; + private const uint NvId_OGL_ExpertModeSet = 0x3805EF7A; + private const uint NvId_OGL_ExpertModeGet = 0x22ED9516; + private const uint NvId_OGL_ExpertModeDefaultsSet = 0xB47A657E; + private const uint NvId_OGL_ExpertModeDefaultsGet = 0xAE921F12; + private const uint NvId_EnumPhysicalGPUs = 0xE5AC921F; + private const uint NvId_EnumTCCPhysicalGPUs = 0xD9930B07; + private const uint NvId_EnumLogicalGPUs = 0x48B3EA59; + private const uint NvId_GetPhysicalGPUsFromDisplay = 0x34EF9506; + private const uint NvId_GetPhysicalGPUFromUnAttachedDisplay = 0x5018ED61; + private const uint NvId_GetLogicalGPUFromDisplay = 0xEE1370CF; + private const uint NvId_GetLogicalGPUFromPhysicalGPU = 0xADD604D1; + private const uint NvId_GetPhysicalGPUsFromLogicalGPU = 0xAEA3FA32; + private const uint NvId_GetPhysicalGPUFromGPUID = 0x5380AD1A; + private const uint NvId_GetGPUIDfromPhysicalGPU = 0x6533EA3E; + private const uint NvId_GPU_GetShaderSubPipeCount = 0xBE17923; + private const uint NvId_GPU_GetGpuCoreCount = 0xC7026A87; + private const uint NvId_GPU_GetAllOutputs = 0x7D554F8E; + private const uint NvId_GPU_GetConnectedOutputs = 0x1730BFC9; + private const uint NvId_GPU_GetConnectedSLIOutputs = 0x680DE09; + private const uint NvId_GPU_GetConnectedDisplayIds = 0x78DBA2; + private const uint NvId_GPU_GetAllDisplayIds = 0x785210A2; + private const uint NvId_GPU_GetConnectedOutputsWithLidState = 0xCF8CAF39; + private const uint NvId_GPU_GetConnectedSLIOutputsWithLidState = 0x96043CC7; + private const uint NvId_GPU_GetSystemType = 0xBAAABFCC; + private const uint NvId_GPU_GetActiveOutputs = 0xE3E89B6F; + private const uint NvId_GPU_SetEDID = 0xE83D6456; + private const uint NvId_GPU_GetOutputType = 0x40A505E4; + private const uint NvId_GPU_ValidateOutputCombination = 0x34C9C2D4; + private const uint NvId_GPU_GetFullName = 0xCEEE8E9F; + private const uint NvId_GPU_GetPCIIdentifiers = 0x2DDFB66E; + private const uint NvId_GPU_GetGPUType = 0xC33BAEB1; + private const uint NvId_GPU_GetBusType = 0x1BB18724; + private const uint NvId_GPU_GetBusId = 0x1BE0B8E5; + private const uint NvId_GPU_GetBusSlotId = 0x2A0A350F; + private const uint NvId_GPU_GetIRQ = 0xE4715417; + private const uint NvId_GPU_GetVbiosRevision = 0xACC3DA0A; + private const uint NvId_GPU_GetVbiosOEMRevision = 0x2D43FB31; + private const uint NvId_GPU_GetVbiosVersionString = 0xA561FD7D; + private const uint NvId_GPU_GetAGPAperture = 0x6E042794; + private const uint NvId_GPU_GetCurrentAGPRate = 0xC74925A0; + private const uint NvId_GPU_GetCurrentPCIEDownstreamWidth = 0xD048C3B1; + private const uint NvId_GPU_GetPhysicalFrameBufferSize = 0x46FBEB03; + private const uint NvId_GPU_GetVirtualFrameBufferSize = 0x5A04B644; + private const uint NvId_GPU_GetQuadroStatus = 0xE332FA47; + private const uint NvId_GPU_GetBoardInfo = 0x22D54523; + private const uint NvId_GPU_GetArchInfo = 0xD8265D24; + private const uint NvId_I2CRead = 0x2FDE12C5; + private const uint NvId_I2CWrite = 0xE812EB07; + private const uint NvId_GPU_WorkstationFeatureSetup = 0x6C1F3FE4; + private const uint NvId_GPU_WorkstationFeatureQuery = 0x4537DF; + private const uint NvId_GPU_GetHDCPSupportStatus = 0xF089EEF5; + private const uint NvId_GPU_CudaEnumComputeCapableGpus = 0x5786CC6E; + private const uint NvId_GPU_GetTachReading = 0x5F608315; + private const uint NvId_GPU_GetECCStatusInfo = 0xCA1DDAF3; + private const uint NvId_GPU_GetECCErrorInfo = 0xC71F85A6; + private const uint NvId_GPU_ResetECCErrorInfo = 0xC02EEC20; + private const uint NvId_GPU_GetECCConfigurationInfo = 0x77A796F3; + private const uint NvId_GPU_SetECCConfiguration = 0x1CF639D9; + private const uint NvId_GPU_QueryWorkstationFeatureSupport = 0x80B1ABB9; + private const uint NvId_GPU_SetScanoutIntensity = 0xA57457A4; + private const uint NvId_GPU_GetScanoutIntensityState = 0xE81CE836; + private const uint NvId_GPU_SetScanoutWarping = 0xB34BAB4F; + private const uint NvId_GPU_GetScanoutWarpingState = 0x6F5435AF; + private const uint NvId_GPU_SetScanoutCompositionParameter = 0xF898247D; + private const uint NvId_GPU_GetScanoutCompositionParameter = 0x58FE51E6; + private const uint NvId_GPU_GetScanoutConfiguration = 0x6A9F5B63; + private const uint NvId_GPU_GetScanoutConfigurationEx = 0xE2E1E6F0; + private const uint NvId_GPU_GetAdapterIdFromPhysicalGpu = 0xFF07FDE; + private const uint NvId_GPU_GetVirtualizationInfo = 0x44E022A9; + private const uint NvId_GPU_GetLogicalGpuInfo = 0x842B066E; + private const uint NvId_GPU_GetLicensableFeatures = 0x3FC596AA; + private const uint NvId_GPU_GetVRReadyData = 0x81D629C5; + private const uint NvId_GPU_GetPerfDecreaseInfo = 0x7F7F4600; + private const uint NvId_GPU_GetPstatesInfoEx = 0x843C0256; + private const uint NvId_GPU_GetPstates20 = 0x6FF81213; + private const uint NvId_GPU_GetCurrentPstate = 0x927DA4F6; + private const uint NvId_GPU_GetDynamicPstatesInfoEx = 0x60DED2ED; + private const uint NvId_GPU_GetThermalSettings = 0xE3640A56; + private const uint NvId_GPU_GetAllClockFrequencies = 0xDCB616C3; + private const uint NvId_GPU_QueryIlluminationSupport = 0xA629DA31; + private const uint NvId_GPU_GetIllumination = 0x9A1B9365; + private const uint NvId_GPU_SetIllumination = 0x254A187; + private const uint NvId_GPU_ClientIllumDevicesGetInfo = 0xD4100E58; + private const uint NvId_GPU_ClientIllumDevicesGetControl = 0x73C01D58; + private const uint NvId_GPU_ClientIllumDevicesSetControl = 0x57024C62; + private const uint NvId_GPU_ClientIllumZonesGetInfo = 0x4B81241B; + private const uint NvId_GPU_ClientIllumZonesGetControl = 0x3DBF5764; + private const uint NvId_GPU_ClientIllumZonesSetControl = 0x197D065E; + private const uint NvId_Event_RegisterCallback = 0xE6DBEA69; + private const uint NvId_Event_UnregisterCallback = 0xDE1F9B45; + private const uint NvId_EnumNvidiaDisplayHandle = 0x9ABDD40D; + private const uint NvId_EnumNvidiaUnAttachedDisplayHandle = 0x20DE9260; + private const uint NvId_CreateDisplayFromUnAttachedDisplay = 0x63F9799E; + private const uint NvId_GetAssociatedNvidiaDisplayHandle = 0x35C29134; + private const uint NvId_DISP_GetAssociatedUnAttachedNvidiaDisplayHandle = 0xA70503B2; + private const uint NvId_GetAssociatedNvidiaDisplayName = 0x22A78B05; + private const uint NvId_GetUnAttachedAssociatedDisplayName = 0x4888D790; + private const uint NvId_EnableHWCursor = 0x2863148D; + private const uint NvId_DisableHWCursor = 0xAB163097; + private const uint NvId_GetVBlankCounter = 0x67B5DB55; + private const uint NvId_SetRefreshRateOverride = 0x3092AC32; + private const uint NvId_GetAssociatedDisplayOutputId = 0xD995937E; + private const uint NvId_GetDisplayPortInfo = 0xC64FF367; + private const uint NvId_SetDisplayPort = 0xFA13E65A; + private const uint NvId_GetHDMISupportInfo = 0x6AE16EC3; + private const uint NvId_Disp_InfoFrameControl = 0x6067AF3F; + private const uint NvId_Disp_ColorControl = 0x92F9D80D; + private const uint NvId_Disp_GetHdrCapabilities = 0x84F2A8DF; + private const uint NvId_Disp_HdrColorControl = 0x351DA224; + private const uint NvId_DISP_GetTiming = 0x175167E9; + private const uint NvId_DISP_GetMonitorCapabilities = 0x3B05C7E1; + private const uint NvId_DISP_GetMonitorColorCapabilities = 0x6AE4CFB5; + private const uint NvId_DISP_EnumCustomDisplay = 0xA2072D59; + private const uint NvId_DISP_TryCustomDisplay = 0x1F7DB630; + private const uint NvId_DISP_DeleteCustomDisplay = 0x552E5B9B; + private const uint NvId_DISP_SaveCustomDisplay = 0x49882876; + private const uint NvId_DISP_RevertCustomDisplayTrial = 0xCBBD40F0; + private const uint NvId_GetView = 0xD6B99D89; + private const uint NvId_GetViewEx = 0xDBBC0AF4; + private const uint NvId_GetSupportedViews = 0x66FB7FC0; + private const uint NvId_DISP_GetDisplayIdByDisplayName = 0xAE457190; + private const uint NvId_DISP_GetGDIPrimaryDisplayId = 0x1E9D8A31; + private const uint NvId_DISP_GetDisplayConfig = 0x11ABCCF8; + private const uint NvId_DISP_SetDisplayConfig = 0x5D8CF8DE; + private const uint NvId_DISP_GetAdaptiveSyncData = 0xB73D1EE9; + private const uint NvId_DISP_SetAdaptiveSyncData = 0x3EEBBA1D; + private const uint NvId_DISP_GetVirtualRefreshRateData = 0x8C00429A; + private const uint NvId_DISP_SetVirtualRefreshRateData = 0x5ABBE6A3; + private const uint NvId_DISP_SetPreferredStereoDisplay = 0xC9D0E25F; + private const uint NvId_DISP_GetPreferredStereoDisplay = 0x1F6B4666; + private const uint NvId_DISP_GetNvManagedDedicatedDisplays = 0xDBDF0CB2; + private const uint NvId_DISP_AcquireDedicatedDisplay = 0x47C917BA; + private const uint NvId_DISP_ReleaseDedicatedDisplay = 0x1247825F; + private const uint NvId_Mosaic_GetSupportedTopoInfo = 0xFDB63C81; + private const uint NvId_Mosaic_GetTopoGroup = 0xCB89381D; + private const uint NvId_Mosaic_GetOverlapLimits = 0x989685F0; + private const uint NvId_Mosaic_SetCurrentTopo = 0x9B542831; + private const uint NvId_Mosaic_GetCurrentTopo = 0xEC32944E; + private const uint NvId_Mosaic_EnableCurrentTopo = 0x5F1AA66C; + private const uint NvId_Mosaic_GetDisplayViewportsByResolution = 0xDC6DC8D3; + private const uint NvId_Mosaic_SetDisplayGrids = 0x4D959A89; + private const uint NvId_Mosaic_ValidateDisplayGrids = 0xCF43903D; + private const uint NvId_Mosaic_EnumDisplayModes = 0x78DB97D7; + private const uint NvId_Mosaic_EnumDisplayGrids = 0xDF2887AF; + private const uint NvId_GetSupportedMosaicTopologies = 0x410B5C25; + private const uint NvId_GetCurrentMosaicTopology = 0xF60852BD; + private const uint NvId_SetCurrentMosaicTopology = 0xD54B8989; + private const uint NvId_EnableCurrentMosaicTopology = 0x74073CC9; + private const uint NvId_GSync_EnumSyncDevices = 0xD9639601; + private const uint NvId_GSync_QueryCapabilities = 0x44A3F1D1; + private const uint NvId_GSync_GetTopology = 0x4562BC38; + private const uint NvId_GSync_SetSyncStateSettings = 0x60ACDFDD; + private const uint NvId_GSync_GetControlParameters = 0x16DE1C6A; + private const uint NvId_GSync_SetControlParameters = 0x8BBFF88B; + private const uint NvId_GSync_AdjustSyncDelay = 0x2D11FF51; + private const uint NvId_GSync_GetSyncStatus = 0xF1F5B434; + private const uint NvId_GSync_GetStatusParameters = 0x70D404EC; + private const uint NvId_D3D_GetCurrentSLIState = 0x4B708B54; + private const uint NvId_D3D9_RegisterResource = 0xA064BDFC; + private const uint NvId_D3D9_UnregisterResource = 0xBB2B17AA; + private const uint NvId_D3D9_AliasSurfaceAsTexture = 0xE5CEAE41; + private const uint NvId_D3D9_StretchRectEx = 0x22DE03AA; + private const uint NvId_D3D9_ClearRT = 0x332D3942; + private const uint NvId_D3D_GetObjectHandleForResource = 0xFCEAC864; + private const uint NvId_D3D_SetResourceHint = 0x6C0ED98C; + private const uint NvId_D3D_BeginResourceRendering = 0x91123D6A; + private const uint NvId_D3D_EndResourceRendering = 0x37E7191C; + private const uint NvId_D3D9_GetSurfaceHandle = 0xF2DD3F2; + private const uint NvId_D3D9_VideoSetStereoInfo = 0xB852F4DB; + private const uint NvId_D3D10_SetDepthBoundsTest = 0x4EADF5D2; + private const uint NvId_D3D11_CreateDevice = 0x6A16D3A0; + private const uint NvId_D3D11_CreateDeviceAndSwapChain = 0xBB939EE5; + private const uint NvId_D3D11_SetDepthBoundsTest = 0x7AAF7A04; + private const uint NvId_D3D11_IsNvShaderExtnOpCodeSupported = 0x5F68DA40; + private const uint NvId_D3D11_SetNvShaderExtnSlot = 0x8E90BB9F; + private const uint NvId_D3D12_SetNvShaderExtnSlotSpace = 0xAC2DFEB5; + private const uint NvId_D3D12_SetNvShaderExtnSlotSpaceLocalThread = 0x43D867C0; + private const uint NvId_D3D11_SetNvShaderExtnSlotLocalThread = 0xE6482A0; + private const uint NvId_D3D11_BeginUAVOverlapEx = 0xBA08208A; + private const uint NvId_D3D11_BeginUAVOverlap = 0x65B93CA8; + private const uint NvId_D3D11_EndUAVOverlap = 0x2216A357; + private const uint NvId_D3D11_GetResourceHandle = 0x9D52986; + private const uint NvId_D3D_SetFPSIndicatorState = 0xA776E8DB; + private const uint NvId_D3D9_Present = 0x5650BEB; + private const uint NvId_D3D9_QueryFrameCount = 0x9083E53A; + private const uint NvId_D3D9_ResetFrameCount = 0xFA6A0675; + private const uint NvId_D3D9_QueryMaxSwapGroup = 0x5995410D; + private const uint NvId_D3D9_QuerySwapGroup = 0xEBA4D232; + private const uint NvId_D3D9_JoinSwapGroup = 0x7D44BB54; + private const uint NvId_D3D9_BindSwapBarrier = 0x9C39C246; + private const uint NvId_D3D1x_Present = 0x3B845A1; + private const uint NvId_D3D1x_QueryFrameCount = 0x9152E055; + private const uint NvId_D3D1x_ResetFrameCount = 0xFBBB031A; + private const uint NvId_D3D1x_QueryMaxSwapGroup = 0x9BB9D68F; + private const uint NvId_D3D1x_QuerySwapGroup = 0x407F67AA; + private const uint NvId_D3D1x_JoinSwapGroup = 0x14610CD7; + private const uint NvId_D3D1x_BindSwapBarrier = 0x9DE8C729; + private const uint NvId_D3D12_QueryPresentBarrierSupport = 0xA15FAEF7; + private const uint NvId_D3D12_CreatePresentBarrierClient = 0x4D815DE9; + private const uint NvId_D3D12_RegisterPresentBarrierResources = 0xD53C9EF0; + private const uint NvId_DestroyPresentBarrierClient = 0x3C5C351B; + private const uint NvId_JoinPresentBarrier = 0x17F6BF82; + private const uint NvId_LeavePresentBarrier = 0xC3EC5A7F; + private const uint NvId_QueryPresentBarrierFrameStatistics = 0x61B844A1; + private const uint NvId_D3D12_CreateDDisplayPresentBarrierClient = 0xB5A21987; + private const uint NvId_D3D11_CreateRasterizerState = 0xDB8D28AF; + private const uint NvId_D3D_ConfigureAnsel = 0x341C6C7F; + private const uint NvId_D3D11_CreateTiledTexture2DArray = 0x7886981A; + private const uint NvId_D3D11_CheckFeatureSupport = 0x106A487E; + private const uint NvId_D3D11_CreateImplicitMSAATexture2D = 0xB8F79632; + private const uint NvId_D3D12_CreateCommittedImplicitMSAATexture2D = 0x24C6A07B; + private const uint NvId_D3D11_ResolveSubresourceRegion = 0xE6BFEDD6; + private const uint NvId_D3D12_ResolveSubresourceRegion = 0xC24A15BF; + private const uint NvId_D3D11_TiledTexture2DArrayGetDesc = 0xF1A2B9D5; + private const uint NvId_D3D11_UpdateTileMappings = 0x9A06EA07; + private const uint NvId_D3D11_CopyTileMappings = 0xC09EE6BC; + private const uint NvId_D3D11_TiledResourceBarrier = 0xD6839099; + private const uint NvId_D3D11_AliasMSAATexture2DAsNonMSAA = 0xF1C54FC9; + private const uint NvId_D3D11_CreateGeometryShaderEx_2 = 0x99ED5C1C; + private const uint NvId_D3D11_CreateVertexShaderEx = 0xBEAA0B2; + private const uint NvId_D3D11_CreateHullShaderEx = 0xB53CAB00; + private const uint NvId_D3D11_CreateDomainShaderEx = 0xA0D7180D; + private const uint NvId_D3D11_CreatePixelShaderEx_2 = 0x4162822B; + private const uint NvId_D3D11_CreateFastGeometryShaderExplicit = 0x71AB7C9C; + private const uint NvId_D3D11_CreateFastGeometryShader = 0x525D43BE; + private const uint NvId_D3D11_DecompressView = 0x3A94E822; + private const uint NvId_D3D12_CreateGraphicsPipelineState = 0x2FC28856; + private const uint NvId_D3D12_CreateComputePipelineState = 0x2762DEAC; + private const uint NvId_D3D12_SetDepthBoundsTestValues = 0xB9333FE9; + private const uint NvId_D3D12_CreateReservedResource = 0x2C85F101; + private const uint NvId_D3D12_CreateHeap = 0x5CB397CF; + private const uint NvId_D3D12_CreateHeap2 = 0x924BE9D6; + private const uint NvId_D3D12_QueryCpuVisibleVidmem = 0x26322BC3; + private const uint NvId_D3D12_ReservedResourceGetDesc = 0x9AA2AABB; + private const uint NvId_D3D12_UpdateTileMappings = 0xC6017A7D; + private const uint NvId_D3D12_CopyTileMappings = 0x47F78194; + private const uint NvId_D3D12_ResourceAliasingBarrier = 0xB942BAB7; + private const uint NvId_D3D12_CaptureUAVInfo = 0x6E5EA9DB; + private const uint NvId_D3D11_GetResourceGPUVirtualAddressEx = 0xAF6D14DA; + private const uint NvId_D3D11_EnumerateMetaCommands = 0xC7453BA8; + private const uint NvId_D3D11_CreateMetaCommand = 0xF505FBA0; + private const uint NvId_D3D11_InitializeMetaCommand = 0xAEC629E9; + private const uint NvId_D3D11_ExecuteMetaCommand = 0x82236C47; + private const uint NvId_D3D12_EnumerateMetaCommands = 0xCD9141D8; + private const uint NvId_D3D12_CreateMetaCommand = 0xEB29634B; + private const uint NvId_D3D12_InitializeMetaCommand = 0xA4125399; + private const uint NvId_D3D12_ExecuteMetaCommand = 0xDE24FC3D; + private const uint NvId_D3D12_CreateCommittedResource = 0x27E98AE; + private const uint NvId_D3D12_GetCopyableFootprints = 0xF6305EB5; + private const uint NvId_D3D12_CopyTextureRegion = 0x82B91B25; + private const uint NvId_D3D12_IsNvShaderExtnOpCodeSupported = 0x3DFACEC8; + private const uint NvId_D3D12_GetOptimalThreadCountForMesh = 0xB43995CB; + private const uint NvId_D3D_IsGSyncCapable = 0x9C1EED78; + private const uint NvId_D3D_IsGSyncActive = 0xE942B0FF; + private const uint NvId_D3D1x_DisableShaderDiskCache = 0xD0CBCA7D; + private const uint NvId_D3D11_MultiGPU_GetCaps = 0xD2D25687; + private const uint NvId_D3D11_MultiGPU_Init = 0x17BE49E; + private const uint NvId_D3D11_CreateMultiGPUDevice = 0xBDB20007; + private const uint NvId_D3D_QuerySinglePassStereoSupport = 0x6F5F0A6D; + private const uint NvId_D3D_SetSinglePassStereoMode = 0xA39E6E6E; + private const uint NvId_D3D12_QuerySinglePassStereoSupport = 0x3B03791B; + private const uint NvId_D3D12_SetSinglePassStereoMode = 0x83556D87; + private const uint NvId_D3D_QueryMultiViewSupport = 0xB6E0A41C; + private const uint NvId_D3D_SetMultiViewMode = 0x8285C8DA; + private const uint NvId_D3D_QueryModifiedWSupport = 0xCBF9F4F5; + private const uint NvId_D3D_SetModifiedWMode = 0x6EA4BF4; + private const uint NvId_D3D12_QueryModifiedWSupport = 0x51235248; + private const uint NvId_D3D12_SetModifiedWMode = 0xE1FDABA7; + private const uint NvId_D3D_CreateLateLatchObject = 0x2DB27D09; + private const uint NvId_D3D_QueryLateLatchSupport = 0x8CECA0EC; + private const uint NvId_D3D_RegisterDevice = 0x8C02C4D0; + private const uint NvId_D3D11_MultiDrawInstancedIndirect = 0xD4E26BBF; + private const uint NvId_D3D11_MultiDrawIndexedInstancedIndirect = 0x59E890F9; + private const uint NvId_D3D_ImplicitSLIControl = 0x2AEDE111; + private const uint NvId_D3D12_UseDriverHeapPriorities = 0xF0D978A8; + private const uint NvId_D3D12_Mosaic_GetCompanionAllocations = 0xA46022C7; + private const uint NvId_D3D12_Mosaic_GetViewportAndGpuPartitions = 0xB092B818; + private const uint NvId_D3D1x_GetGraphicsCapabilities = 0x52B1499A; + private const uint NvId_D3D12_GetGraphicsCapabilities = 0x1E87354; + private const uint NvId_D3D11_RSSetExclusiveScissorRects = 0xAE4D73EF; + private const uint NvId_D3D11_RSSetViewportsPixelShadingRates = 0x34F7938F; + private const uint NvId_D3D11_CreateShadingRateResourceView = 0x99CA2DFF; + private const uint NvId_D3D11_RSSetShadingRateResourceView = 0x1B0C2F83; + private const uint NvId_D3D11_RSGetPixelShadingRateSampleOrder = 0x92442A1; + private const uint NvId_D3D11_RSSetPixelShadingRateSampleOrder = 0xA942373A; + private const uint NvId_D3D_InitializeVRSHelper = 0x4780D70B; + private const uint NvId_D3D_InitializeNvGazeHandler = 0x5B3B7479; + private const uint NvId_D3D_InitializeSMPAssist = 0x42763D0C; + private const uint NvId_D3D_QuerySMPAssistSupport = 0xC57921DE; + private const uint NvId_D3D_GetSleepStatus = 0xAEF96CA1; + private const uint NvId_D3D_SetSleepMode = 0xAC1CA9E0; + private const uint NvId_D3D_Sleep = 0x852CD1D2; + private const uint NvId_D3D_GetLatency = 0x1A587F9C; + private const uint NvId_D3D_SetLatencyMarker = 0xD9984C05; + private const uint NvId_D3D12_CreateCubinComputeShader = 0x2A2C79E8; + private const uint NvId_D3D12_CreateCubinComputeShaderEx = 0x3151211B; + private const uint NvId_D3D12_CreateCubinComputeShaderWithName = 0x1DC7261F; + private const uint NvId_D3D12_LaunchCubinShader = 0x5C52BB86; + private const uint NvId_D3D12_DestroyCubinComputeShader = 0x7FB785BA; + private const uint NvId_D3D12_GetCudaTextureObject = 0x80403FC9; + private const uint NvId_D3D12_GetCudaSurfaceObject = 0x48F5B2EE; + private const uint NvId_D3D12_IsFatbinPTXSupported = 0x70C07832; + private const uint NvId_D3D11_CreateCubinComputeShader = 0xED98181; + private const uint NvId_D3D11_CreateCubinComputeShaderEx = 0x32C2A0F6; + private const uint NvId_D3D11_CreateCubinComputeShaderWithName = 0xB672BE19; + private const uint NvId_D3D11_LaunchCubinShader = 0x427E236D; + private const uint NvId_D3D11_DestroyCubinComputeShader = 0x1682C86; + private const uint NvId_D3D11_IsFatbinPTXSupported = 0x6086BD93; + private const uint NvId_D3D11_CreateUnorderedAccessView = 0x74A497A1; + private const uint NvId_D3D11_CreateShaderResourceView = 0x65CB431E; + private const uint NvId_D3D11_CreateSamplerState = 0x89ECA416; + private const uint NvId_D3D11_GetCudaTextureObject = 0x9006FA68; + private const uint NvId_D3D11_GetResourceGPUVirtualAddress = 0x1819B423; + private const uint NvId_VIO_GetCapabilities = 0x1DC91303; + private const uint NvId_VIO_Open = 0x44EE4841; + private const uint NvId_VIO_Close = 0xD01BD237; + private const uint NvId_VIO_Status = 0xE6CE4F1; + private const uint NvId_VIO_SyncFormatDetect = 0x118D48A3; + private const uint NvId_VIO_GetConfig = 0xD34A789B; + private const uint NvId_VIO_SetConfig = 0xE4EEC07; + private const uint NvId_VIO_SetCSC = 0xA1EC8D74; + private const uint NvId_VIO_GetCSC = 0x7B0D72A3; + private const uint NvId_VIO_SetGamma = 0x964BF452; + private const uint NvId_VIO_GetGamma = 0x51D53D06; + private const uint NvId_VIO_SetSyncDelay = 0x2697A8D1; + private const uint NvId_VIO_GetSyncDelay = 0x462214A9; + private const uint NvId_VIO_GetPCIInfo = 0xB981D935; + private const uint NvId_VIO_IsRunning = 0x96BD040E; + private const uint NvId_VIO_Start = 0xCDE8E1A3; + private const uint NvId_VIO_Stop = 0x6BA2A5D6; + private const uint NvId_VIO_IsFrameLockModeCompatible = 0x7BF0A94D; + private const uint NvId_VIO_EnumDevices = 0xFD7C5557; + private const uint NvId_VIO_QueryTopology = 0x869534E2; + private const uint NvId_VIO_EnumSignalFormats = 0xEAD72FE4; + private const uint NvId_VIO_EnumDataFormats = 0x221FA8E8; + private const uint NvId_Stereo_CreateConfigurationProfileRegistryKey = 0xBE7692EC; + private const uint NvId_Stereo_DeleteConfigurationProfileRegistryKey = 0xF117B834; + private const uint NvId_Stereo_SetConfigurationProfileValue = 0x24409F48; + private const uint NvId_Stereo_DeleteConfigurationProfileValue = 0x49BCEECF; + private const uint NvId_Stereo_Enable = 0x239C4545; + private const uint NvId_Stereo_Disable = 0x2EC50C2B; + private const uint NvId_Stereo_IsEnabled = 0x348FF8E1; + private const uint NvId_Stereo_GetStereoSupport = 0x296C434D; + private const uint NvId_Stereo_CreateHandleFromIUnknown = 0xAC7E37F4; + private const uint NvId_Stereo_DestroyHandle = 0x3A153134; + private const uint NvId_Stereo_Activate = 0xF6A1AD68; + private const uint NvId_Stereo_Deactivate = 0x2D68DE96; + private const uint NvId_Stereo_IsActivated = 0x1FB0BC30; + private const uint NvId_Stereo_GetSeparation = 0x451F2134; + private const uint NvId_Stereo_SetSeparation = 0x5C069FA3; + private const uint NvId_Stereo_DecreaseSeparation = 0xDA044458; + private const uint NvId_Stereo_IncreaseSeparation = 0xC9A8ECEC; + private const uint NvId_Stereo_GetConvergence = 0x4AB00934; + private const uint NvId_Stereo_SetConvergence = 0x3DD6B54B; + private const uint NvId_Stereo_DecreaseConvergence = 0x4C87E317; + private const uint NvId_Stereo_IncreaseConvergence = 0xA17DAABE; + private const uint NvId_Stereo_GetFrustumAdjustMode = 0xE6839B43; + private const uint NvId_Stereo_SetFrustumAdjustMode = 0x7BE27FA2; + private const uint NvId_Stereo_CaptureJpegImage = 0x932CB140; + private const uint NvId_Stereo_InitActivation = 0xC7177702; + private const uint NvId_Stereo_Trigger_Activation = 0xD6C6CD2; + private const uint NvId_Stereo_CapturePngImage = 0x8B7E99B5; + private const uint NvId_Stereo_ReverseStereoBlitControl = 0x3CD58F89; + private const uint NvId_Stereo_SetNotificationMessage = 0x6B9B409E; + private const uint NvId_Stereo_SetActiveEye = 0x96EEA9F8; + private const uint NvId_Stereo_SetDriverMode = 0x5E8F0BEC; + private const uint NvId_Stereo_GetEyeSeparation = 0xCE653127; + private const uint NvId_Stereo_IsWindowedModeSupported = 0x40C8ED5E; + private const uint NvId_Stereo_SetSurfaceCreationMode = 0xF5DCFCBA; + private const uint NvId_Stereo_GetSurfaceCreationMode = 0x36F1C736; + private const uint NvId_Stereo_Debug_WasLastDrawStereoized = 0xED4416C5; + private const uint NvId_Stereo_SetDefaultProfile = 0x44F0ECD1; + private const uint NvId_Stereo_GetDefaultProfile = 0x624E21C2; + private const uint NvId_D3D1x_CreateSwapChain = 0x1BC21B66; + private const uint NvId_D3D9_CreateSwapChain = 0x1A131E09; + private const uint NvId_DRS_CreateSession = 0x694D52E; + private const uint NvId_DRS_DestroySession = 0xDAD9CFF8; + private const uint NvId_DRS_LoadSettings = 0x375DBD6B; + private const uint NvId_DRS_SaveSettings = 0xFCBC7E14; + private const uint NvId_DRS_LoadSettingsFromFile = 0xD3EDE889; + private const uint NvId_DRS_SaveSettingsToFile = 0x2BE25DF8; + private const uint NvId_DRS_CreateProfile = 0xCC176068; + private const uint NvId_DRS_DeleteProfile = 0x17093206; + private const uint NvId_DRS_SetCurrentGlobalProfile = 0x1C89C5DF; + private const uint NvId_DRS_GetCurrentGlobalProfile = 0x617BFF9F; + private const uint NvId_DRS_GetProfileInfo = 0x61CD6FD6; + private const uint NvId_DRS_SetProfileInfo = 0x16ABD3A9; + private const uint NvId_DRS_FindProfileByName = 0x7E4A9A0B; + private const uint NvId_DRS_EnumProfiles = 0xBC371EE0; + private const uint NvId_DRS_GetNumProfiles = 0x1DAE4FBC; + private const uint NvId_DRS_CreateApplication = 0x4347A9DE; + private const uint NvId_DRS_DeleteApplicationEx = 0xC5EA85A1; + private const uint NvId_DRS_DeleteApplication = 0x2C694BC6; + private const uint NvId_DRS_GetApplicationInfo = 0xED1F8C69; + private const uint NvId_DRS_EnumApplications = 0x7FA2173A; + private const uint NvId_DRS_FindApplicationByName = 0xEEE566B2; + private const uint NvId_DRS_SetSetting = 0x577DD202; + private const uint NvId_DRS_GetSetting = 0x73BF8338; + private const uint NvId_DRS_EnumSettings = 0xAE3039DA; + private const uint NvId_DRS_EnumAvailableSettingIds = 0xF020614A; + private const uint NvId_DRS_EnumAvailableSettingValues = 0x2EC39F90; + private const uint NvId_DRS_GetSettingIdFromName = 0xCB7309CD; + private const uint NvId_DRS_GetSettingNameFromId = 0xD61CBE6E; + private const uint NvId_DRS_DeleteProfileSetting = 0xE4A26362; + private const uint NvId_DRS_RestoreAllDefaults = 0x5927B094; + private const uint NvId_DRS_RestoreProfileDefault = 0xFA5F6134; + private const uint NvId_DRS_RestoreProfileDefaultSetting = 0x53F0381E; + private const uint NvId_DRS_GetBaseProfile = 0xDA8466A0; + private const uint NvId_SYS_GetChipSetInfo = 0x53DABBCA; + private const uint NvId_SYS_GetLidAndDockInfo = 0xCDA14D8A; + private const uint NvId_SYS_GetDisplayIdFromGpuAndOutputId = 0x8F2BAB4; + private const uint NvId_SYS_GetGpuAndOutputIdFromDisplayId = 0x112BA1A5; + private const uint NvId_SYS_GetPhysicalGpuFromDisplayId = 0x9EA74659; + private const uint NvId_SYS_GetDisplayDriverInfo = 0x721FACEB; + private const uint NvId_GPU_ClientRegisterForUtilizationSampleUpdates = 0xADEEAF67; + private const uint NvId_Unload = 0xD7C61344; #endregion @@ -3652,7 +4384,6 @@ namespace DisplayMagicianShared.NVIDIA private const UInt32 NvId_GetDriverModel = 0x25EEB2C4; private const UInt32 NvId_GetDVCInfo = 0x4085DE45; private const UInt32 NvId_GetDVCInfoEx = 0x0E45002D; - private const UInt32 NvId_GetGPUIDfromPhysicalGPU = 0x6533EA3E; private const UInt32 NvId_GetHDCPLinkParameters = 0x0B3BB0772; private const UInt32 NvId_GetHUEInfo = 0x95B64341; private const UInt32 NvId_GetHybridMode = 0x0E23B68C1; @@ -3663,7 +4394,6 @@ namespace DisplayMagicianShared.NVIDIA private const UInt32 NvId_GetInvalidGpuTopologies = 0x15658BE6; private const UInt32 NvId_GetLoadedMicrocodePrograms = 0x919B3136; private const UInt32 NvId_GetPhysicalGPUFromDisplay = 0x1890E8DA; - private const UInt32 NvId_GetPhysicalGPUFromGPUID = 0x5380AD1A; private const UInt32 NvId_GetPVExtName = 0x2F5B08E0; private const UInt32 NvId_GetPVExtProfile = 0x1B1B9A16; private const UInt32 NvId_GetScalingCaps = 0x8E875CF9; @@ -3689,7 +4419,6 @@ namespace DisplayMagicianShared.NVIDIA private const UInt32 NvId_GPU_ClientPowerPoliciesSetStatus = 0x0AD95F5ED; private const UInt32 NvId_GPU_ClientPowerTopologyGetInfo = 0x0A4DFD3F2; private const UInt32 NvId_GPU_ClientPowerTopologyGetStatus = 0x0EDCF624E; - private const UInt32 NvId_GPU_CudaEnumComputeCapableGpus = 0x5786CC6E; private const UInt32 NvId_GPU_EnableDynamicPstates = 0x0FA579A0F; private const UInt32 NvId_GPU_EnableOverclockedPstates = 0x0B23B70EE; private const UInt32 NvId_GPU_Get_DisplayPort_DongleInfo = 0x76A70E8D; @@ -5715,7 +6444,7 @@ namespace DisplayMagicianShared.NVIDIA { NVAPI_STATUS status; - if (GPU_GetEDIDInternal != null) + if (GetLogicalGPUFromPhysicalGPUInternal != null) { status = GetLogicalGPUFromPhysicalGPUInternal(physicalGPUHandle, out LogicalGpuHandle lgpu); logicalGPUHandle = lgpu; @@ -5729,5 +6458,579 @@ namespace DisplayMagicianShared.NVIDIA return status; } + //NVAPI_INTERFACE NvAPI_DRS_CreateSession (NvDRSSessionHandle* phSession) + private delegate NVAPI_STATUS DRS_CreateSessionDelegate( + [Out] out NvDRSSessionHandle drsSessionHandle); + private static readonly DRS_CreateSessionDelegate DRS_CreateSessionInternal; + /// + /// This API allocates memory and initializes the session. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + public static NVAPI_STATUS NvAPI_DRS_CreateSession(out NvDRSSessionHandle drsSessionHandle) + { + NVAPI_STATUS status; + + if (DRS_CreateSessionInternal != null) + { + status = DRS_CreateSessionInternal(out NvDRSSessionHandle drsSession); + drsSessionHandle = drsSession; + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + drsSessionHandle = new NvDRSSessionHandle(); + } + + return status; + } + + + //NVAPI_INTERFACE NvAPI_DRS_DestroySession (NvDRSSessionHandle* phSession) + private delegate NVAPI_STATUS DRS_DestroySessionDelegate( + [In] NvDRSSessionHandle drsSessionHandle); + private static readonly DRS_DestroySessionDelegate DRS_DestroySessionInternal; + /// + /// This API frees the allocation: cleanup of NvDrsSession. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + public static NVAPI_STATUS NvAPI_DRS_DestroySession(NvDRSSessionHandle drsSessionHandle) + { + NVAPI_STATUS status; + + if (DRS_DestroySessionInternal != null) + { + status = DRS_DestroySessionInternal(drsSessionHandle); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + } + + return status; + } + + //NVAPI_INTERFACE NvAPI_DRS_LoadSettings(NvDRSSessionHandle hSession); + private delegate NVAPI_STATUS DRS_LoadSettingsDelegate( + [In] NvDRSSessionHandle drsSessionHandle); + private static readonly DRS_LoadSettingsDelegate DRS_LoadSettingsInternal; + /// + /// This API loads and parses the settings data. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + public static NVAPI_STATUS NvAPI_DRS_LoadSettings(NvDRSSessionHandle drsSessionHandle) + { + NVAPI_STATUS status; + + if (DRS_LoadSettingsInternal != null) + { + status = DRS_LoadSettingsInternal(drsSessionHandle); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + } + + return status; + } + + //NVAPI_INTERFACE NvAPI_DRS_SaveSettings(NvDRSSessionHandle hSession); + private delegate NVAPI_STATUS DRS_SaveSettingsDelegate( + [In] NvDRSSessionHandle drsSessionHandle); + private static readonly DRS_SaveSettingsDelegate DRS_SaveSettingsInternal; + /// + /// This API saves the settings data to the system. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + public static NVAPI_STATUS NvAPI_DRS_SaveSettings(NvDRSSessionHandle drsSessionHandle) + { + NVAPI_STATUS status; + + if (DRS_SaveSettingsInternal != null) + { + status = DRS_SaveSettingsInternal(drsSessionHandle); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + } + + return status; + } + + + // NVAPI_INTERFACE NvAPI_DRS_GetCurrentGlobalProfile(NvDRSSessionHandle hSession, NvDRSProfileHandle* phProfile ) + private delegate NVAPI_STATUS DRS_GetBaseProfileDelegate( + [In] NvDRSSessionHandle drsSessionHandle, + [Out] out NvDRSProfileHandle drsProfileHandle); + private static readonly DRS_GetBaseProfileDelegate DRS_GetBaseProfileInternal; + /// + /// This API returns the handle to the current global profile. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_GetBaseProfile(NvDRSSessionHandle drsSessionHandle, out NvDRSProfileHandle drsProfileHandle) + { + NVAPI_STATUS status; + + if (DRS_GetBaseProfileInternal != null) + { + status = DRS_GetBaseProfileInternal(drsSessionHandle, out drsProfileHandle); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + drsProfileHandle = new NvDRSProfileHandle(); + } + + return status; + } + + // NVAPI_INTERFACE NvAPI_DRS_GetCurrentGlobalProfile(NvDRSSessionHandle hSession, NvDRSProfileHandle* phProfile ) + private delegate NVAPI_STATUS DRS_GetCurrentGlobalProfileDelegate( + [In] NvDRSSessionHandle drsSessionHandle, + [Out] out NvDRSProfileHandle drsProfileHandle); + private static readonly DRS_GetCurrentGlobalProfileDelegate DRS_GetCurrentGlobalProfileInternal; + /// + /// This API returns the handle to the current global profile. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_GetCurrentGlobalProfile(NvDRSSessionHandle drsSessionHandle, out NvDRSProfileHandle drsProfileHandle) + { + NVAPI_STATUS status; + + if (DRS_GetCurrentGlobalProfileInternal != null) + { + status = DRS_GetCurrentGlobalProfileInternal(drsSessionHandle, out drsProfileHandle); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + drsProfileHandle = new NvDRSProfileHandle(); + } + + return status; + } + + // NVAPI_INTERFACE NvAPI_DRS_SetCurrentGlobalProfile(NvDRSSessionHandle hSession, NvAPI_UnicodeString wszGlobalProfileName) + private delegate NVAPI_STATUS DRS_SetCurrentGlobalProfileDelegate( + [In] NvDRSSessionHandle drsSessionHandle, + [In] string drsProfileName); + private static readonly DRS_SetCurrentGlobalProfileDelegate DRS_SetCurrentGlobalProfileInternal; + /// + /// This API returns the handle to the current global profile. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_SetCurrentGlobalProfile(NvDRSSessionHandle drsSessionHandle, string drsProfileName) + { + NVAPI_STATUS status; + + if (DRS_SetCurrentGlobalProfileInternal != null) + { + status = DRS_SetCurrentGlobalProfileInternal(drsSessionHandle, drsProfileName); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + } + + return status; + } + + // NVAPI_INTERFACE NvAPI_DRS_GetProfileInfo(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NVDRS_PROFILE* pProfileInfo ) + private delegate NVAPI_STATUS DRS_GetProfileInfoDelegate( + [In] NvDRSSessionHandle drsSessionHandle, + [In] NvDRSProfileHandle drsProfileHandle, + [In][Out] ref NVDRS_PROFILE_V1 drsProfileInfo); + private static readonly DRS_GetProfileInfoDelegate DRS_GetProfileInfoInternal; + /// + /// This API gets information about the given profile. User needs to specify the name of the Profile. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_GetProfileInfo(NvDRSSessionHandle drsSessionHandle, NvDRSProfileHandle drsProfileHandle, ref NVDRS_PROFILE_V1 drsProfileInfo) + { + NVAPI_STATUS status; + + if (DRS_GetProfileInfoInternal != null) + { + drsProfileInfo.Version = NVImport.NVDRS_PROFILE_V1_VER; + status = DRS_GetProfileInfoInternal(drsSessionHandle, drsProfileHandle, ref drsProfileInfo); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + drsProfileInfo = new NVDRS_PROFILE_V1(); + } + + return status; + } + + + // NVAPI_INTERFACE NvAPI_DRS_SetProfileInfo(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NVDRS_PROFILE* pProfileInfo ) + private delegate NVAPI_STATUS DRS_SetProfileInfoDelegate( + [In] NvDRSSessionHandle drsSessionHandle, + [In] NvDRSProfileHandle drsProfileHandle, + [In] NVDRS_PROFILE_V1 drsProfileInfo); + private static readonly DRS_SetProfileInfoDelegate DRS_SetProfileInfoInternal; + /// + /// This API gets information about the given profile. User needs to specify the name of the Profile. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_SetProfileInfo(NvDRSSessionHandle drsSessionHandle, NvDRSProfileHandle drsProfileHandle, NVDRS_PROFILE_V1 drsProfileInfo) + { + NVAPI_STATUS status; + + if (DRS_SetProfileInfoInternal != null) + { + status = DRS_SetProfileInfoInternal(drsSessionHandle, drsProfileHandle, drsProfileInfo); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + } + + return status; + } + + // NVAPI_INTERFACE NvAPI_DRS_EnumProfiles(NvDRSSessionHandle hSession, NvU32 index, NvDRSProfileHandle* phProfile) + private delegate NVAPI_STATUS DRS_EnumProfilesDelegate( + [In] NvDRSSessionHandle drsSessionHandle, + [In] UInt32 drsIndex, + [Out] out NvDRSProfileHandle drsProfileHandle); + private static readonly DRS_EnumProfilesDelegate DRS_EnumProfilesInternal; + /// + /// This API enumerates through all the profiles in the session. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_EnumProfiles(NvDRSSessionHandle drsSessionHandle, UInt32 drsIndex, out NvDRSProfileHandle drsProfileHandle) + { + NVAPI_STATUS status; + + if (DRS_EnumProfilesInternal != null) + { + status = DRS_EnumProfilesInternal(drsSessionHandle, drsIndex, out drsProfileHandle); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + drsProfileHandle = new NvDRSProfileHandle(); + } + + return status; + } + + // NVAPI_INTERFACE NvAPI_DRS_GetNumProfiles(NvDRSSessionHandle hSession, NvU32 *numProfiles); + private delegate NVAPI_STATUS DRS_GetNumProfilesDelegate( + [In] NvDRSSessionHandle drsSessionHandle, + [Out] out UInt32 drsNumProfiles); + private static readonly DRS_GetNumProfilesDelegate DRS_GetNumProfilesInternal; + /// + /// This API obtains the number of profiles in the current session object. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_GetNumProfiles(NvDRSSessionHandle drsSessionHandle, out UInt32 drsNumProfiles) + { + NVAPI_STATUS status; + + if (DRS_GetNumProfilesInternal != null) + { + status = DRS_GetNumProfilesInternal(drsSessionHandle, out drsNumProfiles); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + drsNumProfiles = 0; + } + + return status; + } + + // NVAPI_INTERFACE NvAPI_DRS_SetSetting(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NVDRS_SETTING* pSetting) + private delegate NVAPI_STATUS DRS_SetSettingDelegate( + [In] NvDRSSessionHandle drsSessionHandle, + [In] NvDRSProfileHandle drsProfileHandle, + [In] NVDRS_SETTING_V1 drsSetting); + private static readonly DRS_SetSettingDelegate DRS_SetSettingInternal; + /// + /// This API adds/modifies a setting to a profile. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_SetSetting(NvDRSSessionHandle drsSessionHandle, NvDRSProfileHandle drsProfileHandle, NVDRS_SETTING_V1 drsSetting) + { + NVAPI_STATUS status; + + if (DRS_SetSettingInternal != null) + { + status = DRS_SetSettingInternal(drsSessionHandle, drsProfileHandle, drsSetting); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + drsSetting = new NVDRS_SETTING_V1(); + } + + return status; + } + + + // NVAPI_INTERFACE NvAPI_DRS_GetSetting(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NvU32 settingId, NVDRS_SETTING* pSetting) + private delegate NVAPI_STATUS DRS_GetSettingDelegate( + [In] NvDRSSessionHandle drsSessionHandle, + [In] NvDRSProfileHandle drsProfileHandle, + [In] UInt32 drsSettingId, + [Out] out NVDRS_SETTING_V1 drsSetting); + private static readonly DRS_GetSettingDelegate DRS_GetSettingInternal; + /// + /// This API gets information about the given setting. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_GetSetting(NvDRSSessionHandle drsSessionHandle, NvDRSProfileHandle drsProfileHandle, UInt32 drsSettingId, out NVDRS_SETTING_V1 drsSetting) + { + NVAPI_STATUS status; + + if (DRS_GetSettingInternal != null) + { + status = DRS_GetSettingInternal(drsSessionHandle, drsProfileHandle, drsSettingId, out drsSetting); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + drsSetting = new NVDRS_SETTING_V1(); + } + + return status; + } + + // NVAPI_INTERFACE NvAPI_DRS_EnumSettings(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NvU32 startIndex, NvU32* settingsCount, NVDRS_SETTING* pSetting) + private delegate NVAPI_STATUS DRS_EnumSettingsDelegate( + [In] NvDRSSessionHandle drsSessionHandle, + [In] NvDRSProfileHandle drsProfileHandle, + [In] UInt32 drsStartIndex, + [In][Out] ref UInt32 drsSettingCount, + [In][Out] NVDRS_SETTING_V1[] drsSettings); + private static readonly DRS_EnumSettingsDelegate DRS_EnumSettingsInternal; + /// + /// This API enumerates all the settings of a given profile from startIndex to the maximum length. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_EnumSettings(NvDRSSessionHandle drsSessionHandle, NvDRSProfileHandle drsProfileHandle, UInt32 drsStartIndex, ref UInt32 drsSettingCount, ref NVDRS_SETTING_V1[] drsSettings) + { + NVAPI_STATUS status; + + if (DRS_EnumSettingsInternal != null) + { + if (drsSettingCount == 0) + { + drsSettingCount = NVImport.NVAPI_SETTING_MAX_VALUES; + } + NVDRS_SETTING_V1[] drsSettingsInternal = new NVDRS_SETTING_V1[drsSettingCount]; + for (int i = 0; i < drsSettingCount; i++) + { + drsSettingsInternal[i].InternalVersion = NVImport.NVDRS_SETTING_V1_VER; + + } + status = DRS_EnumSettingsInternal(drsSessionHandle, drsProfileHandle, drsStartIndex, ref drsSettingCount, drsSettingsInternal); + drsSettings = new NVDRS_SETTING_V1[drsSettingCount]; + Array.Copy(drsSettingsInternal, drsSettings, drsSettingCount); + /*for (int i = 0; i < drsSettingCount; i++) + { + drsSettings[i] = drsSettingsInternal[i].Clone(); + }*/ + + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + drsSettings = new NVDRS_SETTING_V1[0]; + drsSettingCount = 0; + } + + return status; + } + + + // NVAPI_INTERFACE NvAPI_DRS_EnumAvailableSettingIds(NvU32* pSettingIds, NvU32* pMaxCount) + private delegate NVAPI_STATUS DRS_EnumAvailableSettingIdsDelegate( + [In][Out][MarshalAs(UnmanagedType.SysUInt, SizeConst = (int)Int32.MaxValue)] UInt32[] drsSettingsIds, + [In][Out] ref UInt32 drsSettingCount); + private static readonly DRS_EnumAvailableSettingIdsDelegate DRS_EnumAvailableSettingIdsInternal; + /// + /// This API enumerates all the Ids of all the settings recognized by NVAPI. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_EnumAvailableSettingIds(ref UInt32[] drsSettingsIds, ref UInt32 drsSettingCount) + { + NVAPI_STATUS status; + + if (DRS_EnumAvailableSettingIdsInternal != null) + { + UInt32 drsSettingCountInternal = Int32.MaxValue; + UInt32[] drsSettingIdsInternal = new UInt32[drsSettingCountInternal]; + status = DRS_EnumAvailableSettingIdsInternal(drsSettingIdsInternal, ref drsSettingCountInternal); + drsSettingCount = drsSettingCountInternal; + drsSettingsIds = new UInt32[drsSettingCount]; + Array.Copy(drsSettingIdsInternal, drsSettingsIds, drsSettingCount); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + drsSettingsIds = new UInt32[0]; + drsSettingCount = 0; + } + + return status; + } + + // NVAPI_INTERFACE NvAPI_DRS_EnumAvailableSettingValues(NvU32 settingId, NvU32* pMaxNumValues, NVDRS_SETTING_VALUES* pSettingValues) + private delegate NVAPI_STATUS DRS_EnumAvailableSettingValuesDelegate( + [In] UInt32 drsSettingId, + [In, Out] ref UInt32 drsMaxNumValues, + [In][Out] NVDRS_SETTING_VALUES_V1[] drsSettingsValues); + private static readonly DRS_EnumAvailableSettingValuesDelegate DRS_EnumAvailableSettingValuesInternal; + /// + /// This API enumerates all available setting values for a given setting. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_EnumAvailableSettingValues(UInt32 drsSettingId, ref UInt32 drsMaxNumValues, ref NVDRS_SETTING_VALUES_V1[] drsSettingsValues) + { + NVAPI_STATUS status; + + if (DRS_EnumAvailableSettingValuesInternal != null) + { + status = DRS_EnumAvailableSettingValuesInternal(drsSettingId, ref drsMaxNumValues, drsSettingsValues); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + drsSettingsValues = new NVDRS_SETTING_VALUES_V1[0]; + drsMaxNumValues = 0; + } + + return status; + } + + // NVAPI_INTERFACE NvAPI_DRS_GetSettingIdFromName(NvAPI_UnicodeString settingName, NvU32* pSettingId) + private delegate NVAPI_STATUS DRS_GetSettingIdFromNameDelegate( + [In] string drsSettingName, + [Out] out UInt32 drsSettingId); + private static readonly DRS_GetSettingIdFromNameDelegate DRS_GetSettingIdFromNameInternal; + /// + /// This API gets the binary ID of a setting given the setting name. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_GetSettingIdFromName(string drsSettingName, out UInt32 drsSettingId) + { + NVAPI_STATUS status; + + if (DRS_GetSettingIdFromNameInternal != null) + { + status = DRS_GetSettingIdFromNameInternal(drsSettingName, out drsSettingId); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + drsSettingId = 0; + } + + return status; + } + + // NVAPI_INTERFACE NvAPI_DRS_GetSettingNameFromId(NvU32 settingId, NvAPI_UnicodeString* pSettingName) + private delegate NVAPI_STATUS DRS_GetSettingNameFromIdDelegate( + [In] UInt32 drsSettingId, + [Out] out string drsSettingName); + private static readonly DRS_GetSettingNameFromIdDelegate DRS_GetSettingNameFromIdInternal; + /// + /// This API gets the setting name given the binary ID. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_GetSettingNameFromId(UInt32 drsSettingId, out string drsSettingName) + { + NVAPI_STATUS status; + + if (DRS_GetSettingNameFromIdInternal != null) + { + status = DRS_GetSettingNameFromIdInternal(drsSettingId, out drsSettingName); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + drsSettingName = ""; + } + + return status; + } + + // NVAPI_INTERFACE NvAPI_DRS_RestoreProfileDefaultSetting(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NvU32 settingId); + private delegate NVAPI_STATUS DRS_RestoreProfileDefaultSettingDelegate( + [In] NvDRSSessionHandle drsSessionHandle, + [In] NvDRSProfileHandle drsProfileHandle, + [In] UInt32 drsSettingId); + private static readonly DRS_RestoreProfileDefaultSettingDelegate DRS_RestoreProfileDefaultSettingInternal; + /// + /// This API gets information about the given setting. + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + public static NVAPI_STATUS NvAPI_DRS_RestoreProfileDefaultSetting(NvDRSSessionHandle drsSessionHandle, NvDRSProfileHandle drsProfileHandle, UInt32 drsSettingId) + { + NVAPI_STATUS status; + + if (DRS_RestoreProfileDefaultSettingInternal != null) + { + status = DRS_RestoreProfileDefaultSettingInternal(drsSessionHandle, drsProfileHandle, drsSettingId); + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + } + + return status; + } + + // NVAPI_INTERFACE NvAPI_DRS_CreateProfile(NvDRSSessionHandle hSession, NVDRS_PROFILE* pProfileInfo, NvDRSProfileHandle* phProfile) + + // NVAPI_INTERFACE NvAPI_DRS_DeleteProfile(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile) + } } \ No newline at end of file diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index d8c28be..3291e9b 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -106,18 +106,20 @@ namespace DisplayMagicianShared.NVIDIA [StructLayout(LayoutKind.Sequential)] public struct NVIDIA_DRS_CONFIG : IEquatable { - public bool HasDRSSettings; + //public bool HasDRSSettings; + public bool IsBaseProfile; public NVDRS_PROFILE_V1 ProfileInfo; public List DriverSettings; public override bool Equals(object obj) => obj is NVIDIA_DRS_CONFIG other && this.Equals(other); public bool Equals(NVIDIA_DRS_CONFIG other) - => HasDRSSettings == other.HasDRSSettings && + => IsBaseProfile == other.IsBaseProfile && ProfileInfo == other.ProfileInfo && DriverSettings.SequenceEqual(other.DriverSettings); public override int GetHashCode() { - return (HasDRSSettings, ProfileInfo, DriverSettings).GetHashCode(); + return (IsBaseProfile, ProfileInfo, DriverSettings).GetHashCode(); + //return (HasDRSSettings, ProfileInfo, DriverSettings).GetHashCode(); } public static bool operator ==(NVIDIA_DRS_CONFIG lhs, NVIDIA_DRS_CONFIG rhs) => lhs.Equals(rhs); @@ -154,6 +156,7 @@ namespace DisplayMagicianShared.NVIDIA public struct NVIDIA_DISPLAY_CONFIG : IEquatable { public bool IsCloned; + public bool IsOptimus; public NVIDIA_MOSAIC_CONFIG MosaicConfig; public Dictionary PhysicalAdapters; public List DisplayConfigs; @@ -168,6 +171,7 @@ namespace DisplayMagicianShared.NVIDIA public bool Equals(NVIDIA_DISPLAY_CONFIG other) => IsCloned == other.IsCloned && + IsOptimus == other.IsOptimus && PhysicalAdapters.SequenceEqual(other.PhysicalAdapters) && MosaicConfig.Equals(other.MosaicConfig) && DisplayConfigs.SequenceEqual(other.DisplayConfigs) && @@ -177,7 +181,7 @@ namespace DisplayMagicianShared.NVIDIA public override int GetHashCode() { - return (IsCloned, MosaicConfig, PhysicalAdapters, DisplayConfigs, DisplayIdentifiers, DRSSettings).GetHashCode(); + return (IsCloned, IsOptimus, MosaicConfig, PhysicalAdapters, DisplayConfigs, DisplayIdentifiers, DRSSettings).GetHashCode(); } public static bool operator ==(NVIDIA_DISPLAY_CONFIG lhs, NVIDIA_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); @@ -244,7 +248,7 @@ namespace DisplayMagicianShared.NVIDIA } catch (Exception ex) { - SharedLogger.logger.Trace(ex, $"NVIDIALibrary/NVIDIALibrary: Exception intialising NVIDIA NVAPI library. NvAPI_Initialize() caused an exception."); + SharedLogger.logger.Error(ex, $"NVIDIALibrary/NVIDIALibrary: Exception intialising NVIDIA NVAPI library. NvAPI_Initialize() caused an exception."); } } @@ -337,6 +341,7 @@ namespace DisplayMagicianShared.NVIDIA myDefaultConfig.DisplayNames = new Dictionary(); myDefaultConfig.DisplayIdentifiers = new List(); myDefaultConfig.IsCloned = false; + myDefaultConfig.IsOptimus = false; return myDefaultConfig; } @@ -499,7 +504,6 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: There are no valid Mosaic Topologies available with this display layout."); } - // Get current Mosaic Topology settings in brief (check whether Mosaic is on) NV_MOSAIC_TOPO_BRIEF mosaicTopoBrief = new NV_MOSAIC_TOPO_BRIEF(); NV_MOSAIC_DISPLAY_SETTING_V2 mosaicDisplaySetting = new NV_MOSAIC_DISPLAY_SETTING_V2(); @@ -1075,7 +1079,7 @@ namespace DisplayMagicianShared.NVIDIA NVStatus = NVImport.NvAPI_Disp_ColorControl(displayIds[displayIndex].DisplayId, ref colorData); if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Your monitor {displayIds[displayIndex].DisplayId} has the following color settings set. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Your monitor {displayIds[displayIndex].DisplayId} has the following color settings set. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); myDisplay.ColorData = colorData; myDisplay.HasColorData = true; } @@ -1395,6 +1399,228 @@ namespace DisplayMagicianShared.NVIDIA // Get the display identifiers myDisplayConfig.DisplayIdentifiers = GetCurrentDisplayIdentifiers(); + // Get the DRS Settings + NvDRSSessionHandle drsSessionHandle = new NvDRSSessionHandle(); + NVStatus = NVImport.NvAPI_DRS_CreateSession(out drsSessionHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DRS_CreateSession returned OK. We got a DRS Session Handle"); + + try + { + // Load the DRS Settings into memory + NVStatus = NVImport.NvAPI_DRS_LoadSettings(drsSessionHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DRS_LoadSettings returned OK. We successfully loaded the DRS Settings into memory."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more args passed in are invalid. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred whilst loading settings into memory. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while loading settings into memory! NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + + // Now we try to start getting the DRS Settings we need + // Firstly, we get the profile handle to the global DRS Profile currently in use + NvDRSProfileHandle drsProfileHandle = new NvDRSProfileHandle(); + //NVStatus = NVImport.NvAPI_DRS_GetCurrentGlobalProfile(drsSessionHandle, out drsProfileHandle); + NVStatus = NVImport.NvAPI_DRS_GetBaseProfile(drsSessionHandle, out drsProfileHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + if (drsProfileHandle.Ptr == IntPtr.Zero) + { + // There isn't a custom global profile set yet, so we ignore it + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DRS_GetCurrentGlobalProfile returned OK, but there was no process handle set. THe DRS Settings may not have been loaded."); + } + else + { + // There is a custom global profile set, so we continue + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DRS_GetCurrentGlobalProfile returned OK. We got the DRS Profile Handle for the current global profile"); + + // Next, we make a single DRS setting to track the global profile + NVIDIA_DRS_CONFIG drsConfig = new NVIDIA_DRS_CONFIG(); + drsConfig.IsBaseProfile = true; + + // Next we grab the Profile Info and store it + NVDRS_PROFILE_V1 drsProfileInfo = new NVDRS_PROFILE_V1(); + NVStatus = NVImport.NvAPI_DRS_GetProfileInfo(drsSessionHandle, drsProfileHandle, ref drsProfileInfo); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DRS_GetProfileInfo returned OK. We got the DRS Profile info for the current global profile. Profile Name is {drsProfileInfo.ProfileName}."); + drsConfig.ProfileInfo = drsProfileInfo; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more args passed in are invalid. NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred whilst getting the profile info. NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting the profile info! NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + + if (drsProfileInfo.NumofSettings > 0) + { + // Next we grab the Profile Settings and store them + NVDRS_SETTING_V1[] drsDriverSettings = new NVDRS_SETTING_V1[drsProfileInfo.NumofSettings]; + UInt32 drsNumSettings = drsProfileInfo.NumofSettings; + //NVDRS_SETTING_V1 drsDriverSetting = new NVDRS_SETTING_V1(); + NVStatus = NVImport.NvAPI_DRS_EnumSettings(drsSessionHandle, drsProfileHandle, 0, ref drsNumSettings, ref drsDriverSettings); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DRS_EnumSettings returned OK. We found {drsNumSettings} settings in the DRS Profile {drsProfileInfo.ProfileName}."); + drsConfig.DriverSettings = drsDriverSettings.ToList(); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_EnumSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more args passed in are invalid. NvAPI_DRS_EnumSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DRS_EnumSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DRS_EnumSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred whilst enumerating settings. NvAPI_DRS_EnumSettings() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while enumerating settings! NvAPI_DRS_EnumSettings() returned error code {NVStatus}"); + } + + // And then we save the DRS Config to the main config so it gets saved + myDisplayConfig.DRSSettings.Add(drsConfig); + + } + + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more args passed in are invalid. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred whilst getting the base profile. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting the base profile! NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + + } + finally + { + // Destroy the DRS Session Handle to clean up + NVStatus = NVImport.NvAPI_DRS_DestroySession(drsSessionHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DRS_DestroySession returned OK. We cleaned up and destroyed our DRS Session Handle"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more args passed in are invalid. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred whist destroying our DRS Session Handle. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while destroying our DRS Session Handle! NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more args passed in are invalid. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred whist getting a DRS Session Handle. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting a DRS Session Handle! NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } } else @@ -1608,6 +1834,11 @@ namespace DisplayMagicianShared.NVIDIA } } + // I have to disable this as NvAPI_DRS_EnumAvailableSettingIds function can't be found within the NVAPI.DLL + // It's looking like it is a problem with the NVAPI.DLL rather than with my code, but I need to do more testing to be sure. + // Disabling this for now. + //stringToReturn += DumpAllDRSSettings(); + stringToReturn += $"\n\n"; // Now we also get the Windows CCD Library info, and add it to the above stringToReturn += WinLibrary.GetLibrary().PrintActiveConfig(); @@ -1853,6 +2084,294 @@ namespace DisplayMagicianShared.NVIDIA } + // Set the DRS Settings + NvDRSSessionHandle drsSessionHandle = new NvDRSSessionHandle(); + NVStatus = NVImport.NvAPI_DRS_CreateSession(out drsSessionHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_DRS_CreateSession returned OK. We got a DRS Session Handle"); + + try + { + // Load the current DRS Settings into memory + NVStatus = NVImport.NvAPI_DRS_LoadSettings(drsSessionHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_DRS_LoadSettings returned OK. We successfully loaded the DRS Settings into memory."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: One or more args passed in are invalid. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred whist destroying our DRS Session Handle. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while destroying our DRS Session Handle! NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + + // Now we try to start getting the DRS Settings we need + // Firstly, we get the profile handle to the global DRS Profile currently in use + NvDRSProfileHandle drsProfileHandle = new NvDRSProfileHandle(); + NVStatus = NVImport.NvAPI_DRS_GetBaseProfile(drsSessionHandle, out drsProfileHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + if (drsProfileHandle.Ptr == IntPtr.Zero) + { + // There isn't a custom global profile set yet, so we ignore it + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: NvAPI_DRS_GetCurrentGlobalProfile returned OK, but there was no process handle set. The DRS Settings may not have been loaded."); + } + else + { + // There is a custom global profile, so we continue + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_DRS_GetCurrentGlobalProfile returned OK. We got the DRS Profile Handle for the current global profile"); + + // Next, we go through all the settings we have in the saved profile, and we change the current profile settings to be the same + if (displayConfig.DRSSettings.Count > 0) + { + bool needToSave = false; + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: There are {displayConfig.DRSSettings.Count} stored DRS profiles so we need to process them"); + + try + { + // Get the Base Profiles from the stored config and the active config + NVIDIA_DRS_CONFIG storedBaseProfile = displayConfig.DRSSettings.Find(p => p.IsBaseProfile == true); + NVIDIA_DRS_CONFIG activeBaseProfile = ActiveDisplayConfig.DRSSettings.Find(p => p.IsBaseProfile == true); + foreach (var drsSetting in storedBaseProfile.DriverSettings) + { + for (int i = 0; i < activeBaseProfile.DriverSettings.Count; i++) + { + NVDRS_SETTING_V1 currentSetting = activeBaseProfile.DriverSettings[i]; + + // If the setting is also in the active base profile (it should be!), then we set it. + if (drsSetting.SettingId == currentSetting.SettingId) + { + if (drsSetting.CurrentValue.Equals(currentSetting.CurrentValue)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: '{currentSetting.Name}' ({currentSetting.SettingId}) is set to the same value as the one we want, so skipping changing it."); + } + else + { + NVStatus = NVImport.NvAPI_DRS_SetSetting(drsSessionHandle, drsProfileHandle, drsSetting); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + needToSave = true; + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We changed setting '{currentSetting.Name}' ({currentSetting.SettingId}) from {currentSetting.CurrentValue} to {drsSetting.CurrentValue} using NvAPI_DRS_SetSetting()"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_SetSetting() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: One or more args passed in are invalid. NvAPI_DRS_SetSetting() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_DRS_SetSetting() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_DRS_SetSetting() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred whist destroying our DRS Session Handle. NvAPI_DRS_SetSetting() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while destroying our DRS Session Handle! NvAPI_DRS_SetSetting() returned error code {NVStatus}"); + } + + } + break; + } + } + } + + // Now go through and revert any unset settings to defaults. This guards against new settings being added by other profiles + // after we've created a display profile. If we didn't do this those newer settings would stay set. + foreach (var currentSetting in activeBaseProfile.DriverSettings) + { + // Skip any settings that we've already set + if (storedBaseProfile.DriverSettings.Exists(ds => ds.SettingId == currentSetting.SettingId)) + { + continue; + } + + NVStatus = NVImport.NvAPI_DRS_RestoreProfileDefaultSetting(drsSessionHandle, drsProfileHandle, currentSetting.SettingId); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + needToSave = true; + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We changed active setting '{currentSetting.Name}' ({currentSetting.SettingId}) from {currentSetting.CurrentValue} to it's default value using NvAPI_DRS_RestoreProfileDefaultSetting()"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_RestoreProfileDefaultSetting() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: One or more args passed in are invalid. NvAPI_DRS_RestoreProfileDefaultSetting() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_DRS_RestoreProfileDefaultSetting() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_DRS_RestoreProfileDefaultSetting() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred whist destroying our DRS Session Handle. NvAPI_DRS_RestoreProfileDefaultSetting() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while destroying our DRS Session Handle! NvAPI_DRS_RestoreProfileDefaultSetting() returned error code {NVStatus}"); + } + } + } + catch (Exception ex) + { + SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfig: Exception while trying to find base profiles in either the stored or active display configs."); + } + + // Next we save the Settings if needed + if (needToSave) + { + // Save the current DRS Settings as we changed them + NVStatus = NVImport.NvAPI_DRS_SaveSettings(drsSessionHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_DRS_SaveSettings returned OK. We successfully saved the DRS Settings."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_SaveSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: One or more args passed in are invalid. NvAPI_DRS_SaveSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_DRS_SaveSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_DRS_SaveSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred whilst saving driver settings. NvAPI_DRS_SaveSettings() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred whilst saving driver settings! NvAPI_DRS_SaveSettings() returned error code {NVStatus}"); + } + } + } + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: One or more args passed in are invalid. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred whilst getting the Base Profile. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting the Base Profile Handle! NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + + } + finally + { + // Destroy the DRS Session Handle to clean up + NVStatus = NVImport.NvAPI_DRS_DestroySession(drsSessionHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_DRS_DestroySession returned OK. We cleaned up and destroyed our DRS Session Handle"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: One or more args passed in are invalid. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred whist destroying our DRS Session Handle. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while destroying our DRS Session Handle! NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: One or more args passed in are invalid. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred whist getting a DRS Session Handle. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting a DRS Session Handle! NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + // Now we've set the color the way we want it, lets do the thing // We want to check the NVIDIA Surround (Mosaic) config is valid @@ -3210,6 +3729,369 @@ namespace DisplayMagicianShared.NVIDIA return displayIdentifiers; } + public static string DumpAllDRSSettings() + { + // This bit of code dumps all the profiles in the DRS, and all the settings within that + // This is really only used for debugging, but is still very useful to have! + // Get the DRS Settings + string stringToReturn = ""; + stringToReturn += $"\n****** CURRENTLY SET NVIDIA DRIVER SETTINGS (DRS) *******\n"; + + NvDRSSessionHandle drsSessionHandle = new NvDRSSessionHandle(); + NVAPI_STATUS NVStatus; + NVStatus = NVImport.NvAPI_DRS_CreateSession(out drsSessionHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: NvAPI_DRS_CreateSession returned OK. We got a DRS Session Handle"); + try + { + // Load the DRS Settings into memory + NVStatus = NVImport.NvAPI_DRS_LoadSettings(drsSessionHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: NvAPI_DRS_LoadSettings returned OK. We successfully loaded the DRS Settings into memory."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: One or more args passed in are invalid. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: The NvAPI API needs to be initialized first. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: This entry point not available in this NVIDIA Driver. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: A miscellaneous error occurred whist destroying our DRS Session Handle. NvAPI_DRS_LoadSettings() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: Some non standard error occurred while destroying our DRS Session Handle! NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + + + /*// Get number of profiles + NvDRSProfileHandle drsProfileHandle = new NvDRSProfileHandle(); + UInt32 drsNumProfiles = 0; + NVStatus = NVImport.NvAPI_DRS_GetNumProfiles(drsSessionHandle, out drsNumProfiles); + //NVStatus = NVImport.NvAPI_DRS_GetBaseProfile(drsSessionHandle, out drsProfileHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + stringToReturn += $"Found {drsNumProfiles} DRS Profiles\n"; + for (uint p = 0; p < drsNumProfiles; p++) + { + //NvDRSProfileHandle drsProfileHandle = new NvDRSProfileHandle(); + NVStatus = NVImport.NvAPI_DRS_EnumProfiles(drsSessionHandle, p, out drsProfileHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + + // Next we grab the Profile Info and store it + NVDRS_PROFILE_V1 drsProfileInfo = new NVDRS_PROFILE_V1(); + NVStatus = NVImport.NvAPI_DRS_GetProfileInfo(drsSessionHandle, drsProfileHandle, ref drsProfileInfo); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: NvAPI_DRS_GetProfileInfo returned OK. We got the DRS Profile info for the current global profile. Profile Name is {drsProfileInfo.ProfileName}."); + if (drsProfileInfo.NumofSettings > 0) + { + stringToReturn += $"\nDRS Profile Name: {drsProfileInfo.ProfileName}\n"; + stringToReturn += $"\nDRS Profile GPU Support: {drsProfileInfo.GpuSupport}\n"; + stringToReturn += $"\nDRS Profile is Predefined: {drsProfileInfo.IsPredefined}\n"; + stringToReturn += $"\nNumber of applications using this DRS Profile: {drsProfileInfo.NumofApps}\n"; + stringToReturn += $"\nNumber of settings within this DRS Profile: {drsProfileInfo.NumofSettings}\n"; + + // Next we grab the Profile Settings and store them + NVDRS_SETTING_V1[] drsDriverSettings = new NVDRS_SETTING_V1[drsProfileInfo.NumofSettings]; + UInt32 drsNumSettings = drsProfileInfo.NumofSettings; + //NVDRS_SETTING_V1 drsDriverSetting = new NVDRS_SETTING_V1(); + NVStatus = NVImport.NvAPI_DRS_EnumSettings(drsSessionHandle, drsProfileHandle, 0, ref drsNumSettings, ref drsDriverSettings); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: NvAPI_DRS_EnumSettings returned OK. We found {drsNumSettings} settings in the DRS Profile {drsProfileInfo.ProfileName}."); + foreach (var drsDriverSetting in drsDriverSettings) + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: DRS Driver Setting: {drsDriverSetting.Name} ({drsDriverSetting.SettingId}): {drsDriverSetting.CurrentValue} ({drsDriverSetting.SettingLocation} : {drsDriverSetting.IsCurrentPredefined} : {drsDriverSetting.IsPredefinedValid})"); + stringToReturn += $" Setting Name: {drsDriverSetting.Name}\n"; + stringToReturn += $" Setting Id: {drsDriverSetting.SettingId}\n"; + stringToReturn += $" Setting Type: {drsDriverSetting.SettingType.ToString("G")}\n"; + stringToReturn += $" Setting Location: {drsDriverSetting.SettingLocation.ToString("G")}\n"; + stringToReturn += $" Setting is a Current Predefined Setting: {drsDriverSetting.IsCurrentPredefined}\n"; + stringToReturn += $" Setting is a Valid Predefined Setting: {drsDriverSetting.IsPredefinedValid}\n"; + stringToReturn += $" Setting Current Value: {drsDriverSetting.CurrentValue}\n"; + stringToReturn += $" Setting Default Value: {drsDriverSetting.PredefinedValue}\n"; + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_END_ENUMERATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: The startIndex exceeds the total number of available settings in DB. NvAPI_DRS_EnumSettings() returned error code {NVStatus}"); + continue; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_EnumSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: One or more args passed in are invalid. NvAPI_DRS_EnumSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: The NvAPI API needs to be initialized first. NvAPI_DRS_EnumSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: This entry point not available in this NVIDIA Driver. NvAPI_DRS_EnumSettings() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: A miscellaneous error occurred whist destroying our DRS Session Handle. NvAPI_DRS_EnumSettings() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: Some non standard error occurred while destroying our DRS Session Handle! NvAPI_DRS_EnumSettings() returned error code {NVStatus}"); + } + + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: One or more args passed in are invalid. NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: The NvAPI API needs to be initialized first. NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: This entry point not available in this NVIDIA Driver. NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: A miscellaneous error occurred. NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: The function was passed an incompatible struct version. NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: Some non standard error occurred while getting the profile info! NvAPI_DRS_GetProfileInfo() returned error code {NVStatus}"); + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_END_ENUMERATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: The index exceeds the total number of available Profiles in DB. NvAPI_DRS_EnumProfiles() returned error code {NVStatus}"); + break; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_EnumProfiles() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: One or more args passed in are invalid. NvAPI_DRS_EnumProfiles() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: The NvAPI API needs to be initialized first. NvAPI_DRS_EnumProfiles() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: This entry point not available in this NVIDIA Driver. NvAPI_DRS_EnumProfiles() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: A miscellaneous error occurred whilst enumerating the profiles. NvAPI_DRS_EnumProfiles() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: Some non standard error occurred while enumerating the profiles! NvAPI_DRS_EnumProfiles() returned error code {NVStatus}"); + } + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: One or more args passed in are invalid. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: The NvAPI API needs to be initialized first. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: This entry point not available in this NVIDIA Driver. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: A miscellaneous error occurred whist destroying our DRS Session Handle. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: Some non standard error occurred while destroying our DRS Session Handle! NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + }*/ + + // Get ALL available settings + UInt32 drsNumAvailableSettingIds = NVImport.NVAPI_SETTING_MAX_VALUES; + UInt32[] drsSettingIds = new UInt32[drsNumAvailableSettingIds]; + NVStatus = NVImport.NvAPI_DRS_EnumAvailableSettingIds(ref drsSettingIds, ref drsNumAvailableSettingIds); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + int settingCount = 1; + foreach (var drsSettingId in drsSettingIds) + { + if (settingCount > drsNumAvailableSettingIds) + { + break; + } + string drsSettingName; + NVStatus = NVImport.NvAPI_DRS_GetSettingNameFromId(drsSettingId, out drsSettingName); + stringToReturn += $"DRS Setting: {drsSettingName}:\n"; + stringToReturn += $"OPTIONS:\n"; + UInt32 numDrsSettingValues = NVImport.NVAPI_SETTING_MAX_VALUES; + NVDRS_SETTING_VALUES_V1[] drsSettingValues = new NVDRS_SETTING_VALUES_V1[(int)NVImport.NVAPI_SETTING_MAX_VALUES]; + NVStatus = NVImport.NvAPI_DRS_EnumAvailableSettingValues(drsSettingId, ref numDrsSettingValues, ref drsSettingValues); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + int valuesCount = 1; + foreach (var drsSettingValue in drsSettingValues) + { + if (valuesCount > numDrsSettingValues) + { + break; + } + stringToReturn += $" Default Value: {drsSettingValue.DefaultValue}\n"; + stringToReturn += $" All Values: {String.Join(", ", drsSettingValue.Values)}\n"; + valuesCount++; + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_EnumAvailableSettingValues() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: One or more args passed in are invalid. NvAPI_DRS_EnumAvailableSettingValues() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: The NvAPI API needs to be initialized first. NvAPI_DRS_EnumAvailableSettingValues() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: This entry point not available in this NVIDIA Driver. NvAPI_DRS_EnumAvailableSettingValues() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: A miscellaneous error occurred whist destroying our DRS Session Handle. NvAPI_DRS_EnumAvailableSettingValues() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: Some non standard error occurred while destroying our DRS Session Handle! NvAPI_DRS_EnumNvAPI_DRS_EnumAvailableSettingValuesSettings() returned error code {NVStatus}"); + } + settingCount++; + } + + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: One or more args passed in are invalid. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: The NvAPI API needs to be initialized first. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: This entry point not available in this NVIDIA Driver. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: A miscellaneous error occurred whist destroying our DRS Session Handle. NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: Some non standard error occurred while destroying our DRS Session Handle! NvAPI_DRS_GetCurrentGlobalProfile() returned error code {NVStatus}"); + } + + } + finally + { + // Destroy the DRS Session Handle to clean up + NVStatus = NVImport.NvAPI_DRS_DestroySession(drsSessionHandle); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: NvAPI_DRS_DestroySession returned OK. We cleaned up and destroyed our DRS Session Handle"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: One or more args passed in are invalid. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: The NvAPI API needs to be initialized first. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: This entry point not available in this NVIDIA Driver. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: A miscellaneous error occurred whist destroying our DRS Session Handle. NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: Some non standard error occurred while destroying our DRS Session Handle! NvAPI_DRS_DestroySession() returned error code {NVStatus}"); + } + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: GDI Primary not on an NVIDIA GPU. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: One or more args passed in are invalid. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: The NvAPI API needs to be initialized first. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: This entry point not available in this NVIDIA Driver. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/DumpAllDRSSettings: A miscellaneous error occurred whist getting a DRS Session Handle. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/DumpAllDRSSettings: Some non standard error occurred while getting a DRS Session Handle! NvAPI_DRS_CreateSession() returned error code {NVStatus}"); + } + return stringToReturn; + } public static NV_MOSAIC_GRID_TOPO_V2[] CreateSingleScreenMosaicTopology() { diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 955b5a0..3c801d1 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -52,11 +52,15 @@ namespace DisplayMagicianShared.Windows public override bool Equals(object obj) => obj is DISPLAY_SOURCE other && this.Equals(other); public bool Equals(DISPLAY_SOURCE other) - => true; + => SourceId.Equals(other.SourceId) && + TargetId.Equals(other.TargetId) && + DevicePath.Equals(other.DevicePath) && + SourceDpiScalingRel.Equals(other.SourceDpiScalingRel); + //=> true; public override int GetHashCode() { //return 300; - return (AdapterId, SourceId, TargetId, DevicePath, SourceDpiScalingRel).GetHashCode(); + return (SourceId, TargetId, DevicePath, SourceDpiScalingRel).GetHashCode(); } public static bool operator ==(DISPLAY_SOURCE lhs, DISPLAY_SOURCE rhs) => lhs.Equals(rhs); @@ -83,7 +87,8 @@ namespace DisplayMagicianShared.Windows public override bool Equals(object obj) => obj is WINDOWS_DISPLAY_CONFIG other && this.Equals(other); public bool Equals(WINDOWS_DISPLAY_CONFIG other) - => IsCloned == other.IsCloned && + { + if (!(IsCloned == other.IsCloned && DisplayConfigPaths.SequenceEqual(other.DisplayConfigPaths) && DisplayConfigModes.SequenceEqual(other.DisplayConfigModes) && DisplayHDRStates.SequenceEqual(other.DisplayHDRStates) && @@ -91,7 +96,24 @@ namespace DisplayMagicianShared.Windows // Additionally, we had to disable the DEviceKey from the equality testing within the GDI library itself as that waould also change after changing back from NVIDIA surround // This still allows us to detect when refresh rates change, which will allow DisplayMagician to detect profile differences. GdiDisplaySettings.Values.SequenceEqual(other.GdiDisplaySettings.Values) && - DisplayIdentifiers.SequenceEqual(other.DisplayIdentifiers); + DisplayIdentifiers.SequenceEqual(other.DisplayIdentifiers))) + { + return false; + } + + // Now we need to go through the values to make sure they are the same, but ignore the keys (as they change after each reboot!) + for (int i = 0; i < DisplaySources.Count; i++) + { + if (!DisplaySources.ElementAt(i).Value.SequenceEqual(other.DisplaySources.ElementAt(i).Value)) + { + return false; + } + } + return true; + + + } + // NOTE: I have disabled the TaskBar specific matching for now due to errors I cannot fix // WinLibrary will still track the location of the taskbars, but won't actually set them as the setting of the taskbars doesnt work at the moment. /*&& From a318dc64f25af51ce2ed6ecffd086cadbb6a8c66 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 31 May 2022 20:55:48 +1200 Subject: [PATCH 13/60] Adding WIndows DPI Scaling config patching for DisplayMagician IMPORTANT: This patching means that DisplayMagician is able to use your existing Display Profiles, but there is a catch! DisplayMagician won't be able to detect that your old profiles are currently in use... in other words DisplayMagician will constantly think that you have a new Display Profile until you save a copy of the DisplayProfile again. This occurs because DisplayMagician now gets and compares the NVIDIA 3D Settings and there is no way for us to figure out what previous 3D settings were in use when you set up previous display profiles. For that reason we'll just need you to save new Display Profiles. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/ProfileRepository.cs | 27 +++++++++++++++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index a8da07a..3808cf5 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.3.2.6")] -[assembly: AssemblyFileVersion("2.3.2.6")] +[assembly: AssemblyVersion("2.3.2.11")] +[assembly: AssemblyFileVersion("2.3.2.11")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index 0c49ad9..cd85749 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -846,7 +846,32 @@ namespace DisplayMagicianShared // We do the actual change we were trying to do try { - // Nothing to patch at the moment! + // Add in a default Windows DPI information we need + // This adds a 'SourceDpiScalingRel' with a default of 100% (integer 0) into each DisplaySources entry + // but only if the existing entry is a 'null'. This only occurs when the SourceDpiScalingRel is unset. + // This migration will add the default 100% scaling so that the ProfileRepository Load function works as intended. + SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Looking for missing Windows DPI settings."); + for (int i = 0; i < root.Count; i++) + { + JObject profile = (JObject)root[i]; + + //JObject WindowsTaskBarSettings = (JObject)profile.SelectToken("WindowsDisplayConfig.TaskBarSettings"); + var dsList = profile["WindowsDisplayConfig"]["DisplaySources"].Children(); + IList displaySources = new List(); + foreach (var dsListItem in dsList) + { + var displaySourceArray = dsListItem.Values().ToArray(); + for (int j=0; j Date: Tue, 31 May 2022 21:11:35 +1200 Subject: [PATCH 14/60] Fixed Game Shortcut system tray menu all greyed out on startup Problem was the MainForm needed to be started after the games were loaded in the background. --- DisplayMagician/Program.cs | 10 +++++----- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 758329e..97506cb 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -830,16 +830,16 @@ namespace DisplayMagician { } } logger.Info("Program/Main: Starting Normally..."); + + // Try to load all the games in parallel to this process + //Task.Run(() => LoadGamesInBackground()); + logger.Debug($"Program/Main: Try to load all the Games in the background to avoid locking the UI"); + GameLibrary.LoadGamesInBackground(); // Set up the AppMainForm variable that we need to use later AppMainForm = new MainForm(); AppMainForm.Load += MainForm_LoadCompletedAndOpenApp; - // Try to load all the games in parallel to this process - //Task.Run(() => LoadGamesInBackground()); - logger.Debug($"Program/Main: Try to load all the Games in the background to avoid locking the UI"); - GameLibrary.LoadGamesInBackground(); - ERRORLEVEL errLevel = StartUpApplication(); DeRegisterDisplayMagicianWithWindows(); return (int)errLevel; diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 3808cf5..c0b381b 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.3.2.11")] -[assembly: AssemblyFileVersion("2.3.2.11")] +[assembly: AssemblyVersion("2.3.2.14")] +[assembly: AssemblyFileVersion("2.3.2.14")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From b7395020cf631c8ad9211886254442d3bb712ba9 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 31 May 2022 21:32:28 +1200 Subject: [PATCH 15/60] Updated build. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index c0b381b..14f3f78 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.3.2.14")] -[assembly: AssemblyFileVersion("2.3.2.14")] +[assembly: AssemblyVersion("2.3.2.15")] +[assembly: AssemblyFileVersion("2.3.2.15")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 4e48f3d907b95ead075efd8cbaf776a12ec89484 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Jun 2022 10:10:56 +0000 Subject: [PATCH 16/60] Bump Autoupdater.NET.Official from 1.7.0 to 1.7.1 Bumps [Autoupdater.NET.Official](https://github.com/ravibpatel/AutoUpdater.NET) from 1.7.0 to 1.7.1. - [Release notes](https://github.com/ravibpatel/AutoUpdater.NET/releases) - [Commits](https://github.com/ravibpatel/AutoUpdater.NET/compare/v1.7.0...v1.7.1) --- updated-dependencies: - dependency-name: Autoupdater.NET.Official dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- DisplayMagician/DisplayMagician.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index aa86f43..32f0170 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -306,7 +306,7 @@ 4.0.0-alpha5 - 1.7.0 + 1.7.1 1.2.0 From 56c2410d8590ff971d3bda1391fffe1c093914b4 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Thu, 2 Jun 2022 18:14:51 +1200 Subject: [PATCH 17/60] Updated WinLibrary so it patches adapter IDs accurately This was a major error that somehow slipped through previous work. WinLibrary was only partially patching the Windows Display Config when it was being loaded, and that resulted in some parts of the Windows Display Config not working after a windows reboot. This should now be fixed! Fixes #103 --- DisplayMagicianShared/ProfileRepository.cs | 9 ++++- DisplayMagicianShared/Windows/WinLibrary.cs | 38 ++++++++++++++++++--- 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index cd85749..36eaadd 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -741,7 +741,14 @@ namespace DisplayMagicianShared args.ErrorContext.Handled = true; }, }; - _allProfiles = JsonConvert.DeserializeObject>(json, mySerializerSettings); + _allProfiles = JsonConvert.DeserializeObject>(json, mySerializerSettings); + + // We have to patch the adapter IDs after we load a display config because Windows changes them after every reboot :( + foreach (ProfileItem profile in _allProfiles) + { + WINDOWS_DISPLAY_CONFIG winProfile = profile.WindowsDisplayConfig; + WinLibrary.GetLibrary().PatchWindowsDisplayConfig(ref winProfile); + } } catch (JsonReaderException ex) diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 3c801d1..927d52f 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -245,7 +245,7 @@ namespace DisplayMagicianShared.Windows return myDefaultConfig; } - private void PatchAdapterIDs(ref WINDOWS_DISPLAY_CONFIG savedDisplayConfig) + public void PatchWindowsDisplayConfig(ref WINDOWS_DISPLAY_CONFIG savedDisplayConfig) { Dictionary adapterOldToNewMap = new Dictionary(); @@ -281,6 +281,34 @@ namespace DisplayMagicianShared.Windows } ulong newAdapterValue = 0; + ulong oldAdapterValue = 0; + + try + { + // Update the DisplayAdapters with the current adapter id + SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Going through the display adatpers to update the adapter id"); + ulong[] currentKeys = savedDisplayConfig.DisplayAdapters.Keys.ToArray(); + var currentLength = savedDisplayConfig.DisplayAdapters.Count; + for (int i = 0; i < currentLength; i++) + { + oldAdapterValue = currentKeys[i]; + // Change the Dictionary Key AdapterIDs + if (adapterOldToNewMap.ContainsKey(oldAdapterValue)) + { + // We get here if there is a matching adapter + newAdapterValue = adapterOldToNewMap[oldAdapterValue]; + // Add a new dictionary key with the old value + savedDisplayConfig.DisplayAdapters.Add(newAdapterValue, savedDisplayConfig.DisplayAdapters[oldAdapterValue]); + // Remove the old dictionary key + savedDisplayConfig.DisplayAdapters.Remove(oldAdapterValue); + SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Updated DisplayAdapter from adapter {oldAdapterValue} to adapter {newAdapterValue} instead."); + } + } + } + catch (Exception ex) + { + SharedLogger.logger.Error(ex, "WinLibrary/PatchAdapterIDs: Exception while going through the display adapters update the adapter ids"); + } try { @@ -327,7 +355,7 @@ namespace DisplayMagicianShared.Windows // We get here if there is a matching adapter newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayConfigModes[i].AdapterId.Value]; savedDisplayConfig.DisplayConfigModes[i].AdapterId = AdapterValueToLUID(newAdapterValue); - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Updated DisplayConfig Mode #{i} from adapter {savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value} to adapter {newAdapterValue} instead."); + SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Updated DisplayConfig Mode #{i} from adapter {savedDisplayConfig.DisplayConfigModes[i].AdapterId.Value} to adapter {newAdapterValue} instead."); } else { @@ -377,6 +405,7 @@ namespace DisplayMagicianShared.Windows hdrInfo.AdvancedColorInfo.Header.AdapterId = AdapterValueToLUID(newAdapterValue); hdrInfo.SDRWhiteLevel.Header.AdapterId = AdapterValueToLUID(newAdapterValue); } + savedDisplayConfig.DisplayHDRStates[i] = hdrInfo; } } else @@ -418,6 +447,7 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Warn($"WinLibrary/PatchAdapterIDs: Uh Oh. Adapter {savedDisplayConfig.DisplayHDRStates[i].AdapterId.Value} didn't have a current match in Display Sources! It's possible the adapter was swapped or disabled. Attempting to use adapter {newAdapterValue} instead."); ds.AdapterId = AdapterValueToLUID(newAdapterValue); } + dsList[j] = ds; } } } @@ -1326,7 +1356,7 @@ namespace DisplayMagicianShared.Windows // Now we go through the Paths to update the LUIDs as per Soroush's suggestion SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Patching the adapter IDs to make the saved config valid"); - PatchAdapterIDs(ref displayConfig); + PatchWindowsDisplayConfig(ref displayConfig); uint myPathsCount = (uint)displayConfig.DisplayConfigPaths.Length; uint myModesCount = (uint)displayConfig.DisplayConfigModes.Length; @@ -1723,7 +1753,7 @@ namespace DisplayMagicianShared.Windows // Now we go through the Paths to update the LUIDs as per Soroush's suggestion SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Attemptong to patch the saved display configuration's adapter IDs so that it will still work (these change at each boot)"); - PatchAdapterIDs(ref displayConfig); + PatchWindowsDisplayConfig(ref displayConfig); SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Testing whether the display configuration is valid "); // Test whether a specified display configuration is supported on the computer From 3fba28087c3dece2de516b3bc80c5e69bd2ec2b2 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Thu, 2 Jun 2022 19:51:07 +1200 Subject: [PATCH 18/60] Made TaskBarLayout creation more robust TaskBarLayout now catches exceptions recording the taskbar location and handles them properly. It will skip any screenss that it cannot access the taskbar information for. The Screen layout generator for NVIDIA, AMD and Windows have all been updated to handle having no taskbar layout information (it just assumes the taskbar is down the bottom of the screen). Hopefully fixes #114 --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagicianShared/ProfileItem.cs | 8 +- .../Windows/TaskBarLayout.cs | 231 ++++++++++-------- .../Windows/TaskBarSettings.cs | 8 +- DisplayMagicianShared/Windows/WinLibrary.cs | 3 +- 5 files changed, 137 insertions(+), 117 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 14f3f78..3b19f1c 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.3.2.15")] -[assembly: AssemblyFileVersion("2.3.2.15")] +[assembly: AssemblyVersion("2.3.2.16")] +[assembly: AssemblyFileVersion("2.3.2.16")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index d7fa7e9..725a1cf 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -1171,7 +1171,7 @@ namespace DisplayMagicianShared catch (Exception ex) { // Guess that it is at the bottom (90% correct) - SharedLogger.logger.Error(ex, $"ProfileItem/GetNVIDIAScreenPositions: Exception trying to get the position of the taskbar on display {targetInfo.DisplayId}"); + SharedLogger.logger.Warn(ex, $"ProfileItem/GetNVIDIAScreenPositions: Exception trying to get the position of the taskbar on display {targetInfo.DisplayId}"); screen.TaskBarEdge = TaskBarLayout.TaskBarEdge.Bottom; } @@ -1311,7 +1311,7 @@ namespace DisplayMagicianShared catch (Exception ex) { // Guess that it is at the bottom (90% correct) - SharedLogger.logger.Error(ex, $"ProfileItem/GetNVIDIAScreenPositions: Exception trying to get the position of the taskbar on display {targetId}"); + SharedLogger.logger.Warn(ex, $"ProfileItem/GetNVIDIAScreenPositions: Exception trying to get the position of the taskbar on display {targetId}"); screen.TaskBarEdge = TaskBarLayout.TaskBarEdge.Bottom; } @@ -1564,7 +1564,7 @@ namespace DisplayMagicianShared catch (Exception ex) { // Guess that it is at the bottom (90% correct) - SharedLogger.logger.Error(ex, $"ProfileItem/GetWindowsScreenPositions: Exception trying to get the position of the taskbar on primary display {targetId}"); + SharedLogger.logger.Warn(ex, $"ProfileItem/GetWindowsScreenPositions: Exception trying to get the position of the taskbar on primary display {targetId}"); screen.TaskBarEdge = TaskBarLayout.TaskBarEdge.Bottom; } @@ -1579,7 +1579,7 @@ namespace DisplayMagicianShared catch (Exception ex) { // Guess that it is at the bottom (90% correct) - SharedLogger.logger.Error(ex, $"ProfileItem/GetWindowsScreenPositions: Exception trying to get the position of the taskbar on display {targetId}"); + SharedLogger.logger.Warn(ex, $"ProfileItem/GetWindowsScreenPositions: Exception trying to get the position of the taskbar on display {targetId}"); screen.TaskBarEdge = TaskBarLayout.TaskBarEdge.Bottom; } } diff --git a/DisplayMagicianShared/Windows/TaskBarLayout.cs b/DisplayMagicianShared/Windows/TaskBarLayout.cs index 25b278d..c6e9daf 100644 --- a/DisplayMagicianShared/Windows/TaskBarLayout.cs +++ b/DisplayMagicianShared/Windows/TaskBarLayout.cs @@ -67,7 +67,7 @@ namespace DisplayMagicianShared.Windows if (Registry.CurrentUser.OpenSubKey(address) != null) { MMStuckRectVerFound = true; - SharedLogger.logger.Trace($"TaskBarStuckRectangle/TaskBarStuckRectangle: Found MMStuckRect3 registry key! {address}"); + SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: Found MMStuckRect3 registry key! {address}"); } else { @@ -77,13 +77,13 @@ namespace DisplayMagicianShared.Windows if (Registry.CurrentUser.OpenSubKey(address) != null) { MMStuckRectVerFound = true; - SharedLogger.logger.Trace($"TaskBarStuckRectangle/TaskBarStuckRectangle: Found MMStuckRect2 registry key! {address}"); + SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: Found MMStuckRect2 registry key! {address}"); } else { // It's not v2 or v3, so it must be a single display MMStuckRectVerFound = false; - SharedLogger.logger.Warn($"TaskBarStuckRectangle/TaskBarStuckRectangle: Couldn't find an MMStuckRect2 or MMStuckRect3 registry key! Going to test if it is a single display only."); + SharedLogger.logger.Warn($"TaskBarLayout/TaskBarStuckRectangle: Couldn't find an MMStuckRect2 or MMStuckRect3 registry key! Going to test if it is a single display only."); } } @@ -107,25 +107,25 @@ namespace DisplayMagicianShared.Windows // Extract the values from the binary byte field PopulateFieldsFromBinary(); - SharedLogger.logger.Trace($"TaskBarStuckRectangle/TaskBarStuckRectangle: The taskbar for {RegKeyValue} is against the {Edge} edge, is positioned at ({TaskBarLocation.X},{TaskBarLocation.Y}) and is {TaskBarLocation.Width}x{TaskBarLocation.Height} in size."); + SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: The taskbar for {RegKeyValue} is against the {Edge} edge, is positioned at ({TaskBarLocation.X},{TaskBarLocation.Y}) and is {TaskBarLocation.Width}x{TaskBarLocation.Height} in size."); // If we get here then we're done and don't need to continue with the rest of the code. return true; } else { - SharedLogger.logger.Trace($"TaskBarStuckRectangle/TaskBarStuckRectangle: Unable to get the TaskBarStuckRectangle binary settings from {regKeyValue} screen."); + SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: Unable to get the TaskBarStuckRectangle binary settings from {regKeyValue} screen."); } } } else { - SharedLogger.logger.Error($"TaskBarStuckRectangle/TaskBarStuckRectangle: A MMStuckRect entry was found, but the version of the field is wrong."); + SharedLogger.logger.Error($"TaskBarLayout/TaskBarStuckRectangle: A MMStuckRect entry was found, but the version of the field is wrong."); } } else { - SharedLogger.logger.Trace($"TaskBarStuckRectangle/TaskBarStuckRectangle: A MMStuckRect entry was NOT found. We will try to find the object in the StuckRect registry key instead"); + SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: A MMStuckRect entry was NOT found. We will try to find the object in the StuckRect registry key instead"); } bool StuckRectVerFound = false; @@ -135,7 +135,7 @@ namespace DisplayMagicianShared.Windows if (Registry.CurrentUser.OpenSubKey(address) != null) { StuckRectVerFound = true; - SharedLogger.logger.Trace($"TaskBarStuckRectangle/TaskBarStuckRectangle: Found StuckRect3 single display registry key! {address}"); + SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: Found StuckRect3 single display registry key! {address}"); } else { @@ -145,11 +145,11 @@ namespace DisplayMagicianShared.Windows if (Registry.CurrentUser.OpenSubKey(address) != null) { StuckRectVerFound = true; - SharedLogger.logger.Trace($"TaskBarStuckRectangle/TaskBarStuckRectangle: Found StuckRect2 single display registry key! {address}"); + SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: Found StuckRect2 single display registry key! {address}"); } else { - SharedLogger.logger.Error($"TaskBarStuckRectangle/TaskBarStuckRectangle: Couldn't find an single display StuckRect2 or StuckRect3 registry key! So we have to just return after doing nothing as there is nothing we can do."); + SharedLogger.logger.Error($"TaskBarLayout/TaskBarStuckRectangle: Couldn't find an single display StuckRect2 or StuckRect3 registry key! So we have to just return after doing nothing as there is nothing we can do."); return false; } } @@ -174,25 +174,25 @@ namespace DisplayMagicianShared.Windows // Extract the values from the binary byte field PopulateFieldsFromBinary(); - SharedLogger.logger.Trace($"TaskBarStuckRectangle/TaskBarStuckRectangle: The taskbar for {RegKeyValue} is against the {Edge} edge, is positioned at ({TaskBarLocation.X},{TaskBarLocation.Y}) and is {TaskBarLocation.Width}x{TaskBarLocation.Height} in size."); + SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: The taskbar for {RegKeyValue} is against the {Edge} edge, is positioned at ({TaskBarLocation.X},{TaskBarLocation.Y}) and is {TaskBarLocation.Width}x{TaskBarLocation.Height} in size."); return true; } else { - SharedLogger.logger.Error($"TaskBarStuckRectangle/TaskBarStuckRectangle: Unable to get the TaskBarStuckRectangle binary settings from {regKeyValue} screen."); + SharedLogger.logger.Error($"TaskBarLayout/TaskBarStuckRectangle: Unable to get the TaskBarStuckRectangle binary settings from {regKeyValue} screen."); return false; } } } else { - SharedLogger.logger.Error($"TaskBarStuckRectangle/TaskBarStuckRectangle: A StuckRect entry was found, but the version of the field is wrong."); + SharedLogger.logger.Error($"TaskBarLayout/TaskBarStuckRectangle: A StuckRect entry was found, but the version of the field is wrong."); return false; } } else { - SharedLogger.logger.Error($"TaskBarStuckRectangle/TaskBarStuckRectangle: A StuckRect entry was NOT found. This means we're unable to get the taskbar location, an unable to return a sensible TaskBarStuckRectangle object."); + SharedLogger.logger.Error($"TaskBarLayout/TaskBarStuckRectangle: A StuckRect entry was NOT found. This means we're unable to get the taskbar location, an unable to return a sensible TaskBarStuckRectangle object."); return false; } @@ -332,7 +332,7 @@ namespace DisplayMagicianShared.Windows Rows = BitConverter.ToUInt32(Binary, 44); } - SharedLogger.logger.Trace($"TaskBarStuckRectangle/PopulateFieldsFromBinary: Grabbed the following settings for {RegKeyValue} from the registry: DPI = {DPI}, Edge = {Edge}, Location = ({TaskBarLocation.X},{TaskBarLocation.Y}), MinSize = {TaskBarLocation.Width}x{TaskBarLocation.Height}, Options = {Options}, Rows = {Rows}."); + SharedLogger.logger.Trace($"TaskBarLayout/PopulateFieldsFromBinary: Grabbed the following settings for {RegKeyValue} from the registry: DPI = {DPI}, Edge = {Edge}, Location = ({TaskBarLocation.X},{TaskBarLocation.Y}), MinSize = {TaskBarLocation.Width}x{TaskBarLocation.Height}, Options = {Options}, Rows = {Rows}."); return true; } @@ -432,7 +432,7 @@ namespace DisplayMagicianShared.Windows Array.Copy(bytes, 0, Binary, 44, 4); } - SharedLogger.logger.Trace($"TaskBarStuckRectangle/PopulateBinaryFromFields: Set the following settings for {RegKeyValue} into registry: DPI = {DPI}, Edge = {Edge}, Location = ({TaskBarLocation.X},{TaskBarLocation.Y}), MinSize = {TaskBarLocation.Width}x{TaskBarLocation.Height}, Options = {Options}, Rows = {Rows}."); + SharedLogger.logger.Trace($"TaskBarLayout/PopulateBinaryFromFields: Set the following settings for {RegKeyValue} into registry: DPI = {DPI}, Edge = {Edge}, Location = ({TaskBarLocation.X},{TaskBarLocation.Y}), MinSize = {TaskBarLocation.Width}x{TaskBarLocation.Height}, Options = {Options}, Rows = {Rows}."); return true; } @@ -455,12 +455,12 @@ namespace DisplayMagicianShared.Windows RegistryKeyPermissionCheck.ReadWriteSubTree)) { key.SetValue(RegKeyValue, Binary); - SharedLogger.logger.Trace($"TaskBarStuckRectangle/Apply: Successfully applied TaskBarStuckRectangle registry settings for the {RegKeyValue} Screen in {address}!"); + SharedLogger.logger.Trace($"TaskBarLayout/Apply: Successfully applied TaskBarStuckRectangle registry settings for the {RegKeyValue} Screen in {address}!"); } } catch (Exception ex) { - SharedLogger.logger.Error(ex, $"TaskBarStuckRectangle/GetCurrent: Unable to set the {RegKeyValue} TaskBarStuckRectangle registry settings in {address} due to an exception!"); + SharedLogger.logger.Error(ex, $"TaskBarLayout/GetCurrent: Unable to set the {RegKeyValue} TaskBarStuckRectangle registry settings in {address} due to an exception!"); } } else @@ -474,12 +474,12 @@ namespace DisplayMagicianShared.Windows RegistryKeyPermissionCheck.ReadWriteSubTree)) { key.SetValue(RegKeyValue, Binary); - SharedLogger.logger.Trace($"TaskBarStuckRectangle/WriteToRegistry: Successfully applied TaskBarStuckRectangle registry settings for the {RegKeyValue} Screen in {address}!"); + SharedLogger.logger.Trace($"TaskBarLayout/WriteToRegistry: Successfully applied TaskBarStuckRectangle registry settings for the {RegKeyValue} Screen in {address}!"); } } catch (Exception ex) { - SharedLogger.logger.Error(ex, $"TaskBarStuckRectangle/WriteToRegistry: Unable to set the {RegKeyValue} TaskBarStuckRectangle registry settings in {address} due to an exception!"); + SharedLogger.logger.Error(ex, $"TaskBarLayout/WriteToRegistry: Unable to set the {RegKeyValue} TaskBarStuckRectangle registry settings in {address} due to an exception!"); } } @@ -513,6 +513,7 @@ namespace DisplayMagicianShared.Windows MONITORINFOEX monitorInfo = new MONITORINFOEX(); monitorInfo.cbSize = (UInt32)Marshal.SizeOf(typeof(MONITORINFOEX)); //monitorInfo.szDevice = new char[Utils.CCHDEVICENAME]; + SharedLogger.logger.Trace($"TaskBarLayout/GetAllCurrentTaskBarPositions: Getting the monitor coordinates from the main monitor"); Utils.GetMonitorInfo(mainMonitorHwnd, ref monitorInfo); abd.hWnd = mainTaskbarHwnd; @@ -568,6 +569,10 @@ namespace DisplayMagicianShared.Windows tbsrMain.TaskBarLocation = tbsr.TaskBarLocation; tbsrMain.MainScreen = tbsr.MainScreen; + SharedLogger.logger.Trace($"TaskBarLayout/GetAllCurrentTaskBarPositions: Main monitor coordinates are {tbsrMain.MonitorLocation.X},{tbsrMain.MonitorLocation.Y} and it is {tbsrMain.MonitorLocation.Width}x{tbsrMain.MonitorLocation.Height}"); + SharedLogger.logger.Trace($"TaskBarLayout/GetAllCurrentTaskBarPositions: Main taskbar coordinates are {tbsrMain.TaskBarLocation.X},{tbsrMain.TaskBarLocation.Y} and it is {tbsrMain.TaskBarLocation.Width}x{tbsrMain.TaskBarLocation.Height}"); + SharedLogger.logger.Trace($"TaskBarLayout/GetAllCurrentTaskBarPositions: Main taskbar is {tbsrMain.Edge.ToString("G")}"); + // Now as a LAST step we update the Binary field just before we apply it to make sure that the correct binary settings are stored tbsrMain.PopulateBinaryFromFields(); taskBarStuckRectangles.Add("Settings", tbsrMain); @@ -575,116 +580,128 @@ namespace DisplayMagicianShared.Windows } catch (Exception ex) { - SharedLogger.logger.Error(ex, $"WinLibrary/GetAllCurrentTaskBarPositions: Exception while trying to get the maintaskbar position"); + SharedLogger.logger.Error(ex, $"TaskBarLayout/GetAllCurrentTaskBarPositions: Exception while trying to get the main taskbar position"); } // Then go through the secondary windows and get the position of them // Tell Windows to refresh the Other Windows Taskbars if needed - IntPtr lastTaskBarWindowHwnd = (IntPtr)Utils.NULL; - for (int i = 0; i < 100; i++) + try { - // Find the next "Shell_SecondaryTrayWnd" window - IntPtr nextTaskBarWindowHwnd = Utils.FindWindowEx((IntPtr)Utils.NULL, lastTaskBarWindowHwnd, "Shell_SecondaryTrayWnd", null); - if (nextTaskBarWindowHwnd == (IntPtr)Utils.NULL) + IntPtr lastTaskBarWindowHwnd = (IntPtr)Utils.NULL; + for (int i = 0; i < 100; i++) { - // No more windows taskbars to notify - break; - } - - IntPtr secMonitorHwnd = Utils.MonitorFromWindow(nextTaskBarWindowHwnd, Utils.MONITOR_DEFAULTTONEAREST); - - // Figure out the monitor coordinates - MONITORINFOEX monitorInfo = new MONITORINFOEX(); - monitorInfo.cbSize = (UInt32)Marshal.SizeOf(typeof(MONITORINFOEX)); - //monitorInfo.szDevice = new char[Utils.CCHDEVICENAME]; - Utils.GetMonitorInfo(secMonitorHwnd, ref monitorInfo); - - // Figure out the position of the taskbar ourselves - int monWidth = Math.Abs(monitorInfo.rcMonitor.left - monitorInfo.rcMonitor.right); - int monHeight = Math.Abs(monitorInfo.rcMonitor.top - monitorInfo.rcMonitor.bottom); - int wrkWidth = Math.Abs(monitorInfo.rcWork.left - monitorInfo.rcWork.right); - int wrkHeight = Math.Abs(monitorInfo.rcWork.top - monitorInfo.rcWork.bottom); - int tbWidth; - int tbHeight; - - TaskBarLayout tbsr = new TaskBarLayout(); - // Now we're at the point that we should be able to update the binary that we grabbed earlier when the object was created - tbsr.ReadFromRegistry(GetRegKeyValueFromDevicePath(displaySources[monitorInfo.szDevice][0].DevicePath)); - if (monWidth == wrkWidth) - { - // Taskbar on top or bottom - if (monitorInfo.rcMonitor.left == monitorInfo.rcWork.left && monitorInfo.rcMonitor.top == monitorInfo.rcWork.top) + // Find the next "Shell_SecondaryTrayWnd" window + IntPtr nextTaskBarWindowHwnd = Utils.FindWindowEx((IntPtr)Utils.NULL, lastTaskBarWindowHwnd, "Shell_SecondaryTrayWnd", null); + if (nextTaskBarWindowHwnd == (IntPtr)Utils.NULL) { - // Taskbar on bottom - tbWidth = monWidth; - tbHeight = monHeight - wrkHeight; - tbsr.TaskBarLocation = new System.Drawing.Rectangle(monitorInfo.rcMonitor.left, monitorInfo.rcWork.bottom, tbWidth, tbHeight); - tbsr.Edge = TaskBarEdge.Bottom; + // No more windows taskbars to notify + break; } - else if (monitorInfo.rcMonitor.right == monitorInfo.rcWork.right && monitorInfo.rcMonitor.bottom == monitorInfo.rcWork.bottom) + + IntPtr secMonitorHwnd = Utils.MonitorFromWindow(nextTaskBarWindowHwnd, Utils.MONITOR_DEFAULTTONEAREST); + + // Figure out the monitor coordinates + MONITORINFOEX monitorInfo = new MONITORINFOEX(); + monitorInfo.cbSize = (UInt32)Marshal.SizeOf(typeof(MONITORINFOEX)); + //monitorInfo.szDevice = new char[Utils.CCHDEVICENAME]; + Utils.GetMonitorInfo(secMonitorHwnd, ref monitorInfo); + + // Figure out the position of the taskbar ourselves + int monWidth = Math.Abs(monitorInfo.rcMonitor.left - monitorInfo.rcMonitor.right); + int monHeight = Math.Abs(monitorInfo.rcMonitor.top - monitorInfo.rcMonitor.bottom); + int wrkWidth = Math.Abs(monitorInfo.rcWork.left - monitorInfo.rcWork.right); + int wrkHeight = Math.Abs(monitorInfo.rcWork.top - monitorInfo.rcWork.bottom); + int tbWidth; + int tbHeight; + + TaskBarLayout tbsr = new TaskBarLayout(); + // Now we're at the point that we should be able to update the binary that we grabbed earlier when the object was created + tbsr.ReadFromRegistry(GetRegKeyValueFromDevicePath(displaySources[monitorInfo.szDevice][0].DevicePath)); + if (monWidth == wrkWidth) { - // Taskbar on top - tbWidth = monWidth; - tbHeight = monHeight - wrkHeight; - tbsr.TaskBarLocation = new System.Drawing.Rectangle(monitorInfo.rcWork.left, monitorInfo.rcMonitor.top, tbWidth, tbHeight); - tbsr.Edge = TaskBarEdge.Top; + // Taskbar on top or bottom + if (monitorInfo.rcMonitor.left == monitorInfo.rcWork.left && monitorInfo.rcMonitor.top == monitorInfo.rcWork.top) + { + // Taskbar on bottom + tbWidth = monWidth; + tbHeight = monHeight - wrkHeight; + tbsr.TaskBarLocation = new System.Drawing.Rectangle(monitorInfo.rcMonitor.left, monitorInfo.rcWork.bottom, tbWidth, tbHeight); + tbsr.Edge = TaskBarEdge.Bottom; + } + else if (monitorInfo.rcMonitor.right == monitorInfo.rcWork.right && monitorInfo.rcMonitor.bottom == monitorInfo.rcWork.bottom) + { + // Taskbar on top + tbWidth = monWidth; + tbHeight = monHeight - wrkHeight; + tbsr.TaskBarLocation = new System.Drawing.Rectangle(monitorInfo.rcWork.left, monitorInfo.rcMonitor.top, tbWidth, tbHeight); + tbsr.Edge = TaskBarEdge.Top; + } + else + { + // Invalid state + SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Taskbar position was not on a horizontal edge of a monitor!"); + } + + } + else if (monHeight == wrkHeight) + { + // Taskbar on the sides + if (monitorInfo.rcMonitor.right == monitorInfo.rcWork.right && monitorInfo.rcMonitor.bottom == monitorInfo.rcWork.bottom) + { + // Taskbar on left + tbWidth = monWidth - wrkWidth; + tbHeight = monHeight; + tbsr.TaskBarLocation = new System.Drawing.Rectangle(monitorInfo.rcMonitor.left, monitorInfo.rcMonitor.top, tbWidth, tbHeight); + tbsr.Edge = TaskBarEdge.Left; + } + else if (monitorInfo.rcMonitor.left == monitorInfo.rcWork.left && monitorInfo.rcMonitor.top == monitorInfo.rcWork.top) + { + // Taskbar on right + tbWidth = monWidth - wrkWidth; + tbHeight = monHeight; + tbsr.TaskBarLocation = new System.Drawing.Rectangle(monitorInfo.rcWork.right, monitorInfo.rcMonitor.top, tbWidth, tbHeight); + tbsr.Edge = TaskBarEdge.Right; + } + else + { + // Invalid state + SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Taskbar position was not on a vertical edge of a monitor!"); + } } else { // Invalid state - SharedLogger.logger.Error($"WinLibrary/GetAllCurrentTaskBarPositions: Taskbar position was not on a horizontal edge of a monitor!"); + SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Taskbar position was not fully along one of the monitor edges!"); } - } - else if (monHeight == wrkHeight) - { - // Taskbar on the sides - if (monitorInfo.rcMonitor.right == monitorInfo.rcWork.right && monitorInfo.rcMonitor.bottom == monitorInfo.rcWork.bottom) + tbsr.MonitorLocation = new System.Drawing.Rectangle(monitorInfo.rcMonitor.left, monitorInfo.rcMonitor.top, monWidth, monHeight); + tbsr.MainScreen = false; + + SharedLogger.logger.Trace($"TaskBarLayout/GetAllCurrentTaskBarPositions: Secondary monitor coordinates are {tbsr.MonitorLocation.X},{tbsr.MonitorLocation.Y} and it is {tbsr.MonitorLocation.Width}x{tbsr.MonitorLocation.Height}"); + SharedLogger.logger.Trace($"TaskBarLayout/GetAllCurrentTaskBarPositions: Secondary taskbar coordinates are {tbsr.TaskBarLocation.X},{tbsr.TaskBarLocation.Y} and it is {tbsr.TaskBarLocation.Width}x{tbsr.TaskBarLocation.Height}"); + SharedLogger.logger.Trace($"TaskBarLayout/GetAllCurrentTaskBarPositions: Secondary taskbar is {tbsr.Edge.ToString("G")}"); + + // Now as a LAST step we update the Binary field just before we apply it to make sure that the correct binary settings are stored + tbsr.PopulateBinaryFromFields(); + + if (!taskBarStuckRectangles.ContainsKey(monitorInfo.szDevice)) { - // Taskbar on left - tbWidth = monWidth - wrkWidth; - tbHeight = monHeight; - tbsr.TaskBarLocation = new System.Drawing.Rectangle(monitorInfo.rcMonitor.left, monitorInfo.rcMonitor.top, tbWidth, tbHeight); - tbsr.Edge = TaskBarEdge.Left; - } - else if (monitorInfo.rcMonitor.left == monitorInfo.rcWork.left && monitorInfo.rcMonitor.top == monitorInfo.rcWork.top) - { - // Taskbar on right - tbWidth = monWidth - wrkWidth; - tbHeight = monHeight; - tbsr.TaskBarLocation = new System.Drawing.Rectangle(monitorInfo.rcWork.right, monitorInfo.rcMonitor.top, tbWidth, tbHeight); - tbsr.Edge = TaskBarEdge.Right; + taskBarStuckRectangles.Add(monitorInfo.szDevice, tbsr); } else { - // Invalid state - SharedLogger.logger.Error($"WinLibrary/GetAllCurrentTaskBarPositions: Taskbar position was not on a vertical edge of a monitor!"); + SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Skipping grabbing Taskbar position from a cloned display {monitorInfo.szDevice}"); } - } - else - { - // Invalid state - SharedLogger.logger.Error($"WinLibrary/GetAllCurrentTaskBarPositions: Taskbar position was not fully along one of the monitor edges!"); - } - tbsr.MonitorLocation = new System.Drawing.Rectangle(monitorInfo.rcMonitor.left, monitorInfo.rcMonitor.top, monWidth, monHeight); - tbsr.MainScreen = false; - - // Now as a LAST step we update the Binary field just before we apply it to make sure that the correct binary settings are stored - tbsr.PopulateBinaryFromFields(); - - if (!taskBarStuckRectangles.ContainsKey(monitorInfo.szDevice)) - { - taskBarStuckRectangles.Add(monitorInfo.szDevice, tbsr); + // Prep the next taskbar window so we continue through them + lastTaskBarWindowHwnd = nextTaskBarWindowHwnd; } - else - { - SharedLogger.logger.Error($"WinLibrary/GetAllCurrentTaskBarPositions: Skipping grabbing Taskbar position from a cloned display {monitorInfo.szDevice}"); - } - - // Prep the next taskbar window so we continue through them - lastTaskBarWindowHwnd = nextTaskBarWindowHwnd; } + catch (Exception ex) + { + SharedLogger.logger.Error(ex, $"TaskBarLayout/GetAllCurrentTaskBarPositions: Exception while trying to get a secondary taskbar position"); + } + return taskBarStuckRectangles; } diff --git a/DisplayMagicianShared/Windows/TaskBarSettings.cs b/DisplayMagicianShared/Windows/TaskBarSettings.cs index 9b2965b..2d27265 100644 --- a/DisplayMagicianShared/Windows/TaskBarSettings.cs +++ b/DisplayMagicianShared/Windows/TaskBarSettings.cs @@ -74,20 +74,22 @@ namespace DisplayMagicianShared.Windows if (value != null && value is int intValue) { + SharedLogger.logger.Trace($"TaskBarSettings/GetCurrent: Got taskbar setting {valueName} = {intValue}"); taskBarOptions.Add(new Tuple(valueName, intValue)); } } - catch (Exception) + catch (Exception ex) { - // ignored, as this will happen + SharedLogger.logger.Error(ex,$"TaskBarSettings/GetCurrent: Exception getting taskbar setting {valueName}. It likely does not exist (which happens if it is not explicitly set)."); } } } } } - catch (Exception) + catch (Exception ex) { // ignored + SharedLogger.logger.Error(ex, $"TaskBarSettings/GetCurrent: Exception opening taskbar setting registry key {AdvancedSettingsAddress}."); } if (taskBarOptions.Count == 0) diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 927d52f..a2d2177 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -866,10 +866,11 @@ namespace DisplayMagicianShared.Windows Dictionary taskBarStuckRectangles = new Dictionary(); // Now attempt to get the windows taskbar location for each display + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get the Windows Taskbar Layouts."); taskBarStuckRectangles = TaskBarLayout.GetAllCurrentTaskBarLayouts(windowsDisplayConfig.DisplaySources); // Now we try to get the taskbar settings too - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get the Windows Taskbar settings."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get the Windows Taskbar Settings."); TaskBarSettings taskBarSettings = TaskBarSettings.GetCurrent(); // Store the active paths and modes in our display config object From 14827c69adeebfaec6bd2f45941bf0a10082e204 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Thu, 2 Jun 2022 19:52:48 +1200 Subject: [PATCH 19/60] Updated version to v2.4.0.1 As there are some breaking changes this cannot be considered a hotfix, so it need to be a new minor version. So it is now v2.4.0. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 3b19f1c..6514800 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.3.2.16")] -[assembly: AssemblyFileVersion("2.3.2.16")] +[assembly: AssemblyVersion("2.4.0.1")] +[assembly: AssemblyFileVersion("2.4.0.1")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 6e82557ec680345b0596e8e776d5b1b4fced5019 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Thu, 2 Jun 2022 20:18:02 +1200 Subject: [PATCH 20/60] Removed some uneeded variables from AMDLibrary --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/AMD/AMDLibrary.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 6514800..5cb4767 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.1")] -[assembly: AssemblyFileVersion("2.4.0.1")] +[assembly: AssemblyVersion("2.4.0.2")] +[assembly: AssemblyFileVersion("2.4.0.2")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/AMD/AMDLibrary.cs b/DisplayMagicianShared/AMD/AMDLibrary.cs index 8c244da..810c22d 100644 --- a/DisplayMagicianShared/AMD/AMDLibrary.cs +++ b/DisplayMagicianShared/AMD/AMDLibrary.cs @@ -1107,7 +1107,7 @@ namespace DisplayMagicianShared.AMD SharedLogger.logger.Trace($"AMDLibrary/PrintActiveConfig: Converted ADL2_Adapter_AdapterInfoX4_Get memory buffer into a {adapterArray.Length} long array about AMD Adapter #{adapterIndex}."); - AMD_ADAPTER_CONFIG savedAdapterConfig = new AMD_ADAPTER_CONFIG(); + //AMD_ADAPTER_CONFIG savedAdapterConfig = new AMD_ADAPTER_CONFIG(); ADL_ADAPTER_INFOX2 oneAdapter = adapterArray[0]; if (oneAdapter.Exist != 1) { @@ -1730,7 +1730,7 @@ namespace DisplayMagicianShared.AMD SharedLogger.logger.Trace($"AMDLibrary/GetSomeDisplayIdentifiers: Converted ADL2_Adapter_AdapterInfoX4_Get memory buffer into a {adapterArray.Length} long array about AMD Adapter #{adapterIndex}."); - AMD_ADAPTER_CONFIG savedAdapterConfig = new AMD_ADAPTER_CONFIG(); + //AMD_ADAPTER_CONFIG savedAdapterConfig = new AMD_ADAPTER_CONFIG(); ADL_ADAPTER_INFOX2 oneAdapter = adapterArray[0]; if (oneAdapter.Exist != 1) { From 1c10f3a743ce31a624f4cfacf95e2d45c2e0c3ad Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 3 Jun 2022 21:33:08 +1200 Subject: [PATCH 21/60] Added DisplayMagicianVersion to the ProgramSettings This will make it easier to update future versions of DisplayMagician, as I will know what it was upgraded from earlier. --- DisplayMagician/ProgramSettings.cs | 24 ++++++++++++++++++++++ DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/ProgramSettings.cs b/DisplayMagician/ProgramSettings.cs index 54fa9b4..4c00024 100644 --- a/DisplayMagician/ProgramSettings.cs +++ b/DisplayMagician/ProgramSettings.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.Reflection; using System.Text; using System.Windows.Forms; @@ -30,12 +31,28 @@ namespace DisplayMagician private int _lastMessageIdRead = 0; private List _messagesToMonitor = new List(); private string _logLevel = NLog.LogLevel.Info.ToString(); + private string _displayMagicianVersion = null; private Keys _hotkeyMainWindow = Keys.None; private Keys _hotkeyDisplayProfileWindow = Keys.None; private Keys _hotkeyShortcutLibraryWindow = Keys.None; #endregion #region Class Properties + public string DisplayMagicianVersion + { + get + { + if (_displayMagicianVersion == null) + { + return Assembly.GetExecutingAssembly().GetName().Version.ToString(); + } + return _displayMagicianVersion; + } + set + { + _displayMagicianVersion = value; + } + } public bool StartOnBootUp { get @@ -255,6 +272,10 @@ namespace DisplayMagician { Console.WriteLine($"ProgramSettings/LoadSettings: Tried to parse the JSON file {programSettingsStorageJsonFileName} but the JsonConvert threw an exception. {ex}"); } + + if (programSettings.DisplayMagicianVersion == null) { + programSettings.DisplayMagicianVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); + } } } else @@ -277,6 +298,9 @@ namespace DisplayMagician logger.Debug($"ProgramSettings/SaveSettings: Attempting to save the program settings to the {programSettingsStorageJsonFileName}."); + // Force the PreviousDisplayMagicianVersion to this version just before we save the settings. + DisplayMagicianVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); + try { var json = JsonConvert.SerializeObject(this, Formatting.Indented, new JsonSerializerSettings diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 5cb4767..038d541 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.2")] -[assembly: AssemblyFileVersion("2.4.0.2")] +[assembly: AssemblyVersion("2.4.0.5")] +[assembly: AssemblyFileVersion("2.4.0.5")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From aee177ecb7af05aad497b0fb96952ed8130bac89 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 3 Jun 2022 21:43:30 +1200 Subject: [PATCH 22/60] Added upgrading logic for Display Profiles to 2.4 DM will now warn users they will need to recreate their Display Profiles again. I really hope this is the last time I have to do this to my lovely users. --- DisplayMagician/Program.cs | 36 +++++++++++++++++----- DisplayMagician/Properties/AssemblyInfo.cs | 4 +-- DisplayMagician/UIForms/SettingsForm.cs | 3 ++ DisplayMagicianShared/ProfileRepository.cs | 2 +- 4 files changed, 35 insertions(+), 10 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 97506cb..254b9e5 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -180,10 +180,17 @@ namespace DisplayMagician { bool upgradedSettingsFile = false; string oldv1SettingsFile = Path.Combine(AppDataPath, "Settings_1.0.json"); string oldv2SettingsFile = Path.Combine(AppDataPath, "Settings_2.0.json"); + string oldv23SettingsFile = Path.Combine(AppDataPath, "Settings_2.3.json"); string targetSettingsFile = ProgramSettings.programSettingsStorageJsonFileName; try { - if (File.Exists(oldv2SettingsFile) && !File.Exists(targetSettingsFile)) + if (File.Exists(oldv23SettingsFile) && !File.Exists(targetSettingsFile)) + { + File.Copy(oldv23SettingsFile, targetSettingsFile, true); + File.Move(oldv23SettingsFile, $"{oldv23SettingsFile}.old"); + upgradedSettingsFile = true; + } + else if (File.Exists(oldv2SettingsFile) && !File.Exists(targetSettingsFile)) { File.Copy(oldv2SettingsFile, targetSettingsFile, true); File.Move(oldv2SettingsFile, $"{oldv2SettingsFile}.old"); @@ -340,6 +347,7 @@ namespace DisplayMagician { // and if it is then copy the old configs to the new filenames and // explain to the user what they need to do. + //string dp24 = Path.Combine(AppProfilePath, "DisplayProfiles_2.4.json"); string dp23 = Path.Combine(AppProfilePath, "DisplayProfiles_2.3.json"); string dp22 = Path.Combine(AppProfilePath, "DisplayProfiles_2.2.json"); string dp21 = Path.Combine(AppProfilePath, "DisplayProfiles_2.1.json"); @@ -349,10 +357,24 @@ namespace DisplayMagician { // This is the latest displayprofile config file string targetdp = ProfileRepository.ProfileStorageFileName; - // Now always try to get the oldest one - if (File.Exists(dp22) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) + // Now always try to get the latest one + if (File.Exists(dp23) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.1 to DisplayMagician v2.3, so informing the user."); + logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.3 to DisplayMagician v2.4, so informing the user."); + + File.Move(dp23, $"{dp23}.old"); + + // Warn the user about the fact we need them to recreate their Display Profiles again! + StartMessageForm myMessageWindow = new StartMessageForm(); + myMessageWindow.MessageMode = "rtf"; + myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; + myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; + myMessageWindow.ButtonText = "&Close"; + myMessageWindow.ShowDialog(); + } + else if (File.Exists(dp22) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) + { + logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.2 to DisplayMagician v2.4, so informing the user."); File.Move(dp22, $"{dp22}.old"); @@ -366,7 +388,7 @@ namespace DisplayMagician { } else if (File.Exists(dp21) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.1 to DisplayMagician v2.3, so informing the user."); + logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.1 to DisplayMagician v2.4, so informing the user."); File.Move(dp21, $"{dp21}.old"); @@ -380,7 +402,7 @@ namespace DisplayMagician { } else if (File.Exists(dp20) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.0 to DisplayMagician v2.3, so informing the user."); + logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.0 to DisplayMagician v2.4, so informing the user."); File.Move(dp20, $"{dp20}.old"); @@ -398,7 +420,7 @@ namespace DisplayMagician { // e.g. DisplayProfiles_1.0.json exists, but DisplayProfiles_2.2.json doesn't else if (File.Exists(dp10) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v1.0 to DisplayMagician v2.2, so performing some upgrade steps."); + logger.Info($"Program/Main: This is an upgrade from DisplayMagician v1.0 to DisplayMagician v2.4, so performing some upgrade steps."); // Note whether we copied the old Settings file to the new v2 name earlier (before the logging was enabled) if (upgradedSettingsFile) { diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 038d541..982084f 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.5")] -[assembly: AssemblyFileVersion("2.4.0.5")] +[assembly: AssemblyVersion("2.4.0.6")] +[assembly: AssemblyFileVersion("2.4.0.6")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/SettingsForm.cs b/DisplayMagician/UIForms/SettingsForm.cs index f835ea3..012c345 100644 --- a/DisplayMagician/UIForms/SettingsForm.cs +++ b/DisplayMagician/UIForms/SettingsForm.cs @@ -605,6 +605,7 @@ namespace DisplayMagician.UIForms Path.Combine(Program.AppLogPath,"DisplayMagician3.log"), Path.Combine(Program.AppLogPath,"DisplayMagician4.log"), // Also try to copy the new configs if they exist + Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.4.json"), Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.3.json"), Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.2.json"), Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.1.json"), @@ -614,6 +615,7 @@ namespace DisplayMagician.UIForms Path.Combine(Program.AppShortcutPath,"Shortcuts_2.2.json"), Path.Combine(Program.AppDataPath,"Settings_1.0.json"), Path.Combine(Program.AppDataPath,"Settings_2.0.json"), + Path.Combine(Program.AppDataPath,"Settings_2.3.json"), Path.Combine(Program.AppDataPath,"Settings_2.4.json"), // Also try to copy the old configs if they exist Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.3.json.old"), @@ -625,6 +627,7 @@ namespace DisplayMagician.UIForms Path.Combine(Program.AppShortcutPath,"Shortcuts_2.2.json.old"), Path.Combine(Program.AppDataPath,"Settings_1.0.json.old"), Path.Combine(Program.AppDataPath,"Settings_2.0.json.old"), + Path.Combine(Program.AppDataPath,"Settings_2.3.json.old"), Path.Combine(Program.AppDataPath,"Settings_2.4.json.old") }; foreach (string filename in listOfFiles) diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index 36eaadd..305deff 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -67,7 +67,7 @@ namespace DisplayMagicianShared public static string AppIconPath = System.IO.Path.Combine(AppDataPath, $"Icons"); public static string AppDisplayMagicianIconFilename = System.IO.Path.Combine(AppIconPath, @"DisplayMagician.ico"); private static readonly string AppProfileStoragePath = System.IO.Path.Combine(AppDataPath, $"Profiles"); - private static readonly string _profileStorageJsonFileName = System.IO.Path.Combine(AppProfileStoragePath, $"DisplayProfiles_2.3.json"); + private static readonly string _profileStorageJsonFileName = System.IO.Path.Combine(AppProfileStoragePath, $"DisplayProfiles_2.4.json"); From aede23a83d21918cb18363461fd9aadcb6363872 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 3 Jun 2022 21:47:33 +1200 Subject: [PATCH 23/60] Updated NVIDIALibrary and WinLibrary to handle win display reordering NVIDIALibrary and WinLibrary were too rigid in their equality testing, which meant that there was a problem when Windows reordered the displays in the path. This happens randomly when changing to cloned displays, and after a reboot. This would muck up the equality testing, which would prevent users selecting the display profiles. This has now been corrected (as far as we can tell so far). There is a slight chance that further testing may find other parts of the Windows Display Config that randomly change and need to be updated. Thanks Microsoft. --- DisplayMagicianShared/NVIDIA/NVAPI.cs | 73 +++++++++++++++++-- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 64 +++++++++++++++- DisplayMagicianShared/Windows/WinLibrary.cs | 62 ++++++++++++++-- 3 files changed, 185 insertions(+), 14 deletions(-) diff --git a/DisplayMagicianShared/NVIDIA/NVAPI.cs b/DisplayMagicianShared/NVIDIA/NVAPI.cs index 1cf910d..0f7d788 100644 --- a/DisplayMagicianShared/NVIDIA/NVAPI.cs +++ b/DisplayMagicianShared/NVIDIA/NVAPI.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Linq; using System.Reflection.Emit; using System.Runtime.InteropServices; @@ -2258,12 +2259,25 @@ namespace DisplayMagicianShared.NVIDIA public override bool Equals(object obj) => obj is NV_DISPLAYCONFIG_PATH_INFO_V2 other && this.Equals(other); public bool Equals(NV_DISPLAYCONFIG_PATH_INFO_V2 other) - => Version == other.Version && - SourceId == other.SourceId && - TargetInfoCount == other.TargetInfoCount && - TargetInfo.SequenceEqual(other.TargetInfo) && - SourceModeInfo.Equals(other.SourceModeInfo) && - Flags == other.Flags; + { + if (!(Version == other.Version && + SourceId == other.SourceId && + TargetInfoCount == other.TargetInfoCount && + SourceModeInfo.Equals(other.SourceModeInfo) && + Flags == other.Flags)) + { + return false; + } + + // Now we need to go through the HDR states comparing vaues, as the order changes if there is a cloned display + if (!NVImport.EqualButDifferentOrder(TargetInfo, other.TargetInfo)) + { + return false; + } + + return true; + + } public override Int32 GetHashCode() { @@ -7032,5 +7046,52 @@ namespace DisplayMagicianShared.NVIDIA // NVAPI_INTERFACE NvAPI_DRS_DeleteProfile(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile) + public static bool EqualButDifferentOrder(IList list1, IList list2) + { + + if (list1.Count != list2.Count) + { + return false; + } + + // Now we need to go through the list1, checking that all it's items are in list2 + foreach (T item1 in list1) + { + bool foundIt = false; + foreach (T item2 in list2) + { + if (item1.Equals(item2)) + { + foundIt = true; + break; + } + } + if (!foundIt) + { + return false; + } + } + + // Now we need to go through the list2, checking that all it's items are in list1 + foreach (T item2 in list2) + { + bool foundIt = false; + foreach (T item1 in list1) + { + if (item1.Equals(item2)) + { + foundIt = true; + break; + } + } + if (!foundIt) + { + return false; + } + } + + return true; + } + } } \ No newline at end of file diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index 3291e9b..f1841c3 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -170,14 +170,25 @@ namespace DisplayMagicianShared.NVIDIA public override bool Equals(object obj) => obj is NVIDIA_DISPLAY_CONFIG other && this.Equals(other); public bool Equals(NVIDIA_DISPLAY_CONFIG other) - => IsCloned == other.IsCloned && + { + if (!(IsCloned == other.IsCloned && IsOptimus == other.IsOptimus && PhysicalAdapters.SequenceEqual(other.PhysicalAdapters) && MosaicConfig.Equals(other.MosaicConfig) && - DisplayConfigs.SequenceEqual(other.DisplayConfigs) && DRSSettings.SequenceEqual(other.DRSSettings) && - DisplayIdentifiers.SequenceEqual(other.DisplayIdentifiers); + DisplayIdentifiers.SequenceEqual(other.DisplayIdentifiers))) + { + return false; + } + // Now we need to go through the display configscomparing values, as the order changes if there is a cloned display + if (!NVIDIALibrary.EqualButDifferentOrder(DisplayConfigs, other.DisplayConfigs)) + { + return false; + } + + return true; + } public override int GetHashCode() { @@ -4306,6 +4317,53 @@ namespace DisplayMagicianShared.NVIDIA return false; } } + + public static bool EqualButDifferentOrder(IList list1, IList list2) + { + + if (list1.Count != list2.Count) + { + return false; + } + + // Now we need to go through the list1, checking that all it's items are in list2 + foreach (T item1 in list1) + { + bool foundIt = false; + foreach (T item2 in list2) + { + if (item1.Equals(item2)) + { + foundIt = true; + break; + } + } + if (!foundIt) + { + return false; + } + } + + // Now we need to go through the list2, checking that all it's items are in list1 + foreach (T item2 in list2) + { + bool foundIt = false; + foreach (T item1 in list1) + { + if (item1.Equals(item2)) + { + foundIt = true; + break; + } + } + if (!foundIt) + { + return false; + } + } + + return true; + } } diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index a2d2177..4db6dbf 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -52,15 +52,15 @@ namespace DisplayMagicianShared.Windows public override bool Equals(object obj) => obj is DISPLAY_SOURCE other && this.Equals(other); public bool Equals(DISPLAY_SOURCE other) - => SourceId.Equals(other.SourceId) && - TargetId.Equals(other.TargetId) && + => //SourceId.Equals(other.SourceId) && // Source ID needs to be ignored in this case, as windows moves the source ids around :( + TargetId.Equals(other.TargetId) && DevicePath.Equals(other.DevicePath) && SourceDpiScalingRel.Equals(other.SourceDpiScalingRel); //=> true; public override int GetHashCode() { - //return 300; - return (SourceId, TargetId, DevicePath, SourceDpiScalingRel).GetHashCode(); + //return (SourceId, TargetId, DevicePath, SourceDpiScalingRel).GetHashCode(); // Source ID needs to be ignored in this case, as windows moves the source ids around :( + return (TargetId, DevicePath, SourceDpiScalingRel).GetHashCode(); } public static bool operator ==(DISPLAY_SOURCE lhs, DISPLAY_SOURCE rhs) => lhs.Equals(rhs); @@ -91,7 +91,6 @@ namespace DisplayMagicianShared.Windows if (!(IsCloned == other.IsCloned && DisplayConfigPaths.SequenceEqual(other.DisplayConfigPaths) && DisplayConfigModes.SequenceEqual(other.DisplayConfigModes) && - DisplayHDRStates.SequenceEqual(other.DisplayHDRStates) && // The dictionary keys sometimes change after returning from NVIDIA Surround, so we need to only focus on comparing the values of the GDISettings. // Additionally, we had to disable the DEviceKey from the equality testing within the GDI library itself as that waould also change after changing back from NVIDIA surround // This still allows us to detect when refresh rates change, which will allow DisplayMagician to detect profile differences. @@ -101,6 +100,12 @@ namespace DisplayMagicianShared.Windows return false; } + // Now we need to go through the HDR states comparing vaues, as the order changes if there is a cloned display + if (!WinLibrary.EqualButDifferentOrder(DisplayHDRStates, other.DisplayHDRStates)) + { + return false; + } + // Now we need to go through the values to make sure they are the same, but ignore the keys (as they change after each reboot!) for (int i = 0; i < DisplaySources.Count; i++) { @@ -2361,6 +2366,53 @@ namespace DisplayMagicianShared.Windows Utils.SendMessage(windowHandle, Utils.WM_MOUSEMOVE, 0, (y << 16) + x); } + public static bool EqualButDifferentOrder(IList list1, IList list2) + { + + if (list1.Count != list2.Count) + { + return false; + } + + // Now we need to go through the list1, checking that all it's items are in list2 + foreach (T item1 in list1) + { + bool foundIt = false; + foreach (T item2 in list2) + { + if (item1.Equals(item2)) + { + foundIt = true; + break; + } + } + if (!foundIt) + { + return false; + } + } + + // Now we need to go through the list2, checking that all it's items are in list1 + foreach (T item2 in list2) + { + bool foundIt = false; + foreach (T item1 in list1) + { + if (item1.Equals(item2)) + { + foundIt = true; + break; + } + } + if (!foundIt) + { + return false; + } + } + + return true; + } + } [global::System.Serializable] From 77188ddb6d2158eb033f03ddca90ffe2aa1724da Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 3 Jun 2022 21:49:39 +1200 Subject: [PATCH 24/60] Saved build information --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 982084f..afdc7f7 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.6")] -[assembly: AssemblyFileVersion("2.4.0.6")] +[assembly: AssemblyVersion("2.4.0.8")] +[assembly: AssemblyFileVersion("2.4.0.8")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From dab58a5a2b30087f9c0915ed36a164824a84b74e Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 4 Jun 2022 09:52:27 +1200 Subject: [PATCH 25/60] Updated WinLibrary to the latest version. Fixes #114 --- DisplayMagicianShared/Windows/WinLibrary.cs | 160 ++++++++++++++++---- 1 file changed, 127 insertions(+), 33 deletions(-) diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 4db6dbf..58573a3 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -484,12 +484,11 @@ namespace DisplayMagicianShared.Windows public WINDOWS_DISPLAY_CONFIG GetActiveConfig() { SharedLogger.logger.Trace($"WinLibrary/GetActiveConfig: Getting the currently active config"); - // We want to include head mounted devices, inform windows we're virtual mode aware // We'll leave virtual refresh rate aware until we can reliably detect Windows 11 versions. - return GetWindowsDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS | QDC.QDC_INCLUDE_HMD); + return GetWindowsDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS); } - private WINDOWS_DISPLAY_CONFIG GetWindowsDisplayConfig(QDC selector = QDC.QDC_ONLY_ACTIVE_PATHS | QDC.QDC_INCLUDE_HMD) + private WINDOWS_DISPLAY_CONFIG GetWindowsDisplayConfig(QDC selector = QDC.QDC_ONLY_ACTIVE_PATHS) { // Prepare the empty windows display config @@ -1349,7 +1348,7 @@ namespace DisplayMagicianShared.Windows // Get the all possible windows display configs SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Generating a list of all the current display configs"); - WINDOWS_DISPLAY_CONFIG allWindowsDisplayConfig = GetWindowsDisplayConfig(QDC.QDC_ALL_PATHS | QDC.QDC_INCLUDE_HMD); + WINDOWS_DISPLAY_CONFIG allWindowsDisplayConfig = GetWindowsDisplayConfig(QDC.QDC_ALL_PATHS); if (displayConfig.IsCloned) { @@ -1558,7 +1557,8 @@ namespace DisplayMagicianShared.Windows // Apply the previously saved display settings to the new displays (match them up) // NOTE: This may be the only mode needed once it's completed. - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Attempting to change Display Device settings through GDI API using "); + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Attempting to change Display Device settings through GDI API using ChangeDisplaySettingsEx"); + bool appliedGdiDisplaySettings = false; foreach (var gdiDisplay in displayConfig.GdiDisplaySettings) { @@ -1577,58 +1577,152 @@ namespace DisplayMagicianShared.Windows // Sets the greyscale and interlaced settings currentDeviceSetting.DeviceMode.DisplayFlags = displayDeviceSettings.DeviceMode.DisplayFlags; - CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(currentDeviceSetting.Device.DeviceName, ref currentDeviceSetting.DeviceMode, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY, IntPtr.Zero); + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Testing whether the GDI Device Mode will work for display {displayDeviceKey}."); + // First of all check that setting the GDI mode will work + CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(currentDeviceSetting.Device.DeviceName, ref currentDeviceSetting.DeviceMode, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_TEST, IntPtr.Zero); if (result == CHANGE_DISPLAY_RESULTS.Successful) { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Successfully changed display {displayDeviceKey} to use the new mode!"); + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Success. The GDI Device Mode will work for display {displayDeviceKey}."); + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Actually going to try to set the GDI Device Mode for display {displayDeviceKey} now."); + result = GDIImport.ChangeDisplaySettingsEx(currentDeviceSetting.Device.DeviceName, ref currentDeviceSetting.DeviceMode, IntPtr.Zero, (CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY | CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_NORESET), IntPtr.Zero); + if (result == CHANGE_DISPLAY_RESULTS.Successful) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Successfully changed display {displayDeviceKey} to use the new mode!"); + appliedGdiDisplaySettings = true; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadDualView) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The settings change was unsuccessful because the system is DualView capable. Display {displayDeviceKey} not updated to new mode."); + //return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadFlags) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: An invalid set of flags was passed in. Display {displayDeviceKey} not updated to use the new mode."); + //return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadMode) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The graphics mode is not supported. Display {displayDeviceKey} not updated to use the new mode."); + //return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadParam) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: An invalid parameter was passed in. This can include an invalid flag or combination of flags. Display {displayDeviceKey} not updated to use the new mode."); + //return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.Failed) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The display driver failed to apply the specified graphics mode. Display {displayDeviceKey} not updated to use the new mode."); + //return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.NotUpdated) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Unable to write new settings to the registry. Display {displayDeviceKey} not updated to use the new mode."); + //return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.Restart) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The computer must be restarted for the graphics mode to work. Display {displayDeviceKey} not updated to use the new mode."); + //return false; + } + else + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Unknown error while trying to change Display {displayDeviceKey} to use the new mode."); + return false; + } } else if (result == CHANGE_DISPLAY_RESULTS.BadDualView) { - SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The settings change was unsuccessful because the system is DualView capable. Display {displayDeviceKey} not updated to new mode."); - return false; + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The GDI mode change would be unsuccessful because the system is DualView capable. Skipping setting Display {displayDeviceKey}."); } else if (result == CHANGE_DISPLAY_RESULTS.BadFlags) { - SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: An invalid set of flags was passed in. Display {displayDeviceKey} not updated to use the new mode."); - return false; + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The GDI mode change would be unsuccessful because an invalid set of flags was passed in. Display {displayDeviceKey} not updated to use the new mode."); } else if (result == CHANGE_DISPLAY_RESULTS.BadMode) { - SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The graphics mode is not supported. Display {displayDeviceKey} not updated to use the new mode."); - return false; + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The GDI mode change would be unsuccessful because the graphics mode is not supported. Display {displayDeviceKey} not updated to use the new mode."); } else if (result == CHANGE_DISPLAY_RESULTS.BadParam) { - SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: An invalid parameter was passed in. This can include an invalid flag or combination of flags. Display {displayDeviceKey} not updated to use the new mode."); - return false; + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The GDI mode change would be unsuccessful because an invalid parameter was passed in. This can include an invalid flag or combination of flags. Display {displayDeviceKey} not updated to use the new mode."); } else if (result == CHANGE_DISPLAY_RESULTS.Failed) { - SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The display driver failed to apply the specified graphics mode. Display {displayDeviceKey} not updated to use the new mode."); - return false; + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The GDI mode change would be unsuccessful because the display driver failed to apply the specified graphics mode. Display {displayDeviceKey} not updated to use the new mode."); } else if (result == CHANGE_DISPLAY_RESULTS.NotUpdated) { - SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Unable to write new settings to the registry. Display {displayDeviceKey} not updated to use the new mode."); - return false; + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The GDI mode change would be unsuccessful because we're unable to write new settings to the registry. Display {displayDeviceKey} not updated to use the new mode."); } else if (result == CHANGE_DISPLAY_RESULTS.Restart) { - SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The computer must be restarted for the graphics mode to work. Display {displayDeviceKey} not updated to use the new mode."); - return false; + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The GDI mode change would be unsuccessful because the computer must be restarted for the graphics mode to work. Display {displayDeviceKey} not updated to use the new mode."); } else { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Display {displayDeviceKey} not updated to use the new mode."); + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The GDI mode change would be unsuccessful because there was an unknown error testing if Display {displayDeviceKey} could use the new mode."); } } else { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Display {displayDeviceKey} is not currently in use, so cannot set it!"); + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Display {displayDeviceKey} is not currently in use, so cannot set it!"); } } + // If we have applied GDI settings for multiple displays, then we need to run ChangeDisplaySettingsEx one more time + // see https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-changedisplaysettingsexa + if (appliedGdiDisplaySettings) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Other display settings were changed, so applying all the changes now."); + CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(null, IntPtr.Zero, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_NONE, IntPtr.Zero); + if (result == CHANGE_DISPLAY_RESULTS.Successful) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Successfully applied the new GDI modes!"); + } + else if (result == CHANGE_DISPLAY_RESULTS.BadDualView) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Couldn't apply the new GDI modes because the system is DualView capable."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadFlags) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Couldn't apply the new GDI modes because an invalid set of flags was passed in."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadMode) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Couldn't apply the new GDI modes because the graphics mode is not supported."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadParam) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Couldn't apply the new GDI modes because an invalid parameter was passed in. This can include an invalid flag or combination of flags."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.Failed) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Couldn't apply the new GDI modes because the display driver failed to apply the specified graphics mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.NotUpdated) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Couldn't apply the new GDI modes because unable to write new settings to the registry."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.Restart) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Couldn't apply the new GDI modes because the computer must be restarted for the graphics mode to work."); + return false; + } + else + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Unknown error while trying to apply the new GDI modes."); + return false; + } + } + // NOTE: I have disabled the TaskBar setting logic for now due to errors I cannot fix in this code. // WinLibrary will still track the location of the taskbars, but won't actually set them as the setting of the taskbars doesnt work at the moment. @@ -1741,7 +1835,7 @@ namespace DisplayMagicianShared.Windows public bool IsValidConfig(WINDOWS_DISPLAY_CONFIG displayConfig) { // Get the current windows display configs - WINDOWS_DISPLAY_CONFIG allWindowsDisplayConfig = GetWindowsDisplayConfig(QDC.QDC_ALL_PATHS | QDC.QDC_INCLUDE_HMD); + WINDOWS_DISPLAY_CONFIG allWindowsDisplayConfig = GetWindowsDisplayConfig(QDC.QDC_ALL_PATHS); SharedLogger.logger.Trace("WinLibrary/PatchAdapterIDs: Going through the list of adapters we stored in the config to make sure they still exist"); // Firstly check that the Adapter Names are still currently available (i.e. the adapter hasn't been replaced). @@ -1802,18 +1896,18 @@ namespace DisplayMagicianShared.Windows public List GetCurrentDisplayIdentifiers() { SharedLogger.logger.Trace($"WinLibrary/GetCurrentDisplayIdentifiers: Getting the current display identifiers for the displays in use now"); - return GetSomeDisplayIdentifiers(QDC.QDC_ONLY_ACTIVE_PATHS | QDC.QDC_INCLUDE_HMD); + return GetSomeDisplayIdentifiers(QDC.QDC_ONLY_ACTIVE_PATHS); } public List GetAllConnectedDisplayIdentifiers() { SharedLogger.logger.Trace($"WinLibrary/GetAllConnectedDisplayIdentifiers: Getting all the display identifiers that can possibly be used"); - _allConnectedDisplayIdentifiers = GetSomeDisplayIdentifiers(QDC.QDC_ALL_PATHS | QDC.QDC_INCLUDE_HMD); + _allConnectedDisplayIdentifiers = GetSomeDisplayIdentifiers(QDC.QDC_ALL_PATHS); return _allConnectedDisplayIdentifiers; } - private List GetSomeDisplayIdentifiers(QDC selector = QDC.QDC_ONLY_ACTIVE_PATHS | QDC.QDC_INCLUDE_HMD) + private List GetSomeDisplayIdentifiers(QDC selector = QDC.QDC_ONLY_ACTIVE_PATHS) { SharedLogger.logger.Debug($"WinLibrary/GetCurrentDisplayIdentifiers: Generating the unique Display Identifiers for the currently active configuration"); @@ -2010,7 +2104,7 @@ namespace DisplayMagicianShared.Windows // Get the size of the largest Active Paths and Modes arrays int pathCount = 0; int modeCount = 0; - WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ALL_PATHS | QDC.QDC_INCLUDE_HMD, out pathCount, out modeCount); + WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ALL_PATHS, out pathCount, out modeCount); if (err != WIN32STATUS.ERROR_SUCCESS) { SharedLogger.logger.Error($"WinLibrary/GetCurrentPCIVideoCardVendors: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); @@ -2020,7 +2114,7 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Getting the current Display Config path and mode arrays"); var paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; var modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(QDC.QDC_ALL_PATHS | QDC.QDC_INCLUDE_HMD, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); + err = CCDImport.QueryDisplayConfig(QDC.QDC_ALL_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) { SharedLogger.logger.Warn($"WinLibrary/GetCurrentPCIVideoCardVendors: The displays were modified between GetDisplayConfigBufferSizes and QueryDisplayConfig so we need to get the buffer sizes again."); @@ -2036,7 +2130,7 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Getting the current Display Config path and mode arrays"); paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(QDC.QDC_ALL_PATHS | QDC.QDC_INCLUDE_HMD, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); + err = CCDImport.QueryDisplayConfig(QDC.QDC_ALL_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) { SharedLogger.logger.Error($"WinLibrary/GetCurrentPCIVideoCardVendors: ERROR - The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); @@ -2160,7 +2254,7 @@ namespace DisplayMagicianShared.Windows // Get the size of the largest All Paths and Modes arrays int pathCount = 0; int modeCount = 0; - WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ALL_PATHS | QDC.QDC_INCLUDE_HMD, out pathCount, out modeCount); + WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ALL_PATHS, out pathCount, out modeCount); if (err != WIN32STATUS.ERROR_SUCCESS) { SharedLogger.logger.Error($"WinLibrary/GetCurrentAdapterIDs: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); @@ -2170,7 +2264,7 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace($"WinLibrary/GetCurrentAdapterIDs: Getting the current Display Config path and mode arrays"); var paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; var modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(QDC.QDC_ALL_PATHS | QDC.QDC_INCLUDE_HMD, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); + err = CCDImport.QueryDisplayConfig(QDC.QDC_ALL_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) { SharedLogger.logger.Warn($"WinLibrary/GetCurrentAdapterIDs: The displays were modified between GetDisplayConfigBufferSizes and QueryDisplayConfig so we need to get the buffer sizes again."); @@ -2186,7 +2280,7 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace($"WinLibrary/GetCurrentAdapterIDs: Getting the current Display Config path and mode arrays"); paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(QDC.QDC_ALL_PATHS | QDC.QDC_INCLUDE_HMD, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); + err = CCDImport.QueryDisplayConfig(QDC.QDC_ALL_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) { SharedLogger.logger.Error($"WinLibrary/GetCurrentAdapterIDs: ERROR - The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); From 4ce83144d64b0668d0967771b752d8a5e87dcd17 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 4 Jun 2022 21:11:51 +1200 Subject: [PATCH 26/60] Built a testversion --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index afdc7f7..e4eb9c0 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.8")] -[assembly: AssemblyFileVersion("2.4.0.8")] +[assembly: AssemblyVersion("2.4.0.10")] +[assembly: AssemblyFileVersion("2.4.0.10")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 05e0fa647eb65de31d37bf171051e785d4e3d24a Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 4 Jun 2022 21:15:23 +1200 Subject: [PATCH 27/60] Updated with Depndabot patches --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index e4eb9c0..b6c1349 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.10")] -[assembly: AssemblyFileVersion("2.4.0.10")] +[assembly: AssemblyVersion("2.4.0.12")] +[assembly: AssemblyFileVersion("2.4.0.12")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 2090f0ad40900291fdc9d89dbebbb07b3497dca8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Jun 2022 08:35:47 +0000 Subject: [PATCH 28/60] Bump Autoupdater.NET.Official from 1.7.1 to 1.7.2 Bumps [Autoupdater.NET.Official](https://github.com/ravibpatel/AutoUpdater.NET) from 1.7.1 to 1.7.2. - [Release notes](https://github.com/ravibpatel/AutoUpdater.NET/releases) - [Commits](https://github.com/ravibpatel/AutoUpdater.NET/compare/v1.7.1...v1.7.2) --- updated-dependencies: - dependency-name: Autoupdater.NET.Official dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- DisplayMagician/DisplayMagician.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 32f0170..6725058 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -306,7 +306,7 @@ 4.0.0-alpha5 - 1.7.1 + 1.7.2 1.2.0 From 97d9caf2af3ebe1c3afc00136f855e490d580ae2 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Thu, 9 Jun 2022 22:25:37 +1200 Subject: [PATCH 29/60] Fixed CTD in patchAdapterids Error with PatchAdapterIds that caused a crash to desktop. Has now been fixed. Should fix #117 and #118 --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 3 ++- DisplayMagicianShared/Windows/WinLibrary.cs | 13 +++++++++---- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index b6c1349..a28178d 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.12")] -[assembly: AssemblyFileVersion("2.4.0.12")] +[assembly: AssemblyVersion("2.4.0.20")] +[assembly: AssemblyFileVersion("2.4.0.20")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index f1841c3..663e0c3 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -2494,7 +2494,8 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); }*/ - NV_MOSAIC_SETDISPLAYTOPO_FLAGS setTopoFlags = NV_MOSAIC_SETDISPLAYTOPO_FLAGS.MAXIMIZE_PERFORMANCE; + //NV_MOSAIC_SETDISPLAYTOPO_FLAGS setTopoFlags = NV_MOSAIC_SETDISPLAYTOPO_FLAGS.MAXIMIZE_PERFORMANCE; + NV_MOSAIC_SETDISPLAYTOPO_FLAGS setTopoFlags = NV_MOSAIC_SETDISPLAYTOPO_FLAGS.NONE; SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Mosaic current config is different as the one we want, so applying the Mosaic config now"); // If we get here then the display is valid, so now we actually apply the new Mosaic Topology diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 58573a3..562b8b2 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -302,10 +302,15 @@ namespace DisplayMagicianShared.Windows { // We get here if there is a matching adapter newAdapterValue = adapterOldToNewMap[oldAdapterValue]; - // Add a new dictionary key with the old value - savedDisplayConfig.DisplayAdapters.Add(newAdapterValue, savedDisplayConfig.DisplayAdapters[oldAdapterValue]); - // Remove the old dictionary key - savedDisplayConfig.DisplayAdapters.Remove(oldAdapterValue); + + // Skip if we've already replaced something! + if (!savedDisplayConfig.DisplayAdapters.ContainsKey(newAdapterValue)) + { + // Add a new dictionary key with the old value + savedDisplayConfig.DisplayAdapters.Add(newAdapterValue, savedDisplayConfig.DisplayAdapters[oldAdapterValue]); + // Remove the old dictionary key + savedDisplayConfig.DisplayAdapters.Remove(oldAdapterValue); + } SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Updated DisplayAdapter from adapter {oldAdapterValue} to adapter {newAdapterValue} instead."); } } From 7d17b5ae106603b4f7d02ed2a786ef0efbf6b5fd Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Thu, 9 Jun 2022 22:56:07 +1200 Subject: [PATCH 30/60] Fixed second CTD when changing from Surround to non-surround. The NVIDIA Driver seems to not like any other SetTopoFlags except NONE. There is a CTD if anything is selected :(. So as a workaround I will leave send a NONE SetTopoFlag so DisplayMagician can work. Also have updated the Display Profiles Window logic so that it repositions DisplayMagician in the center of the screen on the primary display. This has to be done when changing Display Profiles using the Apply Button, as the display coordinates change, and sometimes this results in the current position being off screen. This was causing confusion amongst users. But now just always moving to the middle of the primary screen I can always be sure that the UI is visible. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/UIForms/DisplayProfileForm.cs | 7 +++++++ DisplayMagicianShared/NVIDIA/NVAPI.cs | 2 ++ DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 3 ++- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index a28178d..e709480 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.20")] -[assembly: AssemblyFileVersion("2.4.0.20")] +[assembly: AssemblyVersion("2.4.0.26")] +[assembly: AssemblyFileVersion("2.4.0.26")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/DisplayProfileForm.cs b/DisplayMagician/UIForms/DisplayProfileForm.cs index 628e369..8e1c738 100644 --- a/DisplayMagician/UIForms/DisplayProfileForm.cs +++ b/DisplayMagician/UIForms/DisplayProfileForm.cs @@ -81,9 +81,16 @@ namespace DisplayMagician.UIForms logger.Error($"DisplayProfileForm/Apply_Click: Error applying the Profile {_selectedProfile.Name}. Unable to change the display layout."); } + // Center the MainAppForm + Program.AppMainForm.Top = (Screen.PrimaryScreen.Bounds.Height - Program.AppMainForm.Height) / 2; + Program.AppMainForm.Left = (Screen.PrimaryScreen.Bounds.Width - Program.AppMainForm.Width) / 2; + Program.AppMainForm.Activate(); + // Bring the window back to the front Visible = true; + CenterToParent(); Activate(); + BringToFront(); // Also refresh the right-click menu (if we have a main form loaded) if (Program.AppMainForm is Form) diff --git a/DisplayMagicianShared/NVIDIA/NVAPI.cs b/DisplayMagicianShared/NVIDIA/NVAPI.cs index 0f7d788..395c69d 100644 --- a/DisplayMagicianShared/NVIDIA/NVAPI.cs +++ b/DisplayMagicianShared/NVIDIA/NVAPI.cs @@ -5758,6 +5758,8 @@ namespace DisplayMagicianShared.NVIDIA // Go through the array and copy things from managed code to unmanaged code for (Int32 x = 0; x < (Int32)GridCount; x++) { + GridTopologies[x].Version = NVImport.NV_MOSAIC_GRID_TOPO_V2_VER; + // Marshal a single gridtopology into unmanaged code ready for sending to the unmanaged NVAPI function Marshal.StructureToPtr(GridTopologies[x], currentGridTopologiesBuffer, false); // advance the buffer forwards to the next object diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index 663e0c3..2777dfd 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -2553,7 +2553,8 @@ namespace DisplayMagicianShared.NVIDIA // We are on a Mosaic profile now, and we need to change to a non-Mosaic profile // We need to disable the Mosaic Topology - NV_MOSAIC_SETDISPLAYTOPO_FLAGS setTopoFlags = NV_MOSAIC_SETDISPLAYTOPO_FLAGS.ALLOW_INVALID; + //NV_MOSAIC_SETDISPLAYTOPO_FLAGS setTopoFlags = NV_MOSAIC_SETDISPLAYTOPO_FLAGS.ALLOW_INVALID; + NV_MOSAIC_SETDISPLAYTOPO_FLAGS setTopoFlags = NV_MOSAIC_SETDISPLAYTOPO_FLAGS.NONE; SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Mosaic config that is currently set is no longer needed. Removing Mosaic config."); NV_MOSAIC_GRID_TOPO_V2[] individualScreensTopology = CreateSingleScreenMosaicTopology(); From 47912cf2e4ff86f49f2a763847246f9644eca3bd Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 10 Jun 2022 17:29:58 +1200 Subject: [PATCH 31/60] Updated TaskBarLayout and WinLibrary to latest versions --- .../Windows/TaskBarLayout.cs | 143 +++++++++++------- DisplayMagicianShared/Windows/WinLibrary.cs | 27 +++- displaymagician/uiforms/displayprofileform.cs | 7 + 3 files changed, 122 insertions(+), 55 deletions(-) diff --git a/DisplayMagicianShared/Windows/TaskBarLayout.cs b/DisplayMagicianShared/Windows/TaskBarLayout.cs index c6e9daf..b08d9b6 100644 --- a/DisplayMagicianShared/Windows/TaskBarLayout.cs +++ b/DisplayMagicianShared/Windows/TaskBarLayout.cs @@ -67,7 +67,7 @@ namespace DisplayMagicianShared.Windows if (Registry.CurrentUser.OpenSubKey(address) != null) { MMStuckRectVerFound = true; - SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: Found MMStuckRect3 registry key! {address}"); + SharedLogger.logger.Trace($"TaskBarLayout/ReadFromRegistry: Found MMStuckRect3 registry key! {address}"); } else { @@ -77,13 +77,13 @@ namespace DisplayMagicianShared.Windows if (Registry.CurrentUser.OpenSubKey(address) != null) { MMStuckRectVerFound = true; - SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: Found MMStuckRect2 registry key! {address}"); + SharedLogger.logger.Trace($"TaskBarLayout/ReadFromRegistry: Found MMStuckRect2 registry key! {address}"); } else { // It's not v2 or v3, so it must be a single display MMStuckRectVerFound = false; - SharedLogger.logger.Warn($"TaskBarLayout/TaskBarStuckRectangle: Couldn't find an MMStuckRect2 or MMStuckRect3 registry key! Going to test if it is a single display only."); + SharedLogger.logger.Warn($"TaskBarLayout/ReadFromRegistry: Couldn't find an MMStuckRect2 or MMStuckRect3 registry key! Going to test if it is a single display only."); } } @@ -92,40 +92,48 @@ namespace DisplayMagicianShared.Windows // Check if value exists if (version >= 2 && version <= 3) { - using (var key = Registry.CurrentUser.OpenSubKey( + + try + { + using (var key = Registry.CurrentUser.OpenSubKey( address, RegistryKeyPermissionCheck.ReadSubTree)) + { + var binary = key?.GetValue(regKeyValue) as byte[]; + if (binary?.Length > 0) + { + MainScreen = false; + RegKeyValue = regKeyValue; + Binary = binary; + Version = version; + + // Extract the values from the binary byte field + PopulateFieldsFromBinary(); + + SharedLogger.logger.Trace($"TaskBarLayout/ReadFromRegistry: The taskbar for {RegKeyValue} is against the {Edge} edge, is positioned at ({TaskBarLocation.X},{TaskBarLocation.Y}) and is {TaskBarLocation.Width}x{TaskBarLocation.Height} in size."); + + // If we get here then we're done and don't need to continue with the rest of the code. + return true; + } + else + { + SharedLogger.logger.Trace($"TaskBarLayout/ReadFromRegistry: Unable to get the TaskBarStuckRectangle binary settings from {regKeyValue} screen. Screen details may not be available yet in registry."); + } + } + } + catch (Exception ex) { - var binary = key?.GetValue(regKeyValue) as byte[]; - if (binary?.Length > 0) - { - MainScreen = false; - RegKeyValue = regKeyValue; - Binary = binary; - Version = version; - - // Extract the values from the binary byte field - PopulateFieldsFromBinary(); - - SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: The taskbar for {RegKeyValue} is against the {Edge} edge, is positioned at ({TaskBarLocation.X},{TaskBarLocation.Y}) and is {TaskBarLocation.Width}x{TaskBarLocation.Height} in size."); - - // If we get here then we're done and don't need to continue with the rest of the code. - return true; - } - else - { - SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: Unable to get the TaskBarStuckRectangle binary settings from {regKeyValue} screen."); - } + SharedLogger.logger.Trace($"TaskBarLayout/ReadFromRegistry: Exception while trying to open RegKey {address}. Unable to get the TaskBarStuckRectangle binary settings. Screen details may not be available yet in registry."); } } else { - SharedLogger.logger.Error($"TaskBarLayout/TaskBarStuckRectangle: A MMStuckRect entry was found, but the version of the field is wrong."); + SharedLogger.logger.Error($"TaskBarLayout/ReadFromRegistry: A MMStuckRect entry was found, but the version of the field is wrong."); } } else { - SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: A MMStuckRect entry was NOT found. We will try to find the object in the StuckRect registry key instead"); + SharedLogger.logger.Trace($"TaskBarLayout/ReadFromRegistry: A MMStuckRect entry was NOT found. We will try to find the object in the StuckRect registry key instead"); } bool StuckRectVerFound = false; @@ -135,7 +143,7 @@ namespace DisplayMagicianShared.Windows if (Registry.CurrentUser.OpenSubKey(address) != null) { StuckRectVerFound = true; - SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: Found StuckRect3 single display registry key! {address}"); + SharedLogger.logger.Trace($"TaskBarLayout/ReadFromRegistry: Found StuckRect3 single display registry key! {address}"); } else { @@ -145,11 +153,11 @@ namespace DisplayMagicianShared.Windows if (Registry.CurrentUser.OpenSubKey(address) != null) { StuckRectVerFound = true; - SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: Found StuckRect2 single display registry key! {address}"); + SharedLogger.logger.Trace($"TaskBarLayout/ReadFromRegistry: Found StuckRect2 single display registry key! {address}"); } else { - SharedLogger.logger.Error($"TaskBarLayout/TaskBarStuckRectangle: Couldn't find an single display StuckRect2 or StuckRect3 registry key! So we have to just return after doing nothing as there is nothing we can do."); + SharedLogger.logger.Error($"TaskBarLayout/ReadFromRegistry: Couldn't find an single display StuckRect2 or StuckRect3 registry key! So we have to just return after doing nothing as there is nothing we can do."); return false; } } @@ -159,40 +167,49 @@ namespace DisplayMagicianShared.Windows // Check if value exists if (version >= 2 && version <= 3) { - using (var key = Registry.CurrentUser.OpenSubKey( + try + { + using (var key = Registry.CurrentUser.OpenSubKey( address, RegistryKeyPermissionCheck.ReadSubTree)) - { - var binary = key?.GetValue(regKeyValue) as byte[]; - if (binary?.Length > 0) { - MainScreen = true; - RegKeyValue = regKeyValue; - Binary = binary; - Version = version; + var binary = key?.GetValue(regKeyValue) as byte[]; + if (binary?.Length > 0) + { + MainScreen = true; + RegKeyValue = regKeyValue; + Binary = binary; + Version = version; - // Extract the values from the binary byte field - PopulateFieldsFromBinary(); + // Extract the values from the binary byte field + PopulateFieldsFromBinary(); - SharedLogger.logger.Trace($"TaskBarLayout/TaskBarStuckRectangle: The taskbar for {RegKeyValue} is against the {Edge} edge, is positioned at ({TaskBarLocation.X},{TaskBarLocation.Y}) and is {TaskBarLocation.Width}x{TaskBarLocation.Height} in size."); - return true; - } - else - { - SharedLogger.logger.Error($"TaskBarLayout/TaskBarStuckRectangle: Unable to get the TaskBarStuckRectangle binary settings from {regKeyValue} screen."); - return false; + SharedLogger.logger.Trace($"TaskBarLayout/ReadFromRegistry: The taskbar for {RegKeyValue} is against the {Edge} edge, is positioned at ({TaskBarLocation.X},{TaskBarLocation.Y}) and is {TaskBarLocation.Width}x{TaskBarLocation.Height} in size."); + return true; + } + else + { + SharedLogger.logger.Error($"TaskBarLayout/ReadFromRegistry: Unable to get the TaskBarStuckRectangle binary settings from {regKeyValue} screen."); + return false; + } } } + catch (Exception ex) + { + SharedLogger.logger.Trace($"TaskBarLayout/ReadFromRegistry: Exception2 while trying to open RegKey {address}. Unable to get the TaskBarStuckRectangle binary settings. Screen details may not be available yet in registry."); + return false; + } + } else { - SharedLogger.logger.Error($"TaskBarLayout/TaskBarStuckRectangle: A StuckRect entry was found, but the version of the field is wrong."); + SharedLogger.logger.Error($"TaskBarLayout/ReadFromRegistry: A StuckRect entry was found, but the version of the field is wrong."); return false; } } else { - SharedLogger.logger.Error($"TaskBarLayout/TaskBarStuckRectangle: A StuckRect entry was NOT found. This means we're unable to get the taskbar location, an unable to return a sensible TaskBarStuckRectangle object."); + SharedLogger.logger.Error($"TaskBarLayout/ReadFromRegistry: A StuckRect entry was NOT found. This means we're unable to get the taskbar location, an unable to return a sensible TaskBarStuckRectangle object."); return false; } @@ -486,10 +503,11 @@ namespace DisplayMagicianShared.Windows return true; } - public static Dictionary GetAllCurrentTaskBarLayouts(Dictionary> displaySources) + public static Dictionary GetAllCurrentTaskBarLayouts(Dictionary> displaySources, out bool retryNeeded) { Dictionary taskBarStuckRectangles = new Dictionary(); int state; + bool tbsrReadWorked = false; APPBARDATA abd = new APPBARDATA(); @@ -532,7 +550,13 @@ namespace DisplayMagicianShared.Windows TaskBarLayout tbsr = new TaskBarLayout(); // Now we're at the point that we should be able to update the binary that we grabbed earlier when the object was created - tbsr.ReadFromRegistry(GetRegKeyValueFromDevicePath(displaySources[monitorInfo.szDevice][0].DevicePath)); + tbsrReadWorked = tbsr.ReadFromRegistry(GetRegKeyValueFromDevicePath(displaySources[monitorInfo.szDevice][0].DevicePath)); + if (!tbsrReadWorked) + { + SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Taskbar read #1 from registry didn't work."); + retryNeeded = true; + return taskBarStuckRectangles; + } tbsr.Edge = (TaskBarEdge)abd.uEdge; tbsr.MonitorLocation = new System.Drawing.Rectangle(monitorInfo.rcMonitor.left, monitorInfo.rcMonitor.top, monWidth, monHeight); switch (tbsr.Edge) @@ -563,7 +587,13 @@ namespace DisplayMagicianShared.Windows // If it's a main screen, also add a duplicate so we track the main StuckRects settings separately too TaskBarLayout tbsrMain = new TaskBarLayout(); - tbsrMain.ReadFromRegistry("Settings"); + tbsrReadWorked = tbsrMain.ReadFromRegistry("Settings"); + if (!tbsrReadWorked) + { + SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Taskbar read #1 from registry didn't work."); + retryNeeded = true; + return taskBarStuckRectangles; + } tbsrMain.Edge = tbsr.Edge; tbsrMain.MonitorLocation = tbsr.MonitorLocation; tbsrMain.TaskBarLocation = tbsr.TaskBarLocation; @@ -616,7 +646,14 @@ namespace DisplayMagicianShared.Windows TaskBarLayout tbsr = new TaskBarLayout(); // Now we're at the point that we should be able to update the binary that we grabbed earlier when the object was created - tbsr.ReadFromRegistry(GetRegKeyValueFromDevicePath(displaySources[monitorInfo.szDevice][0].DevicePath)); + tbsrReadWorked = tbsr.ReadFromRegistry(GetRegKeyValueFromDevicePath(displaySources[monitorInfo.szDevice][0].DevicePath)); + if (!tbsrReadWorked) + { + SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Taskbar read #3 from registry didn't work."); + retryNeeded = true; + return taskBarStuckRectangles; + } + if (monWidth == wrkWidth) { // Taskbar on top or bottom @@ -701,8 +738,8 @@ namespace DisplayMagicianShared.Windows { SharedLogger.logger.Error(ex, $"TaskBarLayout/GetAllCurrentTaskBarPositions: Exception while trying to get a secondary taskbar position"); } - + retryNeeded = false; return taskBarStuckRectangles; } diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 562b8b2..3d7ec0b 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -310,7 +310,7 @@ namespace DisplayMagicianShared.Windows savedDisplayConfig.DisplayAdapters.Add(newAdapterValue, savedDisplayConfig.DisplayAdapters[oldAdapterValue]); // Remove the old dictionary key savedDisplayConfig.DisplayAdapters.Remove(oldAdapterValue); - } + } SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Updated DisplayAdapter from adapter {oldAdapterValue} to adapter {newAdapterValue} instead."); } } @@ -876,7 +876,30 @@ namespace DisplayMagicianShared.Windows // Now attempt to get the windows taskbar location for each display SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get the Windows Taskbar Layouts."); - taskBarStuckRectangles = TaskBarLayout.GetAllCurrentTaskBarLayouts(windowsDisplayConfig.DisplaySources); + bool retryNeeded = false; + taskBarStuckRectangles = TaskBarLayout.GetAllCurrentTaskBarLayouts(windowsDisplayConfig.DisplaySources, out retryNeeded); + // Check whether Windows has actually added the registry keys that outline the taskbar position + if (retryNeeded) + { + // We wait until the reg key is populated + for (int count = 1; count <= 4; count++) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: We were unable to get all the Windows Taskbar Layouts! So we need to try again. Attempt {count} of 4."); + + // Wait 5 seconds + System.Threading.Thread.Sleep(5000); + // then try again + retryNeeded = false; + taskBarStuckRectangles = TaskBarLayout.GetAllCurrentTaskBarLayouts(windowsDisplayConfig.DisplaySources, out retryNeeded); + + if (!retryNeeded) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: We successfully got the Windows Taskbar Layouts on attempt {count}! So we can stop trying to get them"); + break; + } + + } + } // Now we try to get the taskbar settings too SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get the Windows Taskbar Settings."); diff --git a/displaymagician/uiforms/displayprofileform.cs b/displaymagician/uiforms/displayprofileform.cs index 628e369..8e1c738 100644 --- a/displaymagician/uiforms/displayprofileform.cs +++ b/displaymagician/uiforms/displayprofileform.cs @@ -81,9 +81,16 @@ namespace DisplayMagician.UIForms logger.Error($"DisplayProfileForm/Apply_Click: Error applying the Profile {_selectedProfile.Name}. Unable to change the display layout."); } + // Center the MainAppForm + Program.AppMainForm.Top = (Screen.PrimaryScreen.Bounds.Height - Program.AppMainForm.Height) / 2; + Program.AppMainForm.Left = (Screen.PrimaryScreen.Bounds.Width - Program.AppMainForm.Width) / 2; + Program.AppMainForm.Activate(); + // Bring the window back to the front Visible = true; + CenterToParent(); Activate(); + BringToFront(); // Also refresh the right-click menu (if we have a main form loaded) if (Program.AppMainForm is Form) From d98730a9b2c9170167b19bda4c04ee474c485245 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 10 Jun 2022 17:34:56 +1200 Subject: [PATCH 32/60] Fixed exception in RemoveProfile function --- DisplayMagicianShared/ProfileRepository.cs | 120 ++++++++++++++++++--- 1 file changed, 106 insertions(+), 14 deletions(-) diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index 305deff..ba69f45 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -295,10 +295,15 @@ namespace DisplayMagicianShared List ProfilesToRemove = _allProfiles.FindAll(item => item.UUID.Equals(profile.UUID)); foreach (ProfileItem ProfileToRemove in ProfilesToRemove) { + // Attempt to delete the icon + try { - File.Delete(ProfileToRemove.SavedProfileIconCacheFilename); - File.Delete(ProfileToRemove.WallpaperBitmapFilename); + if (File.Exists(ProfileToRemove.SavedProfileIconCacheFilename)) + { + File.Delete(ProfileToRemove.SavedProfileIconCacheFilename); + } + } catch (UnauthorizedAccessException ex) { @@ -317,6 +322,31 @@ namespace DisplayMagicianShared SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename} as the parent folder isn't there."); } + // attempt to delete the wallpaper + try + { + if (File.Exists(ProfileToRemove.WallpaperBitmapFilename)) + { + File.Delete(ProfileToRemove.WallpaperBitmapFilename); + } + } + catch (UnauthorizedAccessException ex) + { + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician doesn't have permissions to delete the cached Profile wallpaper {ProfileToRemove.WallpaperBitmapFilename}."); + } + catch (ArgumentException ex) + { + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile wallpaper {ProfileToRemove.WallpaperBitmapFilename} due to an invalid argument."); + } + catch (PathTooLongException ex) + { + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile wallpaper {ProfileToRemove.WallpaperBitmapFilename} as the path is too long."); + } + catch (DirectoryNotFoundException ex) + { + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile wallpaper {ProfileToRemove.WallpaperBitmapFilename} as the parent folder isn't there."); + } + } // Remove the Profile from the list. @@ -347,27 +377,58 @@ namespace DisplayMagicianShared List ProfilesToRemove = _allProfiles.FindAll(item => item.Name.Equals(profileName)); foreach (ProfileItem ProfileToRemove in ProfilesToRemove) { + // Attempt to delete the icon + try { - File.Delete(ProfileToRemove.SavedProfileIconCacheFilename); - File.Delete(ProfileToRemove.WallpaperBitmapFilename); + if (File.Exists(ProfileToRemove.SavedProfileIconCacheFilename)) + { + File.Delete(ProfileToRemove.SavedProfileIconCacheFilename); + } + } catch (UnauthorizedAccessException ex) { - SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile2: DisplayMagician doesn't have permissions to delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename}."); + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician doesn't have permissions to delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename}."); } catch (ArgumentException ex) { - SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile2: DisplayMagician can't delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename} due to an invalid argument."); + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename} due to an invalid argument."); } catch (PathTooLongException ex) { - SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile2: DisplayMagician can't delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename} as the path is too long."); + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename} as the path is too long."); } catch (DirectoryNotFoundException ex) { - SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile2: DisplayMagician can't delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename} as the parent folder isn't there."); + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename} as the parent folder isn't there."); } + + // attempt to delete the wallpaper + try + { + if (File.Exists(ProfileToRemove.WallpaperBitmapFilename)) + { + File.Delete(ProfileToRemove.WallpaperBitmapFilename); + } + } + catch (UnauthorizedAccessException ex) + { + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician doesn't have permissions to delete the cached Profile wallpaper {ProfileToRemove.WallpaperBitmapFilename}."); + } + catch (ArgumentException ex) + { + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile wallpaper {ProfileToRemove.WallpaperBitmapFilename} due to an invalid argument."); + } + catch (PathTooLongException ex) + { + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile wallpaper {ProfileToRemove.WallpaperBitmapFilename} as the path is too long."); + } + catch (DirectoryNotFoundException ex) + { + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile wallpaper {ProfileToRemove.WallpaperBitmapFilename} as the parent folder isn't there."); + } + } // Remove the Profile from the list. @@ -397,27 +458,58 @@ namespace DisplayMagicianShared List ProfilesToRemove = _allProfiles.FindAll(item => item.UUID.Equals(profileId)); foreach (ProfileItem ProfileToRemove in ProfilesToRemove) { + // Attempt to delete the icon + try { - File.Delete(ProfileToRemove.SavedProfileIconCacheFilename); - File.Delete(ProfileToRemove.WallpaperBitmapFilename); + if (File.Exists(ProfileToRemove.SavedProfileIconCacheFilename)) + { + File.Delete(ProfileToRemove.SavedProfileIconCacheFilename); + } + } catch (UnauthorizedAccessException ex) { - SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile3: DisplayMagician doesn't have permissions to delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename}."); + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician doesn't have permissions to delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename}."); } catch (ArgumentException ex) { - SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile3: DisplayMagician can't delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename} due to an invalid argument."); + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename} due to an invalid argument."); } catch (PathTooLongException ex) { - SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile3: DisplayMagician can't delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename} as the path is too long."); + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename} as the path is too long."); } catch (DirectoryNotFoundException ex) { - SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile3: DisplayMagician can't delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename} as the parent folder isn't there."); + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile Icon {ProfileToRemove.SavedProfileIconCacheFilename} as the parent folder isn't there."); } + + // attempt to delete the wallpaper + try + { + if (File.Exists(ProfileToRemove.WallpaperBitmapFilename)) + { + File.Delete(ProfileToRemove.WallpaperBitmapFilename); + } + } + catch (UnauthorizedAccessException ex) + { + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician doesn't have permissions to delete the cached Profile wallpaper {ProfileToRemove.WallpaperBitmapFilename}."); + } + catch (ArgumentException ex) + { + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile wallpaper {ProfileToRemove.WallpaperBitmapFilename} due to an invalid argument."); + } + catch (PathTooLongException ex) + { + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile wallpaper {ProfileToRemove.WallpaperBitmapFilename} as the path is too long."); + } + catch (DirectoryNotFoundException ex) + { + SharedLogger.logger.Error(ex, $"ProfileRepository/RemoveProfile: DisplayMagician can't delete the cached Profile wallpaper {ProfileToRemove.WallpaperBitmapFilename} as the parent folder isn't there."); + } + } // Remove the Profile from the list. From cb43f746293b583776a1b0775b84046568e1e91c Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 10 Jun 2022 18:52:26 +1200 Subject: [PATCH 33/60] Fixed potential bug with window taskbar location during screen generation There is a possibility that there are two displays with the same UID. This happens with software created displays such as SpaceDesk and Superdisplay. This means that we need to try and figure out which screen is the right screen, and then when we know which screen we were really wanting to --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagicianShared/ProfileItem.cs | 59 +++++++++++++++++-- DisplayMagicianShared/ProfileRepository.cs | 3 + .../Windows/TaskBarLayout.cs | 2 +- 4 files changed, 61 insertions(+), 7 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index e709480..9f68c02 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.26")] -[assembly: AssemblyFileVersion("2.4.0.26")] +[assembly: AssemblyVersion("2.4.0.28")] +[assembly: AssemblyFileVersion("2.4.0.28")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index 725a1cf..19dfae9 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -1558,8 +1558,16 @@ namespace DisplayMagicianShared // rather than the MMStuckRect reg keys try { - screen.TaskBarEdge = _windowsDisplayConfig.TaskBarLayout.First(tb => tb.Value.RegKeyValue.Contains("Settings")).Value.Edge; - SharedLogger.logger.Trace($"ProfileItem/GetWindowsScreenPositions: Position of the taskbar on the primary display {targetId} is on the {screen.TaskBarEdge } of the screen."); + if (_windowsDisplayConfig.TaskBarLayout.Count(tbr => tbr.Value.RegKeyValue.Contains("Settings")) > 0) + { + screen.TaskBarEdge = _windowsDisplayConfig.TaskBarLayout.First(tbr => tbr.Value.RegKeyValue.Contains("Settings")).Value.Edge; + SharedLogger.logger.Trace($"ProfileItem/GetWindowsScreenPositions: Position of the taskbar on the primary display {targetId} is on the {screen.TaskBarEdge } of the screen."); + } + else + { + SharedLogger.logger.Warn($"ProfileItem/GetWindowsScreenPositions: Problem trying to get the position of the taskbar on primary display {targetId}. Assuming it's on the bottom edge."); + screen.TaskBarEdge = TaskBarLayout.TaskBarEdge.Bottom; + } } catch (Exception ex) { @@ -1573,8 +1581,51 @@ namespace DisplayMagicianShared { try { - screen.TaskBarEdge = _windowsDisplayConfig.TaskBarLayout.First(tbr => tbr.Value.RegKeyValue.Contains($"UID{targetId}")).Value.Edge; - SharedLogger.logger.Trace($"ProfileItem/GetWindowsScreenPositions: Position of the taskbar on display {targetId} is on the {screen.TaskBarEdge } of the screen."); + int numMatches = _windowsDisplayConfig.TaskBarLayout.Count(tbr => tbr.Value.RegKeyValue.Contains($"UID{targetId}")); + if (numMatches > 1) + { + var matchingTbls = (from tbl in _windowsDisplayConfig.TaskBarLayout where tbl.Value.RegKeyValue.Contains($"UID{targetId}") select tbl.Value).ToList(); + bool foundIt = false; + foreach (var matchingTbl in matchingTbls) + { + // find display source that matches. + foreach (var displaySource in _windowsDisplayConfig.DisplaySources) + { + foreach (var displayDevice in displaySource.Value) + { + // We want to find the displaydevice that has the same adapter id + if (displayDevice.AdapterId.Value == adapterId && displayDevice.DevicePath.Contains(matchingTbl.RegKeyValue)) + { + // This is the actual display we want! + foundIt = true; + screen.TaskBarEdge = matchingTbl.Edge; + SharedLogger.logger.Trace($"ProfileItem/GetWindowsScreenPositions: Position of the taskbar on display {targetId} is on the {screen.TaskBarEdge } of the screen."); + break; + } + } + // If we've found it already then stop looking + if (foundIt) + { + break; + } + } + } + if (!foundIt) + { + screen.TaskBarEdge = _windowsDisplayConfig.TaskBarLayout.First(tbr => tbr.Value.RegKeyValue.Contains($"UID{targetId}")).Value.Edge; + SharedLogger.logger.Trace($"ProfileItem/GetWindowsScreenPositions: Couldn't find the taskbar location for display {targetId} when it had multiple matching UIDs. Assuming the screen edge is at the bottom of the screen."); + } + } + else if (numMatches == 1) + { + screen.TaskBarEdge = _windowsDisplayConfig.TaskBarLayout.First(tbr => tbr.Value.RegKeyValue.Contains($"UID{targetId}")).Value.Edge; + SharedLogger.logger.Trace($"ProfileItem/GetWindowsScreenPositions: Position of the taskbar on display {targetId} is on the {screen.TaskBarEdge } of the screen."); + } + else + { + SharedLogger.logger.Warn($"ProfileItem/GetWindowsScreenPositions: Problem trying to get the position of the taskbar on display {targetId} as UID doesn't exist. Assuming it's on the bottom edge."); + screen.TaskBarEdge = TaskBarLayout.TaskBarEdge.Bottom; + } } catch (Exception ex) { diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index ba69f45..50e882a 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -356,6 +356,7 @@ namespace DisplayMagicianShared { SaveProfiles(); IsPossibleRefresh(); + UpdateActiveProfile(); return true; } else if (numRemoved == 0) @@ -438,6 +439,7 @@ namespace DisplayMagicianShared { SaveProfiles(); IsPossibleRefresh(); + UpdateActiveProfile(); return true; } else if (numRemoved == 0) @@ -519,6 +521,7 @@ namespace DisplayMagicianShared { SaveProfiles(); IsPossibleRefresh(); + UpdateActiveProfile(); return true; } else if (numRemoved == 0) diff --git a/DisplayMagicianShared/Windows/TaskBarLayout.cs b/DisplayMagicianShared/Windows/TaskBarLayout.cs index b08d9b6..8fecc4a 100644 --- a/DisplayMagicianShared/Windows/TaskBarLayout.cs +++ b/DisplayMagicianShared/Windows/TaskBarLayout.cs @@ -727,7 +727,7 @@ namespace DisplayMagicianShared.Windows } else { - SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Skipping grabbing Taskbar position from a cloned display {monitorInfo.szDevice}"); + SharedLogger.logger.Trace($"TaskBarLayout/GetAllCurrentTaskBarPositions: Skipping grabbing Taskbar position from a cloned display {monitorInfo.szDevice}"); } // Prep the next taskbar window so we continue through them From 2d2cbcbe900db19347025b9ff86f8a7e91dfff47 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 12 Jun 2022 22:04:05 +1200 Subject: [PATCH 34/60] Updated WInLibrary and TaskBarLayout to latest versions This change adds validation and additional checks to TaskBarLayout. Adds some extra logging to WinLibrary. --- .../Windows/TaskBarLayout.cs | 49 +++++++++++++++++-- DisplayMagicianShared/Windows/WinLibrary.cs | 14 +++++- 2 files changed, 57 insertions(+), 6 deletions(-) diff --git a/DisplayMagicianShared/Windows/TaskBarLayout.cs b/DisplayMagicianShared/Windows/TaskBarLayout.cs index 8fecc4a..2278715 100644 --- a/DisplayMagicianShared/Windows/TaskBarLayout.cs +++ b/DisplayMagicianShared/Windows/TaskBarLayout.cs @@ -123,7 +123,7 @@ namespace DisplayMagicianShared.Windows } catch (Exception ex) { - SharedLogger.logger.Trace($"TaskBarLayout/ReadFromRegistry: Exception while trying to open RegKey {address}. Unable to get the TaskBarStuckRectangle binary settings. Screen details may not be available yet in registry."); + SharedLogger.logger.Trace(ex, $"TaskBarLayout/ReadFromRegistry: Exception while trying to open RegKey {address}. Unable to get the TaskBarStuckRectangle binary settings. Screen details may not be available yet in registry."); } } else @@ -196,7 +196,7 @@ namespace DisplayMagicianShared.Windows } catch (Exception ex) { - SharedLogger.logger.Trace($"TaskBarLayout/ReadFromRegistry: Exception2 while trying to open RegKey {address}. Unable to get the TaskBarStuckRectangle binary settings. Screen details may not be available yet in registry."); + SharedLogger.logger.Trace(ex, $"TaskBarLayout/ReadFromRegistry: Exception2 while trying to open RegKey {address}. Unable to get the TaskBarStuckRectangle binary settings. Screen details may not be available yet in registry."); return false; } @@ -615,6 +615,7 @@ namespace DisplayMagicianShared.Windows // Then go through the secondary windows and get the position of them // Tell Windows to refresh the Other Windows Taskbars if needed + int clonedCount = 0; try { IntPtr lastTaskBarWindowHwnd = (IntPtr)Utils.NULL; @@ -677,6 +678,11 @@ namespace DisplayMagicianShared.Windows { // Invalid state SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Taskbar position was not on a horizontal edge of a monitor!"); + SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Forcing Taskbar position to be at the bottom"); + tbWidth = monWidth; + tbHeight = monHeight - wrkHeight; + tbsr.TaskBarLocation = new System.Drawing.Rectangle(monitorInfo.rcMonitor.left, monitorInfo.rcWork.bottom, tbWidth, tbHeight); + tbsr.Edge = TaskBarEdge.Bottom; } } @@ -703,12 +709,22 @@ namespace DisplayMagicianShared.Windows { // Invalid state SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Taskbar position was not on a vertical edge of a monitor!"); + SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Forcing Taskbar position to be at the bottom"); + tbWidth = monWidth; + tbHeight = monHeight - wrkHeight; + tbsr.TaskBarLocation = new System.Drawing.Rectangle(monitorInfo.rcMonitor.left, monitorInfo.rcWork.bottom, tbWidth, tbHeight); + tbsr.Edge = TaskBarEdge.Bottom; } } else { // Invalid state SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Taskbar position was not fully along one of the monitor edges!"); + SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Forcing Taskbar position to be at the bottom"); + tbWidth = monWidth; + tbHeight = monHeight - wrkHeight; + tbsr.TaskBarLocation = new System.Drawing.Rectangle(monitorInfo.rcMonitor.left, monitorInfo.rcWork.bottom, tbWidth, tbHeight); + tbsr.Edge = TaskBarEdge.Bottom; } tbsr.MonitorLocation = new System.Drawing.Rectangle(monitorInfo.rcMonitor.left, monitorInfo.rcMonitor.top, monWidth, monHeight); @@ -718,7 +734,8 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace($"TaskBarLayout/GetAllCurrentTaskBarPositions: Secondary taskbar coordinates are {tbsr.TaskBarLocation.X},{tbsr.TaskBarLocation.Y} and it is {tbsr.TaskBarLocation.Width}x{tbsr.TaskBarLocation.Height}"); SharedLogger.logger.Trace($"TaskBarLayout/GetAllCurrentTaskBarPositions: Secondary taskbar is {tbsr.Edge.ToString("G")}"); - // Now as a LAST step we update the Binary field just before we apply it to make sure that the correct binary settings are stored + // Now as a LAST step we update the Binary field to make sure that the correct binary settings are stored + // This means the correct location should be returned even if the registry isn't updated as we're patching the registry object before we store it. tbsr.PopulateBinaryFromFields(); if (!taskBarStuckRectangles.ContainsKey(monitorInfo.szDevice)) @@ -727,7 +744,8 @@ namespace DisplayMagicianShared.Windows } else { - SharedLogger.logger.Trace($"TaskBarLayout/GetAllCurrentTaskBarPositions: Skipping grabbing Taskbar position from a cloned display {monitorInfo.szDevice}"); + SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: Skipping grabbing Taskbar position from a cloned display {monitorInfo.szDevice}"); + clonedCount++; } // Prep the next taskbar window so we continue through them @@ -739,6 +757,29 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Error(ex, $"TaskBarLayout/GetAllCurrentTaskBarPositions: Exception while trying to get a secondary taskbar position"); } + // Check if the display reg keys shown match the display sources + foreach (var tbrKey in taskBarStuckRectangles.Keys) + { + if (tbrKey.Equals("Settings")) + { + continue; + } + // If there isn't a match then we have a problem. + if (!displaySources.ContainsKey(tbrKey)) + { + SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: We have an error because Display Sources array doesn't include the {tbrKey} taskbar data. This means we have a mismatch somewhere."); + retryNeeded = true; + } + } + + // Check if the length of the display sources equals the taskbar locations we're tracking + // Note: taskBarStuckRectangles includes the 'Settings' main screen which is one extra screen that windows stores for the primary screen. We need to remove this from the count as it is extra. + if (displaySources.Count != taskBarStuckRectangles.Keys.Count - 1) + { + SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: We have an error because Display Sources array length doesn't match the taskBarStuckRectangles array length. This means we have a mismatch somewhere."); + retryNeeded = true; + } + retryNeeded = false; return taskBarStuckRectangles; } diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 3d7ec0b..e19959c 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -1611,8 +1611,18 @@ namespace DisplayMagicianShared.Windows if (result == CHANGE_DISPLAY_RESULTS.Successful) { SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Success. The GDI Device Mode will work for display {displayDeviceKey}."); - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Actually going to try to set the GDI Device Mode for display {displayDeviceKey} now."); - result = GDIImport.ChangeDisplaySettingsEx(currentDeviceSetting.Device.DeviceName, ref currentDeviceSetting.DeviceMode, IntPtr.Zero, (CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY | CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_NORESET), IntPtr.Zero); + // Set the + if (currentDeviceSetting.IsPrimary) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Actually going to try to set the GDI Device Mode for display {displayDeviceKey} now (primary display)."); + result = GDIImport.ChangeDisplaySettingsEx(currentDeviceSetting.Device.DeviceName, ref currentDeviceSetting.DeviceMode, IntPtr.Zero, (CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_SET_PRIMARY | CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY | CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_NORESET), IntPtr.Zero); + } + else + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Actually going to try to set the GDI Device Mode for display {displayDeviceKey} now (secondary display)."); + result = GDIImport.ChangeDisplaySettingsEx(currentDeviceSetting.Device.DeviceName, ref currentDeviceSetting.DeviceMode, IntPtr.Zero, (CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY | CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_NORESET), IntPtr.Zero); + + } if (result == CHANGE_DISPLAY_RESULTS.Successful) { SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Successfully changed display {displayDeviceKey} to use the new mode!"); From 8866334a8fc1af95b6b763fb7c27e8baa3238410 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Jun 2022 08:29:52 +0000 Subject: [PATCH 35/60] Bump NLog from 5.0.0 to 5.0.1 Bumps [NLog](https://github.com/NLog/NLog) from 5.0.0 to 5.0.1. - [Release notes](https://github.com/NLog/NLog/releases) - [Changelog](https://github.com/NLog/NLog/blob/dev/CHANGELOG.md) - [Commits](https://github.com/NLog/NLog/compare/v5.0...v5.0.1) --- updated-dependencies: - dependency-name: NLog dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- DisplayMagician/DisplayMagician.csproj | 2 +- DisplayMagicianShared/DisplayMagicianShared.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 6725058..e75358e 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -342,7 +342,7 @@ 2.1.0 - 5.0.0 + 5.0.1 3.1.4 diff --git a/DisplayMagicianShared/DisplayMagicianShared.csproj b/DisplayMagicianShared/DisplayMagicianShared.csproj index 75e5830..e58f00b 100644 --- a/DisplayMagicianShared/DisplayMagicianShared.csproj +++ b/DisplayMagicianShared/DisplayMagicianShared.csproj @@ -134,7 +134,7 @@ 2.1.0 - 5.0.0 + 5.0.1 From 9ec7a46932562149572567c54c40885abcdeebfd Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 13 Jun 2022 23:48:57 +1200 Subject: [PATCH 36/60] Added network check for autoupdate Only runs autoupdate if there is an available network connection. Adds feature #120. --- DisplayMagician/DisplayMagician.csproj | 9 +++++++++ DisplayMagician/Program.cs | 22 ++++++++++++++++++++++ DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 6725058..7618e55 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -404,6 +404,15 @@ False False + + {DCB00D01-570F-4A9B-8D69-199FDBA5723B} + 1 + 0 + 0 + tlbimp + False + True + {50A7E9B0-70EF-11D1-B75A-00A0C90564FE} 1 diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 254b9e5..129a39f 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -12,6 +12,7 @@ using DisplayMagicianShared; using DisplayMagician.UIForms; using DisplayMagician.GameLibraries; using System.Text.RegularExpressions; +using System.Net.NetworkInformation; using System.Drawing; using System.Runtime.Serialization; using NLog.Config; @@ -21,6 +22,7 @@ using Newtonsoft.Json; using System.Threading; using Microsoft.Win32; using DisplayMagician.Processes; +using NETWORKLIST; namespace DisplayMagician { @@ -1450,6 +1452,26 @@ namespace DisplayMagician { public static void CheckForUpdates() { + // First of all, check to see if there is any way to get to the internet on this computer. + // If not, then why bother! + try + { + + INetworkListManager networkListManager = new NetworkListManager(); + //dynamic networkListManager = Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("{DCB00C01-570F-4A9B-8D69-199FDBA5723B}"))); + bool isConnected = networkListManager.IsConnectedToInternet; + if (!isConnected) + { + logger.Warn($"Program/CheckForUpdates: No internet detected. Skipping the auto update."); + return; + } + } + catch (Exception ex) + { + logger.Warn($"Program/CheckForUpdates: Exception while trying to get all the network interfaces to make sure we have internet connectivity. Attempting to auto update anyway."); + } + + //Run the AutoUpdater to see if there are any updates available. //FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(Application.ExecutablePath); //AutoUpdater.InstalledVersion = new Version(fvi.FileVersion); diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 9f68c02..accc8b0 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.28")] -[assembly: AssemblyFileVersion("2.4.0.28")] +[assembly: AssemblyVersion("2.4.0.31")] +[assembly: AssemblyFileVersion("2.4.0.31")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From db5fce8cec52c4cc62f20e87f25438bf1937afb8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Jun 2022 08:55:05 +0000 Subject: [PATCH 37/60] Bump Autoupdater.NET.Official from 1.7.2 to 1.7.3 Bumps [Autoupdater.NET.Official](https://github.com/ravibpatel/AutoUpdater.NET) from 1.7.2 to 1.7.3. - [Release notes](https://github.com/ravibpatel/AutoUpdater.NET/releases) - [Commits](https://github.com/ravibpatel/AutoUpdater.NET/compare/v1.7.2...v1.7.3) --- updated-dependencies: - dependency-name: Autoupdater.NET.Official dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- DisplayMagician/DisplayMagician.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 14ee26a..5bfdfdd 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -306,7 +306,7 @@ 4.0.0-alpha5 - 1.7.2 + 1.7.3 1.2.0 From e893fbac69d7eaf9ad37ac4d2c9f9b7ca9309d2c Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 17 Jun 2022 10:18:55 +1200 Subject: [PATCH 38/60] Increased logging and improved uplay library processing --- .../DesktopNotificationActivator.cs | 75 ---- DisplayMagician/DisplayMagician.csproj | 1 - DisplayMagician/GameLibraries/EpicLibrary.cs | 1 + DisplayMagician/GameLibraries/GOGLibrary.cs | 3 +- .../GameLibraries/OriginLibrary.cs | 1 + DisplayMagician/GameLibraries/SteamLibrary.cs | 1 + DisplayMagician/GameLibraries/UplayLibrary.cs | 413 +++++++++--------- DisplayMagician/Processes/ProcessUtils.cs | 6 +- DisplayMagician/Program.cs | 10 +- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/ShortcutRepository.cs | 3 +- DisplayMagician/SingleInstance.cs | 4 +- DisplayMagician/UIForms/DisplayProfileForm.cs | 12 +- .../UIForms/ProfileSettingsForm.cs | 2 +- DisplayMagician/UIForms/SettingsForm.cs | 6 + DisplayMagician/UIForms/ShortcutForm.cs | 4 +- DisplayMagicianShared/ProfileItem.cs | 3 + DisplayMagicianShared/ProfileRepository.cs | 2 +- .../Windows/TaskBarLayout.cs | 10 +- DisplayMagicianShared/Windows/WinLibrary.cs | 93 ++-- 20 files changed, 303 insertions(+), 351 deletions(-) delete mode 100644 DisplayMagician/DesktopNotificationActivator.cs diff --git a/DisplayMagician/DesktopNotificationActivator.cs b/DisplayMagician/DesktopNotificationActivator.cs deleted file mode 100644 index 47e3423..0000000 --- a/DisplayMagician/DesktopNotificationActivator.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using Microsoft.Toolkit.Uwp.Notifications; -using Microsoft.QueryStringDotNET; -using System.Windows.Forms; -using DisplayMagician.UIForms; -using DisplayMagicianShared; - -namespace DisplayMagician -{ - // The GUID must be unique to your app. Create a new GUID if copying this code. - [ClassInterface(ClassInterfaceType.None)] - [ComSourceInterfaces(typeof(INotificationActivationCallback))] - [Guid(Program.AppActivationId), ComVisible(true)] - - public class DesktopNotificationActivator : NotificationActivator - { - public override void OnActivated(string arguments, NotificationUserInput userInput, string appUserModelId) - { - // Invoke the code we're running on the UI Thread to avoid - // cross thread exceptions - Program.AppMainForm.Invoke((MethodInvoker)delegate - { - // This code is running on the main UI thread! - // Parse the query string (using NuGet package QueryString.NET) - QueryString args = QueryString.Parse(arguments); - - foreach (QueryStringParameter myArg in args) - { - if (myArg.Name.Equals("action",StringComparison.OrdinalIgnoreCase)) - { - // See what action is being requested - switch (args["action"]) - { - // Open the Main window - case "open": - - // Open the Main DisplayMagician Window - Program.AppMainForm.openApplicationWindow(); - break; - - // Exit the application - case "exit": - - // Exit the application (overriding the close restriction) - Program.AppMainForm.exitApplication(); - break; - - // Stop waiting so that the monitoring stops, and the UI becomes free - case "stopWaiting": - - Program.AppCancellationTokenSource.Cancel(); - break; - - default: - break; - } - } - } - }); - } - - private void OpenWindowIfNeeded() - { - // Make sure we have a window open (in case user clicked toast while app closed) - if (Program.AppMainForm == null) - { - Program.AppMainForm = new MainForm(); - } - - // Activate the window, bringing it to focus - Program.AppMainForm.openApplicationWindow(); - } - } -} diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 14ee26a..8e9fae1 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -96,7 +96,6 @@ - diff --git a/DisplayMagician/GameLibraries/EpicLibrary.cs b/DisplayMagician/GameLibraries/EpicLibrary.cs index 87df87d..97ca661 100644 --- a/DisplayMagician/GameLibraries/EpicLibrary.cs +++ b/DisplayMagician/GameLibraries/EpicLibrary.cs @@ -175,6 +175,7 @@ namespace DisplayMagician.GameLibraries } catch (Exception ex) { + logger.Warn(ex, $"EpicLibrary/IsRunning: Exception while trying to get the Epic Library processes with names: {_epicProcessList.ToString()}"); return false; } } diff --git a/DisplayMagician/GameLibraries/GOGLibrary.cs b/DisplayMagician/GameLibraries/GOGLibrary.cs index 5d7214f..1cbca9c 100644 --- a/DisplayMagician/GameLibraries/GOGLibrary.cs +++ b/DisplayMagician/GameLibraries/GOGLibrary.cs @@ -178,7 +178,8 @@ namespace DisplayMagician.GameLibraries else return false; } - catch (Exception ex) { + catch (Exception ex) { + logger.Warn(ex, $"GogLibrary/IsRunning: Exception while trying to get the GOG Library processes with names: {_gogProcessList.ToString()}"); return false; } } diff --git a/DisplayMagician/GameLibraries/OriginLibrary.cs b/DisplayMagician/GameLibraries/OriginLibrary.cs index 5c954fe..9d6b639 100644 --- a/DisplayMagician/GameLibraries/OriginLibrary.cs +++ b/DisplayMagician/GameLibraries/OriginLibrary.cs @@ -176,6 +176,7 @@ namespace DisplayMagician.GameLibraries } catch (Exception ex) { + logger.Warn(ex, $"OriginLibrary/IsRunning: Exception while trying to get the Origin Library processes with names: {_originProcessList.ToString()}"); return false; } } diff --git a/DisplayMagician/GameLibraries/SteamLibrary.cs b/DisplayMagician/GameLibraries/SteamLibrary.cs index 3795d53..701930a 100644 --- a/DisplayMagician/GameLibraries/SteamLibrary.cs +++ b/DisplayMagician/GameLibraries/SteamLibrary.cs @@ -193,6 +193,7 @@ namespace DisplayMagician.GameLibraries } catch (Exception ex) { + logger.Warn(ex, $"SteamLibrary/IsRunning: Exception while trying to get the steam library processes matching process names: {_steamProcessList.ToString()}."); return false; } } diff --git a/DisplayMagician/GameLibraries/UplayLibrary.cs b/DisplayMagician/GameLibraries/UplayLibrary.cs index 79d6c44..9f77e1c 100644 --- a/DisplayMagician/GameLibraries/UplayLibrary.cs +++ b/DisplayMagician/GameLibraries/UplayLibrary.cs @@ -174,6 +174,7 @@ namespace DisplayMagician.GameLibraries } catch (Exception ex) { + logger.Warn(ex, $"UplayLibrary/IsRunning: Exception while trying to get the Uplay Library processes with names: {_uplayProcessList.ToString()}"); return false; } @@ -589,245 +590,253 @@ namespace DisplayMagician.GameLibraries // Now we'll try to sort out the rest of the game data! // We first look for the online executable information - if (root.start_game.online.executables.Count > 0) + if (root.GetType().GetProperty("start_game") != null) { - logger.Trace($"UplayLibrary/LoadInstalledGames: Uplay game {gameName} has some online executables to process! "); - - // First up we look at the online games, cause they're just better! - foreach (var executable in root.start_game.online.executables) + if (root.start_game.GetType().GetProperty("online") != null && root.start_game.online.executables.Count > 0) { - string exePath = ""; + logger.Trace($"UplayLibrary/LoadInstalledGames: Uplay game {gameName} has some online executables to process! "); - // Check if its a full path or a relative path - if (!String.IsNullOrEmpty(executable.path.relative)) + // First up we look at the online games, cause they're just better! + foreach (var executable in root.start_game.online.executables) { - if (executable.working_directory.register.StartsWith("HKEY_LOCAL_MACHINE")) - { - // This copes with relative files using a HKEY_LOCAL_MACHINE registry - - string regKeyText = executable.working_directory.register; - regKeyText = regKeyText.Replace(@"\InstallDir", ""); - regKeyText = regKeyText.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); - logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyText}"); - if (this.GetInstallDirFromRegKey(regKeyText, out exePath)) - { - gameExePath = Path.Combine(exePath, executable.path.relative); - logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses local machine registry key: {executable.working_directory.register} "); - } - // Get the GameID from the reg key - string pattern = @"Installs\\(\d+)\\InstallDir"; - MatchCollection mc = Regex.Matches(executable.working_directory.register, pattern); - if (mc.Count > 0) - { - gameId = mc[0].Groups[1].Value; - } - logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); - } - /*else if (executable.working_directory.register.StartsWith("HKEY_CURRENT_USER")) - { - // This copes with relative files using a HKEY_CURRENT_USER registry + string exePath = ""; - string regKeyText = executable.working_directory.register; - regKeyText = regKeyText.Replace(@"\InstallDir", ""); - regKeyText = regKeyText.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); - logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyText}"); - - if (this.GetInstallDirFromRegKey(executable.working_directory.register, out exePath)) - { - gameExePath = Path.Combine(exePath, executable.path.relative); - logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses current user registry key: {executable.working_directory.register} "); - } - // Get the GameID from the reg key - string pattern = @"Installs\\(\d+)\\InstallDir"; - MatchCollection mc = Regex.Matches(executable.working_directory.register, pattern); - if (mc.Count > 0) - { - gameId = mc[0].Groups[1].Value; - } - logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); - }*/ - else if (!String.IsNullOrEmpty(executable.working_directory.append)) + // Check if its a full path or a relative path + if (!String.IsNullOrEmpty(executable.path.relative)) { - // This copes with relative files using an appended path - gameExePath = Path.Combine(executable.working_directory.append, executable.path.relative); - gameIconPath = Path.Combine(executable.working_directory.append, executable.icon_image); - logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses appended file path: {executable.working_directory.append} "); - gameId = productInfo.uplay_id.ToString(); - logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); + if (executable.working_directory.register.StartsWith("HKEY_LOCAL_MACHINE")) + { + // This copes with relative files using a HKEY_LOCAL_MACHINE registry + + string regKeyText = executable.working_directory.register; + regKeyText = regKeyText.Replace(@"\InstallDir", ""); + regKeyText = regKeyText.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); + logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyText}"); + if (this.GetInstallDirFromRegKey(regKeyText, out exePath)) + { + gameExePath = Path.Combine(exePath, executable.path.relative); + logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses local machine registry key: {executable.working_directory.register} "); + } + // Get the GameID from the reg key + string pattern = @"Installs\\(\d+)\\InstallDir"; + MatchCollection mc = Regex.Matches(executable.working_directory.register, pattern); + if (mc.Count > 0) + { + gameId = mc[0].Groups[1].Value; + } + logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); + } + /*else if (executable.working_directory.register.StartsWith("HKEY_CURRENT_USER")) + { + // This copes with relative files using a HKEY_CURRENT_USER registry + + string regKeyText = executable.working_directory.register; + regKeyText = regKeyText.Replace(@"\InstallDir", ""); + regKeyText = regKeyText.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); + logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyText}"); + + if (this.GetInstallDirFromRegKey(executable.working_directory.register, out exePath)) + { + gameExePath = Path.Combine(exePath, executable.path.relative); + logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses current user registry key: {executable.working_directory.register} "); + } + // Get the GameID from the reg key + string pattern = @"Installs\\(\d+)\\InstallDir"; + MatchCollection mc = Regex.Matches(executable.working_directory.register, pattern); + if (mc.Count > 0) + { + gameId = mc[0].Groups[1].Value; + } + logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); + }*/ + else if (!String.IsNullOrEmpty(executable.working_directory.append)) + { + // This copes with relative files using an appended path + gameExePath = Path.Combine(executable.working_directory.append, executable.path.relative); + gameIconPath = Path.Combine(executable.working_directory.append, executable.icon_image); + logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses appended file path: {executable.working_directory.append} "); + gameId = productInfo.uplay_id.ToString(); + logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); + } + else + { + // Problem! + logger.Error($"UplayLibrary/LoadInstalledGames: Found relative GameExePath {executable.path.relative} for Uplay game {gameName} but no registry key or appended file path! Skipping this game."); + continue; + } } else { - // Problem! - logger.Error($"UplayLibrary/LoadInstalledGames: Found relative GameExePath {executable.path.relative} for Uplay game {gameName} but no registry key or appended file path! Skipping this game."); + // This should cope with full pathed files, but we have no examples to test! So log it + logger.Error($"UplayLibrary/LoadInstalledGames: Found non-relative GameExePath {executable.path} for Uplay game {gameName} but we've not seen it before so no idea how to handle it! Skipping this game."); + logger.Error($"UplayLibrary/LoadInstalledGames: executable.path for troubleshooting: {executable.path}"); continue; } - } - else - { - // This should cope with full pathed files, but we have no examples to test! So log it - logger.Error($"UplayLibrary/LoadInstalledGames: Found non-relative GameExePath {executable.path} for Uplay game {gameName} but we've not seen it before so no idea how to handle it! Skipping this game."); - logger.Error($"UplayLibrary/LoadInstalledGames: executable.path for troubleshooting: {executable.path}"); - continue; - } - // We should check the exe file exists, and if it doesn't then we need to do the next exe - if (!File.Exists(gameExePath)) - { - logger.Error($"UplayLibrary/LoadInstalledGames: Couldn't find the GameExePath {gameExePath} for Uplay game {gameName} so skipping this exe, and trying the next one."); - continue; - } - - // Now try to get the Uplay game icon - if (!String.IsNullOrEmpty(root.icon_image)) - { - gameIconPath = Path.Combine(_uplayPath, "data", "games", root.icon_image); - - // If the icon file isn't actually there, then use the game exe instead. - if (!File.Exists(gameIconPath)) + // We should check the exe file exists, and if it doesn't then we need to do the next exe + if (!File.Exists(gameExePath)) { - gameIconPath = gameExePath; + logger.Error($"UplayLibrary/LoadInstalledGames: Couldn't find the GameExePath {gameExePath} for Uplay game {gameName} so skipping this exe, and trying the next one."); + continue; } - } - - logger.Trace($"UplayLibrary/LoadInstalledGames: Found GameExePath {exePath} and Icon Path {gameIconPath} for Uplay game {gameName}."); - // We do a final check to make sure that we do have a GameName, and if not we use the shortcut - if (String.IsNullOrEmpty(gameName) && !String.IsNullOrEmpty(executable.shortcut_name)) - { - gameName = executable.shortcut_name; - logger.Trace($"UplayLibrary/LoadInstalledGames: Game Name was still empty, so we're using the shortcut name as a last resort: {executable.shortcut_name} "); + // Now try to get the Uplay game icon + if (!String.IsNullOrEmpty(root.icon_image)) + { + gameIconPath = Path.Combine(_uplayPath, "data", "games", root.icon_image); + + // If the icon file isn't actually there, then use the game exe instead. + if (!File.Exists(gameIconPath)) + { + gameIconPath = gameExePath; + } + } + + logger.Trace($"UplayLibrary/LoadInstalledGames: Found GameExePath {exePath} and Icon Path {gameIconPath} for Uplay game {gameName}."); + + // We do a final check to make sure that we do have a GameName, and if not we use the shortcut + if (String.IsNullOrEmpty(gameName) && !String.IsNullOrEmpty(executable.shortcut_name)) + { + gameName = executable.shortcut_name; + logger.Trace($"UplayLibrary/LoadInstalledGames: Game Name was still empty, so we're using the shortcut name as a last resort: {executable.shortcut_name} "); + } + + // Now we need to save the game name, cause if we're here then we're good enough to save + // Then we have the gameID, the thumbimage, the icon, the name, the exe path + // And we add the Game to the list of games we have! + _allGames.Add(new UplayGame(gameId, gameName, gameExePath, gameIconPath)); + logger.Trace($"UplayLibrary/LoadInstalledGames: Adding Uplay Game with game id {productInfo.uplay_id}, name {gameName}, game exe {gameExePath} and icon path {gameIconPath}"); + break; } - // Now we need to save the game name, cause if we're here then we're good enough to save - // Then we have the gameID, the thumbimage, the icon, the name, the exe path - // And we add the Game to the list of games we have! - _allGames.Add(new UplayGame(gameId, gameName, gameExePath, gameIconPath)); - logger.Trace($"UplayLibrary/LoadInstalledGames: Adding Uplay Game with game id {productInfo.uplay_id}, name {gameName}, game exe {gameExePath} and icon path {gameIconPath}"); - break; } - - } - // This is the offline exes - else if (root.start_game.offline.executables.Count > 0) - { - logger.Trace($"UplayLibrary/LoadInstalledGames: Uplay game {gameName} has some offline executables to process! "); - - // we look at the offline games, cause there weren't any online ones - foreach (var executable in root.start_game.offline.executables) + // This is the offline exes + else if (root.start_game.GetType().GetProperty("offline") != null && root.start_game.offline.executables.Count > 0) { - string exePath = ""; + logger.Trace($"UplayLibrary/LoadInstalledGames: Uplay game {gameName} has some offline executables to process! "); - // Check if its a full path or a relative path - if (!String.IsNullOrEmpty(executable.path.relative)) + // we look at the offline games, cause there weren't any online ones + foreach (var executable in root.start_game.offline.executables) { - if (executable.working_directory.register.StartsWith("HKEY_LOCAL_MACHINE")) + string exePath = ""; + + // Check if its a full path or a relative path + if (!String.IsNullOrEmpty(executable.path.relative)) { - // This copes with relative files using a HKEY_LOCAL_MACHINE registry - - string regKeyText = executable.working_directory.register; - regKeyText = regKeyText.Replace(@"\InstallDir", ""); - regKeyText = regKeyText.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); - logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyText}"); - - if (this.GetInstallDirFromRegKey(regKeyText, out exePath)) + if (executable.working_directory.register.StartsWith("HKEY_LOCAL_MACHINE")) { - gameExePath = Path.Combine(exePath, executable.path.relative); - logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses local machine registry key: {executable.working_directory.register} "); - } - // Get the GameID from the reg key - string pattern = @"Installs\\(\d+)\\InstallDir"; - MatchCollection mc = Regex.Matches(executable.working_directory.register, pattern); - if (mc.Count > 0) - { - gameId = mc[0].Groups[1].Value; - } - logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); + // This copes with relative files using a HKEY_LOCAL_MACHINE registry - } - /*else if (executable.working_directory.register.StartsWith("HKEY_CURRENT_USER")) - { - // This copes with relative files using a HKEY_CURRENT_USER registry + string regKeyText = executable.working_directory.register; + regKeyText = regKeyText.Replace(@"\InstallDir", ""); + regKeyText = regKeyText.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); + logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyText}"); - string regKeyText = executable.working_directory.register; - regKeyText = regKeyText.Replace(@"\InstallDir", ""); - regKeyText = regKeyText.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); - logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyText}"); + if (this.GetInstallDirFromRegKey(regKeyText, out exePath)) + { + gameExePath = Path.Combine(exePath, executable.path.relative); + logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses local machine registry key: {executable.working_directory.register} "); + } + // Get the GameID from the reg key + string pattern = @"Installs\\(\d+)\\InstallDir"; + MatchCollection mc = Regex.Matches(executable.working_directory.register, pattern); + if (mc.Count > 0) + { + gameId = mc[0].Groups[1].Value; + } + logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); - if (this.GetInstallDirFromRegKey(executable.working_directory.register, out exePath)) - { - gameExePath = Path.Combine(exePath, executable.path.relative); - logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses current user registry key: {executable.working_directory.register} "); } - // Get the GameID from the reg key - string pattern = @"Installs\\(\d+)\\InstallDir"; - MatchCollection mc = Regex.Matches(executable.working_directory.register, pattern); - if (mc.Count > 0) + /*else if (executable.working_directory.register.StartsWith("HKEY_CURRENT_USER")) { - gameId = mc[0].Groups[1].Value; + // This copes with relative files using a HKEY_CURRENT_USER registry + + string regKeyText = executable.working_directory.register; + regKeyText = regKeyText.Replace(@"\InstallDir", ""); + regKeyText = regKeyText.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); + logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyText}"); + + if (this.GetInstallDirFromRegKey(executable.working_directory.register, out exePath)) + { + gameExePath = Path.Combine(exePath, executable.path.relative); + logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses current user registry key: {executable.working_directory.register} "); + } + // Get the GameID from the reg key + string pattern = @"Installs\\(\d+)\\InstallDir"; + MatchCollection mc = Regex.Matches(executable.working_directory.register, pattern); + if (mc.Count > 0) + { + gameId = mc[0].Groups[1].Value; + } + logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); + }*/ + else if (!String.IsNullOrEmpty(executable.working_directory.append)) + { + // This copes with relative files using an appended path + gameExePath = Path.Combine(executable.working_directory.append, executable.path.relative); + gameIconPath = Path.Combine(executable.working_directory.append, executable.icon_image); + logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses appended file path: {executable.working_directory.append} "); + gameId = productInfo.uplay_id.ToString(); + logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); + } + else + { + // Problem! + logger.Error($"UplayLibrary/LoadInstalledGames: Found relative GameExePath {executable.path.relative} for Uplay game {gameName} but no registry key or appended file path! Skipping this game."); + continue; } - logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); - }*/ - else if (!String.IsNullOrEmpty(executable.working_directory.append)) - { - // This copes with relative files using an appended path - gameExePath = Path.Combine(executable.working_directory.append, executable.path.relative); - gameIconPath = Path.Combine(executable.working_directory.append, executable.icon_image); - logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses appended file path: {executable.working_directory.append} "); - gameId = productInfo.uplay_id.ToString(); - logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); } else { - // Problem! - logger.Error($"UplayLibrary/LoadInstalledGames: Found relative GameExePath {executable.path.relative} for Uplay game {gameName} but no registry key or appended file path! Skipping this game."); + // This should cope with full pathed files, but we have no examples to test! So log it + logger.Error($"UplayLibrary/LoadInstalledGames: Found non-relative GameExePath {executable.path} for Uplay game {gameName} but we've not seen it before so no idea how to handle it! Skipping this game."); + logger.Error($"UplayLibrary/LoadInstalledGames: executable.path for troubleshooting: {executable.path}"); continue; } - } - else - { - // This should cope with full pathed files, but we have no examples to test! So log it - logger.Error($"UplayLibrary/LoadInstalledGames: Found non-relative GameExePath {executable.path} for Uplay game {gameName} but we've not seen it before so no idea how to handle it! Skipping this game."); - logger.Error($"UplayLibrary/LoadInstalledGames: executable.path for troubleshooting: {executable.path}"); - continue; - } - // We should check the exe file exists, and if it doesn't then we need to do the next exe - if (!File.Exists(gameExePath)) - { - logger.Error($"UplayLibrary/LoadInstalledGames: Couldn't find the GameExePath {gameExePath} for Uplay game {gameName} so skipping this exe, and trying the next one."); - continue; - } - - // Now try to get the Uplay game icon - if (!String.IsNullOrEmpty(root.icon_image)) - { - gameIconPath = Path.Combine(_uplayPath, "data", "games", root.icon_image); - - // If the icon file isn't actually there, then use the game exe instead. - if (!File.Exists(gameIconPath)) + // We should check the exe file exists, and if it doesn't then we need to do the next exe + if (!File.Exists(gameExePath)) { - gameIconPath = gameExePath; + logger.Error($"UplayLibrary/LoadInstalledGames: Couldn't find the GameExePath {gameExePath} for Uplay game {gameName} so skipping this exe, and trying the next one."); + continue; } + + // Now try to get the Uplay game icon + if (!String.IsNullOrEmpty(root.icon_image)) + { + gameIconPath = Path.Combine(_uplayPath, "data", "games", root.icon_image); + + // If the icon file isn't actually there, then use the game exe instead. + if (!File.Exists(gameIconPath)) + { + gameIconPath = gameExePath; + } + } + + logger.Trace($"UplayLibrary/LoadInstalledGames: Found GameExePath {exePath} and Icon Path {gameIconPath} for Uplay game {gameName}."); + + // We do a final check to make sure that we do have a GameName, and if not we use the shortcut + if (String.IsNullOrEmpty(gameName) && !String.IsNullOrEmpty(executable.shortcut_name)) + { + gameName = executable.shortcut_name; + logger.Trace($"UplayLibrary/LoadInstalledGames: Game Name was still empty, so we're using the shortcut name as a last resort: {executable.shortcut_name} "); + } + + // Now we need to save the game name, cause if we're here then we're good enough to save + // Then we have the gameID, the thumbimage, the icon, the name, the exe path + // And we add the Game to the list of games we have! + _allGames.Add(new UplayGame(gameId, gameName, gameExePath, gameIconPath)); + logger.Trace($"UplayLibrary/LoadInstalledGames: Adding Uplay Game with game id {productInfo.uplay_id}, name {gameName}, game exe {gameExePath} and icon path {gameIconPath}"); + break; } - logger.Trace($"UplayLibrary/LoadInstalledGames: Found GameExePath {exePath} and Icon Path {gameIconPath} for Uplay game {gameName}."); - - // We do a final check to make sure that we do have a GameName, and if not we use the shortcut - if (String.IsNullOrEmpty(gameName) && !String.IsNullOrEmpty(executable.shortcut_name)) - { - gameName = executable.shortcut_name; - logger.Trace($"UplayLibrary/LoadInstalledGames: Game Name was still empty, so we're using the shortcut name as a last resort: {executable.shortcut_name} "); - } - - // Now we need to save the game name, cause if we're here then we're good enough to save - // Then we have the gameID, the thumbimage, the icon, the name, the exe path - // And we add the Game to the list of games we have! - _allGames.Add(new UplayGame(gameId, gameName, gameExePath, gameIconPath)); - logger.Trace($"UplayLibrary/LoadInstalledGames: Adding Uplay Game with game id {productInfo.uplay_id}, name {gameName}, game exe {gameExePath} and icon path {gameIconPath}"); - break; } - - } + else + { + logger.Trace($"UplayLibrary/LoadInstalledGames: Uplay Entry {gameName} doesn't have any online or offline executable associated with it! We have to skip adding this game."); + continue; + } + } else { logger.Trace($"UplayLibrary/LoadInstalledGames: Uplay Entry {gameName} doesn't have any executables associated with it! We have to skip adding this game."); @@ -840,12 +849,12 @@ namespace DisplayMagician.GameLibraries // If we get an error processing the game YAML, lets try and skip this game and try the next one. It might work! if (item.GameInfo.StartsWith("root:")) { - logger.Warn($"UplayLibrary/LoadInstalledGames: Problem deserialising the YAML embedded in the Uplay configuration file {uplayConfigFilePath}. Cannot process this Uplay game! (Uplay ID:{item.UplayId}): {item.GameInfo}"); + logger.Warn(ex, $"UplayLibrary/LoadInstalledGames: Problem deserialising the YAML embedded in the Uplay configuration file {uplayConfigFilePath}. Cannot process this Uplay game! (Uplay ID:{item.UplayId}): {item.GameInfo}"); continue; } else { - logger.Trace($"UplayLibrary/LoadInstalledGames: This Uplay entry (Uplay ID:{item.UplayId}) in the Uplay configuration file {uplayConfigFilePath} is not a YAML config so skipping: {item.GameInfo}"); + logger.Trace(ex, $"UplayLibrary/LoadInstalledGames: This Uplay entry (Uplay ID:{item.UplayId}) in the Uplay configuration file {uplayConfigFilePath} is not a YAML config so skipping: {item.GameInfo}"); } } @@ -855,7 +864,7 @@ namespace DisplayMagician.GameLibraries catch (Exception ex) { // We can't do anything if we hit here. - logger.Error($"UplayLibrary/LoadInstalledGames: Problem deserialising the protobuf Uplay configuration file {uplayConfigFilePath}. Cannot process any Uplay games!"); + logger.Error(ex, $"UplayLibrary/LoadInstalledGames: Problem deserialising the protobuf Uplay configuration file {uplayConfigFilePath}. Cannot process any Uplay games!"); return false; } } diff --git a/DisplayMagician/Processes/ProcessUtils.cs b/DisplayMagician/Processes/ProcessUtils.cs index 9906523..61a797e 100644 --- a/DisplayMagician/Processes/ProcessUtils.cs +++ b/DisplayMagician/Processes/ProcessUtils.cs @@ -175,17 +175,17 @@ namespace DisplayMagician.Processes } catch (ArgumentException ex) { - logger.Trace($"ProcessUtils/ProcessExited: {process.Id} is not running, and the process ID has expired. This means the process has finished!"); + logger.Trace(ex, $"ProcessUtils/ProcessExited: {process.Id} is not running, and the process ID has expired. This means the process has finished!"); return true; } catch (InvalidOperationException ex) { - logger.Warn($"ProcessUtils/ProcessExited: {process.Id} was not started by this process object. This likely means the process has finished!"); + logger.Warn(ex, $"ProcessUtils/ProcessExited: {process.Id} was not started by this process object. This likely means the process has finished!"); return true; } catch (Exception ex) { - logger.Trace($"ProcessUtils/ProcessExited: Exception when checking if {process.Id} is still running, so assuming the process has finished!"); + logger.Trace(ex, $"ProcessUtils/ProcessExited: Exception when checking if {process.Id} is still running, so assuming the process has finished!"); return true; } } diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 129a39f..9c19b97 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -249,7 +249,8 @@ namespace DisplayMagician { var logfile = new NLog.Targets.FileTarget("logfile") { FileName = AppLogFilename, - DeleteOldFileOnStartup = true + DeleteOldFileOnStartup = true, + Layout = "${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}" }; // Create a logging rule to use the log file target @@ -1196,7 +1197,7 @@ namespace DisplayMagician { } catch (OperationCanceledException ex) { - logger.Trace($"Program/RunShortcutTask: User cancelled the running the shortcut {shortcutToUse.Name}."); + logger.Trace(ex, $"Program/RunShortcutTask: User cancelled the running the shortcut {shortcutToUse.Name}."); } catch (Exception ex) { @@ -1248,7 +1249,7 @@ namespace DisplayMagician { } catch (OperationCanceledException ex) { - logger.Trace($"Program/ApplyProfileTask: User cancelled the ApplyProfile {profile.Name}."); + logger.Trace(ex, $"Program/ApplyProfileTask: User cancelled the ApplyProfile {profile.Name}."); } catch( Exception ex) { @@ -1468,7 +1469,7 @@ namespace DisplayMagician { } catch (Exception ex) { - logger.Warn($"Program/CheckForUpdates: Exception while trying to get all the network interfaces to make sure we have internet connectivity. Attempting to auto update anyway."); + logger.Warn(ex, $"Program/CheckForUpdates: Exception while trying to get all the network interfaces to make sure we have internet connectivity. Attempting to auto update anyway."); } @@ -1729,6 +1730,7 @@ namespace DisplayMagician { } catch (Exception ex) { + logger.Warn(ex, $"Program/IsInstalledVersion: DisplayMagician InstallDir isn't in registry! This DisplayMagician isn't installed."); return false; } } diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index accc8b0..8811f86 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.31")] -[assembly: AssemblyFileVersion("2.4.0.31")] +[assembly: AssemblyVersion("2.4.0.41")] +[assembly: AssemblyFileVersion("2.4.0.41")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutRepository.cs b/DisplayMagician/ShortcutRepository.cs index ba0fff5..fc4b408 100644 --- a/DisplayMagician/ShortcutRepository.cs +++ b/DisplayMagician/ShortcutRepository.cs @@ -1183,7 +1183,7 @@ namespace DisplayMagician } catch (Exception ex) { - logger.Error($"ShortcutRepository/RunShortcut: Exception while trying to find the user supplied executable to monitor: {shortcutToUse.DifferentExecutableToMonitor}."); + logger.Error(ex, $"ShortcutRepository/RunShortcut: Exception while trying to find the user supplied executable to monitor: {shortcutToUse.DifferentExecutableToMonitor}."); foundSomethingToMonitor = false; } } @@ -2097,7 +2097,6 @@ namespace DisplayMagician { // At the moment we only allow one stop program StopProgram stopProg = shortcutToUse.StopPrograms[0]; - uint processID = 0; try { // Only start if not disabled diff --git a/DisplayMagician/SingleInstance.cs b/DisplayMagician/SingleInstance.cs index aaadb4d..47524dc 100644 --- a/DisplayMagician/SingleInstance.cs +++ b/DisplayMagician/SingleInstance.cs @@ -226,11 +226,13 @@ namespace DisplayMagician } catch (PlatformNotSupportedException ex) { - Console.WriteLine($"SingleInstance/NamedPipeServerCreateServer: Cannot create a named pipe server. This NamedPipeServerStream function does not support this platform."); + //Console.WriteLine($"SingleInstance/NamedPipeServerCreateServer: Cannot create a named pipe server. This NamedPipeServerStream function does not support this platform."); + logger.Warn(ex, $"SingleInstance/NamedPipeServerCreateServer: Cannot create a named pipe server. This NamedPipeServerStream function does not support this platform."); } catch (Exception ex) { Console.WriteLine($"SingleInstance/NamedPipeServerCreateServer: Exception - Source: {ex.Source} {ex.TargetSite} - {ex.Message} - {ex.StackTrace}"); + logger.Warn(ex, $"SingleInstance/NamedPipeServerCreateServer: Exception - Source: {ex.Source} {ex.TargetSite} - {ex.Message} - {ex.StackTrace}"); } // Begin async wait for connections _namedPipeServerStream.BeginWaitForConnection(NamedPipeServerConnectionCallback, _namedPipeServerStream); diff --git a/DisplayMagician/UIForms/DisplayProfileForm.cs b/DisplayMagician/UIForms/DisplayProfileForm.cs index 8e1c738..925b6ac 100644 --- a/DisplayMagician/UIForms/DisplayProfileForm.cs +++ b/DisplayMagician/UIForms/DisplayProfileForm.cs @@ -81,6 +81,12 @@ namespace DisplayMagician.UIForms logger.Error($"DisplayProfileForm/Apply_Click: Error applying the Profile {_selectedProfile.Name}. Unable to change the display layout."); } + // Recenter the Window + RecenterWindow(); + } + + private void RecenterWindow() + { // Center the MainAppForm Program.AppMainForm.Top = (Screen.PrimaryScreen.Bounds.Height - Program.AppMainForm.Height) / 2; Program.AppMainForm.Left = (Screen.PrimaryScreen.Bounds.Width - Program.AppMainForm.Width) / 2; @@ -545,14 +551,16 @@ namespace DisplayMagician.UIForms ChangeSelectedProfile(ProfileRepository.GetActiveProfile()); // Refresh the Profile UI RefreshDisplayProfileUI(); + // Recenter the Window + RecenterWindow(); } private void txt_profile_save_name_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode.Equals(Keys.Enter)) { - MessageBox.Show("Click works!", "Click works", MessageBoxButtons.OK, MessageBoxIcon.Information); - + //MessageBox.Show("Click works!", "Click works", MessageBoxButtons.OK, MessageBoxIcon.Information); + btn_save.PerformClick(); } } diff --git a/DisplayMagician/UIForms/ProfileSettingsForm.cs b/DisplayMagician/UIForms/ProfileSettingsForm.cs index f5fa819..b67a876 100644 --- a/DisplayMagician/UIForms/ProfileSettingsForm.cs +++ b/DisplayMagician/UIForms/ProfileSettingsForm.cs @@ -216,7 +216,7 @@ namespace DisplayMagician.UIForms } catch (Exception ex) { - + SharedLogger.logger.Warn(ex, $"ProfileSettingsForm/btn_clear_Click: Exception while deleting wallpaper bitmap file {Profile.WallpaperBitmapFilename}"); } // Empty the file name in the Profile diff --git a/DisplayMagician/UIForms/SettingsForm.cs b/DisplayMagician/UIForms/SettingsForm.cs index 012c345..725b353 100644 --- a/DisplayMagician/UIForms/SettingsForm.cs +++ b/DisplayMagician/UIForms/SettingsForm.cs @@ -594,6 +594,8 @@ namespace DisplayMagician.UIForms File.Delete(zipFilePath); } + NLog.LogManager.SuspendLogging(); + ZipArchive archive = ZipFile.Open(zipFilePath, ZipArchiveMode.Create); // Get the list of files we want to look for to zip (they may or may not exist) @@ -630,6 +632,7 @@ namespace DisplayMagician.UIForms Path.Combine(Program.AppDataPath,"Settings_2.3.json.old"), Path.Combine(Program.AppDataPath,"Settings_2.4.json.old") }; + foreach (string filename in listOfFiles) { try @@ -661,6 +664,9 @@ namespace DisplayMagician.UIForms } archive.Dispose(); + + NLog.LogManager.ResumeLogging(); + SharedLogger.logger.Trace($"SettingsForm/btn_create_support_package_Click: Finished creating support zip file at {zipFilePath}."); MessageBox.Show($"Created DisplayMagician Support ZIP file {zipFilePath}. You can now attach this file to your GitHub issue."); } diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index 14955bb..a619959 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -3142,7 +3142,7 @@ namespace DisplayMagician.UIForms } catch(Exception ex) { - + logger.Warn(ex, $"ShortcutForm/ilv_games_ItemClick: Exception while attempting to suggest shortcut name."); } try @@ -3151,7 +3151,7 @@ namespace DisplayMagician.UIForms } catch (Exception ex) { - + logger.Warn(ex, $"ShortcutForm/ilv_games_ItemClick: Exception while figuring out if the save button shoud be enabled."); } } diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index 19dfae9..fccd16f 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -1473,6 +1473,9 @@ namespace DisplayMagicianShared screen.ClonedCopies = 0; try { + // IMPORTANT: This lookup WILL DEFINITELY CAUSE AN EXCEPTION right after windows changes back from + // NVIDIA Surround to a non-surround profile. This is expected, as it is caused bythe way Windows is SOOOO slow to update + // the taskbar locations in memory (it takes up to 15 seconds!). Nothing I can do, except put this protection in place :( . screen.TaskBarEdge = _windowsDisplayConfig.TaskBarLayout.First(tbr => tbr.Value.RegKeyValue.Contains($"UID{targetId}")).Value.Edge; SharedLogger.logger.Trace($"ProfileItem/GetWindowsScreenPositions: Position of the taskbar on display {targetId} is on the {screen.TaskBarEdge } of the screen."); } diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index 50e882a..9574016 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -1356,7 +1356,7 @@ namespace DisplayMagicianShared // Figure out the Video Cards and see what mode we want // Get a list of all the PCI Vendor IDs - List videoCardVendors = WinLibrary.GetLibrary().GetCurrentPCIVideoCardVendors(); + List videoCardVendors = WinLibrary.GetLibrary().GetAllPCIVideoCardVendors(); if (NVIDIALibrary.GetLibrary().IsInstalled && NVIDIALibrary.GetLibrary().PCIVendorIDs.All(value => videoCardVendors.Contains(value))) { // We detected a NVIDIA video card in the computer diff --git a/DisplayMagicianShared/Windows/TaskBarLayout.cs b/DisplayMagicianShared/Windows/TaskBarLayout.cs index 2278715..336eec3 100644 --- a/DisplayMagicianShared/Windows/TaskBarLayout.cs +++ b/DisplayMagicianShared/Windows/TaskBarLayout.cs @@ -771,15 +771,7 @@ namespace DisplayMagicianShared.Windows retryNeeded = true; } } - - // Check if the length of the display sources equals the taskbar locations we're tracking - // Note: taskBarStuckRectangles includes the 'Settings' main screen which is one extra screen that windows stores for the primary screen. We need to remove this from the count as it is extra. - if (displaySources.Count != taskBarStuckRectangles.Keys.Count - 1) - { - SharedLogger.logger.Error($"TaskBarLayout/GetAllCurrentTaskBarPositions: We have an error because Display Sources array length doesn't match the taskBarStuckRectangles array length. This means we have a mismatch somewhere."); - retryNeeded = true; - } - + retryNeeded = false; return taskBarStuckRectangles; } diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index e19959c..5b1ac85 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -254,35 +254,35 @@ namespace DisplayMagicianShared.Windows { Dictionary adapterOldToNewMap = new Dictionary(); - Dictionary currentAdapterMap = GetCurrentAdapterIDs(); + Dictionary currentAdapterMap = GetAllAdapterIDs(); try { - SharedLogger.logger.Trace("WinLibrary/PatchAdapterIDs: Going through the list of adapters we stored in the config to figure out the old adapterIDs"); + SharedLogger.logger.Trace("WinLibrary/PatchWindowsDisplayConfig: Going through the list of adapters we stored in the config to figure out the old adapterIDs"); foreach (KeyValuePair savedAdapter in savedDisplayConfig.DisplayAdapters) { bool adapterMatched = false; foreach (KeyValuePair currentAdapter in currentAdapterMap) { - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Checking if saved adapter {savedAdapter.Key} (AdapterName is {savedAdapter.Value}) is equal to current adapter id {currentAdapter.Key} (AdapterName is {currentAdapter.Value})"); + SharedLogger.logger.Trace($"WinLibrary/PatchWindowsDisplayConfig: Checking if saved adapter {savedAdapter.Key} (AdapterName is {savedAdapter.Value}) is equal to current adapter id {currentAdapter.Key} (AdapterName is {currentAdapter.Value})"); if (currentAdapter.Value.Equals(savedAdapter.Value)) { // we have found the new LUID Value for the same adapter // So we want to store it - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: We found that saved adapter {savedAdapter.Key} has now been assigned adapter id {currentAdapter.Key} (AdapterName is {savedAdapter.Value})"); + SharedLogger.logger.Trace($"WinLibrary/PatchWindowsDisplayConfig: We found that saved adapter {savedAdapter.Key} has now been assigned adapter id {currentAdapter.Key} (AdapterName is {savedAdapter.Value})"); adapterOldToNewMap.Add(savedAdapter.Key, currentAdapter.Key); adapterMatched = true; } } if (!adapterMatched) { - SharedLogger.logger.Error($"WinLibrary/PatchAdapterIDs: Saved adapter {savedAdapter.Key} (AdapterName is {savedAdapter.Value}) doesn't have a current match! The adapters have changed since the configuration was last saved."); + SharedLogger.logger.Error($"WinLibrary/PatchWindowsDisplayConfig: Saved adapter {savedAdapter.Key} (AdapterName is {savedAdapter.Value}) doesn't have a current match! The adapters have changed since the configuration was last saved."); } } } catch (Exception ex) { - SharedLogger.logger.Error(ex, "WinLibrary/PatchAdapterIDs: Exception while going through the list of adapters we stored in the config to figure out the old adapterIDs"); + SharedLogger.logger.Error(ex, "WinLibrary/PatchWindowsDisplayConfig: Exception while going through the list of adapters we stored in the config to figure out the old adapterIDs"); } ulong newAdapterValue = 0; @@ -291,7 +291,7 @@ namespace DisplayMagicianShared.Windows try { // Update the DisplayAdapters with the current adapter id - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Going through the display adatpers to update the adapter id"); + SharedLogger.logger.Trace($"WinLibrary/PatchWindowsDisplayConfig: Going through the display adatpers to update the adapter id"); ulong[] currentKeys = savedDisplayConfig.DisplayAdapters.Keys.ToArray(); var currentLength = savedDisplayConfig.DisplayAdapters.Count; for (int i = 0; i < currentLength; i++) @@ -311,19 +311,19 @@ namespace DisplayMagicianShared.Windows // Remove the old dictionary key savedDisplayConfig.DisplayAdapters.Remove(oldAdapterValue); } - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Updated DisplayAdapter from adapter {oldAdapterValue} to adapter {newAdapterValue} instead."); + SharedLogger.logger.Trace($"WinLibrary/PatchWindowsDisplayConfig: Updated DisplayAdapter from adapter {oldAdapterValue} to adapter {newAdapterValue} instead."); } } } catch (Exception ex) { - SharedLogger.logger.Error(ex, "WinLibrary/PatchAdapterIDs: Exception while going through the display adapters update the adapter ids"); + SharedLogger.logger.Error(ex, "WinLibrary/PatchWindowsDisplayConfig: Exception while going through the display adapters update the adapter ids"); } try { // Update the paths with the current adapter id - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Going through the display config paths to update the adapter id"); + SharedLogger.logger.Trace($"WinLibrary/PatchWindowsDisplayConfig: Going through the display config paths to update the adapter id"); for (int i = 0; i < savedDisplayConfig.DisplayConfigPaths.Length; i++) { // Change the Path SourceInfo and TargetInfo AdapterIDs @@ -334,14 +334,14 @@ namespace DisplayMagicianShared.Windows savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId = AdapterValueToLUID(newAdapterValue); newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayConfigPaths[i].TargetInfo.AdapterId.Value]; savedDisplayConfig.DisplayConfigPaths[i].TargetInfo.AdapterId = AdapterValueToLUID(newAdapterValue); - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Updated DisplayConfig Path #{i} from adapter {savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value} to adapter {newAdapterValue} instead."); + SharedLogger.logger.Trace($"WinLibrary/PatchWindowsDisplayConfig: Updated DisplayConfig Path #{i} from adapter {savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value} to adapter {newAdapterValue} instead."); } else { // if there isn't a matching adapter, then we just pick the first current one and hope that works! // (it is highly likely to... its only if the user has multiple graphics cards with some weird config it may break) newAdapterValue = currentAdapterMap.First().Key; - SharedLogger.logger.Warn($"WinLibrary/PatchAdapterIDs: Uh Oh. Adapter {savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value} didn't have a current match! It's possible the adapter was swapped or disabled. Attempting to use adapter {newAdapterValue} instead."); + SharedLogger.logger.Warn($"WinLibrary/PatchWindowsDisplayConfig: Uh Oh. Adapter {savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value} didn't have a current match! It's possible the adapter was swapped or disabled. Attempting to use adapter {newAdapterValue} instead."); savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId = AdapterValueToLUID(newAdapterValue); savedDisplayConfig.DisplayConfigPaths[i].TargetInfo.AdapterId = AdapterValueToLUID(newAdapterValue); } @@ -349,13 +349,13 @@ namespace DisplayMagicianShared.Windows } catch (Exception ex) { - SharedLogger.logger.Error(ex, "WinLibrary/PatchAdapterIDs: Exception while going through the display config paths to update the adapter id"); + SharedLogger.logger.Error(ex, "WinLibrary/PatchWindowsDisplayConfig: Exception while going through the display config paths to update the adapter id"); } try { - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Going through the display config modes to update the adapter id"); + SharedLogger.logger.Trace($"WinLibrary/PatchWindowsDisplayConfig: Going through the display config modes to update the adapter id"); // Update the modes with the current adapter id for (int i = 0; i < savedDisplayConfig.DisplayConfigModes.Length; i++) { @@ -365,27 +365,27 @@ namespace DisplayMagicianShared.Windows // We get here if there is a matching adapter newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayConfigModes[i].AdapterId.Value]; savedDisplayConfig.DisplayConfigModes[i].AdapterId = AdapterValueToLUID(newAdapterValue); - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Updated DisplayConfig Mode #{i} from adapter {savedDisplayConfig.DisplayConfigModes[i].AdapterId.Value} to adapter {newAdapterValue} instead."); + SharedLogger.logger.Trace($"WinLibrary/PatchWindowsDisplayConfig: Updated DisplayConfig Mode #{i} from adapter {savedDisplayConfig.DisplayConfigModes[i].AdapterId.Value} to adapter {newAdapterValue} instead."); } else { // if there isn't a matching adapter, then we just pick the first current one and hope that works! // (it is highly likely to... its only if the user has multiple graphics cards with some weird config it may break) newAdapterValue = currentAdapterMap.First().Key; - SharedLogger.logger.Warn($"WinLibrary/PatchAdapterIDs: Uh Oh. Adapter {savedDisplayConfig.DisplayConfigModes[i].AdapterId.Value} didn't have a current match! It's possible the adapter was swapped or disabled. Attempting to use adapter {newAdapterValue} instead."); + SharedLogger.logger.Warn($"WinLibrary/PatchWindowsDisplayConfig: Uh Oh. Adapter {savedDisplayConfig.DisplayConfigModes[i].AdapterId.Value} didn't have a current match! It's possible the adapter was swapped or disabled. Attempting to use adapter {newAdapterValue} instead."); savedDisplayConfig.DisplayConfigModes[i].AdapterId = AdapterValueToLUID(newAdapterValue); } } } catch (Exception ex) { - SharedLogger.logger.Error(ex, "WinLibrary/PatchAdapterIDs: Exception while going through the display config modes to update the adapter id"); + SharedLogger.logger.Error(ex, "WinLibrary/PatchWindowsDisplayConfig: Exception while going through the display config modes to update the adapter id"); } try { - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Going through the display config HDR info to update the adapter id"); + SharedLogger.logger.Trace($"WinLibrary/PatchWindowsDisplayConfig: Going through the display config HDR info to update the adapter id"); if (savedDisplayConfig.DisplayHDRStates.Count > 0) { // Update the HDRInfo with the current adapter id @@ -395,7 +395,7 @@ namespace DisplayMagicianShared.Windows // Change the Mode AdapterID if (adapterOldToNewMap.ContainsKey(savedDisplayConfig.DisplayHDRStates[i].AdapterId.Value)) { - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: adapterOldToNewMap contains adapter {savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value} so using the new adapter ID of {newAdapterValue} instead."); + SharedLogger.logger.Trace($"WinLibrary/PatchWindowsDisplayConfig: adapterOldToNewMap contains adapter {savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value} so using the new adapter ID of {newAdapterValue} instead."); // We get here if there is a matching adapter newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayHDRStates[i].AdapterId.Value]; hdrInfo.AdapterId = AdapterValueToLUID(newAdapterValue); @@ -403,14 +403,14 @@ namespace DisplayMagicianShared.Windows hdrInfo.AdvancedColorInfo.Header.AdapterId = AdapterValueToLUID(newAdapterValue); newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayHDRStates[i].SDRWhiteLevel.Header.AdapterId.Value]; hdrInfo.SDRWhiteLevel.Header.AdapterId = AdapterValueToLUID(newAdapterValue); - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Updated Display HDR state #{i} from adapter {savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value} to adapter {newAdapterValue} instead."); + SharedLogger.logger.Trace($"WinLibrary/PatchWindowsDisplayConfig: Updated Display HDR state #{i} from adapter {savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value} to adapter {newAdapterValue} instead."); } else { // if there isn't a matching adapter, then we just pick the first current one and hope that works! // (it is highly likely to... its only if the user has multiple graphics cards with some weird config it may break) newAdapterValue = currentAdapterMap.First().Key; - SharedLogger.logger.Warn($"WinLibrary/PatchAdapterIDs: Uh Oh. Adapter {savedDisplayConfig.DisplayHDRStates[i].AdapterId.Value} didn't have a current match! It's possible the adapter was swapped or disabled. Attempting to use adapter {newAdapterValue} instead."); + SharedLogger.logger.Warn($"WinLibrary/PatchWindowsDisplayConfig: Uh Oh. Adapter {savedDisplayConfig.DisplayHDRStates[i].AdapterId.Value} didn't have a current match! It's possible the adapter was swapped or disabled. Attempting to use adapter {newAdapterValue} instead."); hdrInfo.AdapterId = AdapterValueToLUID(newAdapterValue); hdrInfo.AdvancedColorInfo.Header.AdapterId = AdapterValueToLUID(newAdapterValue); hdrInfo.SDRWhiteLevel.Header.AdapterId = AdapterValueToLUID(newAdapterValue); @@ -420,18 +420,18 @@ namespace DisplayMagicianShared.Windows } else { - SharedLogger.logger.Warn($"WinLibrary/PatchAdapterIDs: There are no Display HDR states to update. Skipping."); + SharedLogger.logger.Warn($"WinLibrary/PatchWindowsDisplayConfig: There are no Display HDR states to update. Skipping."); } } catch (Exception ex) { - SharedLogger.logger.Error(ex, "WinLibrary/PatchAdapterIDs: Exception while going through the display config HDR info to update the adapter id"); + SharedLogger.logger.Error(ex, "WinLibrary/PatchWindowsDisplayConfig: Exception while going through the display config HDR info to update the adapter id"); } try { - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Going through the display sources list info to update the adapter id"); + SharedLogger.logger.Trace($"WinLibrary/PatchWindowsDisplayConfig: Going through the display sources list info to update the adapter id"); // Update the DisplaySources with the current adapter id for (int i = 0; i < savedDisplayConfig.DisplaySources.Count; i++) { @@ -447,7 +447,7 @@ namespace DisplayMagicianShared.Windows // We get here if there is a matching adapter newAdapterValue = adapterOldToNewMap[ds.AdapterId.Value]; ds.AdapterId = AdapterValueToLUID(newAdapterValue); - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Updated DisplaySource #{i} from adapter {savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value} to adapter {newAdapterValue} instead."); + SharedLogger.logger.Trace($"WinLibrary/PatchWindowsDisplayConfig: Updated DisplaySource #{i} from adapter {savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value} to adapter {newAdapterValue} instead."); } else { @@ -464,7 +464,7 @@ namespace DisplayMagicianShared.Windows } catch (Exception ex) { - SharedLogger.logger.Error(ex, "WinLibrary/PatchAdapterIDs: Exception while going through the display sources list info to update the adapter id"); + SharedLogger.logger.Error(ex, "WinLibrary/PatchWindowsDisplayConfig: Exception while going through the display sources list info to update the adapter id"); } } @@ -668,7 +668,7 @@ namespace DisplayMagicianShared.Windows paths[i].TargetInfo.ModeInfoIdx = CCDImport.DISPLAYCONFIG_PATH_MODE_IDX_INVALID; } - // Get adapter ID for later + /*// Get adapter ID for later SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get adapter name for adapter {paths[i].TargetInfo.AdapterId.Value}."); if (!windowsDisplayConfig.DisplayAdapters.ContainsKey(paths[i].TargetInfo.AdapterId.Value)) { @@ -695,7 +695,7 @@ namespace DisplayMagicianShared.Windows // We already have the adapter name SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: We already have the adapter name {windowsDisplayConfig.DisplayAdapters[paths[i].TargetInfo.AdapterId.Value]} for adapter {paths[i].TargetInfo.AdapterId.Value} so skipping storing it."); //gotAdapterName = true; - } + }*/ // Get advanced color info @@ -774,6 +774,9 @@ namespace DisplayMagicianShared.Windows } } + // Get all the DisplayAdapters currently in the system + // This will be used for windows to translate the adapter details beween reboots + windowsDisplayConfig.DisplayAdapters = GetAllAdapterIDs(); // Go through the list of physicalTargetIdsAvailable // ignore the ones that were found @@ -2132,7 +2135,7 @@ namespace DisplayMagicianShared.Windows return displayIdentifiers; } - public List GetCurrentPCIVideoCardVendors() + public List GetAllPCIVideoCardVendors() { SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: Getting the current PCI vendor ids for the videocards reported to Windows"); List videoCardVendorIds = new List(); @@ -2283,56 +2286,56 @@ namespace DisplayMagicianShared.Windows } - public Dictionary GetCurrentAdapterIDs() + public Dictionary GetAllAdapterIDs() { - SharedLogger.logger.Trace($"WinLibrary/GetCurrentAdapterIDs: Getting the current adapter ids for the videocards Windows knows about"); + SharedLogger.logger.Trace($"WinLibrary/GetAllAdapterIDs: Getting the current adapter ids for the videocards Windows knows about"); Dictionary currentAdapterMap = new Dictionary(); - SharedLogger.logger.Trace($"WinLibrary/GetCurrentAdapterIDs: Testing whether the display configuration is valid (allowing tweaks)."); + SharedLogger.logger.Trace($"WinLibrary/GetAllAdapterIDs: Testing whether the display configuration is valid (allowing tweaks)."); // Get the size of the largest All Paths and Modes arrays int pathCount = 0; int modeCount = 0; WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ALL_PATHS, out pathCount, out modeCount); if (err != WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Error($"WinLibrary/GetCurrentAdapterIDs: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); - throw new WinLibraryException($"GetCurrentAdapterIDs returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); + SharedLogger.logger.Error($"WinLibrary/GetAllAdapterIDs: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); + throw new WinLibraryException($"GetAllAdapterIDs returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); } - SharedLogger.logger.Trace($"WinLibrary/GetCurrentAdapterIDs: Getting the current Display Config path and mode arrays"); + SharedLogger.logger.Trace($"WinLibrary/GetAllAdapterIDs: Getting the current Display Config path and mode arrays"); var paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; var modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; err = CCDImport.QueryDisplayConfig(QDC.QDC_ALL_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) { - SharedLogger.logger.Warn($"WinLibrary/GetCurrentAdapterIDs: The displays were modified between GetDisplayConfigBufferSizes and QueryDisplayConfig so we need to get the buffer sizes again."); - SharedLogger.logger.Trace($"WinLibrary/GetCurrentAdapterIDs: Getting the size of the largest Active Paths and Modes arrays"); + SharedLogger.logger.Warn($"WinLibrary/GetAllAdapterIDs: The displays were modified between GetDisplayConfigBufferSizes and QueryDisplayConfig so we need to get the buffer sizes again."); + SharedLogger.logger.Trace($"WinLibrary/GetAllAdapterIDs: Getting the size of the largest Active Paths and Modes arrays"); // Screen changed in between GetDisplayConfigBufferSizes and QueryDisplayConfig, so we need to get buffer sizes again // as per https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-querydisplayconfig err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ALL_PATHS, out pathCount, out modeCount); if (err != WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Error($"WinLibrary/GetCurrentAdapterIDs: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); + SharedLogger.logger.Error($"WinLibrary/GetAllAdapterIDs: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); } - SharedLogger.logger.Trace($"WinLibrary/GetCurrentAdapterIDs: Getting the current Display Config path and mode arrays"); + SharedLogger.logger.Trace($"WinLibrary/GetAllAdapterIDs: Getting the current Display Config path and mode arrays"); paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; err = CCDImport.QueryDisplayConfig(QDC.QDC_ALL_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) { - SharedLogger.logger.Error($"WinLibrary/GetCurrentAdapterIDs: ERROR - The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); + SharedLogger.logger.Error($"WinLibrary/GetAllAdapterIDs: ERROR - The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); throw new WinLibraryException($"The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); } else if (err != WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Error($"WinLibrary/GetCurrentAdapterIDs: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again"); + SharedLogger.logger.Error($"WinLibrary/GetAllAdapterIDs: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again"); throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again."); } } else if (err != WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Error($"WinLibrary/GetCurrentAdapterIDs: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays"); + SharedLogger.logger.Error($"WinLibrary/GetAllAdapterIDs: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays"); throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays."); } @@ -2341,7 +2344,7 @@ namespace DisplayMagicianShared.Windows if (path.TargetInfo.TargetAvailable == false) { // We want to skip this one cause it's not valid - SharedLogger.logger.Trace($"WinLibrary/GetCurrentAdapterIDs: Skipping path due to TargetAvailable not existing in display #{path.TargetInfo.Id}"); + SharedLogger.logger.Trace($"WinLibrary/GetAllAdapterIDs: Skipping path due to TargetAvailable not existing in display #{path.TargetInfo.Id}"); continue; } @@ -2354,12 +2357,12 @@ namespace DisplayMagicianShared.Windows err = CCDImport.DisplayConfigGetDeviceInfo(ref adapterInfo); if (err == WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Trace($"WinLibrary/GetCurrentAdapterIDs: Successfully got the display name info from {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetAllAdapterIDs: Successfully got the display name info from {path.TargetInfo.Id}."); currentAdapterMap[path.TargetInfo.AdapterId.Value] = adapterInfo.AdapterDevicePath; } else { - SharedLogger.logger.Warn($"WinLibrary/GetCurrentAdapterIDs: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target info for display #{path.TargetInfo.Id}"); + SharedLogger.logger.Warn($"WinLibrary/GetAllAdapterIDs: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target info for display #{path.TargetInfo.Id}"); } } From 076f9524cd0592e143bef38b7eb9206103c47ca8 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 17 Jun 2022 10:34:31 +1200 Subject: [PATCH 39/60] Remove unneeded NvAPI_Mosaic_GetSupportedTopoInfo function This function isn't needed, but seems to be unreliable when it's used. So diabling it within NVIDIALibrary to reduce the chances of there being memory errors thrown. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 4 ++-- displaymagician/uiforms/displayprofileform.cs | 12 ++++++++++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 8811f86..25735d2 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.41")] -[assembly: AssemblyFileVersion("2.4.0.41")] +[assembly: AssemblyVersion("2.4.0.43")] +[assembly: AssemblyFileVersion("2.4.0.43")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index 2777dfd..b48f5fe 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -470,7 +470,7 @@ namespace DisplayMagicianShared.NVIDIA } // Get current Supported Mosaic Topology info (check whether Mosaic is on) - NV_MOSAIC_SUPPORTED_TOPO_INFO_V2 mosaicSupportedTopoInfo = new NV_MOSAIC_SUPPORTED_TOPO_INFO_V2(); + /*NV_MOSAIC_SUPPORTED_TOPO_INFO_V2 mosaicSupportedTopoInfo = new NV_MOSAIC_SUPPORTED_TOPO_INFO_V2(); NVStatus = NVImport.NvAPI_Mosaic_GetSupportedTopoInfo(ref mosaicSupportedTopoInfo, NV_MOSAIC_TOPO_TYPE.ALL); if (NVStatus == NVAPI_STATUS.NVAPI_OK) { @@ -513,7 +513,7 @@ namespace DisplayMagicianShared.NVIDIA else { SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: There are no valid Mosaic Topologies available with this display layout."); - } + }*/ // Get current Mosaic Topology settings in brief (check whether Mosaic is on) NV_MOSAIC_TOPO_BRIEF mosaicTopoBrief = new NV_MOSAIC_TOPO_BRIEF(); diff --git a/displaymagician/uiforms/displayprofileform.cs b/displaymagician/uiforms/displayprofileform.cs index 8e1c738..925b6ac 100644 --- a/displaymagician/uiforms/displayprofileform.cs +++ b/displaymagician/uiforms/displayprofileform.cs @@ -81,6 +81,12 @@ namespace DisplayMagician.UIForms logger.Error($"DisplayProfileForm/Apply_Click: Error applying the Profile {_selectedProfile.Name}. Unable to change the display layout."); } + // Recenter the Window + RecenterWindow(); + } + + private void RecenterWindow() + { // Center the MainAppForm Program.AppMainForm.Top = (Screen.PrimaryScreen.Bounds.Height - Program.AppMainForm.Height) / 2; Program.AppMainForm.Left = (Screen.PrimaryScreen.Bounds.Width - Program.AppMainForm.Width) / 2; @@ -545,14 +551,16 @@ namespace DisplayMagician.UIForms ChangeSelectedProfile(ProfileRepository.GetActiveProfile()); // Refresh the Profile UI RefreshDisplayProfileUI(); + // Recenter the Window + RecenterWindow(); } private void txt_profile_save_name_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode.Equals(Keys.Enter)) { - MessageBox.Show("Click works!", "Click works", MessageBoxButtons.OK, MessageBoxIcon.Information); - + //MessageBox.Show("Click works!", "Click works", MessageBoxButtons.OK, MessageBoxIcon.Information); + btn_save.PerformClick(); } } From 9827cfac9aacfeae9d6b8234fcd622a296e6b114 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 18 Jun 2022 21:31:37 +1200 Subject: [PATCH 40/60] Fixed excessive config gathering The NVAPI and Windows APIs were checked multiple times in a row due to a logic error. THis has been partially corrected, but needs a lot of work to straighten it out. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/UIForms/DisplayProfileForm.cs | 12 ++++++++++-- DisplayMagicianShared/ProfileRepository.cs | 19 +++++++++++++++++-- 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 25735d2..2fe96e9 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.43")] -[assembly: AssemblyFileVersion("2.4.0.43")] +[assembly: AssemblyVersion("2.4.0.48")] +[assembly: AssemblyFileVersion("2.4.0.48")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/DisplayProfileForm.cs b/DisplayMagician/UIForms/DisplayProfileForm.cs index 925b6ac..9621f30 100644 --- a/DisplayMagician/UIForms/DisplayProfileForm.cs +++ b/DisplayMagician/UIForms/DisplayProfileForm.cs @@ -59,7 +59,8 @@ namespace DisplayMagician.UIForms return; } - + ProfileRepository.UserChangingProfiles = true; + // Apply the Profile //if (ProfileRepository.ApplyProfile(_selectedProfile) == ApplyProfileResult.Successful) ApplyProfileResult result = Program.ApplyProfileTask(_selectedProfile); @@ -83,6 +84,8 @@ namespace DisplayMagician.UIForms // Recenter the Window RecenterWindow(); + + ProfileRepository.UserChangingProfiles = false; } private void RecenterWindow() @@ -543,6 +546,7 @@ namespace DisplayMagician.UIForms private void btn_view_current_Click(object sender, EventArgs e) { + ProfileRepository.UserChangingProfiles = true; // Refresh the profiles to see whats valid ProfileRepository.IsPossibleRefresh(); // Reload the profiles in case we swapped to another program to change it @@ -553,6 +557,7 @@ namespace DisplayMagician.UIForms RefreshDisplayProfileUI(); // Recenter the Window RecenterWindow(); + ProfileRepository.UserChangingProfiles = false; } private void txt_profile_save_name_KeyDown(object sender, KeyEventArgs e) @@ -593,7 +598,10 @@ namespace DisplayMagician.UIForms case WM_DISPLAYCHANGE: logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us the display has changed. Updating the current view by running btn_view_current."); - btn_view_current.PerformClick(); + if (!ProfileRepository.UserChangingProfiles) + { + btn_view_current.PerformClick(); + } break; // This auto taskbar detection logic just doesn't work at the moment diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index 9574016..62f90f1 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -61,6 +61,7 @@ namespace DisplayMagicianShared private static VIDEO_MODE _currentVideoMode = VIDEO_MODE.WINDOWS; private static FORCED_VIDEO_MODE _forcedVideoMode = FORCED_VIDEO_MODE.DETECT; private static bool _pauseReadsUntilChangeCompleted = false; + private static bool _userChangingProfiles = false; // Other constants that are useful public static string AppDataPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "DisplayMagician"); @@ -225,6 +226,18 @@ namespace DisplayMagicianShared } } + public static bool UserChangingProfiles + { + get + { + return _userChangingProfiles; + } + set + { + _userChangingProfiles = value; + } + } + #endregion #region Class Methods @@ -1298,6 +1311,8 @@ namespace DisplayMagicianShared // We stop the stop watch stopWatch.Stop(); _pauseReadsUntilChangeCompleted = false; + // Pause for a bit to let things settle + Thread.Sleep(500); // Get the elapsed time as a TimeSpan value. TimeSpan ts = stopWatch.Elapsed; string result = "failed"; @@ -1374,7 +1389,7 @@ namespace DisplayMagicianShared } } - if (_currentVideoMode == VIDEO_MODE.NVIDIA) + if (_currentVideoMode == VIDEO_MODE.NVIDIA && !(nvidiaLibrary is NVIDIALibrary)) { // Initialise the the NVIDIA NvAPI Library try @@ -1388,7 +1403,7 @@ namespace DisplayMagicianShared return false; } } - else if (_currentVideoMode == VIDEO_MODE.AMD) + else if (_currentVideoMode == VIDEO_MODE.AMD && !(amdLibrary is AMDLibrary)) { // Initialise the the AMD ADL Library try From 61a24534b16335eec163b00c415670792a3182b7 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 21 Jun 2022 19:00:48 +1200 Subject: [PATCH 41/60] Added more extensive logging at program start This is to help troubleshoot errors in #123 --- DisplayMagician/Program.cs | 235 +++++++++++------- displaymagician/uiforms/displayprofileform.cs | 12 +- 2 files changed, 158 insertions(+), 89 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 9c19b97..629643f 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -290,45 +290,65 @@ namespace DisplayMagician { try { Directory.CreateDirectory(AppIconPath); + logger.Trace($"Program/Main: Created the Application Icon Folder {AppIconPath}"); } catch (Exception ex) { - logger.Error(ex, $"Program/Main: exception: Cannot create the Application Icon Folder {AppLogPath}"); + logger.Error(ex, $"Program/Main: exception: Cannot create the Application Icon Folder {AppIconPath}"); } } + else + { + logger.Trace($"Program/Main: Application Icon Folder {AppIconPath} already exists so skipping creating it"); + } if (!Directory.Exists(AppProfilePath)) { try { Directory.CreateDirectory(AppProfilePath); + logger.Trace($"Program/Main: Created the Application Profile Folder {AppProfilePath}"); } catch (Exception ex) { logger.Error(ex, $"Program/Main: exception: Cannot create the Application Profile Folder {AppProfilePath}"); } } + else + { + logger.Trace($"Program/Main: Application Profile Folder {AppProfilePath} already exists so skipping creating it"); + } if (!Directory.Exists(AppShortcutPath)) { try { Directory.CreateDirectory(AppShortcutPath); + logger.Trace($"Program/Main: Created the Application Shortcut Folder {AppShortcutPath}"); } catch (Exception ex) { logger.Error(ex, $"Program/Main: exception: Cannot create the Application Shortcut Folder {AppShortcutPath}"); } } + else + { + logger.Trace($"Program/Main: Application Shortcut Folder {AppShortcutPath} already exists so skipping creating it"); + } if (!Directory.Exists(AppWallpaperPath)) { try { Directory.CreateDirectory(AppWallpaperPath); + logger.Trace($"Program/Main: Created the Application Wallpaper Folder {AppWallpaperPath}"); } catch (Exception ex) { logger.Error(ex, $"Program/Main: exception: Cannot create the Application Wallpaper Folder {AppWallpaperPath}"); } } + else + { + logger.Trace($"Program/Main: Application Wallpaper Folder {AppWallpaperPath} already exists so skipping creating it"); + } // Write the Application Name Console.WriteLine($"{Application.ProductName} v{Application.ProductVersion}"); @@ -339,7 +359,7 @@ namespace DisplayMagician { Console.WriteLine("="); Console.WriteLine($"Copyright © Terry MacDonald 2020-{DateTime.Today.Year}"); Console.WriteLine(@"Derived from Helios Display Management - Copyright © Soroush Falahati 2017-2020"); - + logger.Trace($"Program/Main: Setting visual styles and rendering mode"); //Application.SetHighDpiMode(HighDpiMode.SystemAware); Application.EnableVisualStyles(); @@ -349,6 +369,7 @@ namespace DisplayMagician { // Check if it's an upgrade from DisplayMagician v2.x to v2.2 // and if it is then copy the old configs to the new filenames and // explain to the user what they need to do. + logger.Trace($"Program/Main: Attempting to upgrade earlier DisplayMagician Display Profile files if required"); //string dp24 = Path.Combine(AppProfilePath, "DisplayProfiles_2.4.json"); string dp23 = Path.Combine(AppProfilePath, "DisplayProfiles_2.3.json"); @@ -360,85 +381,97 @@ namespace DisplayMagician { // This is the latest displayprofile config file string targetdp = ProfileRepository.ProfileStorageFileName; - // Now always try to get the latest one - if (File.Exists(dp23) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) + try { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.3 to DisplayMagician v2.4, so informing the user."); - - File.Move(dp23, $"{dp23}.old"); - - // Warn the user about the fact we need them to recreate their Display Profiles again! - StartMessageForm myMessageWindow = new StartMessageForm(); - myMessageWindow.MessageMode = "rtf"; - myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; - myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; - myMessageWindow.ButtonText = "&Close"; - myMessageWindow.ShowDialog(); - } - else if (File.Exists(dp22) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) - { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.2 to DisplayMagician v2.4, so informing the user."); - - File.Move(dp22, $"{dp22}.old"); - - // Warn the user about the fact we need them to recreate their Display Profiles again! - StartMessageForm myMessageWindow = new StartMessageForm(); - myMessageWindow.MessageMode = "rtf"; - myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; - myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; - myMessageWindow.ButtonText = "&Close"; - myMessageWindow.ShowDialog(); - } - else if (File.Exists(dp21) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) - { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.1 to DisplayMagician v2.4, so informing the user."); - - File.Move(dp21, $"{dp21}.old"); - - // Warn the user about the fact we need them to recreate their Display Profiles again! - StartMessageForm myMessageWindow = new StartMessageForm(); - myMessageWindow.MessageMode = "rtf"; - myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; - myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; - myMessageWindow.ButtonText = "&Close"; - myMessageWindow.ShowDialog(); - } - else if (File.Exists(dp20) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) - { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.0 to DisplayMagician v2.4, so informing the user."); - - File.Move(dp20, $"{dp20}.old"); - - // Warn the user about the fact we need them to recreate their Display Profiles again! - StartMessageForm myMessageWindow = new StartMessageForm(); - myMessageWindow.MessageMode = "rtf"; - myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; - myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; - myMessageWindow.ButtonText = "&Close"; - myMessageWindow.ShowDialog(); - } - // Check if it's an upgrade from DisplayMagician v1 to v2 - // and if it is then copy the old configs to the new filenames and - // explain to the user what they need to do. - // e.g. DisplayProfiles_1.0.json exists, but DisplayProfiles_2.2.json doesn't - else if (File.Exists(dp10) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) - { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v1.0 to DisplayMagician v2.4, so performing some upgrade steps."); - // Note whether we copied the old Settings file to the new v2 name earlier (before the logging was enabled) - if (upgradedSettingsFile) + // Now always try to get the latest one + if (File.Exists(dp23) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) { - logger.Info($"Program/Main: Upgraded old settings file to settings file {targetSettingsFile} earlier in loading process (before logging service was available)."); + logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.3 to DisplayMagician v2.4, so informing the user."); + + File.Move(dp23, $"{dp23}.old"); + + // Warn the user about the fact we need them to recreate their Display Profiles again! + StartMessageForm myMessageWindow = new StartMessageForm(); + myMessageWindow.MessageMode = "rtf"; + myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; + myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; + myMessageWindow.ButtonText = "&Close"; + myMessageWindow.ShowDialog(); } + else if (File.Exists(dp22) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) + { + logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.2 to DisplayMagician v2.4, so informing the user."); - File.Move(dp10, $"{dp10}.old"); + File.Move(dp22, $"{dp22}.old"); - // Warn the user about the fact we need a new DisplayProfiles_2.0.json - StartMessageForm myMessageWindow = new StartMessageForm(); - myMessageWindow.MessageMode = "rtf"; - myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; - myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; - myMessageWindow.ButtonText = "&Close"; - myMessageWindow.ShowDialog(); + // Warn the user about the fact we need them to recreate their Display Profiles again! + StartMessageForm myMessageWindow = new StartMessageForm(); + myMessageWindow.MessageMode = "rtf"; + myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; + myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; + myMessageWindow.ButtonText = "&Close"; + myMessageWindow.ShowDialog(); + } + else if (File.Exists(dp21) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) + { + logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.1 to DisplayMagician v2.4, so informing the user."); + + File.Move(dp21, $"{dp21}.old"); + + // Warn the user about the fact we need them to recreate their Display Profiles again! + StartMessageForm myMessageWindow = new StartMessageForm(); + myMessageWindow.MessageMode = "rtf"; + myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; + myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; + myMessageWindow.ButtonText = "&Close"; + myMessageWindow.ShowDialog(); + } + else if (File.Exists(dp20) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) + { + logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.0 to DisplayMagician v2.4, so informing the user."); + + File.Move(dp20, $"{dp20}.old"); + + // Warn the user about the fact we need them to recreate their Display Profiles again! + StartMessageForm myMessageWindow = new StartMessageForm(); + myMessageWindow.MessageMode = "rtf"; + myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; + myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; + myMessageWindow.ButtonText = "&Close"; + myMessageWindow.ShowDialog(); + } + // Check if it's an upgrade from DisplayMagician v1 to v2 + // and if it is then copy the old configs to the new filenames and + // explain to the user what they need to do. + // e.g. DisplayProfiles_1.0.json exists, but DisplayProfiles_2.2.json doesn't + else if (File.Exists(dp10) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) + { + logger.Info($"Program/Main: This is an upgrade from DisplayMagician v1.0 to DisplayMagician v2.4, so performing some upgrade steps."); + + File.Move(dp10, $"{dp10}.old"); + + // Warn the user about the fact we need a new DisplayProfiles_2.0.json + StartMessageForm myMessageWindow = new StartMessageForm(); + myMessageWindow.MessageMode = "rtf"; + myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; + myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; + myMessageWindow.ButtonText = "&Close"; + myMessageWindow.ShowDialog(); + } + else + { + logger.Trace($"Program/Main: DisplayMagician Display Profile files do not require upgrading so skipping"); + } + } + catch (Exception ex) + { + logger.Error(ex, $"Program/Main: Exception upgrading old Display Profile files to v2.2 shortcut file {targetdp}."); + } + + // Note whether we copied the old Settings file to the new v2 name earlier (before the logging was enabled) + if (upgradedSettingsFile) + { + logger.Info($"Program/Main: Upgraded old settings file to settings file {targetSettingsFile} earlier in loading process (before logging service was available)."); } // Also upgrade the Shortcuts file if it's needed @@ -459,14 +492,18 @@ namespace DisplayMagician { File.Copy(oldv1ShortcutsFile, targetShortcutsFile); File.Move(oldv1ShortcutsFile, $"{oldv1ShortcutsFile}.old"); } - + else + { + logger.Trace($"Program/Main: DisplayMagician Shortcut files do not require upgrading so skipping"); + } + } catch (Exception ex) { logger.Error(ex, $"Program/Main: Exception upgrading old shortcut file to v2.2 shortcut file {targetShortcutsFile}."); } - logger.Debug($"Program/Main: Setting up commandline processing configuration"); + logger.Trace($"Program/Main: Setting up commandline processing configuration"); var app = new CommandLineApplication { AllowArgumentSeparator = true, @@ -490,12 +527,16 @@ namespace DisplayMagician { CommandOption trace = app.Option("--trace", "Generate a DisplayMagician.log trace-level log file", CommandOptionType.NoValue); CommandOption forcedVideoLibrary = app.Option("--force-video-library", "Bypass the normal video detection logic to force a particular video library (AMD, NVIDIA, Windows)", CommandOptionType.SingleValue); + logger.Trace($"Program/Main: Preparing the RunShortcut command..."); + // This is the RunShortcut command app.Command(DisplayMagicianStartupAction.RunShortcut.ToString(), (runShortcutCmd) => { + logger.Trace($"Program/Main: Processing the {runShortcutCmd} command..."); + // Try to load all the games in parallel to this process //Task.Run(() => LoadGamesInBackground()); - + // Set the --trace or --debug options if supplied if (trace.HasValue()) { @@ -571,9 +612,13 @@ namespace DisplayMagician { }); }); + logger.Trace($"Program/Main: Preparing the ChangeProfile command..."); + // This is the ChangeProfile command app.Command(DisplayMagicianStartupAction.ChangeProfile.ToString(), (runProfileCmd) => { + logger.Trace($"Program/Main: Processing the {runProfileCmd} command..."); + // Set the --trace or --debug options if supplied if (trace.HasValue()) { @@ -656,9 +701,13 @@ namespace DisplayMagician { }); }); + logger.Trace($"Program/Main: Preparing the CreateProfile command..."); + // This is the CreateProfile command app.Command(DisplayMagicianStartupAction.CreateProfile.ToString(), (createProfileCmd) => { + logger.Trace($"Program/Main: Processing the {createProfileCmd} command..."); + // Set the --trace or --debug options if supplied if (trace.HasValue()) { @@ -721,10 +770,13 @@ namespace DisplayMagician { }); + logger.Trace($"Program/Main: Preparing the CurrentProfile command..."); // This is the CurrentProfile command // This will output the current display profile if one matches, or 'Unknown' app.Command(DisplayMagicianStartupAction.CurrentProfile.ToString(), (currentProfileCmd) => { + logger.Trace($"Program/Main: Processing the {currentProfileCmd} command..."); + // Set the --trace or --debug options if supplied if (trace.HasValue()) { @@ -785,8 +837,12 @@ namespace DisplayMagician { }); }); + logger.Trace($"Program/Main: Preparing the default command..."); + app.OnExecute(() => { + logger.Trace($"Program/Main: Starting the app normally as there was no command supplied..."); + // Set the --trace or --debug options if supplied if (trace.HasValue()) { @@ -870,7 +926,8 @@ namespace DisplayMagician { return (int)errLevel; }); - + logger.Trace($"Program/Main: Showing the splashscreen if requested"); + if (AppProgramSettings.ShowSplashScreen) { //Show Splash Form @@ -883,14 +940,14 @@ namespace DisplayMagician { try { - logger.Debug($"Starting commandline processing"); + logger.Debug($"Invoking commandline processing"); // This begins the actual execution of the application app.Execute(args); } catch (CommandParsingException ex) { - logger.Error(ex, $"Program/Main exception parsing the Commands passed to the program"); - Console.WriteLine("Didn't recognise the supplied commandline options: {0}", ex.Message); + logger.Error(ex, $"Program/Main exception parsing the Commands passed to the program: "); + Console.WriteLine($"Didn't recognise the supplied commandline options: - {ex.Message}: {ex.StackTrace} - {ex.InnerException}"); return (int)ERRORLEVEL.ERROR_UNKNOWN_COMMAND; } catch (Exception ex) @@ -899,22 +956,26 @@ namespace DisplayMagician { // You'll always want to catch this exception, otherwise it will generate a messy and confusing error for the end user. // the message will usually be something like: // "Unrecognized command or argument ''" - logger.Error(ex, $"Program/Main general exception during app.Execute(args)"); + logger.Error(ex, $"Program/Main general exception during app.Execute(args): "); Console.WriteLine($"Program/Main exception: Unable to execute application - {ex.Message}: {ex.StackTrace} - {ex.InnerException}"); } - logger.Debug($"Beginning to shutdown"); + logger.Debug($"Beginning to shutdown as the app command has finished executing."); // Close the splash screen if it's still open (happens with some errors) if (AppProgramSettings.ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + { + logger.Trace($"Closing the SplashScreen as it may still be open"); AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); + } + - logger.Debug($"Program/Main: Clearing all previous windows toast notifications as they aren't needed any longer"); + logger.Trace($"Program/Main: Clearing all previous windows toast notifications as they aren't needed any longer"); // Remove all the notifications we have set as they don't matter now! ToastNotificationManagerCompat.History.Clear(); // Shutdown NLog - logger.Debug($"Program/Main: Stopping logging processes"); + logger.Trace($"Program/Main: Stopping logging processes"); NLog.LogManager.Shutdown(); // Dispose of the CancellationTokenSource diff --git a/displaymagician/uiforms/displayprofileform.cs b/displaymagician/uiforms/displayprofileform.cs index 925b6ac..9621f30 100644 --- a/displaymagician/uiforms/displayprofileform.cs +++ b/displaymagician/uiforms/displayprofileform.cs @@ -59,7 +59,8 @@ namespace DisplayMagician.UIForms return; } - + ProfileRepository.UserChangingProfiles = true; + // Apply the Profile //if (ProfileRepository.ApplyProfile(_selectedProfile) == ApplyProfileResult.Successful) ApplyProfileResult result = Program.ApplyProfileTask(_selectedProfile); @@ -83,6 +84,8 @@ namespace DisplayMagician.UIForms // Recenter the Window RecenterWindow(); + + ProfileRepository.UserChangingProfiles = false; } private void RecenterWindow() @@ -543,6 +546,7 @@ namespace DisplayMagician.UIForms private void btn_view_current_Click(object sender, EventArgs e) { + ProfileRepository.UserChangingProfiles = true; // Refresh the profiles to see whats valid ProfileRepository.IsPossibleRefresh(); // Reload the profiles in case we swapped to another program to change it @@ -553,6 +557,7 @@ namespace DisplayMagician.UIForms RefreshDisplayProfileUI(); // Recenter the Window RecenterWindow(); + ProfileRepository.UserChangingProfiles = false; } private void txt_profile_save_name_KeyDown(object sender, KeyEventArgs e) @@ -593,7 +598,10 @@ namespace DisplayMagician.UIForms case WM_DISPLAYCHANGE: logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us the display has changed. Updating the current view by running btn_view_current."); - btn_view_current.PerformClick(); + if (!ProfileRepository.UserChangingProfiles) + { + btn_view_current.PerformClick(); + } break; // This auto taskbar detection logic just doesn't work at the moment From ec875debe7db8f7b67dad02061ea6160eaf00075 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 21 Jun 2022 19:01:57 +1200 Subject: [PATCH 42/60] Built new version --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 2fe96e9..f726f4a 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.48")] -[assembly: AssemblyFileVersion("2.4.0.48")] +[assembly: AssemblyVersion("2.4.0.50")] +[assembly: AssemblyFileVersion("2.4.0.50")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 857aaafb3c5558670c9682255d33ddc110f58b3b Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 27 Jun 2022 20:41:16 +1200 Subject: [PATCH 43/60] Change automatic renaming of old config files Rewrote the automatic renaming of old config files to make it more reliable, and automatically avoid renaming the files currently in use by this version of DisplayMagician. Should make it far harder for me to incorrectly break the config files. Also make DisplayMagician log TRACE level files by default (can be adjusted by the user if wanted). This was done to make it easier for new users to log errors when things break. --- DisplayMagician/Program.cs | 236 ++++++++++++--------- DisplayMagician/ProgramSettings.cs | 2 +- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- 3 files changed, 136 insertions(+), 106 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 629643f..817da84 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -180,29 +180,41 @@ namespace DisplayMagician { // NOTE: This had to be moved up from the later state // Copy the old Settings file to the new v2 name bool upgradedSettingsFile = false; - string oldv1SettingsFile = Path.Combine(AppDataPath, "Settings_1.0.json"); - string oldv2SettingsFile = Path.Combine(AppDataPath, "Settings_2.0.json"); - string oldv23SettingsFile = Path.Combine(AppDataPath, "Settings_2.3.json"); string targetSettingsFile = ProgramSettings.programSettingsStorageJsonFileName; try - { - if (File.Exists(oldv23SettingsFile) && !File.Exists(targetSettingsFile)) + { + if (!File.Exists(targetSettingsFile)) { - File.Copy(oldv23SettingsFile, targetSettingsFile, true); - File.Move(oldv23SettingsFile, $"{oldv23SettingsFile}.old"); - upgradedSettingsFile = true; + string oldv1SettingsFile = Path.Combine(AppDataPath, "Settings_1.0.json"); + string oldv2SettingsFile = Path.Combine(AppDataPath, "Settings_2.0.json"); + string oldv23SettingsFile = Path.Combine(AppDataPath, "Settings_2.3.json"); + + if (File.Exists(oldv23SettingsFile)) + { + File.Copy(oldv23SettingsFile, targetSettingsFile, true); + upgradedSettingsFile = true; + } + else if (File.Exists(oldv2SettingsFile)) + { + File.Copy(oldv2SettingsFile, targetSettingsFile, true); + upgradedSettingsFile = true; + } + else if (File.Exists(oldv1SettingsFile)) + { + File.Copy(oldv1SettingsFile, targetSettingsFile, true); + upgradedSettingsFile = true; + } } - else if (File.Exists(oldv2SettingsFile) && !File.Exists(targetSettingsFile)) + + // Now we rename all the currently listed Settings files as they aren't needed any longer. + // NOTE: This is outside the File Exidsts above to fix all the partially renamed files performed in previous upgrades + if (RenameOldFileVersions(AppDataPath, "Settings_*.json", targetSettingsFile)) { - File.Copy(oldv2SettingsFile, targetSettingsFile, true); - File.Move(oldv2SettingsFile, $"{oldv2SettingsFile}.old"); - upgradedSettingsFile = true; + logger.Trace($"Program/Main: Old DisplayMagician Shortcut files were successfully renamed"); } - else if (File.Exists(oldv1SettingsFile) && !File.Exists(targetSettingsFile)) + else { - File.Copy(oldv1SettingsFile, targetSettingsFile, true); - File.Move(oldv1SettingsFile, $"{oldv1SettingsFile}.old"); - upgradedSettingsFile = true; + logger.Error($"Program/Main: Error while renaming old Shortcut files."); } } catch (Exception ex) @@ -370,25 +382,17 @@ namespace DisplayMagician { // and if it is then copy the old configs to the new filenames and // explain to the user what they need to do. logger.Trace($"Program/Main: Attempting to upgrade earlier DisplayMagician Display Profile files if required"); - - //string dp24 = Path.Combine(AppProfilePath, "DisplayProfiles_2.4.json"); - string dp23 = Path.Combine(AppProfilePath, "DisplayProfiles_2.3.json"); - string dp22 = Path.Combine(AppProfilePath, "DisplayProfiles_2.2.json"); - string dp21 = Path.Combine(AppProfilePath, "DisplayProfiles_2.1.json"); - string dp20 = Path.Combine(AppProfilePath, "DisplayProfiles_2.0.json"); - string dp10 = Path.Combine(AppProfilePath, "DisplayProfiles_1.0.json"); - + // This is the latest displayprofile config file string targetdp = ProfileRepository.ProfileStorageFileName; try { - // Now always try to get the latest one - if (File.Exists(dp23) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) + // Only run this code if there isn't a current Display Profile file. + // If this happens then it is an error! + if (!File.Exists(targetdp)) { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.3 to DisplayMagician v2.4, so informing the user."); - - File.Move(dp23, $"{dp23}.old"); + logger.Info($"Program/Main: This is an upgrade from an earlier DisplayMagician Display Profile format to the current DisplayMagician Display Profile format, so it requires the user manual recreate the display profiles."); // Warn the user about the fact we need them to recreate their Display Profiles again! StartMessageForm myMessageWindow = new StartMessageForm(); @@ -396,72 +400,23 @@ namespace DisplayMagician { myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; myMessageWindow.ButtonText = "&Close"; - myMessageWindow.ShowDialog(); - } - else if (File.Exists(dp22) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) - { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.2 to DisplayMagician v2.4, so informing the user."); - - File.Move(dp22, $"{dp22}.old"); - - // Warn the user about the fact we need them to recreate their Display Profiles again! - StartMessageForm myMessageWindow = new StartMessageForm(); - myMessageWindow.MessageMode = "rtf"; - myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; - myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; - myMessageWindow.ButtonText = "&Close"; - myMessageWindow.ShowDialog(); - } - else if (File.Exists(dp21) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) - { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.1 to DisplayMagician v2.4, so informing the user."); - - File.Move(dp21, $"{dp21}.old"); - - // Warn the user about the fact we need them to recreate their Display Profiles again! - StartMessageForm myMessageWindow = new StartMessageForm(); - myMessageWindow.MessageMode = "rtf"; - myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; - myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; - myMessageWindow.ButtonText = "&Close"; - myMessageWindow.ShowDialog(); - } - else if (File.Exists(dp20) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) - { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.0 to DisplayMagician v2.4, so informing the user."); - - File.Move(dp20, $"{dp20}.old"); - - // Warn the user about the fact we need them to recreate their Display Profiles again! - StartMessageForm myMessageWindow = new StartMessageForm(); - myMessageWindow.MessageMode = "rtf"; - myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; - myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; - myMessageWindow.ButtonText = "&Close"; - myMessageWindow.ShowDialog(); - } - // Check if it's an upgrade from DisplayMagician v1 to v2 - // and if it is then copy the old configs to the new filenames and - // explain to the user what they need to do. - // e.g. DisplayProfiles_1.0.json exists, but DisplayProfiles_2.2.json doesn't - else if (File.Exists(dp10) && !File.Exists(Path.Combine(AppProfilePath, targetdp))) - { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v1.0 to DisplayMagician v2.4, so performing some upgrade steps."); - - File.Move(dp10, $"{dp10}.old"); - - // Warn the user about the fact we need a new DisplayProfiles_2.0.json - StartMessageForm myMessageWindow = new StartMessageForm(); - myMessageWindow.MessageMode = "rtf"; - myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagicianRecreateProfiles.rtf"; - myMessageWindow.HeadingText = "You need to recreate your Display Profiles"; - myMessageWindow.ButtonText = "&Close"; - myMessageWindow.ShowDialog(); + myMessageWindow.ShowDialog(); } else { logger.Trace($"Program/Main: DisplayMagician Display Profile files do not require upgrading so skipping"); } + + // Now we rename all the currently listed Display Profile files as they aren't needed any longer. + // NOTE: This is outside the File Exidsts above to fix all the partially renamed files performed in previous upgrades + if (RenameOldFileVersions(AppProfilePath, "DisplayProfiles_*.json", targetdp)) + { + logger.Trace($"Program/Main: Old DisplayMagician Display Profile files were successfully renamed"); + } + else + { + logger.Error($"Program/Main: Error while renaming old Display Profiles files."); + } } catch (Exception ex) { @@ -475,32 +430,46 @@ namespace DisplayMagician { } // Also upgrade the Shortcuts file if it's needed - string oldv1ShortcutsFile = Path.Combine(AppShortcutPath, "Shortcuts_1.0.json"); - string oldv2ShortcutsFile = Path.Combine(AppShortcutPath, "Shortcuts_2.0.json"); string targetShortcutsFile = ShortcutRepository.ShortcutStorageFileName; try { - if (File.Exists(oldv2ShortcutsFile) && !File.Exists(targetShortcutsFile)) + if (!File.Exists(targetShortcutsFile)) { - logger.Info($"Program/Main: Upgrading v1 shortcut file {oldv2ShortcutsFile} to v2.2 shortcut file {targetShortcutsFile}."); - File.Copy(oldv2ShortcutsFile, targetShortcutsFile); - File.Move(oldv2ShortcutsFile, $"{oldv2ShortcutsFile}.old"); - } - else if (File.Exists(oldv1ShortcutsFile) && !File.Exists(targetShortcutsFile)) - { - logger.Info($"Program/Main: Upgrading v1 shortcut file {oldv1ShortcutsFile} to v2.2 shortcut file {targetShortcutsFile}."); - File.Copy(oldv1ShortcutsFile, targetShortcutsFile); - File.Move(oldv1ShortcutsFile, $"{oldv1ShortcutsFile}.old"); + string oldv1ShortcutsFile = Path.Combine(AppShortcutPath, "Shortcuts_1.0.json"); + string oldv2ShortcutsFile = Path.Combine(AppShortcutPath, "Shortcuts_2.0.json"); + + if (File.Exists(oldv2ShortcutsFile)) + { + logger.Info($"Program/Main: Upgrading v1 shortcut file {oldv2ShortcutsFile} to v2.2 shortcut file {targetShortcutsFile}."); + File.Copy(oldv2ShortcutsFile, targetShortcutsFile); + } + else if (File.Exists(oldv1ShortcutsFile)) + { + logger.Info($"Program/Main: Upgrading v1 shortcut file {oldv1ShortcutsFile} to v2.2 shortcut file {targetShortcutsFile}."); + File.Copy(oldv1ShortcutsFile, targetShortcutsFile); + } + } else { logger.Trace($"Program/Main: DisplayMagician Shortcut files do not require upgrading so skipping"); } + // Now we rename all the currently listed Display Profile files as they aren't needed any longer. + // NOTE: This is outside the File Exists above to fix all the partially renamed files performed in previous upgrades + if (RenameOldFileVersions(AppShortcutPath, "Shortcuts_*.json", targetShortcutsFile)) + { + logger.Trace($"Program/Main: Old DisplayMagician Shortcut files were successfully renamed"); + } + else + { + logger.Error($"Program/Main: Error while renaming old Shortcut files."); + } + } catch (Exception ex) { - logger.Error(ex, $"Program/Main: Exception upgrading old shortcut file to v2.2 shortcut file {targetShortcutsFile}."); + logger.Error(ex, $"Program/Main: Exception upgrading old shortcut file to latest shortcut file {targetShortcutsFile}."); } logger.Trace($"Program/Main: Setting up commandline processing configuration"); @@ -1206,6 +1175,67 @@ namespace DisplayMagician { return true; } + public static bool RenameOldFileVersions(string path, string searchPattern, string skipFilename) + { + try + { + if (String.IsNullOrWhiteSpace(path)) + { + logger.Error($"Program/RenameOldFileVersions: We were passed an empty path, so returning an empty list of matching files."); + return false; + } + + string[] filesToRename; + + if (String.IsNullOrWhiteSpace(searchPattern)) + { + filesToRename = Directory.GetFiles(path); + } + else + { + filesToRename = Directory.GetFiles(path, searchPattern); + } + + if (filesToRename.Length > 0) + { + logger.Trace($"Program/RenameOldFileVersions: Found {filesToRename.Length} files matching the '{searchPattern}' pattern in {path}"); + foreach (var filename in filesToRename) + { + // If this is the file we should skip, then let's skip it + if (filename.Equals(skipFilename, StringComparison.InvariantCultureIgnoreCase)) + { + logger.Trace($"Program/RenameOldFileVersions: Skipping renaming {filename} to {filename}.old as we want to keep the {skipFilename} file."); + continue; + } + + try + { + logger.Trace($"Program/RenameOldFileVersions: Attempting to rename {filename} to {filename}.old"); + File.Move(filename, $"{filename}.old"); + } + catch (Exception ex2) + { + logger.Error(ex2,$"Program/RenameOldFileVersions: Exception while trying to rename {filename} to {filename}.old. Skipping this rename."); + } + } + } + else + { + logger.Trace($"Program/RenameOldFileVersions: We tried looking for all files that matched the pattern '{searchPattern}' in path {path} and couldn't find any. skipping processing."); + } + + return true; + } + catch (Exception ex) + { + logger.Error(ex, $"Program/RenameOldFileVersions: Exception while trying to RenameOldFileVersions. Unable to rename the files."); + return false; + } + } + + + + //public async static Task RunShortcutTask(ShortcutItem shortcutToUse, NotifyIcon notifyIcon = null) public static RunShortcutResult RunShortcutTask(ShortcutItem shortcutToUse) { diff --git a/DisplayMagician/ProgramSettings.cs b/DisplayMagician/ProgramSettings.cs index 4c00024..e733751 100644 --- a/DisplayMagician/ProgramSettings.cs +++ b/DisplayMagician/ProgramSettings.cs @@ -30,7 +30,7 @@ namespace DisplayMagician private bool _installedDesktopContextMenu = true; private int _lastMessageIdRead = 0; private List _messagesToMonitor = new List(); - private string _logLevel = NLog.LogLevel.Info.ToString(); + private string _logLevel = NLog.LogLevel.Trace.ToString(); private string _displayMagicianVersion = null; private Keys _hotkeyMainWindow = Keys.None; private Keys _hotkeyDisplayProfileWindow = Keys.None; diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index f726f4a..2c748c1 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.50")] -[assembly: AssemblyFileVersion("2.4.0.50")] +[assembly: AssemblyVersion("2.4.0.52")] +[assembly: AssemblyFileVersion("2.4.0.52")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 1e63335ef5ad4ce0e2037d32b63dcd57333d6b95 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Jun 2022 08:43:24 +0000 Subject: [PATCH 44/60] Bump protobuf-net from 3.1.4 to 3.1.17 Bumps [protobuf-net](https://github.com/protobuf-net/protobuf-net) from 3.1.4 to 3.1.17. - [Release notes](https://github.com/protobuf-net/protobuf-net/releases) - [Changelog](https://github.com/protobuf-net/protobuf-net/blob/main/docs/releasenotes.md) - [Commits](https://github.com/protobuf-net/protobuf-net/commits) --- updated-dependencies: - dependency-name: protobuf-net dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- DisplayMagician/DisplayMagician.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 2329c22..66b9612 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -344,7 +344,7 @@ 5.0.1 - 3.1.4 + 3.1.17 1.0.0 From b1800245a62c483bb2ad80d9eaf25f8f2662a502 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 27 Jun 2022 21:04:58 +1200 Subject: [PATCH 45/60] Patch --- DisplayMagician/UIForms/DisplayProfileForm.cs | 86 ------------------- 1 file changed, 86 deletions(-) diff --git a/DisplayMagician/UIForms/DisplayProfileForm.cs b/DisplayMagician/UIForms/DisplayProfileForm.cs index 490bd8d..35afc39 100644 --- a/DisplayMagician/UIForms/DisplayProfileForm.cs +++ b/DisplayMagician/UIForms/DisplayProfileForm.cs @@ -4,13 +4,10 @@ using System.Linq; using System.Windows.Forms; using DisplayMagician.Resources; using DisplayMagicianShared; -using DisplayMagicianShared.Windows; using Manina.Windows.Forms; using System.Drawing; using NHotkey.WindowsForms; using NHotkey; -using System.Threading.Tasks; -using System.Collections.Generic; namespace DisplayMagician.UIForms { @@ -23,9 +20,6 @@ namespace DisplayMagician.UIForms private static ProfileItem _profileToLoad = null; private ProfileAdaptor _profileAdaptor = new ProfileAdaptor(); //public static Dictionary profileValidity = new Dictionary(); - public Task _monitorTaskBarRegKeysForChangesTask = null; - //public bool _monitorTaskBarRegKeysForChanges = false; - //private readonly object _monitorTaskBarRegKeysForChangesLock = new object(); private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); @@ -524,92 +518,12 @@ namespace DisplayMagician.UIForms protected override void WndProc(ref Message m) { const int WM_DISPLAYCHANGE = 0x007E; - const int WM_SETTINGCHANGE = 0x001A; - const int WM_DEVICECHANGE = 0x0219; - - const int DBT_DEVICEARRIVAL = 0x8000; - const int DBT_DEVICEREMOVECOMPLETE = 0x8004; switch (m.Msg) { - - case WM_DEVICECHANGE: - switch ((int)m.WParam) - { - case DBT_DEVICEARRIVAL: - logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us a device has been added. We need to check if this was a USB display. Updating the current view by running btn_view_current."); - btn_view_current.PerformClick(); - break; - - case DBT_DEVICEREMOVECOMPLETE: - logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us a device has been removed. We need to check if this was a USB display. Updating the current view by running btn_view_current."); - btn_view_current.PerformClick(); - break; - } - break; - case WM_DISPLAYCHANGE: - logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us the display has changed. Updating the current view by running btn_view_current."); btn_view_current.PerformClick(); break; - - // This auto taskbar detection logic just doesn't work at the moment - // It tries to set a 5 second timer when it detects a settings change, and tries every 1 second to see if the taskbar position has changed - // If taskbar position changed, then it attempts to get the new display layout. - // In reality, it appears that multiple tasks are firing for each message, and the multople tasks are confusing each other. So I'm going to leave this be for now. - /*case WM_SETTINGCHANGE: - switch ((int)m.WParam) - { - case 0x2f: - // This occurs when the taskbar is moved! We use it to set a timer to monitor the relevant registry keys for changes within the next 10 seconds - logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us a taskbar has been moved. We need to set a timer to check for registry key changes within the next 10 seconds, and update the current view if that happens."); - if (_monitorTaskBarRegKeysForChangesTask == null) - { - logger.Trace($"DisplayProfileForm/WndProc: We are starting to monitor the taskbar for changes for the next 10 seconds."); - //_monitorTaskBarRegKeysForChanges = true; - List original = TaskBarStuckRectangle.GetAllTaskBarStuckRectangles(); - _monitorTaskBarRegKeysForChangesTask = new Task((Action)delegate - { - bool _itChanged = false; - for (int d = 0; d < 10; d++) - { - Task.Delay(1000); - List subsequent = TaskBarStuckRectangle.GetAllTaskBarStuckRectangles(); - bool matched = true; - for (int x = 0; x < subsequent.Count; x++) - { - if (!original[x].Equals(subsequent[x])) - { - matched = false; - break; - } - } - if (!matched) - { - logger.Trace($"DisplayProfileForm/WndProc: The taskbar registry key has been updated within the 10 seconds of a taskbar move message, so updating the config again window."); - if (btn_view_current.InvokeRequired) - { - this.Invoke(new Action(() => btn_view_current.PerformClick())); - } - else - { - btn_view_current.PerformClick(); - } - _itChanged = true; - break; - } - } - if (!_itChanged) - { - logger.Trace($"DisplayProfileForm/WndProc: The taskbar registry key did not update within 5 seconds of a taskbar move message. Returning without doing anything."); - } - _monitorTaskBarRegKeysForChangesTask = null; - }); - _monitorTaskBarRegKeysForChangesTask.Start(); - } - break; - } - break;*/ } base.WndProc(ref m); From 0bee4dd16cc880e9416a7edbe77c17a335b61987 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 27 Jun 2022 21:07:11 +1200 Subject: [PATCH 46/60] Form update --- displaymagician/uiforms/displayprofileform.cs | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/displaymagician/uiforms/displayprofileform.cs b/displaymagician/uiforms/displayprofileform.cs index 9621f30..ad4323b 100644 --- a/displaymagician/uiforms/displayprofileform.cs +++ b/displaymagician/uiforms/displayprofileform.cs @@ -4,13 +4,10 @@ using System.Linq; using System.Windows.Forms; using DisplayMagician.Resources; using DisplayMagicianShared; -using DisplayMagicianShared.Windows; using Manina.Windows.Forms; using System.Drawing; using NHotkey.WindowsForms; using NHotkey; -using System.Threading.Tasks; -using System.Collections.Generic; namespace DisplayMagician.UIForms { @@ -23,9 +20,6 @@ namespace DisplayMagician.UIForms private static ProfileItem _profileToLoad = null; private ProfileAdaptor _profileAdaptor = new ProfileAdaptor(); //public static Dictionary profileValidity = new Dictionary(); - public Task _monitorTaskBarRegKeysForChangesTask = null; - //public bool _monitorTaskBarRegKeysForChanges = false; - //private readonly object _monitorTaskBarRegKeysForChangesLock = new object(); private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); @@ -572,30 +566,9 @@ namespace DisplayMagician.UIForms protected override void WndProc(ref Message m) { const int WM_DISPLAYCHANGE = 0x007E; - const int WM_SETTINGCHANGE = 0x001A; - const int WM_DEVICECHANGE = 0x0219; - - const int DBT_DEVICEARRIVAL = 0x8000; - const int DBT_DEVICEREMOVECOMPLETE = 0x8004; switch (m.Msg) { - - case WM_DEVICECHANGE: - switch ((int)m.WParam) - { - case DBT_DEVICEARRIVAL: - logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us a device has been added. We need to check if this was a USB display. Updating the current view by running btn_view_current."); - btn_view_current.PerformClick(); - break; - - case DBT_DEVICEREMOVECOMPLETE: - logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us a device has been removed. We need to check if this was a USB display. Updating the current view by running btn_view_current."); - btn_view_current.PerformClick(); - break; - } - break; - case WM_DISPLAYCHANGE: logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us the display has changed. Updating the current view by running btn_view_current."); if (!ProfileRepository.UserChangingProfiles) From da92bf7a9755bddad494c007dbdb1db71a513cf5 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 27 Jun 2022 21:08:35 +1200 Subject: [PATCH 47/60] Revert "Form update" This reverts commit 0bee4dd16cc880e9416a7edbe77c17a335b61987. --- displaymagician/uiforms/displayprofileform.cs | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/displaymagician/uiforms/displayprofileform.cs b/displaymagician/uiforms/displayprofileform.cs index ad4323b..9621f30 100644 --- a/displaymagician/uiforms/displayprofileform.cs +++ b/displaymagician/uiforms/displayprofileform.cs @@ -4,10 +4,13 @@ using System.Linq; using System.Windows.Forms; using DisplayMagician.Resources; using DisplayMagicianShared; +using DisplayMagicianShared.Windows; using Manina.Windows.Forms; using System.Drawing; using NHotkey.WindowsForms; using NHotkey; +using System.Threading.Tasks; +using System.Collections.Generic; namespace DisplayMagician.UIForms { @@ -20,6 +23,9 @@ namespace DisplayMagician.UIForms private static ProfileItem _profileToLoad = null; private ProfileAdaptor _profileAdaptor = new ProfileAdaptor(); //public static Dictionary profileValidity = new Dictionary(); + public Task _monitorTaskBarRegKeysForChangesTask = null; + //public bool _monitorTaskBarRegKeysForChanges = false; + //private readonly object _monitorTaskBarRegKeysForChangesLock = new object(); private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); @@ -566,9 +572,30 @@ namespace DisplayMagician.UIForms protected override void WndProc(ref Message m) { const int WM_DISPLAYCHANGE = 0x007E; + const int WM_SETTINGCHANGE = 0x001A; + const int WM_DEVICECHANGE = 0x0219; + + const int DBT_DEVICEARRIVAL = 0x8000; + const int DBT_DEVICEREMOVECOMPLETE = 0x8004; switch (m.Msg) { + + case WM_DEVICECHANGE: + switch ((int)m.WParam) + { + case DBT_DEVICEARRIVAL: + logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us a device has been added. We need to check if this was a USB display. Updating the current view by running btn_view_current."); + btn_view_current.PerformClick(); + break; + + case DBT_DEVICEREMOVECOMPLETE: + logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us a device has been removed. We need to check if this was a USB display. Updating the current view by running btn_view_current."); + btn_view_current.PerformClick(); + break; + } + break; + case WM_DISPLAYCHANGE: logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us the display has changed. Updating the current view by running btn_view_current."); if (!ProfileRepository.UserChangingProfiles) From e0d1d13c544b98a880ee20203aff96f505c6e025 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 27 Jun 2022 21:10:35 +1200 Subject: [PATCH 48/60] Fixed DisplayProfileForm --- DisplayMagician/UIForms/DisplayProfileForm.cs | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/DisplayMagician/UIForms/DisplayProfileForm.cs b/DisplayMagician/UIForms/DisplayProfileForm.cs index ad4323b..9621f30 100644 --- a/DisplayMagician/UIForms/DisplayProfileForm.cs +++ b/DisplayMagician/UIForms/DisplayProfileForm.cs @@ -4,10 +4,13 @@ using System.Linq; using System.Windows.Forms; using DisplayMagician.Resources; using DisplayMagicianShared; +using DisplayMagicianShared.Windows; using Manina.Windows.Forms; using System.Drawing; using NHotkey.WindowsForms; using NHotkey; +using System.Threading.Tasks; +using System.Collections.Generic; namespace DisplayMagician.UIForms { @@ -20,6 +23,9 @@ namespace DisplayMagician.UIForms private static ProfileItem _profileToLoad = null; private ProfileAdaptor _profileAdaptor = new ProfileAdaptor(); //public static Dictionary profileValidity = new Dictionary(); + public Task _monitorTaskBarRegKeysForChangesTask = null; + //public bool _monitorTaskBarRegKeysForChanges = false; + //private readonly object _monitorTaskBarRegKeysForChangesLock = new object(); private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); @@ -566,9 +572,30 @@ namespace DisplayMagician.UIForms protected override void WndProc(ref Message m) { const int WM_DISPLAYCHANGE = 0x007E; + const int WM_SETTINGCHANGE = 0x001A; + const int WM_DEVICECHANGE = 0x0219; + + const int DBT_DEVICEARRIVAL = 0x8000; + const int DBT_DEVICEREMOVECOMPLETE = 0x8004; switch (m.Msg) { + + case WM_DEVICECHANGE: + switch ((int)m.WParam) + { + case DBT_DEVICEARRIVAL: + logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us a device has been added. We need to check if this was a USB display. Updating the current view by running btn_view_current."); + btn_view_current.PerformClick(); + break; + + case DBT_DEVICEREMOVECOMPLETE: + logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us a device has been removed. We need to check if this was a USB display. Updating the current view by running btn_view_current."); + btn_view_current.PerformClick(); + break; + } + break; + case WM_DISPLAYCHANGE: logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us the display has changed. Updating the current view by running btn_view_current."); if (!ProfileRepository.UserChangingProfiles) From 01d6c1b9a9fa9fef29a4ccc05b414419e22305e6 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 28 Jun 2022 09:29:18 +1200 Subject: [PATCH 49/60] First attempt at setting Process DPI Awareness This is required so that the undocumented DISPLAYCONFIG_SOURCE_DPI_SCALE_GET Windows CCD call is given the correct information by Windows 10/11. It gives an abnormal number on some hardware if this is not set. What we do now is set the process DPI context to "System Aware" on boot, but when we are either getting or setting the Windows DPI settings, we quickly swap to "Monitor Aware v2" DPI context, before swapping back to "System Aware" when we're done. This *should* return the correct per monitor settings. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +-- DisplayMagicianShared/Windows/CCD.cs | 16 ++++++++++++ DisplayMagicianShared/Windows/WinLibrary.cs | 29 ++++++++++++++++++--- 3 files changed, 44 insertions(+), 5 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 2c748c1..6f470e8 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.52")] -[assembly: AssemblyFileVersion("2.4.0.52")] +[assembly: AssemblyVersion("2.4.0.57")] +[assembly: AssemblyFileVersion("2.4.0.57")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/Windows/CCD.cs b/DisplayMagicianShared/Windows/CCD.cs index fcc67f7..5ce48a4 100644 --- a/DisplayMagicianShared/Windows/CCD.cs +++ b/DisplayMagicianShared/Windows/CCD.cs @@ -19,6 +19,16 @@ namespace DisplayMagicianShared.Windows ERROR_BAD_CONFIGURATION = 1610, } + public enum DPI_AWARENESS_CONTEXT : Int32 + { + DPI_AWARENESS_CONTEXT_UNDEFINED = 0, + DPI_AWARENESS_CONTEXT_UNAWARE = -1, //' DPI unaware. This window does not scale for DPI changes and is always assumed to have a scale factor of 100% (96 DPI). It will be automatically scaled by the system on any other DPI setting. + DPI_AWARENESS_CONTEXT_SYSTEM_AWARE = -2, //' System DPI aware. This window does not scale for DPI changes. It will query for the DPI once and use that value for the lifetime of the process. If the DPI changes, the process will not adjust to the new DPI value. It will be automatically scaled up or down by the system when the DPI changes from the system value. + DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE = -3, // ' Per monitor DPI aware. This window checks for the DPI when it is created and adjusts the scale factor whenever the DPI changes. These processes are not automatically scaled by the system. + DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 = -4, //' Also known as Per Monitor v2. An advancement over the original per-monitor DPI awareness mode, which enables applications to access new DPI-related scaling behaviors on a per top-level window basis. + DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED = -5, //' DPI unaware with improved quality of GDI-based content. This mode behaves similarly to DPI_AWARENESS_CONTEXT_UNAWARE, but also enables the system to automatically improve the rendering quality of text and other GDI-based primitives when the window is displayed on a high-DPI monitor. + }; + public enum DISPLAYCONFIG_DEVICE_INFO_TYPE : Int32 { // MS Private API (which seems to use negative numbers) @@ -1167,5 +1177,11 @@ namespace DisplayMagicianShared.Windows // SetDisplayConfig [DllImport("user32")] public static extern WIN32STATUS SetDisplayConfig([In] uint numPathArrayElements, [In] DISPLAYCONFIG_PATH_INFO[] pathArray, [In] uint numModeInfoArrayElements, [In] DISPLAYCONFIG_MODE_INFO[] modeInfoArray, [In] SDC flags); + + [DllImport("user32")] + public static extern bool SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT value); + + + } } \ No newline at end of file diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 5b1ac85..0c04042 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -169,6 +169,10 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace("WinLibrary/WinLibrary: Intialising Windows CCD library interface"); _initialised = true; + + // Set the DPI awareness for the process this thread is running within so that the DPI calls return the right values at the right times + CCDImport.SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_SYSTEM_AWARE); + _activeDisplayConfig = GetActiveConfig(); _allConnectedDisplayIdentifiers = GetAllConnectedDisplayIdentifiers(); } @@ -564,9 +568,13 @@ namespace DisplayMagicianShared.Windows } } - // Now cycle through the paths and grab the HDR state information + // Now cycle through the paths and grab the state information we need // and map the adapter name to adapter id // and populate the display source information + + // Set the DPI awareness for the process this thread is running within so that the DPI calls return the right values + CCDImport.SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2); + List targetPathIdsToChange = new List(); List targetModeIdsToChange = new List(); List targetIdsFound = new List(); @@ -603,8 +611,18 @@ namespace DisplayMagicianShared.Windows err = CCDImport.DisplayConfigGetDeviceInfo(ref displayScalingInfo); if (err == WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found DPI value for source {paths[i].SourceInfo.Id} is {CCDImport.DPI_VALUES[displayScalingInfo.CurrrentScaleRel]}%."); - sourceDpiScalingRel = displayScalingInfo.CurrrentScaleRel; + // Now we need to check if there is a strange value returned by the displayScalingInfo object. If so we reset it to 100% DPI + if (displayScalingInfo.CurrrentScaleRel >= 0 && displayScalingInfo.CurrrentScaleRel < CCDImport.DPI_VALUES.Length) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found DPI value for source {paths[i].SourceInfo.Id} is {CCDImport.DPI_VALUES[displayScalingInfo.CurrrentScaleRel]}%."); + sourceDpiScalingRel = displayScalingInfo.CurrrentScaleRel; + } + else + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found DPI value for source {paths[i].SourceInfo.Id} is out of range. Windows CCD returned an abnormal value. Using the default Windows DPI Scaling value instead of 100%"); + sourceDpiScalingRel = 0; + } + } else { @@ -774,6 +792,9 @@ namespace DisplayMagicianShared.Windows } } + // Set the DPI awareness for the process this thread is running within so that the DPI calls return the right values + CCDImport.SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_SYSTEM_AWARE); + // Get all the DisplayAdapters currently in the system // This will be used for windows to translate the adapter details beween reboots windowsDisplayConfig.DisplayAdapters = GetAllAdapterIDs(); @@ -1510,6 +1531,7 @@ namespace DisplayMagicianShared.Windows System.Threading.Thread.Sleep(100); SharedLogger.logger.Trace($"WinLibrary/SetWindowsDisplayConfig: Attempting to set Windows DPI Scaling setting for display sources."); + CCDImport.SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2); foreach (var displaySourceEntry in displayConfig.DisplaySources) { // We only need to set the source on the first display source @@ -1530,6 +1552,7 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Warn($"WinLibrary/SetWindowsDisplayConfig: WARNING - Unable to set DPI value for source {displaySourceEntry.Value[0].SourceId} to {CCDImport.DPI_VALUES[displayScalingInfo.ScaleRel]}%."); } } + CCDImport.SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_SYSTEM_AWARE); // NOTE: There is currently no way within Windows CCD API to set the HDR settings to any particular setting From 2e18ca183286a81bf544080b6aefa0fcc412c239 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 28 Jun 2022 11:39:14 +1200 Subject: [PATCH 50/60] Change to work with the new DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED option This change means that DisplayMagician only supports Windows 10 (version 1809 or later), or Windows 11. This fixes issue #123. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +-- DisplayMagicianShared/Windows/WinLibrary.cs | 34 ++++++++++++--------- README.md | 3 +- 3 files changed, 23 insertions(+), 18 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 6f470e8..8a7d452 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.57")] -[assembly: AssemblyFileVersion("2.4.0.57")] +[assembly: AssemblyVersion("2.4.0.62")] +[assembly: AssemblyFileVersion("2.4.0.62")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 0c04042..9532970 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -171,7 +171,7 @@ namespace DisplayMagicianShared.Windows _initialised = true; // Set the DPI awareness for the process this thread is running within so that the DPI calls return the right values at the right times - CCDImport.SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_SYSTEM_AWARE); + CCDImport.SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED); _activeDisplayConfig = GetActiveConfig(); _allConnectedDisplayIdentifiers = GetAllConnectedDisplayIdentifiers(); @@ -582,6 +582,19 @@ namespace DisplayMagicianShared.Windows bool isClonedProfile = false; for (int i = 0; i < paths.Length; i++) { + + if (selector == QDC.QDC_ONLY_ACTIVE_PATHS && paths[i].TargetInfo.TargetInUse == false) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Skipping display target {paths[i].TargetInfo.Id} as we only want displays currently in use"); + continue; + } + + if (selector == QDC.QDC_ALL_PATHS && paths[i].TargetInfo.TargetAvailable == false) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Skipping display target {paths[i].TargetInfo.Id} as we want all available displays and this one isn't available"); + continue; + } + //bool gotSourceDeviceName = false; //bool gotAdapterName = false; bool gotAdvancedColorInfo = false; @@ -611,22 +624,13 @@ namespace DisplayMagicianShared.Windows err = CCDImport.DisplayConfigGetDeviceInfo(ref displayScalingInfo); if (err == WIN32STATUS.ERROR_SUCCESS) { - // Now we need to check if there is a strange value returned by the displayScalingInfo object. If so we reset it to 100% DPI - if (displayScalingInfo.CurrrentScaleRel >= 0 && displayScalingInfo.CurrrentScaleRel < CCDImport.DPI_VALUES.Length) - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found DPI value for source {paths[i].SourceInfo.Id} is {CCDImport.DPI_VALUES[displayScalingInfo.CurrrentScaleRel]}%."); - sourceDpiScalingRel = displayScalingInfo.CurrrentScaleRel; - } - else - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found DPI value for source {paths[i].SourceInfo.Id} is out of range. Windows CCD returned an abnormal value. Using the default Windows DPI Scaling value instead of 100%"); - sourceDpiScalingRel = 0; - } + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Windows DPI scasling value for source {paths[i].SourceInfo.Id} is {displayScalingInfo.CurrrentScaleRel}."); + sourceDpiScalingRel = displayScalingInfo.CurrrentScaleRel; } else { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get advanced color settings for display {paths[i].TargetInfo.Id}."); + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get Windows DPI Scaling value for display {paths[i].TargetInfo.Id}."); } @@ -793,7 +797,7 @@ namespace DisplayMagicianShared.Windows } // Set the DPI awareness for the process this thread is running within so that the DPI calls return the right values - CCDImport.SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_SYSTEM_AWARE); + CCDImport.SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED); // Get all the DisplayAdapters currently in the system // This will be used for windows to translate the adapter details beween reboots @@ -1552,7 +1556,7 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Warn($"WinLibrary/SetWindowsDisplayConfig: WARNING - Unable to set DPI value for source {displaySourceEntry.Value[0].SourceId} to {CCDImport.DPI_VALUES[displayScalingInfo.ScaleRel]}%."); } } - CCDImport.SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_SYSTEM_AWARE); + CCDImport.SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED); // NOTE: There is currently no way within Windows CCD API to set the HDR settings to any particular setting diff --git a/README.md b/README.md index 9e0077e..558fdbb 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,7 @@ DisplayMagician lets you set up the following information for each game or appli * Also comes with a Shell Extension that allows you to change to a different Display Profile by right-clicking on the desktop background! * Supports NVIDIA Surround setups, AMD Eyefinity setups and standard Windows multi-desktop views. * Supports USB display devices, wireless display devices and works with SuperDisplay and Spacedesk (Android Tablets as a display) +* Supports Windows DPI Scaling, setting Refresh Rates and HDR * Supports cloned displays, extended displays, NVIDIA Surround with additional displays, and nearly anything else you can throw at it! ## Planned features @@ -61,7 +62,7 @@ DisplayMagician lets you set up the following information for each game or appli ## Requirements -* DisplayMagician only supports 64-bit Windows 10/11 +* DisplayMagician only supports 64-bit Windows 10 (version 1809 or later) and 64-bit Windows 11 * NVIDIA Surround support requires NVIDIA Game Ready driver to be installed * AMD Eyefinity support requires AMD Radeonâ„¢ Software Adrenalin 2020 Edition 21.2.1 or later to be installed From 5cb653f4498b4c260a458cf287a7207c2f9deb45 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 28 Jun 2022 11:43:18 +1200 Subject: [PATCH 51/60] Remove uneeded DPI_VALUES array Had forgotten to remove the uneeded DPI_VALUES array. This would have crashed the WinLibrary SetDisplayConfig process. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/Windows/CCD.cs | 2 +- DisplayMagicianShared/Windows/WinLibrary.cs | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 8a7d452..abae661 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.62")] -[assembly: AssemblyFileVersion("2.4.0.62")] +[assembly: AssemblyVersion("2.4.0.64")] +[assembly: AssemblyFileVersion("2.4.0.64")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/Windows/CCD.cs b/DisplayMagicianShared/Windows/CCD.cs index 5ce48a4..241b335 100644 --- a/DisplayMagicianShared/Windows/CCD.cs +++ b/DisplayMagicianShared/Windows/CCD.cs @@ -1105,7 +1105,7 @@ namespace DisplayMagicianShared.Windows // Set some useful constants public const SDC SDC_CCD_TEST_IF_VALID = (SDC.SDC_VALIDATE | SDC.SDC_USE_SUPPLIED_DISPLAY_CONFIG); public const uint DISPLAYCONFIG_PATH_MODE_IDX_INVALID = 0xffffffff; - public static readonly UInt32[] DPI_VALUES = { 100, 125, 150, 175, 200, 225, 250, 300, 350, 400, 450, 500 }; + //public static readonly UInt32[] DPI_VALUES = { 100, 125, 150, 175, 200, 225, 250, 300, 350, 400, 450, 500 }; // GetDisplayConfigBufferSizes diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 9532970..40feb1d 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -1549,11 +1549,11 @@ namespace DisplayMagicianShared.Windows err = CCDImport.DisplayConfigSetDeviceInfo(ref displayScalingInfo); if (err == WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Trace($"WinLibrary/SetWindowsDisplayConfig: Setting DPI value for source {displaySourceEntry.Value[0].SourceId} to {CCDImport.DPI_VALUES[displayScalingInfo.ScaleRel]}%."); + SharedLogger.logger.Trace($"WinLibrary/SetWindowsDisplayConfig: Setting DPI value for source {displaySourceEntry.Value[0].SourceId} to {displayScalingInfo.ScaleRel}."); } else { - SharedLogger.logger.Warn($"WinLibrary/SetWindowsDisplayConfig: WARNING - Unable to set DPI value for source {displaySourceEntry.Value[0].SourceId} to {CCDImport.DPI_VALUES[displayScalingInfo.ScaleRel]}%."); + SharedLogger.logger.Warn($"WinLibrary/SetWindowsDisplayConfig: WARNING - Unable to set DPI value for source {displaySourceEntry.Value[0].SourceId} to {displayScalingInfo.ScaleRel}."); } } CCDImport.SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED); From 895a6d4e1036526a556003653b075754a2057d21 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 28 Jun 2022 13:34:11 +1200 Subject: [PATCH 52/60] Updated ProgramSettings to save on exit Also adjusted the NLog exception logging to hopefully provide more details when an exception occurs. --- DisplayMagician/Program.cs | 4 ++-- DisplayMagician/ProgramSettings.cs | 7 +++++++ DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 817da84..8c6af8e 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -262,7 +262,7 @@ namespace DisplayMagician { { FileName = AppLogFilename, DeleteOldFileOnStartup = true, - Layout = "${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}" + Layout = "${longdate}|${level:uppercase=true}|${logger}|${message}${onexception:EXCEPTION OCCURRED\\:${exception:format=type,message,method:maxInnerExceptionLevel=5:innerFormat=shortType,message,method}}" }; // Create a logging rule to use the log file target @@ -275,7 +275,7 @@ namespace DisplayMagician { // Create the log console target var logconsole = new NLog.Targets.ColoredConsoleTarget("logconsole") { - Layout = "${date:format=HH\\:MM\\:ss} ${logger} ${message}", + Layout = "${longdate}|${level:uppercase=true}|${logger}|${message}${onexception:EXCEPTION OCCURRED\\:${exception:format=type,message,method:maxInnerExceptionLevel=5:innerFormat=shortType,message,method}}" }; // Create a logging rule to use the log console target diff --git a/DisplayMagician/ProgramSettings.cs b/DisplayMagician/ProgramSettings.cs index e733751..4989d23 100644 --- a/DisplayMagician/ProgramSettings.cs +++ b/DisplayMagician/ProgramSettings.cs @@ -236,6 +236,13 @@ namespace DisplayMagician #endregion #region Class Methods + + ~ProgramSettings() + { + // Save the program settings on program exit + SaveSettings(); + } + public static ProgramSettings LoadSettings() { // NOTE: This function gets called before NLog has setup the logger, meaning diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index abae661..bb41cca 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.64")] -[assembly: AssemblyFileVersion("2.4.0.64")] +[assembly: AssemblyVersion("2.4.0.69")] +[assembly: AssemblyFileVersion("2.4.0.69")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From e99db6d4afd36531c1ad583315df932760095c8c Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 28 Jun 2022 13:47:56 +1200 Subject: [PATCH 53/60] Updated NLog exception logging format to capture all details Updated the NLog exception handling to make use of the additional logging options released recently. This will help provide me with more details when users create the Support ZIP File. --- DisplayMagician/Program.cs | 4 ++-- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/ProfileItem.cs | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 8c6af8e..f44686d 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -262,7 +262,7 @@ namespace DisplayMagician { { FileName = AppLogFilename, DeleteOldFileOnStartup = true, - Layout = "${longdate}|${level:uppercase=true}|${logger}|${message}${onexception:EXCEPTION OCCURRED\\:${exception:format=type,message,method:maxInnerExceptionLevel=5:innerFormat=shortType,message,method}}" + Layout = "${longdate}|${level:uppercase=true}|${logger}|${message}|${onexception:EXCEPTION OCCURRED \\:${exception::format=toString,Properties,Data}" }; // Create a logging rule to use the log file target @@ -275,7 +275,7 @@ namespace DisplayMagician { // Create the log console target var logconsole = new NLog.Targets.ColoredConsoleTarget("logconsole") { - Layout = "${longdate}|${level:uppercase=true}|${logger}|${message}${onexception:EXCEPTION OCCURRED\\:${exception:format=type,message,method:maxInnerExceptionLevel=5:innerFormat=shortType,message,method}}" + Layout = "${longdate}|${level:uppercase=true}|${logger}|${message}|${onexception:EXCEPTION OCCURRED \\:${exception::format=toString,Properties,Data}" }; // Create a logging rule to use the log console target diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index bb41cca..2ca7afe 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.69")] -[assembly: AssemblyFileVersion("2.4.0.69")] +[assembly: AssemblyVersion("2.4.0.71")] +[assembly: AssemblyFileVersion("2.4.0.71")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index fccd16f..c3fc2cb 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -1482,7 +1482,7 @@ namespace DisplayMagicianShared catch (Exception ex) { // Guess that it is at the bottom (90% correct) - SharedLogger.logger.Error(ex, $"ProfileItem/GetWindowsScreenPositions: Exception trying to get the position of the taskbar on display {targetId}"); + SharedLogger.logger.Warn(ex, $"ProfileItem/GetWindowsScreenPositions: Exception trying to get the position of the taskbar on display {targetId}"); screen.TaskBarEdge = TaskBarLayout.TaskBarEdge.Bottom; } From eed6952604632d5b19bd36efab5fe1991c32868a Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 28 Jun 2022 13:57:00 +1200 Subject: [PATCH 54/60] Tweaked messagebox shown after Support ZIP File is created --- DisplayMagician/UIForms/SettingsForm.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DisplayMagician/UIForms/SettingsForm.cs b/DisplayMagician/UIForms/SettingsForm.cs index 725b353..8584aec 100644 --- a/DisplayMagician/UIForms/SettingsForm.cs +++ b/DisplayMagician/UIForms/SettingsForm.cs @@ -668,7 +668,7 @@ namespace DisplayMagician.UIForms NLog.LogManager.ResumeLogging(); SharedLogger.logger.Trace($"SettingsForm/btn_create_support_package_Click: Finished creating support zip file at {zipFilePath}."); - MessageBox.Show($"Created DisplayMagician Support ZIP file {zipFilePath}. You can now attach this file to your GitHub issue."); + MessageBox.Show($"Created DisplayMagician Support ZIP file {zipFilePath}. You can now attach this file to your GitHub issue using your Web Browser."); } } } From bf60ec8f8b2a6451217922ddcfe9fb2da555f244 Mon Sep 17 00:00:00 2001 From: terrymacdonald Date: Tue, 28 Jun 2022 13:58:35 +1200 Subject: [PATCH 55/60] Delete displayprofileform.cs --- displaymagician/uiforms/displayprofileform.cs | 818 ------------------ 1 file changed, 818 deletions(-) delete mode 100644 displaymagician/uiforms/displayprofileform.cs diff --git a/displaymagician/uiforms/displayprofileform.cs b/displaymagician/uiforms/displayprofileform.cs deleted file mode 100644 index 9621f30..0000000 --- a/displaymagician/uiforms/displayprofileform.cs +++ /dev/null @@ -1,818 +0,0 @@ -using System; -using System.IO; -using System.Linq; -using System.Windows.Forms; -using DisplayMagician.Resources; -using DisplayMagicianShared; -using DisplayMagicianShared.Windows; -using Manina.Windows.Forms; -using System.Drawing; -using NHotkey.WindowsForms; -using NHotkey; -using System.Threading.Tasks; -using System.Collections.Generic; - -namespace DisplayMagician.UIForms -{ - internal partial class DisplayProfileForm : Form - { - private ProfileItem _selectedProfile; - //private List _savedProfiles = new List(); - private string _saveOrRenameMode = "save"; - //private static bool _inDialog = false; - private static ProfileItem _profileToLoad = null; - private ProfileAdaptor _profileAdaptor = new ProfileAdaptor(); - //public static Dictionary profileValidity = new Dictionary(); - public Task _monitorTaskBarRegKeysForChangesTask = null; - //public bool _monitorTaskBarRegKeysForChanges = false; - //private readonly object _monitorTaskBarRegKeysForChangesLock = new object(); - - private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); - - public DisplayProfileForm() - { - InitializeComponent(); - this.AcceptButton = this.btn_save_or_rename; - ilv_saved_profiles.MultiSelect = false; - ilv_saved_profiles.ThumbnailSize = new Size(100, 100); - ilv_saved_profiles.AllowDrag = false; - ilv_saved_profiles.AllowDrop = false; - ilv_saved_profiles.SetRenderer(new ProfileILVRenderer()); - } - - public DisplayProfileForm(ProfileItem profileToLoad) : this() - { - _profileToLoad = profileToLoad; - } - - private void Apply_Click(object sender, EventArgs e) - { - if (_selectedProfile == null) - return; - - if (!_selectedProfile.IsPossible) - { - MessageBox.Show(this, Language.This_profile_is_currently_impossible_to_apply, - Language.Apply_Profile, - MessageBoxButtons.OK, MessageBoxIcon.Warning); - - return; - } - - ProfileRepository.UserChangingProfiles = true; - - // Apply the Profile - //if (ProfileRepository.ApplyProfile(_selectedProfile) == ApplyProfileResult.Successful) - ApplyProfileResult result = Program.ApplyProfileTask(_selectedProfile); - if (result == ApplyProfileResult.Successful) - { - logger.Trace($"DisplayProfileForm/Apply_Click: The Profile {_selectedProfile.Name} was successfully applied. Waiting 0.5 sec for the display to settle after the change."); - System.Threading.Thread.Sleep(500); - logger.Trace($"DisplayProfileForm/Apply_Click: Changing the selected profile in the imagelistview to Profile {_selectedProfile.Name}."); - ChangeSelectedProfile(_selectedProfile); - MainForm myMainForm = Program.AppMainForm; - myMainForm.UpdateNotifyIconText($"DisplayMagician ({ProfileRepository.CurrentProfile.Name})"); - } - else if (result == ApplyProfileResult.Cancelled) - { - logger.Warn($"DisplayProfileForm/Apply_Click: The user cancelled changing to Profile {_selectedProfile.Name}."); - } - else - { - logger.Error($"DisplayProfileForm/Apply_Click: Error applying the Profile {_selectedProfile.Name}. Unable to change the display layout."); - } - - // Recenter the Window - RecenterWindow(); - - ProfileRepository.UserChangingProfiles = false; - } - - private void RecenterWindow() - { - // Center the MainAppForm - Program.AppMainForm.Top = (Screen.PrimaryScreen.Bounds.Height - Program.AppMainForm.Height) / 2; - Program.AppMainForm.Left = (Screen.PrimaryScreen.Bounds.Width - Program.AppMainForm.Width) / 2; - Program.AppMainForm.Activate(); - - // Bring the window back to the front - Visible = true; - CenterToParent(); - Activate(); - BringToFront(); - - // Also refresh the right-click menu (if we have a main form loaded) - if (Program.AppMainForm is Form) - { - Program.AppMainForm.RefreshNotifyIconMenus(); - } - } - - - private void Exit_Click(object sender, EventArgs e) - { - DialogResult = DialogResult.Cancel; - this.Close(); - } - - - private void Delete_Click(object sender, EventArgs e) - { - if (_selectedProfile == null) - return; - - if (MessageBox.Show($"Are you sure you want to delete the '{_selectedProfile.Name}' Display Profile?", $"Delete '{_selectedProfile.Name}' Display Profile?", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.No) - return; - - // remove the profile from the imagelistview - int currentIlvIndex = ilv_saved_profiles.SelectedItems[0].Index; - ilv_saved_profiles.Items.RemoveAt(currentIlvIndex); - - // Remove the hotkey if it is enabled for this profile - if (_selectedProfile.Hotkey != Keys.None) - { - // Remove the Hotkey if it needs to be removed - HotkeyManager.Current.Remove(_selectedProfile.UUID); - } - - - // Remove the Profile - ProfileRepository.RemoveProfile(_selectedProfile); - _selectedProfile = null; - - // If the imageview isn't empty - if (ilv_saved_profiles.Items.Count > 0) - { - // set the new selected profile as the next one in the imagelistview - // or the new end one if we deleted the last one before - int ilvItemToSelect = currentIlvIndex; - if (ilv_saved_profiles.Items.Count < currentIlvIndex + 1) - ilvItemToSelect = ilv_saved_profiles.Items.Count - 1; - - // Set the nearest profile image as selected - ilv_saved_profiles.Items[ilvItemToSelect].Selected = true; - - // select the - foreach (ProfileItem newSelectedProfile in ProfileRepository.AllProfiles) - { - if (newSelectedProfile.UUID.Equals(ilv_saved_profiles.Items[ilvItemToSelect].EquipmentModel)) - { - ChangeSelectedProfile(newSelectedProfile); - } - } - } - else - { - // We now only have an unsaved current profile, and no saved ones - // So we need to change the mode - ChangeSelectedProfile(ProfileRepository.CurrentProfile); - - } - - // As this may impact which game shortcuts are now usable, also force a refresh of the game shortcuts validity - ShortcutRepository.IsValidRefresh(); - - // Also refresh the right-click menu (if we have a main form loaded) - if (Program.AppMainForm is Form) - { - Program.AppMainForm.RefreshNotifyIconMenus(); - } - - } - - private void Save_Click(object sender, EventArgs e) - { - //DialogResult = DialogResult.None; - - // Only do something if there is a shortcut selected - if (_selectedProfile != null) - { - - // if shortcut is not valid then ask if the user - // really wants to save it to desktop - if (!_selectedProfile.IsPossible) - { - // We ask the user of they still want to save the desktop shortcut - if (MessageBox.Show($"The '{_selectedProfile.Name}' Desktop Profile isn't possible to use right now so a desktop shortcut wouldn't work until your Displays are changed to match the profile. Has your hardware or screen layout changed from when the Display Profile was made? Do you still want to save the desktop shortcut?", $"Still save the '{_selectedProfile.Name}' Display Profile?", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.No) - return; - } - - try - { - // Set the profile save folder to the Desktop as that's where people will want it most likely - dialog_save.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); - // Try to set up some sensible suggestions for the profile name - dialog_save.FileName = _selectedProfile.Name; - - // Show the Save Profile window - if (dialog_save.ShowDialog(this) == DialogResult.OK) - { - if (_selectedProfile.CreateShortcut(dialog_save.FileName)) - { - MessageBox.Show( - String.Format(Language.Shortcut_placed_successfully, dialog_save.FileName), - Language.Shortcut, - MessageBoxButtons.OK, - MessageBoxIcon.Information); - } - else - { - MessageBox.Show( - Language.Failed_to_create_the_shortcut_Unexpected_exception_occurred, - Language.Shortcut, - MessageBoxButtons.OK, - MessageBoxIcon.Exclamation); - } - - dialog_save.FileName = string.Empty; - //DialogResult = DialogResult.OK; - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, Language.Shortcut, MessageBoxButtons.OK, MessageBoxIcon.Warning); - } - - } - } - - - private void RefreshDisplayProfileUI() - { - - ImageListViewItem newItem = null; - - // Temporarily stop updating the saved_profiles listview - // To stop the display showing all sorts of changes happening - ilv_saved_profiles.SuspendLayout(); - - // Figure out if anything is selected at the moment - // and if it is save it to reselect it after the refresh - // We only take the first as there is only one thing selected at a time - /*string lastSelectedItemName = ""; - if (ilv_saved_profiles.SelectedItems.Count > 0) - lastSelectedItemName = ilv_saved_profiles.SelectedItems[0].Text; -*/ - // Empty the imageListView - ilv_saved_profiles.Items.Clear(); - - //IOrderedEnumerable orderedProfiles = ProfileRepository.AllProfiles.OrderBy(p => p.Name); - - // Check if the last selected profile is still in the list of profiles - //bool lastSelectedItemStillThere = (from profile in orderedProfiles select profile.Name).Contains(lastSelectedItemName); - - // Fill it back up with the Profiles we have - foreach (ProfileItem profile in ProfileRepository.AllProfiles.OrderBy(p => p.Name)) - { - // Create a new ImageListViewItem from the profile - newItem = new ImageListViewItem(profile, profile.Name); - - // if the item was removed from the list during this - // list refresh, then we select this profile only if it - // is the currently used Profile - if (profile.Equals(_selectedProfile)) - newItem.Selected = true; - - // Add it to the list! - ilv_saved_profiles.Items.Add(newItem, _profileAdaptor); - - } - - // Restart updating the saved_profiles listview - ilv_saved_profiles.ResumeLayout(); - } - - - /*private void DisplayProfileForm_Activated(object sender, EventArgs e) - { - // We handle the UI updating in DisplayProfileForm_Activated so that - // the app will check for changes to the current profile when the - // user clicks back to this app. This is designed to allow people to - // alter their Windows Display settings then come back to our app - // and the app will automatically recognise that things have changed. - - // Reload the profiles in case we swapped to another program to change it - ChangeSelectedProfile(ProfileRepository.CurrentProfile); - // Refresh the Profile UI - RefreshDisplayProfileUI(); - }*/ - - private void DisplayProfileForm_Load(object sender, EventArgs e) - { - - // Refresh the profiles to see whats valid - ProfileRepository.IsPossibleRefresh(); - - // Update the Current Profile, but if another task is running then just wait. - if (Program.AppBackgroundTaskSemaphoreSlim.CurrentCount == 0) - { - logger.Error($"DisplayProfileForm/DisplayProfileForm_Load: Waiting to run the UpdateActiveProfile as there is another Task running!"); - } - Program.AppBackgroundTaskSemaphoreSlim.Wait(); - logger.Trace($"DisplayProfileForm/DisplayProfileForm_Load: Running the UpdateActiveProfile as there are no other Tasks running!"); - ProfileRepository.UpdateActiveProfile(); - Program.AppBackgroundTaskSemaphoreSlim.Release(); - - ChangeSelectedProfile(ProfileRepository.CurrentProfile); - - // Refresh the Profile UI - RefreshDisplayProfileUI(); - - } - - - private void ChangeSelectedProfile(ProfileItem profile) - { - // And we need to update the actual selected profile too! - _selectedProfile = profile; - - // We also need to load the saved profile name to show the user - lbl_profile_shown.Text = _selectedProfile.Name; - - // And show the logo for the driver - if (_selectedProfile.VideoMode == VIDEO_MODE.NVIDIA) - { - pbLogo.Image = PickBitmapBasedOnBgColour(BackColor, Properties.Resources.nvidiablack, Properties.Resources.nvidiawhite); - } - else if (_selectedProfile.VideoMode == VIDEO_MODE.AMD) - { - pbLogo.Image = PickBitmapBasedOnBgColour(BackColor, Properties.Resources.amdblack, Properties.Resources.amdwhite); - } - else - { - pbLogo.Image = PickBitmapBasedOnBgColour(BackColor, Properties.Resources.winblack, Properties.Resources.winwhite); - } - - // And update the save/rename textbox - txt_profile_save_name.Text = _selectedProfile.Name; - - if (ProfileRepository.ContainsProfile(profile)) - { - // we already have the profile stored - _saveOrRenameMode = "rename"; - btn_save_or_rename.Text = "Rename To"; - lbl_save_profile.Visible = false; - if (!_selectedProfile.IsPossible) - { - lbl_profile_shown_subtitle.Text = "This Display Profile can't be used as not all Displays are connected."; - btn_apply.Visible = false; - } - else - { - if (ProfileRepository.IsActiveProfile(_selectedProfile)) - { - btn_apply.Visible = false; - lbl_profile_shown_subtitle.Text = "This is the Display Profile currently in use."; - cms_profiles.Items[0].Enabled = false; - } - else - { - btn_apply.Visible = true; - lbl_profile_shown_subtitle.Text = ""; - cms_profiles.Items[0].Enabled = true; - } - } - } - else - { - // we don't have the profile stored yet - _saveOrRenameMode = "save"; - btn_save_or_rename.Text = "Save"; - lbl_profile_shown_subtitle.Text = "The current Display configuration hasn't been saved as a Display Profile yet."; - btn_apply.Visible = false; - lbl_save_profile.Visible = true; - } - - // Update the Hotkey Label text - UpdateHotkeyLabel(_selectedProfile.Hotkey); - - // Refresh the image list view - //RefreshImageListView(profile); - - // Also refresh the right-click menu (if we have a main form loaded) - if (Program.AppMainForm is Form) - { - Program.AppMainForm.RefreshNotifyIconMenus(); - } - - // And finally refresh the profile in the display view - dv_profile.Profile = profile; - dv_profile.Refresh(); - - - } - - private void btn_save_as_Click(object sender, EventArgs e) - { - // Check there is a name - if (String.IsNullOrWhiteSpace(txt_profile_save_name.Text)) - { - logger.Warn($"DisplayProfileForm/btn_save_as_Click: You need to provide a name for this profile before it can be saved."); - MessageBox.Show("You need to provide a name for this profile before it can be saved.", "Your profile needs a name", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - - // Check the name is valid - if (!Program.IsValidFilename(txt_profile_save_name.Text)) - { - logger.Warn($"DisplayProfileForm/btn_save_as_Click: The profile name cannot contain the following characters: {Path.GetInvalidFileNameChars()}. Unable to save this profile."); - MessageBox.Show($"The profile name cannot contain the following characters: [{Path.GetInvalidFileNameChars()}]. Please change the profile name.", "Invalid characters in profile name", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - - // Check we're not already using the name - foreach (ProfileItem savedProfile in ProfileRepository.AllProfiles) - { - //if (String.Equals(txt_profile_save_name.Text, savedProfile.Name, StringComparison.InvariantCultureIgnoreCase)) - if (savedProfile.Name.Equals(txt_profile_save_name.Text)) - { - logger.Warn($"DisplayProfileForm/btn_save_as_Click: The profile name {txt_profile_save_name.Text} already exists. Each profile name must be unique. Unable to save this profile."); - MessageBox.Show("Sorry, each saved display profile needs a unique name. Please change the profile name.", "Profile name already exists", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - } - - // If we're saving the current profile as a new item - // then we'll be in "save" mode - if (_saveOrRenameMode == "save") - { - // We're in 'save' mode! - - // Check we're not already saving this profile - string previouslySavedProfileName; - if (ProfileRepository.ContainsCurrentProfile(out previouslySavedProfileName)) - { - MessageBox.Show($"Sorry, this display profile was already saved as '{previouslySavedProfileName}'.", "Profile already saved", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - - // Check the config actual results in an image (might be a logic error that we missed) - if (_selectedProfile.ProfileBitmap.Width == 0 || _selectedProfile.ProfileBitmap.Height == 0) - { - logger.Warn($"DisplayProfileForm/btn_save_as_Click: Display Layout image rendering error (ProfileBitmap)! We won't be able to save this profile. Please log a new issue at https://github.com/terrymacdonald/DisplayMagician/issues/new/choose"); - MessageBox.Show("Display Layout image rendering error (ProfileBitmap)! We won't be able to save this profile. Please log a new issue at https://github.com/terrymacdonald/DisplayMagician/issues/new/choose", "Display rendering error", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - - // Check the config actual results in an image (might be a logic error that we missed) - if (_selectedProfile.ProfileTightestBitmap.Width == 0 || _selectedProfile.ProfileTightestBitmap.Height == 0) - { - logger.Warn($"DisplayProfileForm/btn_save_as_Click: Display Layout image rendering error (ProfileTightestBitmap)! We won't be able to save this profile. Please log a new issue at https://github.com/terrymacdonald/DisplayMagician/issues/new/choose"); - MessageBox.Show("Display Layout image rendering error (ProfileTightestBitmap)! We won't be able to save this profile. Please log a new issue at https://github.com/terrymacdonald/DisplayMagician/issues/new/choose", "Display rendering error", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - - // So we've already passed the check that says this profile is unique - - // Update the name just to make sure we record it if the user changed it - _selectedProfile.Name = txt_profile_save_name.Text; - - // Add the current profile to the list of profiles so it gets saved - ProfileRepository.AddProfile(_selectedProfile); - - // Also update the imagelistview so that we can see the new profile we just saved - - // Load the currentProfile image into the imagelistview - //ImageListViewItem newItem = new ImageListViewItem(_selectedProfile.SavedProfileCacheFilename, _selectedProfile.Name); - ImageListViewItem newItem = new ImageListViewItem(_selectedProfile, _selectedProfile.Name) - { - Selected = true - }; - //ilv_saved_profiles.Items.Add(newItem); - ilv_saved_profiles.Items.Add(newItem, _profileAdaptor); - } - else - { - // We're in 'rename' mode! - // Check the name is the same, and if so do nothing - if (_selectedProfile.Name.Equals(txt_profile_save_name.Text)) - { - return; - } - - // Lets save the old names for usage next - string oldProfileName = _selectedProfile.Name; - - // Lets rename the selectedProfile to the new name - ProfileRepository.RenameProfile(_selectedProfile, txt_profile_save_name.Text); - - // Lets rename the entry in the imagelistview to the new name - foreach (ImageListViewItem myItem in ilv_saved_profiles.Items) - { - if (myItem.Text == oldProfileName) - { - myItem.Text = txt_profile_save_name.Text; - } - } - - // Lets update the rest of the profile screen too - lbl_profile_shown.Text = txt_profile_save_name.Text; - - // And we also need to go through the any Shortcuts that use the profile and rename them too! - ShortcutRepository.RenameShortcutProfile(_selectedProfile); - - - } - - ChangeSelectedProfile(_selectedProfile); - - // now update the profiles image listview - RefreshDisplayProfileUI(); - - // Also refresh the right-click menu (if we have a main form loaded) - if (Program.AppMainForm is Form) - { - Program.AppMainForm.RefreshNotifyIconMenus(); - } - - } - - private void ilv_saved_profiles_ItemClick(object sender, ItemClickEventArgs e) - { - foreach (ProfileItem savedProfile in ProfileRepository.AllProfiles) - { - if (savedProfile.Name == e.Item.Text) - { - ChangeSelectedProfile(savedProfile); - } - } - - if (e.Buttons == MouseButtons.Right) - { - cms_profiles.Show(ilv_saved_profiles, e.Location); - } - - } - - private void btn_view_current_Click(object sender, EventArgs e) - { - ProfileRepository.UserChangingProfiles = true; - // Refresh the profiles to see whats valid - ProfileRepository.IsPossibleRefresh(); - // Reload the profiles in case we swapped to another program to change it - ProfileRepository.UpdateActiveProfile(); - // Change to the current selected Profile - ChangeSelectedProfile(ProfileRepository.GetActiveProfile()); - // Refresh the Profile UI - RefreshDisplayProfileUI(); - // Recenter the Window - RecenterWindow(); - ProfileRepository.UserChangingProfiles = false; - } - - private void txt_profile_save_name_KeyDown(object sender, KeyEventArgs e) - { - if (e.KeyCode.Equals(Keys.Enter)) - { - //MessageBox.Show("Click works!", "Click works", MessageBoxButtons.OK, MessageBoxIcon.Information); - btn_save.PerformClick(); - } - } - - protected override void WndProc(ref Message m) - { - const int WM_DISPLAYCHANGE = 0x007E; - const int WM_SETTINGCHANGE = 0x001A; - const int WM_DEVICECHANGE = 0x0219; - - const int DBT_DEVICEARRIVAL = 0x8000; - const int DBT_DEVICEREMOVECOMPLETE = 0x8004; - - switch (m.Msg) - { - - case WM_DEVICECHANGE: - switch ((int)m.WParam) - { - case DBT_DEVICEARRIVAL: - logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us a device has been added. We need to check if this was a USB display. Updating the current view by running btn_view_current."); - btn_view_current.PerformClick(); - break; - - case DBT_DEVICEREMOVECOMPLETE: - logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us a device has been removed. We need to check if this was a USB display. Updating the current view by running btn_view_current."); - btn_view_current.PerformClick(); - break; - } - break; - - case WM_DISPLAYCHANGE: - logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us the display has changed. Updating the current view by running btn_view_current."); - if (!ProfileRepository.UserChangingProfiles) - { - btn_view_current.PerformClick(); - } - break; - - // This auto taskbar detection logic just doesn't work at the moment - // It tries to set a 5 second timer when it detects a settings change, and tries every 1 second to see if the taskbar position has changed - // If taskbar position changed, then it attempts to get the new display layout. - // In reality, it appears that multiple tasks are firing for each message, and the multople tasks are confusing each other. So I'm going to leave this be for now. - /*case WM_SETTINGCHANGE: - switch ((int)m.WParam) - { - case 0x2f: - // This occurs when the taskbar is moved! We use it to set a timer to monitor the relevant registry keys for changes within the next 10 seconds - logger.Trace($"DisplayProfileForm/WndProc: Windows just sent a msg telling us a taskbar has been moved. We need to set a timer to check for registry key changes within the next 10 seconds, and update the current view if that happens."); - if (_monitorTaskBarRegKeysForChangesTask == null) - { - logger.Trace($"DisplayProfileForm/WndProc: We are starting to monitor the taskbar for changes for the next 10 seconds."); - //_monitorTaskBarRegKeysForChanges = true; - List original = TaskBarStuckRectangle.GetAllTaskBarStuckRectangles(); - _monitorTaskBarRegKeysForChangesTask = new Task((Action)delegate - { - bool _itChanged = false; - for (int d = 0; d < 10; d++) - { - Task.Delay(1000); - List subsequent = TaskBarStuckRectangle.GetAllTaskBarStuckRectangles(); - bool matched = true; - for (int x = 0; x < subsequent.Count; x++) - { - if (!original[x].Equals(subsequent[x])) - { - matched = false; - break; - } - } - if (!matched) - { - logger.Trace($"DisplayProfileForm/WndProc: The taskbar registry key has been updated within the 10 seconds of a taskbar move message, so updating the config again window."); - if (btn_view_current.InvokeRequired) - { - this.Invoke(new Action(() => btn_view_current.PerformClick())); - } - else - { - btn_view_current.PerformClick(); - } - _itChanged = true; - break; - } - } - if (!_itChanged) - { - logger.Trace($"DisplayProfileForm/WndProc: The taskbar registry key did not update within 5 seconds of a taskbar move message. Returning without doing anything."); - } - _monitorTaskBarRegKeysForChangesTask = null; - }); - _monitorTaskBarRegKeysForChangesTask.Start(); - } - break; - } - break;*/ - } - - base.WndProc(ref m); - } - - private void ilv_saved_profiles_ItemHover(object sender, ItemHoverEventArgs e) - { - if (e.Item != null) - { - tt_selected.SetToolTip(ilv_saved_profiles, e.Item.Text); - } - else - { - tt_selected.RemoveAll(); - } - } - - private Bitmap PickBitmapBasedOnBgColour(Color bgColour, Bitmap lightBitmap, Bitmap darkBitmap) - { - if ((bgColour.R * 0.299 + bgColour.G * 0.587 + bgColour.B * 0.114) > 186) - { - return darkBitmap; - } - else - { - return lightBitmap; - } - } - - private void btn_hotkey_Click(object sender, EventArgs e) - { - Keys testHotkey; - if (_selectedProfile.Hotkey != Keys.None) - testHotkey = _selectedProfile.Hotkey; - else - testHotkey = Keys.None; - string hotkeyHeading = $"Choose a '{_selectedProfile.Name}' Display Profile Hotkey"; - string hotkeyDescription = $"Choose a Hotkey (a keyboard shortcut) so that you can apply this" + Environment.NewLine + - "Display Profile using your keyboard. This must be a Hotkey that" + Environment.NewLine + - "is unique across all your applications otherwise DisplayMagician" + Environment.NewLine + - "might not see it."; - HotkeyForm displayHotkeyForm = new HotkeyForm(testHotkey,hotkeyHeading, hotkeyDescription); - //ilv_saved_shortcuts.SuspendLayout(); - //Program.HotkeyListener.SuspendOn(displayHotkeyForm); - displayHotkeyForm.ShowDialog(this); - if (displayHotkeyForm.DialogResult == DialogResult.OK) - { - // now we save the Hotkey - _selectedProfile.Hotkey = displayHotkeyForm.Hotkey; - // And cause this has changed within a Profile we need to save all the profiles - ProfileRepository.SaveProfiles(); - // And if we get back and this is a Hotkey with a value, we need to show that in the UI - UpdateHotkeyLabel(_selectedProfile.Hotkey); - if (displayHotkeyForm.Hotkey == Keys.None) - // Remove the Hotkey if it needs to be removed - HotkeyManager.Current.Remove(_selectedProfile.UUID); - else - // And then apply the Hotkey now - HotkeyManager.Current.AddOrReplace(_selectedProfile.UUID, _selectedProfile.Hotkey, OnWindowHotkeyPressed); - } - } - private void lbl_hotkey_assigned_Click(object sender, EventArgs e) - { - btn_hotkey.PerformClick(); - } - - private void UpdateHotkeyLabel (Keys myHotkey) - { - // And if we get back and this is a Hotkey with a value, we need to show that in the UI - if (myHotkey != Keys.None) - { - KeysConverter kc = new KeysConverter(); - - lbl_hotkey_assigned.Text = "Hotkey: " + kc.ConvertToString(myHotkey); - lbl_hotkey_assigned.Visible = true; - } - else - { - lbl_hotkey_assigned.Text = "Hotkey: None"; - lbl_hotkey_assigned.Visible = false; - } - - } - - public void OnWindowHotkeyPressed(object sender, HotkeyEventArgs e) - { - if (ProfileRepository.ContainsProfile(e.Name)) - { - string displayProfileUUID = e.Name; - ProfileItem chosenProfile = ProfileRepository.GetProfile(displayProfileUUID); - if (chosenProfile is ProfileItem) - //ProfileRepository.ApplyProfile(chosenProfile); - Program.ApplyProfileTask(chosenProfile); - } - - } - - private void btn_profile_settings_Click(object sender, EventArgs e) - { - ProfileSettingsForm profileSettingsForm = new ProfileSettingsForm(); - profileSettingsForm.Profile = _selectedProfile; - profileSettingsForm.ShowDialog(this); - // If the profile was previously saved and is now changed then save all the profiles - // otherwise we'll save it only when the user wants to save this profile. - if (_saveOrRenameMode == "rename" && profileSettingsForm.ProfileSettingChanged) - { - //_selectedProfile = profileSettingsForm.Profile; - ProfileRepository.SaveProfiles(); - } - } - - private void btn_help_Click(object sender, EventArgs e) - { - string targetURL = @"https://github.com/terrymacdonald/DisplayMagician/wiki/Initial-DisplayMagician-Setup"; - System.Diagnostics.Process.Start(targetURL); - } - - private void saveProfileToDesktopToolStripMenuItem_Click(object sender, EventArgs e) - { - btn_save.PerformClick(); - } - - private void applyToolStripMenuItem_Click(object sender, EventArgs e) - { - btn_apply.PerformClick(); - } - - private void deleteProfileToolStripMenuItem_Click(object sender, EventArgs e) - { - btn_delete.PerformClick(); - } - - private void sendToClipboardToolStripMenuItem_Click(object sender, EventArgs e) - { - string commandline = _selectedProfile.CreateCommand(); - Clipboard.SetText(commandline); - } - - private void ilv_saved_profiles_ItemDoubleClick(object sender, ItemClickEventArgs e) - { - // This is the double click to apply - _selectedProfile = ProfileRepository.GetProfile(e.Item.Text); - - // Apply the selected profile - btn_apply.PerformClick(); - } - - private void btn_donate_Click(object sender, EventArgs e) - { - string targetURL = @"https://github.com/sponsors/terrymacdonald"; - System.Diagnostics.Process.Start(targetURL); - } - - } -} \ No newline at end of file From 20c390d6f969e59136c90438eca636f8e9bbfe16 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Wed, 29 Jun 2022 20:37:20 +1200 Subject: [PATCH 56/60] Fixed ProcessPriority error in StartProgramControl This is now working properly. --- DisplayMagician/Processes/ProcessUtils.cs | 29 +++- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- .../UIForms/ShortcutLibraryForm.cs | 4 +- .../UIForms/StartProgramControl.cs | 3 +- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 140 ++++++++++-------- 5 files changed, 110 insertions(+), 70 deletions(-) diff --git a/DisplayMagician/Processes/ProcessUtils.cs b/DisplayMagician/Processes/ProcessUtils.cs index 61a797e..30e884c 100644 --- a/DisplayMagician/Processes/ProcessUtils.cs +++ b/DisplayMagician/Processes/ProcessUtils.cs @@ -678,6 +678,33 @@ namespace DisplayMagician.Processes } } + public static ProcessPriority TranslateNameToPriority(string processPriorityName) + { + ProcessPriority wantedPriority = ProcessPriority.Normal; + switch (processPriorityName.ToLowerInvariant()) + { + case "high": + wantedPriority = ProcessPriority.High; + break; + case "abovenormal": + wantedPriority = ProcessPriority.AboveNormal; + break; + case "normal": + wantedPriority = ProcessPriority.Normal; + break; + case "belownormal": + wantedPriority = ProcessPriority.BelowNormal; + break; + case "idle": + wantedPriority = ProcessPriority.Idle; + break; + default: + wantedPriority = ProcessPriority.Normal; + break; + } + return wantedPriority; + } + public static ProcessPriorityClass TranslatePriorityToClass(ProcessPriority processPriorityClass) { ProcessPriorityClass wantedPriorityClass = ProcessPriorityClass.Normal; @@ -731,7 +758,7 @@ namespace DisplayMagician.Processes } return wantedPriorityClass; } - + } } diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 2ca7afe..8db4ac1 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.71")] -[assembly: AssemblyFileVersion("2.4.0.71")] +[assembly: AssemblyVersion("2.4.0.85")] +[assembly: AssemblyFileVersion("2.4.0.85")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ShortcutLibraryForm.cs b/DisplayMagician/UIForms/ShortcutLibraryForm.cs index d10e69d..cf2c277 100644 --- a/DisplayMagician/UIForms/ShortcutLibraryForm.cs +++ b/DisplayMagician/UIForms/ShortcutLibraryForm.cs @@ -301,8 +301,8 @@ namespace DisplayMagician.UIForms private void ShowShortcutLoadingWindow() { Program.AppShortcutLoadingSplashScreen = new ShortcutLoadingForm(); - Program.AppShortcutLoadingSplashScreen.Title = "Preparing images..."; - Program.AppShortcutLoadingSplashScreen.Description = "Preparing images before showing you the Shortcut information. You will be able to swap your shortcut icon to any image you want, or choose one from a list."; + Program.AppShortcutLoadingSplashScreen.Title = "Preparing Shortcut..."; + Program.AppShortcutLoadingSplashScreen.Description = "Preparing the Shortcut ready for you to edit. You will be able to swap your shortcut icon to any image you want, or choose one from a list."; int resultX = this.DesktopLocation.X + ((this.Width - Program.AppShortcutLoadingSplashScreen.Width) / 2); int resultY = this.DesktopLocation.Y + ((this.Height - Program.AppShortcutLoadingSplashScreen.Height) / 2); Program.AppShortcutLoadingSplashScreen.WantedLocation = new Point(resultX, resultY); diff --git a/DisplayMagician/UIForms/StartProgramControl.cs b/DisplayMagician/UIForms/StartProgramControl.cs index a6a7351..725bfe2 100644 --- a/DisplayMagician/UIForms/StartProgramControl.cs +++ b/DisplayMagician/UIForms/StartProgramControl.cs @@ -9,6 +9,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using DisplayMagician.Processes; namespace DisplayMagician.UIForms { @@ -287,7 +288,7 @@ namespace DisplayMagician.UIForms private void cbx_start_program_priority_SelectedIndexChanged(object sender, EventArgs e) { - myStartProgram.ProcessPriority = (ProcessPriority)cbx_start_program_priority.SelectedValue; + myStartProgram.ProcessPriority = ProcessUtils.TranslateNameToPriority(cbx_start_program_priority.SelectedValue.ToString()); } private void cb_run_as_administrator_CheckedChanged(object sender, EventArgs e) diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index b48f5fe..b7fc9af 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -68,8 +68,11 @@ namespace DisplayMagicianShared.NVIDIA => HasNvHdrEnabled == other.HasNvHdrEnabled && HdrCapabilities.Equals(other.HdrCapabilities) && HdrColorData.Equals(other.HdrColorData) && - HasAdaptiveSync == other.HasAdaptiveSync && - AdaptiveSyncConfig.Equals(other.AdaptiveSyncConfig) && + // Disabled the Adaptive Sync equality matching as we are having trouble applying it, which is causing issues in profile matching in DisplayMagician + // To fix this bit, we need to test the SetActiveConfigOverride Adaptive Sync part of the codebase to apply this properly. + // But for now, we'll exclude it from the equality matching and also stop trying to use the adaptive sync config. + //HasAdaptiveSync == other.HasAdaptiveSync && + //AdaptiveSyncConfig.Equals(other.AdaptiveSyncConfig) && HasColorData == other.HasColorData && ColorData.Equals(other.ColorData) && HasCustomDisplay == other.HasCustomDisplay && @@ -77,7 +80,11 @@ namespace DisplayMagicianShared.NVIDIA public override int GetHashCode() { - return (HasNvHdrEnabled, HdrCapabilities, HdrColorData, HasAdaptiveSync, AdaptiveSyncConfig, HasColorData, ColorData, HasCustomDisplay, CustomDisplays).GetHashCode(); + // Disabled the Adaptive Sync equality matching as we are having trouble applying it, which is causing issues in profile matching in DisplayMagician + // To fix this bit, we need to test the SetActiveConfigOverride Adaptive Sync part of the codebase to apply this properly. + // But for now, we'll exclude it from the equality matching and also stop trying to use the adaptive sync config. + //return (HasNvHdrEnabled, HdrCapabilities, HdrColorData, HasAdaptiveSync, AdaptiveSyncConfig, HasColorData, ColorData, HasCustomDisplay, CustomDisplays).GetHashCode(); + return (HasNvHdrEnabled, HdrCapabilities, HdrColorData, HasColorData, ColorData, HasCustomDisplay, CustomDisplays).GetHashCode(); } public static bool operator ==(NVIDIA_PER_DISPLAY_CONFIG lhs, NVIDIA_PER_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); @@ -2030,67 +2037,7 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfig: Exception caused while turning off prior NVIDIA HDR colour settings for display {displayId}."); } - // Set any AdaptiveSync settings - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to set any adaptive Sync settings if in use."); - - NV_SET_ADAPTIVE_SYNC_DATA_V1 adaptiveSyncData = myDisplay.AdaptiveSyncConfig; - try - { - if (myDisplay.AdaptiveSyncConfig.DisableAdaptiveSync) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to DISABLE Adaptive Sync for display {displayId}."); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to ENABLE Adaptive Sync for display {displayId}."); - } - - if (myDisplay.AdaptiveSyncConfig.DisableFrameSplitting) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to DISABLE Frame Splitting for display {displayId}."); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to ENABLE Frame Splitting for display {displayId}."); - } - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to set the Adaptice Sync Max Frame Interval to {myDisplay.AdaptiveSyncConfig.MaxFrameInterval}ms for display {displayId}."); - - // Apply the AdaptiveSync settings - NVStatus = NVImport.NvAPI_DISP_SetAdaptiveSyncData(displayId, ref adaptiveSyncData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_DISP_SetAdaptiveSyncData returned OK. We just successfully set the Adaptive Sync settings for display {displayId}."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input buffer is not large enough to hold it's contents. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); - } - - } - catch (Exception ex) - { - SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfig: Exception caused while trying to set NVIDIA Adaptive Sync settings for display {displayId}."); - } + } } @@ -2993,6 +2940,71 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning on custom NVIDIA HDR colour settings for display {displayId}."); } + // Disabled the Adaptive Sync equality matching as we are having trouble applying it, which is causing issues in profile matching in DisplayMagician + // To fix this bit, we need to test the SetActiveConfigOverride Adaptive Sync part of the codebase to apply this properly. + // But for now, we'll exclude it from the equality matching and also stop trying to use the adaptive sync config. + + /*// Set any AdaptiveSync settings + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to set any adaptive Sync settings if in use."); + + NV_SET_ADAPTIVE_SYNC_DATA_V1 adaptiveSyncData = myDisplay.AdaptiveSyncConfig; + try + { + if (myDisplay.AdaptiveSyncConfig.DisableAdaptiveSync) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to DISABLE Adaptive Sync for display {displayId}."); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to ENABLE Adaptive Sync for display {displayId}."); + } + + if (myDisplay.AdaptiveSyncConfig.DisableFrameSplitting) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to DISABLE Frame Splitting for display {displayId}."); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to ENABLE Frame Splitting for display {displayId}."); + } + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to set the Adaptice Sync Max Frame Interval to {myDisplay.AdaptiveSyncConfig.MaxFrameInterval}ms for display {displayId}."); + + // Apply the AdaptiveSync settings + NVStatus = NVImport.NvAPI_DISP_SetAdaptiveSyncData(displayId, ref adaptiveSyncData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_DISP_SetAdaptiveSyncData returned OK. We just successfully set the Adaptive Sync settings for display {displayId}."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input buffer is not large enough to hold it's contents. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); + } + + } + catch (Exception ex) + { + SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfig: Exception caused while trying to set NVIDIA Adaptive Sync settings for display {displayId}."); + }*/ } From 6326fd03baa356344493197c395317452e6ff819 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Wed, 29 Jun 2022 20:43:52 +1200 Subject: [PATCH 57/60] Center Shortcut Library window on return This makes the Shortcut Library Window center itself on the primary display when finishing running a shortcut. --- DisplayMagician/UIForms/ShortcutLibraryForm.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DisplayMagician/UIForms/ShortcutLibraryForm.cs b/DisplayMagician/UIForms/ShortcutLibraryForm.cs index cf2c277..832dc48 100644 --- a/DisplayMagician/UIForms/ShortcutLibraryForm.cs +++ b/DisplayMagician/UIForms/ShortcutLibraryForm.cs @@ -514,7 +514,9 @@ namespace DisplayMagician.UIForms // Bring the window back to the front Visible = true; + CenterToParent(); Activate(); + BringToFront(); // Also refresh the right-click menu (if we have a main form loaded) if (Program.AppMainForm is Form) From 372e6d0f584d93d9edb96e740fc298173b1af170 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Wed, 29 Jun 2022 20:54:41 +1200 Subject: [PATCH 58/60] Build new version --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 8db4ac1..1e6d4ff 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.85")] -[assembly: AssemblyFileVersion("2.4.0.85")] +[assembly: AssemblyVersion("2.4.0.86")] +[assembly: AssemblyFileVersion("2.4.0.86")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 1d2cfc8306dc0cc1aadd642bbfeeb58ae77a8c85 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 1 Jul 2022 08:37:58 +1200 Subject: [PATCH 59/60] Improve Windows Form centering after resolution change --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/UIForms/DisplayProfileForm.cs | 12 ++++------ DisplayMagician/UIForms/MainForm.cs | 16 +++++++++---- DisplayMagician/UIForms/ShortcutForm.cs | 3 +++ .../UIForms/ShortcutLibraryForm.cs | 11 +++++---- DisplayMagician/Utils.cs | 24 ++++++++++++------- 6 files changed, 43 insertions(+), 27 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 1e6d4ff..053cc06 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.4.0.86")] -[assembly: AssemblyFileVersion("2.4.0.86")] +[assembly: AssemblyVersion("2.4.0.88")] +[assembly: AssemblyFileVersion("2.4.0.88")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/DisplayProfileForm.cs b/DisplayMagician/UIForms/DisplayProfileForm.cs index 9621f30..dd1eacc 100644 --- a/DisplayMagician/UIForms/DisplayProfileForm.cs +++ b/DisplayMagician/UIForms/DisplayProfileForm.cs @@ -38,6 +38,8 @@ namespace DisplayMagician.UIForms ilv_saved_profiles.AllowDrag = false; ilv_saved_profiles.AllowDrop = false; ilv_saved_profiles.SetRenderer(new ProfileILVRenderer()); + // Center the form on the primary screen + Utils.CenterOnPrimaryScreen(this); } public DisplayProfileForm(ProfileItem profileToLoad) : this() @@ -91,15 +93,11 @@ namespace DisplayMagician.UIForms private void RecenterWindow() { // Center the MainAppForm - Program.AppMainForm.Top = (Screen.PrimaryScreen.Bounds.Height - Program.AppMainForm.Height) / 2; - Program.AppMainForm.Left = (Screen.PrimaryScreen.Bounds.Width - Program.AppMainForm.Width) / 2; - Program.AppMainForm.Activate(); + Utils.CenterOnPrimaryScreen(Program.AppMainForm); + //Program.AppMainForm.Activate(); // Bring the window back to the front - Visible = true; - CenterToParent(); - Activate(); - BringToFront(); + Utils.ActivateCenteredOnPrimaryScreen(this); // Also refresh the right-click menu (if we have a main form loaded) if (Program.AppMainForm is Form) diff --git a/DisplayMagician/UIForms/MainForm.cs b/DisplayMagician/UIForms/MainForm.cs index 233b9d7..e2cad98 100644 --- a/DisplayMagician/UIForms/MainForm.cs +++ b/DisplayMagician/UIForms/MainForm.cs @@ -225,9 +225,11 @@ namespace DisplayMagician.UIForms // Make this window top most if we're not minimised if (!Program.AppProgramSettings.MinimiseOnStart) { - this.TopMost = true; - this.Activate(); - this.TopMost = false; + // Center the MainAppForm + Utils.CenterOnPrimaryScreen(Program.AppMainForm); + // Bring the window back to the front + Utils.ActivateCenteredOnPrimaryScreen(this); + } } @@ -494,14 +496,18 @@ namespace DisplayMagician.UIForms public void openApplicationWindow() { - allowVisible = true; + /* this.Restore(); this.Show(); this.Focus(); this.BringToFront(); this.TopMost = true; this.Activate(); - this.TopMost = false; + this.TopMost = false;*/ + + allowVisible = true; + // Center the form on the primary screen + Utils.ActivateCenteredOnPrimaryScreen(this); } public void exitApplication() diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index a619959..8186099 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -112,6 +112,9 @@ namespace DisplayMagician.UIForms logger.Warn(ex, $"ShortcutForm/ShortcutForm: Exception while trying to initialise CoreAudioController in ShortcutForm. Audio Chipset on your computer is not supported. You will be unable to set audio settings."); } + // Center the form on the primary screen + Utils.CenterOnPrimaryScreen(this); + } public ShortcutItem Shortcut diff --git a/DisplayMagician/UIForms/ShortcutLibraryForm.cs b/DisplayMagician/UIForms/ShortcutLibraryForm.cs index 832dc48..c034028 100644 --- a/DisplayMagician/UIForms/ShortcutLibraryForm.cs +++ b/DisplayMagician/UIForms/ShortcutLibraryForm.cs @@ -32,6 +32,8 @@ namespace DisplayMagician.UIForms ilv_saved_shortcuts.AllowDrag = false; ilv_saved_shortcuts.AllowDrop = false; ilv_saved_shortcuts.SetRenderer(new ShortcutILVRenderer()); + // Center the form on the primary screen + Utils.CenterOnPrimaryScreen(this); } private void btn_back_Click(object sender, EventArgs e) @@ -512,11 +514,10 @@ namespace DisplayMagician.UIForms btn_cancel.Visible = false; btn_cancel.Enabled = false; - // Bring the window back to the front - Visible = true; - CenterToParent(); - Activate(); - BringToFront(); + // Center the MainAppForm + Utils.CenterOnPrimaryScreen(Program.AppMainForm); + // Bring the window back to the front + Utils.ActivateCenteredOnPrimaryScreen(this); // Also refresh the right-click menu (if we have a main form loaded) if (Program.AppMainForm is Form) diff --git a/DisplayMagician/Utils.cs b/DisplayMagician/Utils.cs index 42f01f8..0a5e126 100644 --- a/DisplayMagician/Utils.cs +++ b/DisplayMagician/Utils.cs @@ -55,20 +55,28 @@ namespace DisplayMagician } } - public static void ShowCentered(this Form frm, Form owner) + public static void ActivateCenteredOnPrimaryScreen(this Form frm) { - Rectangle ownerRect = GetOwnerRect(frm, owner); - frm.Location = new Point(ownerRect.Left + (ownerRect.Width - frm.Width) / 2, - ownerRect.Top + (ownerRect.Height - frm.Height) / 2); - frm.Show(owner); + CenterOnPrimaryScreen(frm); + frm.Visible = true; + frm.Activate(); + frm.BringToFront(); } - public static void CenterParent(this Form frm, Rectangle ownerRect) + public static void ShowCenteredOnPrimaryScreen(this Form frm) { - frm.Location = new Point(ownerRect.Left + (ownerRect.Width - frm.Width) / 2, - ownerRect.Top + (ownerRect.Height - frm.Height) / 2); + CenterOnPrimaryScreen(frm); + frm.Show(); } + public static void CenterOnPrimaryScreen(this Form frm) + { + frm.Top = (Screen.PrimaryScreen.Bounds.Height - frm.Height) / 2; + frm.Left = (Screen.PrimaryScreen.Bounds.Width - frm.Width) / 2; + } + + + public static void ShowDialogCentered(this Form frm, Form owner) { Rectangle ownerRect = GetOwnerRect(frm, owner); From 47cc5eb6c4fbcefc9d8a368c6969f4a203197840 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 1 Jul 2022 10:44:03 +1200 Subject: [PATCH 60/60] Updated README for v2.4.0 release --- README.md | 19 ++++++++++++++++++- READMEAssets/DisplayMagicianMainScreen.png | Bin 784295 -> 784295 bytes READMEAssets/DisplayMagicianSettings.png | Bin 48259 -> 61126 bytes 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 558fdbb..703898b 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,8 @@ I am doing this work to scratch a programming itch I've had for a while. It's pr ### Initial Setup: +If you prefer to see a video on how to setup DisplayMagician, check out [this awesome 'How to Setup DisplayMagician' video from JDM PC Gaming](https://www.youtube.com/watch?v=xqguYAMNHLM). Otherwise, perform the steps shown below: + 1. Install 'DisplayMagician' 2. Run 'DisplayMagician', and click on the 'Display Profiles' button * Use 'Windows Display Settings', 'NVIDIA Control Panel' or 'AMD Radeon Setup' to configure your display(s) exactly as you would like them @@ -143,9 +145,24 @@ with this program; if not, write to the Free Software Foundation, Inc., ## Credits -Thanks for the work and the time that all of our contributors put into making this a better project. Following is a short list, containing the names of these amazing people: +I’m so very thankful for the help of the following people, who make DisplayMagician possible: * Sean at SimCraft (Thank you so much for your generous donation!) +* Domenic (Thanks for the solid month of troubleshooting help and the monthly sponsorship!) +* RBZL (thanks for the monthly donation) +* Frcooper (thanks for the monthly donation) + +Also big thanks to: +* Dogy007 (Thanks for the sponsorship) +* Ceramed (Thank you for your donation and your help troubleshooting SuperDisplay and SpaceDesk screens) +* Bjorg (Thank you for your donation) +* MichaelDWheeler (Thank you for your donation) +* Frank (Thank you for your donation) +* Dan Clark (Thank you for your donation) +* Fonzmonster (Thank you for your donation) +* Logozo (Thank you for your donation) +* 5th (Thank you for your donation) +* Patrickdiezi (Thank you for your donation) * Fifowole (Thank you for your donation) * Brett Horton (Thank you for your donation) * Patrickdiezi (Thank you for your donation) diff --git a/READMEAssets/DisplayMagicianMainScreen.png b/READMEAssets/DisplayMagicianMainScreen.png index b691f1b92821c6803bd15a9543387ccc35568308..c7a0f3dd9f45c7194e8cb4fe9500a3ebbb85dcb7 100644 GIT binary patch delta 759769 zcmagGXE>bEyFQvkLb`|+y+!Z6mqf3lGir2EqZ@`d2%?UO-h$~m6a9!-O?TxKk|tdKmDB|bbNL; z@Qq&C^3x}POFdUJIgD8&TPEx^y;2;LMs{b%qe(lR?(S|&DAefm?>uX4Y%DLg2lvqvj+)RD8 z2(;|Z*4Q&l3BQ&ncljc=Aw2Tr_-Bte2OyJx8S?*(ttvSG*7O#gh+;Lp2zQwMp=ei= zqMg8Dd}&i6gIs#V86((y80FgjgmJJU@jt)#r57$w$qWOoSFPr19bKo5y@J_6O-TI1 zUU>ZOdT5=f6e@s;-%;Df21N7^XLYn)SB5&J&t^pJL1vE4(i)IVuMXMzLe_jvs z%d(&MKjV&yx*7lXr@+4z$9x>DA@V=V|6ijIE;V2MjitIf@2P({0_|Y7pXwKEIVnvp z#tHgalP^JgeJh=>{tJFyWHdESCmucA=$by5QhCcF+;S#XZ)eOJ;-_OWt~+b8Rlhr% zyn|JFTXZy`8{g#5@EvU1JZvA={227#+YS61UHXAxtpl8QSV)@kD5>Y|R!Q~nQ?a8L zz?m0SVq(*-m7+~xMPkb}3S9}iaZKv*da7EYkjARFZArzMr`xDYc@ZM7P_DKVq*cA{ zda-cq;d(JUOrlG^(OX}KWaNh56(R4!cWj0YzpU>xq^#Qy4SGD4_5Sar2L4ThoafD( zH;?!4A->`g4#|t1FoWPA;Bp+-m0>XKd;_?(xj^Mhcrg6nwRN!{mqpikLDh$^&J*1m z7V1%O-K^*==xIuC?D;k^YFn8zUfG62`F~awvnSq6be;^ya%ll{TVHAuw`%?}d^JrjneCSD)DyMGb$U+a%q0{7Po$)APxL-6m5+*O_E zEpqCmb-itBez9#qJoIJY#I>tYR^r`x18eTaixy@oB_y%SXwRv0X2bEe*Um$~D5Kk2 zWz;t3UoZUT%iLnrq_b~&$rfIrb6$f&2Cy~BGf;I)dQpOu;RvfGGd`{x=Mks7s)Du1 zO8`IoyYcjWgVS==?)yk)F_)KB%eRIJ=}26y%;l0=+AeVTALy3h%t_+Y2=)?60vX!H zq+WYgt{r3&OXQjV8?vF4)>LHz)az>WFU5asVS>Y^q^9rs`BVnYhKXNg+S&I+qTzT} zNtgOB^*1R4sM5p*>N=KzprRo_k2AGUn|MF-m+3JyJq~cOUb)e^7-Of36O>ejw0lqx zH(e;zqvrLt+^J0ED1z#SHqjsG=}I0Ov572}@0b9ge_a2@qt{77ZH7?J%Fdyh8*6UU zEd~ph4g5Ikf^z-0pWW8_1&tBQK0c#I+CA*9@Uo!4;mC`A!?pSCw35bcao2$e&IGNM%i8tVkT9rj*~PXF`mf=sD0cPIfM(*v8tdd% zgF~(9kPP7QJo)rLGTErHH)9~XTJ6vlVY#=gURoFtMOb;iy_#QB+C_Xzd<2hJFMpyb zf0i({5pXlBtAL= zw-nSohZke8NRNRNqFU<35}39E=Q^yXP? zE*LNEITGvAJ!+uWC3XEf-omtx#xi{i$G5(_Q0+pR!~#oIS*`}%tlLqv7r$!~`zP0A zPnwlXz8&T=dT2L$MTwzLU|&sYJ$tKL{wIZFiW#zJIh2Z{?vJZ7I&|}Us&ljO!60LW z`0iwR^YJ^iFF;#bm@;P*+kxj(abgp1v%S>qbT00{l;>5Wji^YEy_jw(;3V{_V# zID!77a;&^+H4?!Kk#2=2T^Ix5HJR~=&=uFMYnaVQuZ`%pu`WGRmT8m3^A)ZCyCVM^ z#+qB+F!evn)1i7>R!vRee@x-^5q2)!|D!_X{XeTpoGt19`vKtp_lf_{1Iu1-&tI}h z7VmM3i;G{)y>>}!QM3;oE;Ip;e>XDab7ytp#1>VFf$@=)7UH$wY)Un(ijE=MslWxA*a~=qMgvG-z zK{GzN)jBu5n4d;CBdYitk@mwg3b_(r9#ecfVrmD4J>OrTgZWJ4tOavIvm6$ijV~`R zU3Z*xF9ZT719ZoU745~C7ifL_D1|x0b;n6sa?cKUZakhsT-<<1nYhuqpw!A25|?_S zFe_I!mSPg>xmN>qLe*v*csurt`)-bn_nYQ_+F-{56=*$zy##5NCftDmfUb!l)PhdD zJ8>mhnQv^vaW}y+FDDgk*k!cV!eoAPG*tVOqwYcMDrz2jG<2o+)|~z}<%lgj;6aWW zP42XoV9eMmvmC%uqSM)+85d08j3@G@^_@P_yHZ6(rFUuR1C6hMWCfVwMX6zy4|673 z4K$4?ucIB;TGcF8>*MYrXH2bgfK!NihROAv7lhdRAuZ-9s!zs5`zdAn+vk#L84?Q* zXtm##9$Fp>1a7dVU?au|X;wiq_GTeM3tB9GykE!H;Xo*E4|a9OTx=D41X2aF06uS= z!^O}m&%rK`j}0%z=bqfenHD`4XDd%fSpNlBCmb)*vpx4zayeP5@go20{ky9Ud*;{>wNk&?(j8Ckq|6>^;ut9~(+ zX~hA-$e+4+I~mWiqooEC*q^=Z3VihJz0gUF#dBR|21Z7!v$FXr+YbTScKtcXrhqyI zENN*TkwRA@j<|6(N!7eb;fqn&t)b5q>zLtIyo73tvt?#vWaO907|$JBBJ@f_uzr4B z^*CnQ>bw;`+F!ySkfFzF?26m+IhDW%p4|XcV)$rKemgD-dl+t2oC-$o&5n_?d8bx= z;@V5)JU|_PqS^k0RHDLaR->6(bPR{DD8l8T^N%Y_oU}C3=cO2}QrQ-r0|!$+J~3D7 zstMPR&VR#9nInccpUV5w1eDKeCY`rg^At z@~0zMBsk9D-{cxqDGR-sILiQVzjS!ZxHf?cDKP)FAs~(tBpahN%|W8+GW0DJH`U{< z7_TM15FIQ@5Z7fk`>Pf4BymoGf9AB@M}r!ATpYue#F?)m_ZiUMH6=2i78VyXF`>Gt zCvR~TO%dRwKoKNDhC(1V#G6idiq&*b7*zYLP0J@5E0A&wFNCg504Vw-9%S9`+Z-#; z;?EK0dbWmlG^-_ecU=0o%N5NOFA-s&I?aOG+L1A0k%(AvryrtHn&-?(nx>0Z&gFbR z|4l1Sv&tX~^HSE{;#~@dhyoJC7+II+h6YQMhK57|zCs`Sdu~m!QgzIEi_Lb*A``hb z;`c2rdE!l{HSv@UFjfi)?h*q}s3MN7G%(NbE{44ffBF@_O?f2k%ImGUz7>l8Bl+j> zj5AhKS+G41Mf(q>2<>e`-^FG;_9P#XTGdIr@spg}Qo}lq61yamB}dlxZUJ!%(oyDX zUGYhh2WMN$Qb#l+^HOyvNu#9!mu8JR_}Iq@re>WKR)jm?6%n3IvY?AMH^mXKr0_c! z$BY>kSMi1$q|q-;nF$kp^KWB`wb#Plsf1|%F~alYt+a`NJAPcjY_#u+V<45qP69g( z#b4>%a#NqUpDV%J84@0x3dPe}lb3eVzk*`3z7%u+_`oDY;Q)E>RUIwEi#!T2sHxNX zimKH#RR%<2G*Po3w~5g1?#gx3!ls3Do(X$p;+Qz^%NDyu{-m97y3EGRL2IldvGu-T z>h5FizNa9clg+-`FWxkJ-@lSaIP2IHZ#{P*8RR#=k@Eyn-Zff{KH;i3H2G4h@acsn zq!Rj|mTg(#xlV|s3sBCsm737j+F>rEb9rJk58!Q$9&N87mUIswzezc*Syf<7i~(%V zSOYz`O*E?b(xr-B73AxGD4R%bn3Ney{^?DWrGy|>8WnFTJ;P&m;DpnPWajB$rv7R6 zB>w^5{NBV4Xnwt1KQ65TzjaE5k}tyxfAC8hnei)TxI1J4NabG>VJnGw>6?SO%4 z=;k~JELG>j`hTbt?pIzO&{o>f?Vq*W-SFDblP;f>12=t-Mr`yJ(q6#08uX;p>tfY+~NFtlZ=!sg2y(pfuI(&qMolLZSmn;c;_&MsFeW(J0uTP5?{Qg zs2m-$dKHSG73V3+=m?}q10GmToJ2=QJ=*wEE{Z3?FHEQ_<+(RYZ&>G)e&eH+kRJ5` zviop|7~zmQf{DV|?4YPPRdAdj(>e|P&WG22;c#4>wb94t=bi=ln;}RsZ@(e5HQvDq zQ`b00*THf|If9S>eSY^^D33;u)-om$&{HTdTOL}8ye@nwH}u^W5LqeBa(}jvkW{r& z-7Zcj%i>69$8Q{Nj_{5Y35YZLdNo*^O|P8rFf@=bTX9JPL_yVgNpLXUYrKM!NctC^8@*m5%6=nFgS!eg9> z1}l)@ucBz7c_S@KK=Zm(y;z}dTOc`zn~G66y|z??q(|ZK4dFXG*U1-y!O@{2D?EHG z8svrOBkgRV@C4&eZ#B~`d3$}w-lb`fZ-jX>KxMrxTAdXR$&z;oP&Awp(Ge)f4R@qq z0z6a>X=1IiknlSrsSc9~E4dgBu0tNm*AnOU_q4J+_(Pq&`A@kucz%u!Cb4`B#?+Y% zT}8fU4B#790#hh$cV3AQg?gx}Mrgk}P9Rx`$fwP^3LM7;wE zj);6Pb%&Q6go_e1FOyLwG+Z#wm0X!29p&(0*;Z1{#xT`fov|a6GM|CbYA*V6!;}hG zd!o6Qo*?eG>bmwV7~T6w*>W-ttpjQExm%JI0sOy~b+ZJAZ;);TdN=?1VbK%4)cJ~X zZidBNxOB{j&Z@&mGm?!`RDu9+W4eHZPibRyszmvJ#YmGEEmkhMPt+v> z+ynJF*yEczqg}9Hw6Q;4_C0+*u-5s7ZI|qu7Pj6%bYD|dj!hj~nGPyaw%Ag~R8}r; zyM+pGP20!P)sD8ehh&-RfR!5B6n4f3ofk+Fcax?PKP#JW zmA5t|D5AX^8Rj2#`%+1qtuLDm;T@q4gsmvVQ(*#26SYw&FS(Er@V>+<7? z=b$`}6@KN!m%$HPC2j+&{1~Ka`?kjtVF?$=i*qde0dWH=PJsYra(!_J?Gqi3kDIep-HG zIWJ|b8W?WI4QldbboYl$+k2u7c68RV+b z<A(k3_#(bOX^hJOcn&_@Cm}ANA|wt%L-HzS~s12N5EJ$CG~}=0KnJ{tSF& z=A`6ms}4g3cR|&aT5!aoqK97jR5={gN<}T9NH0D~vxu$V-#o5GwH^7en0qyHQT!e` zrA@=}Ju~yfy;e-*mPRJ4{3Zyg(eUX{6bJ zqNIEPKJN<`@`{S2ay$%X<2GxNtX0N9I}k+S&;~AVVpJ>@-LjY-LpIwol%tCEWY||(uNMe4 zuYKgIysCROku&f0InP-Re!sX)|Uc)GaGMc1%Ky$w(zPgG_=&-h#$!PEEb zYMV{lPE%(iOGJWXo3h2guFJra(d0Vt(^hkW8$@H)Hkw?|vezy}JhGt`~ zwqduW^?S|a;vT@u#D4xo-&!NzfZ?2&o1*gGF2FYmDWV+eW#D%)7*u8Vs9DU=p!isj z{@=lmN_ofPM+Es~?2a}fDEv{1!6Mccc)lB~nziq*Tgf>M44Yf;N9SP|;%4D^7}%IN z{q*X%X@d*xC0STnE+WK!i86N#B=%z6M67jF_*x~ z6D0Gty`_%%JHfivU_Cx`A6nnFhGz|Op?<8)&l~GZ!T>}$u(NoT{VMn~2w8fxgLCs{ zUWGL8d_3*7_8q(MOoK(L_9R%y>Eh{3g?;(%W@_B_nE#e>t66r_y2eSF0pHS2M;%9$RPqD&rnMeymSw909y(3N3BL)bWkf>iFp z2(s7U?s8%}qn`hYE4cC06}VWSph|;m`=jn#`C1WsX@cuLn#jxV z(v0ZJW9$46G=&9+M}pA4PE4`<7|Lts_;MCxRM`R@PMz`3?-}Hgkjm&TFE0O(cGV`@ z4m-wPa3U(ob{h9bTZuN(EyYG0Mm)bo;&VYv5;b(sq2J>G zN9Xb{Wxet%>$ghM+ocksmX{f^{@us8|2h%*eD*%etA*0(&^pkCi$ z7!pn@sP9wT6G{Jt%{vTdy*qpjJ~P~wGM_7UN{qN$4#H_BtCU-d)|=du*iWfJbEkI= zc@RPCXX z)eNyt9iAk%CmHz-S!h!?nmZ~IUHb-dKWidj zE&tA$J-qA#xp8imb27bRsQ)XnJ=d_5wtXxCUrg+^G4+Tqu~D9xjX0V_E9ma6i6&joIYrk9`M^kIq&>DvbRd0g<;hSvKTJr~T-Y{omTW)E6g=~;@Q4eN3Ku15s_lj0ox9~R#{iSv+X$aQ` z&eC~uqdT|hl~I2k=W@NmL@2f9tUf{YFLl{t*&~R18`6E(HUntl0L7Z@FrWNfO`Xtp z^eb@_X_ULIS@#A1d^Nd%6|hkOaJa^#UBwDsTNB^IL(p#$BB9>URHJ) zVnISb1PaIN$@P9oWZt-*qOzaXzJC)s+*l;BC2~gZTB$b1akt=p^W?9G7+y1mP1Y3$ zw_b{_RZmZY%I|jhfhzw!5|Ln0p)H=hONv5ONA_Gg7WQw_dhMm3TEl&G$^;bi0+Y~Cf*=;~YM zK=E*+epyD?7B-Zm8|B>^E(L*A!^xC!0@Q|e4Wf( z)PfdPBD16*wmDw@l*MYqT{W-QKoTDUzY?71yb(Dx9TjBS={{A;m9~w%1WsmIVqyp+N8(My3ugZ#(1~cEh)Mdv1X}(A@$DU0)saW zF{Ca^DDzcfWq?}*Rs=EU%MEF1Y21Fd@~UGUSq7FAz0#~2X81C@A*y1l=y|l-fH>hA zZr_2oY^_>k|3cJRUw@m)46=&$Y@&PZIF}UxWb0wuV+6JeeQY&h?h>fBHjI3h?k_U;jgFFI+P1+RGl|L0dP`6zFCOEh-7q9zq!h zo)GsPIpPA|RJo0YsbWyST}yDt8GhOPT}`eVr(cGVd%lQ;!L&$<=~^EOEpR2X56-vC z6N1zj@iwWI?P8jzS4>vze?4)9H(wkVgpRbjxxn}L|Ec=}2-vqh@ zj>P3;Rlqu^HuUZHDmw)KTY)v+g=(h!=8Eu}n3vUZ+Y?|R)H;d$ug@w`ZJ4<8m| z5A2+5GYM_V>`s6tsJxB6`uJTJy7YD~RQ`~g4fhYUD7((5q9)EV8B>fsQh%QT@e>Qj zOXS?>OKxK)tW$+`H8e}T2gt6YU>rBA=w9xF&I%>~;k_IC*^Sgp!2{*+YL4{@e z`1$?(<(m2QhRZ9>HKNZp^(jnqj>uD89g3n|xKG(&&Z#q~?e(u>tQx8f~ob^VC zPJCz~;}#QRD~F<3I}S%-{_ejuA6gHnS1a2{>L$lM5*b>?iKq4US1;@BkDQW=PWrYs(%8Lj z&*gc9h2dtc$>oN>zq3BrjqmlkXf;^1Cx%K_+Mas(vC1K>LjN0t>N7n6vNP zob`qj28V;?DPJBvbalmn`aW#PX`S zFgLP9msu{O`Avo(?3V?Q39a#>`#pP1eN*Jxpu0$!OBuNPyOJ)A%H>$2%GXjqkCoO} z{;aR_iw}uTX?uUIv%9wE{w$53a$?_lrG~K2g=^u#WL`k{ZiBP5{*A)@`C694QfEKb zw2@n>jP^O}3tODtBTF;Lfz_KG*s2&m1~GSUiM*qql`k@Cd{+u!I1a*pBo4FP!$r@d zUy*|tu_G0?^QZornMxQIoMqs3Y1`~}mPtb5u>b4YX7pj!8PteZ5PwGY+%;lgc=vv= zK|S%SXZ8=BzvQd64TO7~|0K}7mct=~)ONbuHfXKE!_Tw{4tTQaK+Tu$7!o>abhU=p z0)|p^MU3Mu)Bqv5+Pww(Cc=1LZo-A!f&x7avdjb}Q2Fjmz1Hc+t_875knYPDy$|9w zNHp_5aJJBArH6?SG5=Pc_C4K&H~wv~KaJ3wx{pB^1>o}^2@)?O3Ne7#DKSMB&Q}@z zEhS(2etHG(uovCGjRIx#WRA$Qj6N*eU{%9$=5JRA7V3tVvZh{^HUGS|Dv+}0Okh2y zolyB>)Sg(3_n23>u{Q`b@tiFkv_JA9qbF8;ZzSmO@<{IE^Nd9dzb_GiAr41qN2ofE zz)*7CFKp=)t3oiLg#xCeI5$o(cuB8R(LVainM2228?Xs4QVAWOpYu{G6=7$Ei5b=I z&oToy@e(9tIvXF95T=(1=LS8Z(~}(t%zdy>9ynh_Is1qzzs&xBHIs1=9&!ok{u{0;DCj0 z$t#it#ttnyp3-4?N`{#H(?9-Kd#;OqXTjx45FEOAP`kMucK0GvdLosU=;jx4&K#0{ zY4Xg(;hrHuI~-=n(3lZ*u2)$hljcXQxX^4UHrB`H*5T=E{EU;jLK}pcVs>4w(@|)wj>*3G!xoJ015|LAd znJODbPX1nZRS2IV)u~;Izm?>2=W0j9Skty*_0 z)1{Q07z1!4Il9^H39obKkc@M^hlTpMxPr z$#5)S;&HQB$A)RquPqoG*tC9QIIAxz7kNauovjv07E1d=zROF6ysWfq5qT zVG(fj^_1Y+7|fX6kChQM>|0w*hLpO@%eVBND ztOy>Vw~}+`pZovD7jA2>KT{H-hE|5@gpH1BK>h-5nXDtwb>5(+)4A8ooy)f(tg3YX zHg~aT*qV#@a)Xu%*M`sT4$L&m`6H;lf;}NQ(USuWR&9eB z7vOg0t%abs#B#?Vtrj4xm7H8b%f5Tvnb~hl)Ks`N(ci^7d5*@qk(4eC1RA=n#|J#T zhG{EQz|j(xGGco?>;|{RtLgf{a528Aqk~7&%1{fY`zO4==!ip~smkrjbEetD{+A9( zs&2m2TJ!S!*z`CjQpDKGjlgGH@#Q@MU|Hrj9`t6%6jRRy43gUB93VeF;XbR&p=plB z>+$ugj3yxM;|$c#XM`bts(qh9cAoxtpB^}~5Oy{Cgs+N@)1Tw$*Y?d<3{H+DfNA7l zk~jO0qMY=rj~^R#7@--Y8kFH^{=mdo`JwL$Gr8X3UkEGNIm<{o8zR=8dEamYC>mI~ zEu<%BvHoCabL)rW(89xV$&rvGPMCpg z#@^6+F_Y%0AZ@M6p~=I!VDG!nRG(LK?IX%_oH+ITd<@283%81l&Q9*)Qk~D8!QVd? zBW=Y?;ViIg9mf1PQyBiL>)Z(71ZO6Xd%^<1b~SN6I5@o5J;TKwHEYyN;o4Tr#pa9-)%ng3ps90 zv#3`Ck$o|Q3y+5m9*j`s*VspA7|60Q!o;j?bX~sCu>R?I1}h}tOD&_g;Ku0EZ!XT| z4z9tN=H!{RJP}4_D%FV8PNLzYi1pB=`_19L8YPIGPs?s^;A1y_O_Ux9`-@L9N00l* zt^63HaBy?e$KuDbC<7kBlJK_XaP8yW;gcP!B0a_%e4Rp_Lm8RV=lgISY2|j<_@i~~ zgW>6xyQ`K^cD)j%SAQLA+y?Botw0fH2g`?$?FPdBz^<n^gP{|Z?UpN=pM_h zz28s41~4I~vfkq%uTD?NxL&kPk6KJ$I4r97d^R{yN3*hu3&^lm=PNz*2qf)0I+R@+ z_Y7Alqu3LB6v3(FLfSYSw6V`X_>RSxva6z^=A1}0ph_yuZ$I}efibHIlCTA3dUB0ezJNv4#^VWY4E03cBU4*MwEA-jQ3{l57gL#BY+XoJK-if*z zzUxo8P&guC_D!Xa9cT7VHj&5l-!<}SK1%g@xwBgE!-aRK^1h{s z3bwSO{-6C)9(V4r-I$b;;;15(_*p|QCer(<75GMOL;P(JE<@ZOUck(o-PzFGSBXPy zA$4z)H6*W;Qg;`bTn;(!?{! zV#KXIOiC+kow7L(bs^F0(hT#?EiuyEM=qqe%F=$zb#$Ltyth(5jdk(BEhXRk z-8G$s#79~wC-g^SYyh8Z)yH3HP0L?y%?_UO-on+w^mVBw%(rwH??Iq7Pv#R~`sD$i z{=O)Fec+67{`;R+XZD$eQV2A%z~dL%756m|0CdHoSYb;kIJuNr->9(`5u-;GqU+%` z{?{oRJ``%6LCI24AUS6B?@*?4LKI0T_sVK|)^uyV4YjcTbhjE@UqRvXJWK}Ub@{1fk=06LJ<|glIDX>D|sl+&Wp0W$e&N=lDwzibMxz@*Q~x1pEQXmsi&V|EWuO+t};x zd!X+|ue+>P`eMQdvg@UkoQX*8pkM0B4da5dp+oJMZqvIzC@L(fyIW3Siy!05tBOMZ zdhV>z$)n}U3|bfdj^|A7ELK=SfGoqJN)_pBk6d9a1%Ixi==2dEVnpnwDg)u8Obc}D zClf51RRz536i3}%Vn8|In!j$g9nE$S7w6vsN{{=FZB+#p>fYsf zpj!$6^$>Z8a~3UsysSZVe@Q2Tvg+uPnU!oD`Kk1ye$o=k-u+69!BIV^9 zbvzxfSnCCAx#DC2%IM#r;|U_oc44G#uSZG&3sgil65GBs451Dgr_X? z+tI7C@=Ytud;%(%t@Kz1wREAn-i-egzON~=O5MZd)?nAy@j9^n7PaYQOsQymaY~Tm`c?MZpTg~7wC76^xSiP zSj`-Pv45I(A~VERt~WG@V)`DE&sJK<3+0V{uLs&kq_kOhYHef~I*4nMEW`GND~-eZ{ET&lwgDk}@uvRr!cP*v+U`p9wd1{kz@v=hQuT44 zf}W2Qx)N@bo`3%^FW%jrbrgk{hIf7)7>-#vF>|S(gD7Rh8*1DzFAz{w99Vl0yvtCb zN(90|Szu8SGcOfPT_Vfdf)^#jT<}Wn|AeDR3y6_HIVKOa)2IVf4m-(r2|h3S+5zUc?<= zB|pA9uXo4Y&^);?)b32gn>RMwf}`e4V3v~M!!JG+?Z(mgQqv?Ru~kBUU$=pn-J+0}~`xrG9h9A2matxr{_4ZUy?&fkGkz0y5EnvJD5z6_(_3N4qULc+g)V;S`AvJ(Q0`d$RixL8fB8-xFqf)=l+{ccm$00)ME+O7&}v%D1aJy5HUoAv_GM z+pTwh0Z6+0SRxm|izh2PE+^;UPof0Z2FDeu(lVC8jw!PJ-QI& zBU|^t7}PpGxR8sRnxwqJpo6tT0lNIT1Bx}H*6kP#jlo2;-J{T|z4VaD8tVZ>ya;ci zEj?(jHPM2IKf-fNLi?A~Lh9bQim9lNs*Na5isD>!#+zQiPR;}_(Q4W4x+lWA&~eNK z`-tFthU4JauZ0aorVGaA;h8V!d*}x#R@5S3m1^g$UUR90#q{(Y_Hv7JhgSn;o$8*kc8RxV&HQ*;3 z8q}GE+53zC0(rGe7<@UfdU8-j#evz1agHJSbpunpPLvCiChtX(y}NQgs^@YbyTbhl zZt$-9<8lp8b*TJd()h>z_vFO+tV#ekX&2dwP}v+iE=)TK#|3=JwqQ#9=o$>!6!-;? z&&1>{G6fR#hX+KZ_vWRPKt%jl#kT5^ak~UvUssRZUs*#xKjAhEOJajzEb@#8M!bii z4lDc2a=PRnFStc4SJYqar^kYA)o*$>Wv0p->4cs>W5MF#uD|np=wI1T^b+XfmZu`z zT_rBI=RYnqv3labn>{Ms{IVj9mny2w`c^K<%$c5C<>=ZM?((Bvo zJGLIv4Gl^RM^5STvjtGoAksuKXJa=>Z;+vx;c+y^!uz8Ha$G;AM@CSibm`NbJ1bhqpMw3(NF7GWP6GA7Y`=Sn$MalSj?=F9+^t?eimbsSm$mo@uqTe zX&r-fLK*0~Qi1RY55%h-rl;j2?mqL(eBsVtJjZR?25MYwwJ8yOv=JkL8;9;(F&=l7 zJ(pyQfIB|87J-3yl+cTwxc9n0<&~mA8zWTV2N=`k?7RH_UyD?r((L3PdvWr-wWJ_Q zXYvgzK?|F3K~Oo(x?*3Sw5|_K&a?A!$vG~>dl4i6tia$^)v*ewC*%i7v$TyL6^M|3 z)wTs8^WUgCb_R0PASsXow3Y}|2sA0^IQtej5(Mb}U9DZCqq_Ktyt~;?v@ffdYrdM_ z@1JfytvR@QGNkLkaIhBd4y_66ZhK4KDL^A~{V8pj_m}J0rAL*;{D_s0yNX~kc+Ojd1D$tPQ=&GY(MDoDVo4v_YVIt@5}^n#~xh| z0@;k0&n&V>9^P%{z+T2KW3H%yF}JSCY!{pT%pNWOBXX>+PWQ|VUl+dy!1&hXxPiDc zD#v?u#6kwp=O;6{dXRj^ytU@5x?nGwgwmxQg=-}W(9#Lls%?qTF4q>tc6=psdTX(T z`j(k8fk;q+NSq{+F6+q^UuIKV9(9pb3~_%LAvyZ2i_@Q52>iW(4(|vI;Zx>ji}WR> z^ECN)t3rzMkiU2Q@DsoY)4tA9@mxIOn)bj#v|C`@yjud86HHY^kfQ;mT=@|yLg>he zVFBi;t2vAJ@Lxhnaj6y*!v}_zI%aceMZ~Jw17P+c`Goxqdfd8(&wLW;ZS9&alnlHQq$>V&!Wf?T zuD2+MJ2Jlne<)|3r`p$&AjkLu%vC@CZSf^E^+A-w+lAO*jA_*BP~aQhT=ILij$;!3 z2&4o<@gH-)(oKGX$z{CITyHTX8{IQ!LhCxXe91t8A_?D~0$*`!4vDmd2?!Hz?{t>~ z^z$UGHFCU<)%!>_LFJEzakE$3?)a&naWx`b$oQG>w24@y$y5 zLtj0p?!5-re@YXM3J|Yl2`B+USMak+sMF}tFU-X&oq)ZO8+_ak7j-#p-eQ@P+^>3i zHYlUo-(~o(MvO#c$MX%{n~VB9GsEu3OfWeaZJZAD!uq&GMcy5eSTDBy;01Z%HLmmE zrcW$imHY(mZ?e1}%1-|wI~wWW4AbDX)sE&yUh9{`27)$DKC-g~%Xz-Gj>9mSK4|xj zMU|O1$iXCYZwl&&kr-keOqDFb$nB*wAL0nD72>r9o!8)73W(RF9#2dAkGEESKwQ9I zoq_kFQjD>!a@rFDOGo1>4c4FO?t8<}F*^VAX^f#djC&Z1Qz;1ZPYjOC&?;gVwhwo$ z+M~$(llc&;de=Tdn>*!w-B*8$LA}HrG50;B>>M05BVo}U6u0wrX0ha6?N8d?ZIv?N z26%w(O;Hd0_{DWT6xRBn%BjAKn9ZjDDj>-h2U53Rk8n?lCH!*ax81uiAhD|tWg#pFcy5kTY5?sR0iyZ>Y*-On5BZ0WcbzAf} zecRf67-Qj=Fg>cuqc54dvh|RkuF;q}$5xm~)}+CD%{!)S{Hzgg>7%R-@8=ePgd%|< zLQ|n@4nn>G2@m80L%uF|;1h0=ST6pO?I#Ko^l3?1egbViEDB)JgL zT~fcl{a+-VRX|j2*M_A%(EV?||A12t*zEm0Ypv_PR@(~j;e&$ZSbD~VxI+q1hvUU$4mH;eW&4A^XK&ty|%R7)4G zutP$xrQ?B){DbA{sPMA`6Ij0nKl3YAOJfo3`;SZ2nXTNZ7l@ZN+faY*H&P1Cc~JBo zVvgHBFJVrVJU=`rCoLV-V)vAS$8kxt8^^(F*1F}C(?Smh<>k>_%_I}Wns<8syR8cD ztrrWosn69T?#j(Em^{EUnwfhh7jjadn{R2zwFay>jUKCN>RewpK#9X2uDpj_v|OSa zj)f`~X)3&C{w*NJv~>YTo$nvm1hvg=15Y^PhGY!VNgJK|qs&hJRH+pRUCE;z{qThC zUYAbGqSVPqbJ!|g?k*kF9EVS2UaoLi|B}p_*kU$$804zngoHlMBrc%N1_;{1x?4qPa-OUM-lXGLqx}!GtRZ zfYC-Z)`v6yOWE}ks3guZ7$awWH$}kYr<`1PDR;lvEn$~bF<6l7W`KCS(61=s0)y*M zOCqH$kM5<6oDo4TBWl*3GD8%kfC}?3u7HEGmxfK7=f?vUi|o#YGv7`1H_!;KamQqP z#e@N?11}cbHZDIP9zTtkvsv_q zPLXbRM4qZj+f)sQ_(q4m4F%``wdF6Lt8)zY z=#BC?z+YMP3+8F^13uk=T9TP))`7@VlY9FVuFNBo!DeM--d&lf0jw?qL}6OSDNkpgZ(2 z9it(4;?;m9wi`Ih;g>n)s6CG#jEn!!c`$$StKvMQy~2FnXsX^(A)!Q0Gbo63x-`02NG6A2f&ZLw!c*5VdX2k5kHJAnCDM_vNA>G_b$ezlE33@2ldOJ4lC3 zC9lEJ7(MD)-h7W$GkM{q^1f^ac;Awk7Yy5io}E*Bk`~;}@;5}3Vj1E}y7ph1YnAIM zZB%4Z5k?B|LcUAQ#$mSILOz-0S$N93T;09)qGp%3DR1)8XpvM(Xz8G>FH`u}yN+R8 zg70&#$?6=?f2l?%yshZ~i7@VH@tKYs3*H-^6m{ogo zePJ!XNxz;**d5-b?lnF7C3tY<9JI_3BSc~TVn9b>H?cbhbr(s-iNe_y@QzP8&GWnT ze}l2PJqLep4&F#DOKe*NJHS#6-!;E;5Tx~&RFgUSy|UrQTNtn>zWzA?WE`#J^Z9x>%{ZXR@m&G z)t*=7Wsnti?1OBC`|0+_v0eSliI~KBtDbM%^xga^z)BMTh-Yni1S~xg_2wlPP=^af zpano%4~g;*@L;rMAw&8~5q6oj<196ES0t|s1-Yuxu47yskhsz@5@KQk%ga>Xz4RRx z{CJC4w4N#h@}DPh-T98X1gq5oc2rmkX8gK<&l9a|TD z|vD9l1yk^23yE( z$m;1SNCq?~swMz(gCdD#IQ0gz&(l>_6w>>Q-vvEh`^H$0R66$T3v`&h zUd|~Yd?IcooPqtv30dCrgRC>_c4k;UPcb#I?$hb_F(CPIj+_(c5cl)o-VoR4ObBk?1rEQTa)#_SEwOXkl7 zYES086#Xl^c^6*bt!*~lwqBz%<_k=8aHamdq&7pYW~)8lhV3} zCiUfk6y71-HnD}-gP{e>az4T+-ln#Y?mpi!n!P1}it^p=fvpe;6;;MYoVNEL@ zMSp)koM_#)saAnJoUG>!t9^9gAvA9<&@?B||*PW}3pR$4{eM_+R7{$T7apIy}i-$Or5az6_zu26}HPtXJGZ1<#CXzMWW#2_lbLFl7GqV`nN%H z#(YmR63SD11HNEWDeROI9)hskg1ca-pVV+1j8x(!Yj?pi)LOC4!@S!t?TS)*Uc;7D^!!)j)vg~+RGJcCZP`p|AnKFRcOW&@Df`d4vJtt< zz~|!3k(bYD>1l5WbzdtK)}Ijw*UjME^ZF;{(ucLg_BEbH^Bak2eBw|#jlBI0dj2ze@wo$IsO8p+uhte8nI5pYn1a$5_;oy7@y(B^a#}rf zISxeu4~{!(57b|KelgvPU3dYvZkb?^p;RSva}EwF*p)yyhh}a z12Nw*e`g`wF9w;>x12=7T~B>U)Uj~MO+DJ^-k1hP1*pZMZ|yynK6|!-w7cO49=Oa_ z6~4K@Tz3d3$q0hYy3Nwni=!WgCv=+@=?1>1=F=;VV~>*7Ob=tX?2Zi-t|~J=AF~3W zIoFr#@{r8_`MOWf61HF#CMH6YYr8MA-k_C@n8Jr6-r?CIqswiz z!qf$#d*WcL`O0M^?&4h4Dm=kr`+!4gD6r$A-qy^a=p5eB%++W-^GNM zHt#2~jN-t~y47#rWG1L1bEgO}Aj#e(1!5x#ifzzv35<*8^U;sf6;H4C=C9I8$@ydF zav#*%>~_1H4*6a#e*(C}shK!YqZch+UEXY)G3QE z_t)C{2`aD|U)I}=99@m(5WlT7a#S>7k%tz!p{@1(jJ6Yhs%0xia=SdkC)1Z+vW5?~ zm@^n=ePr!D_Biac^#-I?;%(Cg*h?c0M%qKpu-LuD(ROFJ4Oco-d5klJ$hSPowc~B| zohh2=1@rjDwN%H1?H_e&pgGU6i%jA#MYVe66-|DNE;d=&NwkH>H`)$~_uEr4SZ=@@ zT~A|bilL=UxEEFGU9&$J8&vuHvzdzu=UG?pWC-crRId5uN4BY2^P&OwAost_dJNxF zz(i0FkDVL2Ti!9*gQ+spY;05z>irvf;NS11l= zc*1ISQ>s1KiFTR#>X`PU;N%mi6GvW=+uG4Xjbl;zGMr$%#&1AJbEqB%{WxzXL?f|w zesc*`wvsB`1P(I(N;16&qzl93{}AAhpBqw3i+OL&D)^%<3kPVtg|!FSZez4!z2F4* z`RJ*W-5yWdX61^Q0^cS-Str1Mi-gSN!fJO})aHqk;a#x~i+S?x>&q}E`+#!IPN~#B zksry+O}aKM;$XK_V%80XSeKb6Mz$VJ7z=*->#XeA)Ug7K7<|?BWuB4J6*q!E!*vNp zsl*r{OJORWzwqL7(=dt^8TAx?aZE-65pJb=o(>yh`ucmWeE$s{Fuol_DT~CiN$$Dq zfM%U+=n=Qn*$N6YB$k*yB(x@Zwb`c-bCF5oxLKbj*;jDag(*}QKhI>dq{35_eg1&0 z)7b0715mLNplRt^<|``-vrC$I=c;! z&Uz=*YsWrK+2#@$Kc|6wJl|Ab?KQsqWKeFOeE4W5o+L`z5NXt)B6q#ZP}RM~fp%1J zFmEYE27Erf9AZR1ISmqVH#f8lK0S}MRAsnu8>~9i+Y(e5J)_kxZ;IJqE(Z8MYdS>i zJgeq1n+Li`~3Q}m!Uykq{sZoI?dTIWSy1Y zrD6^5aUW-8t8r%>_~|igLqH298AAa)YuER_dRy@l{*v#DT-IHrQv38QVYh zg8Lb^a&~m&=D7qNep5~-^6^f&%Sg2QO7wBzR`tYFT1z{HhRsXj=Gm>=-2i6;{` zxISg%uX0^SVvIIGuF3t;PaUYI$?K$w3Pa5;e!ZG7o#Y7V!k?NR1{%p$G&U>6jjyNo8OuW(?z=ykUaMsj`Dqj}0jWnIBE? z^~BA&ah4eavom9PJbB<%1O?fhCQv8hBQ9ztO@4ZJxeGttNt$WY8ZLgi9myb0=p&F! zAvYw!GK$hE~#l1x%9*dAjB|mf<`L?dEc=v#Bz-_ismi0 zr=LAxlsGJgM(^-iA>H@a!#sUs#y!eTc#mS=_5n!ZwqrcLz>FY+6CsJ>kfG+&cKl>f zNr?R?&TDYA`qWdXLy!1ok@=cck}AR#P10P==~-j-&XQn`vzK$CLk>A7wLo8iU3?+A zF2@8cD!og6CqvYc_#l&){xmefMHT3ha%EV$>+hRryX>9b(VD!&@pe?LSA$Og65~^ajesb*^9>Cp_p5Zrp#I4Tety9_vN9QF z7J>4N!(|r>qXuy#TTKP>w?UN!8i`ngu-xy9LNZ`(2 zW70q+8;aL}9svK3LobhvZ+>2aw|BS`G>O!ec`DEsuUQgIwaCQhSZnrszLs29ittkE zBe7>xE~PY8x}H9`&nh_4x}FMadj?Zp!!K@fsuD`OmqrYYHe~F)`fMrgNJX`5YSfl* z=lsa&yHcl;V)9@2iCLFH*%N&0FD{(G;-U?nN${^mA#VQne6|c(ZX9boOW3Y&Y(jEK zZCzeTvh-J~t9jT_ilhzswK(LJpI@D zfYDd~C!J42Rnu@$aHVp3=)-BcNAJpnBze*1&R+v5UD%mPd%g@LRG6J5CJyN*FBnl+ zhxFze0MU-wV6yAbrCf}UeA1ow5d>psEjM4lq<^k&RrEj4Uqux-3m3WN@9I<=X2FY_ z5Om8<#=Tk#R5ipXZ~dkMN8~`|SVS5K4!FEOZ0NALZ;e41pm}iNM}M?PTM+345sE6F zQrIaMqkC3;xAx5ka{Jd{tWXqT3WPdm%qJ~%PWQomlU_TKC9$(~c1UzF-dnm;t@w^A zk&U?%{ziBTJiMm#r99afiJC)TBFZgrmU)<@C9>6Dxh0t>8H(&`vRZr8mwc+pQAD*E zyd8JEs9|F;?{nd>=qCW7t|iIo_WvcLlr0JLDd@t*6g;QsqqrfFabEg>QiS1i5n)7! zxsPBz9WSp)P*iv!T~nsJVtp}xZO+31`uJVhoHrOXya$OiUk!ecsxLl(y);p0o`>D? zak~^9vAJUZg&exkf(DPG|FMCvwoy|s2&A#WpK+MOMWD`@jxb6R;vDdt>niW~a2IRv zU}FyjL7!Y#xY-W3da?LtlVN=@$TmESV|5;FHDIY|;BJq6OV)4y}`r`hpd ziMg}n@fr?%L%A4bCw15s)X^5(A08j|EHvR32GJA+j~ThY;AS2#;u;y%i?OYr6RA)R zq9zYC{?)sDc}DJ0v^R{c{)rrrmb zyKD4GK;k*8Dk!1% ztT?GC&G(#a^xtoEgVv0CBM#lYy`=~5pm?n{*M-IlZIg$D-&Nb!?&zRW-m?Nt7eaoc zB6%Ao*)e3ZWj`5&Q=evcScaS-EDOEbj?~jLoLYz%I~Sbjr?NXC{q@&JrHM3+r|pZ0 zg*OY3>nGPcgV!qmYcnF2lZoZk0^F&!oh%e3Nhx5*Y~qU>*{0qHsq>`sfk8wvNiZs9 zF8qofo!s723!USgzf8Imz-KoFK`NciQ8)IjIR3qf?Ti%C?|50bInp9A>$Aiws@rXi zkJ@{DUwdxR-0!!yC7An6OKVv3g5lW0iG{F)YN#uEUAotYr7ZA+AHOssql9!eaGnp` zQy2G~Hf3_rooWk#hvkHt{xyzm3H``sGhCgfOkk+Fyy?+KlxVrWEJ)yPPDyty@DJydc``w&A ztLXgEk4B^|tZ77?d2YDcZqg)j?Z-FQ^EV`!)*@4$gNSn=@d2JLXVTb+Nz&whC*ZYK z+>P-aityWG=bZhlaHZf!O=9W-Lw=*!3lLn$YA#m|Tdm`g+YfCXW+`#EB9!Lh+;3&~ zT8*)m)%1`pGZ^q0cv!KSFCTkz@YlMx`}?~2{8iTFvg!>x*ALlu;{O;E3XOg~)j83# z6D~wHKg$$1oZdZ`5?lXB9e!x%Wt2JapqU@LMiqZQ zKnA4yJDn_~5^I0l)RD?MNZRDMvqdyEwU9dW{Z(E^hvjDMgC0HOr^Lc$9ACn|3?#ce zyOF;+kPj9xgHcxKgtBq>BoY+O^Jq#>V#M33A7t_0U$vv*l*t`LvLH`D&<30_UT+jW zTc=Dc=ZZT0ZE#<8@90y?nvAA6!_P3aZmCHOe4$%vS!(YI#&-{o`P3Hy`jF!4_8MeR zU1l6OC8%99dcYuJ3RCIjAJ3@E?kUtO{t?=SJ$emYS+W-beuJH1OEZL-2f3vhy{ni{ zn_7w1TLtY=%vlAR4x!IDL8^k}(il|5X(N8?mq^*$9e(hj>*Hr?N27QA`P^6w50Y{< zb!Y;Fmo5GvLS*1>d`4pSHTd)-wda7#PJp!Wpos?X_c_u7#5|k$>mU2&;$V&lemL`E zzMXye??DE+Ur>t|#7$Dk?U|dsQqvy{}&>njVwNi8%5t4HtsyoLGiHl?gooc;5MH3z&B|uaG zw9C!#_bnYncW$?8Im^jGcxGf&!DiT3Ag10mbn*}Ee{$3C<+qWkByHzfqKTN#CD-}f z5F^4B%KS)pxF%R%g8;gdV`kLBvqm!JWsyAr;Q=9@HP_ufs?#tQDvOK+kpz)_%fHtA zC*EZ1N^Nw`WD$b{-iH2>tk4dvxI4m^?xek5q=zC2l-A4i7OwYEy_7~>Pk>}hbleF; zGSR+CLRt8u-`tmL)XP$to$dRlL&0+Q<-WIswb!m^@C|zZb6u_IeS|W;UNt7i!kND? z(XQ2K{G;ky{4#fS@`FwvuAiI~5tnvLuM)LOlLj&oN9ot(p9RH5DnTA-B*SByMsIF^ z%c3k1dWqp<&C?(C$J3a5OCs@^pO`;3ULB*tEd>FDFnRJb&OWt4w$QM7Q)iSkEQJGjoV~;6~Gwk2@i{AdWC{)qeZj@@i40XXVeD$3x&Er1Y9Ta{Rus4HFO*w~O3+`>VnUpY% z{HN`Ci=&hptT$M}8)5!h@BMJ&xLbw}LUw1J6|GZx5~S304~MLM#v(FpAOK*eGGrv? z{nX>J{E*S0S}?l9iYajO>nN_M@DH(9QBTAEi&Tyh!)0;jsJ4$rsTs2MLX26*Q??4! zUN>r6cn)S@V#RFj>ZfbG&c~89@;OCiRZG5orpzZjQg79yvEIp`9E6NGx5@QzPG-Nk zTyo#wu6nA+#hKG6%z^r>EhY>|SF6L_%{m}+w!drm4GGR`x&BHpO3M-TQjw-f_Mlwa z@`}X+1t5A(kci)by6&fLyV2dRSldaKoYb8!LBn>qyNl{;CVDzjQnq%w}L< zYs=!6lQq!B|07|LVzuWC1=$zl08mK$6A!h%Dlrn%nMz~5U?kK52<2hE#$4^}`JB|X z;ys5RKkhhXj;P$93E94%>$y%}2vKqyO1rzbWC2 za`h;H3&x5l4$>j&X|-4~Dbrzu_Ry8pr=5EJYj~Ufn;5<{Wxbtd8?!}Aio_S*uHzW{ z_vQKK0liiP`c!fN(26LoNnj*4hMR>wIIFRu=-s47gKAHZT@LdV{B<8E?Jmru;Z8tj z?|(C3HQKEa1Nv$Ag4JuMKj1w`>mi@w{USxmxM^Q3l4Uv-h960+zsyFyloEsk+3b6? zvmV0Oq{+Olk|6MdyyUakT=Ed|Iu*J=T-DUMh;xtI{TL~r_RKJZ-Vi2CU$q57QF{f2&;oP!Gn!4f$h#2 znO-l>Od;xkpxpI-RIsa0xW9lE?BzFfi6VQX`v=a>6+>FgdXRQfb1!BLj2P3b;`L*! zntN>$uo`it51i!vx{rTHkY-E-)A%J$kgwugV7oXUrqMj_31Yj?Ui~mW&j9Q46zp!o z04O3w2_2+#Eb6cQncYAAt$|aNx&FH_P{_*Bg(>&$!2a*2UrHyiuF6dvM4{k1j zDD87zm%}&8-;3qo#}8?`M;?af8n;rDvb~MR2h0HPZZ?zEgiP^OKt}oq?t~Z29Y#{$u*TK%B}e#eg%g)?6UD0 z4x$L^1ogyyVG8Vy@>;YhQ^X$Zg&hzXuGC&Tg%44NFfzHd0xS#J=ld1nc&hKOs|9A< z%u0~$D^>hV`Yi0@#8YoUQxET_sTP6?1*Ty0{3@+z@8%ea^wX2gtf0}a1O6TiTabeK z9q$n#S*>*iTSJF2`QF!Msk-5_f1WORjD4^043(Dso^KdvEED1vm_nGZC<9P6R8iRL zJ%bC}i7* zEWg%^qgwD|S%<(dzPDps(*3@|(;6}v^4s-M1XEmFX?EkLeE61o8M3Hydm7IEzjbU_ znXMOYBndJ6TZF#_8XuUDJixK`eJBny<>hH4avqRc4?z91X9BJ!09ns|MC^UX>DENN z2eB^&l#9|be3{@_(>+`hl%Kv)Y{nmAX~(CSZz7YPC-oIa*CoPo?{y&FFRZ7~FO1@4 zQB)Pa$mek0a8ZQzdy4vn6y{iSJ1sIlk&_5{UB)lt=gc!Xr^To#yL4{jfEH>WQuVi$ zgeu*@)w)C#70?lCW=A7vtKQ}7AsJ3BIAYhIeN9lygnN8`(ZRL6Fzu`+7! zwDLRyQs8v3n-j1sEMs3m9}J+3&vT7qZ^hv*2mKO6M%X6WC|F3z=Ica(b-LW8Ca)h8hd95G5RD zGCZO$9c@tsh|^YPazV3$3vxulj#w!?5uK3#33*R8+~H7{ z!Ch!_F`Msv0RskGmz&+z{2UPldIlcTgt(^~$yA5O?F3UTT}tr!-v^+eH^44&jVf$% zt#$K)j*9jZ{KW6%->Em=8cqZt*fw>#5Tz6Wk52c>fQeS14mZ>(FXvdz_{~+!mj)A9 z7+FFDUq3#1yu_zPLFIMV=P>C2Cy8nipQTfd-=A^C*+IB=t?OrrT9TsaauL&T_aAdP z3v<&AYp7DP?CoZ@y+Z5&FZ?&Sr==y|{mff{F|u+{P6mV0JDn&t$Oc@_c{o-b-~A!v zv&+_v;cD&7T_Rf~+B_B2u}2`%xpJtu4L#GJ6-mp)|40_jZD}6FNA(QIP@*>u`mE(d zv^9AjI%9@I3jT_c9&a`GPM}~mcbe!$suwLQ@jGLroBv}%xV;eNO`}<1xGPe}V(~T6 zm0su)p_l9+b-Uk95n%s@&-;PT-7FK6JSm3%Q(Va1fr9;1(`CA4d+q5<@#hGS!d2 za)Nd!Zy7(?8g0z*JBREHz0~h~65RBmZJ3KufI-4O?z$mx%O23qkuJ0p?yu%^pBq!U z;AgOWSEAOFBMtSG|9<9s(Ni1$oU+O8t4OQu*==XmXK?v{!Z+%mNZo(`6Tpd!Gm;vu zn7w5<>63nnwK$=gNx&34dqu|@ z43lI|j|IGhoXZY;ua(?$-XOS~%X(W+Y>629;{s>1*-k3xFhfY^JIN{*XH_y(#xow~ z7#HI8X>LfHmsjP8J}o+0>h78lEghP1&=L0TLWrSpcaaDGuJt8*W&A zCCb%B?rr`JW2jK6uRcN`7u z^cuaYW*_D;;A+KB6O`NMspR`n!?uxM{w>i{eWgDGF=SGnN~q$0P-~^iuKi?nxpU!o zXEqzzkyET+%Z5IL$x1!+uD=rg-bnyzl~=mT7#k4fJ33QbJ-F^Kw1cE^#-XarbAAPS z)&oQRZJAcSvMc^B50U11A6O6mgeblXGWem>7wxlpE&Zy z8`_Yu}NHjH>s0&Sob#SepMlh@4Bios;hM5ENS=}s(-z}V) z=DU0LPmhLOfq7g((~Rk-M(6tKDz1UGV>;j9jK!Z9hhOY9S8SU!&4*jrJcr8yng3H}%(&CTP>0&|h~S!>jkZIykZ= z$?zLD{e!D8o+fy3s~;_Rk{)lK^y$2CEQ0hU>t~sgT9V_H(>IIpiM7pq4~YC3&>Ad& zIe$R5(?*T8Bqv@({5!G*NmXEH?{%5EuXEb`R?TK!W)Snu>T7j-yQStw=h1_XFMi@0 z2R*iA6?_!PCfr=ij)P!Re@Oo9FNGPd$44?!PiVp2h^SDh2T_8e<;+pc63rL6k6Znr zskEcqp0!wkwAHsJChrkd zLkhjy^u|A$wkt5*^HELRL3z7FfOq;pW^=U`{M2iXv@Ey^{T1ojDRvUTwBB^p~wjGNOHlr=j2`f!_B@E^C2K({|AwCyV9a$s1>KA z`bam1cbz|lBuk&8G+LV z7dG(OLBbI=Op8QwP|mXmRh93_O(K7&tSchRC|jUw_bJvRoGI2RHtk&oR?-nkB43~b zbbIy+5L3vLyvW49H=Z>e1NR1Eg8iFLZIC!F(U3(+p-*4*+x-&v<7+9_1Cq^gA)Bm~ z{^-Z*OD|vuJ2k0?2%u|?OX6Cxn0!Avp_Z|Z3_0#>M52@@I=IrWvEsw95PF7fS#nxf zrf;`4_3()4Tv^scG*ncD@n69`+;L~4nG^Ncnc(|zJp0<(^c0OG``E-rnCLx5+?I%_ zju+-8xZqYNA5qDBqO_;QW+Pvda+b93*afr=H%aC@?;mkl0EUVWGbHH?y$wQ;{$;do z{Jw(JlUjF8(lvaoYK`7jAx=e$jO=I2-^0IGI33~AML%_jHveFvdK|G`p3k-{t$47OzRS9WUz-8uzyod5tYC?NB{Mg(cI0f=I}fo)wX`n>6rUoK4!Qx5x;Z{Z87OW$sr3G(Xay4EiQy_$3E;LicBU}k)-;`4+?>%a4H zyU@HD=3N*`tHxF`zq!|84k6vnQa5F1!?d-TyVdil^=XJH~4mPYi@% zhq&dGDlPxKG_eyo2c4R5a4QbasTb%-k6dE#Yly#`8m8#&A2DBq3-5GIHU%90dFvQ| zdn7H=`@Ck@7BUFPUtvI#A|qHSTyZ%Y*Cd7Vo@CHWQ7rap*)R1=wm(aKDRuB*DH?|s z0BMMWr<9C$GX5NBXYR^VK-5`VP9u3c6i;6g^@&%uGSYaSX%HW9>T=otY-YR{at7I- zY^~Ya6lBUI4cmNOvcmQnWMXwhYQ)4FTmech@bC?u6kG#Pb(t(5tyr3TJ~A&-Q2(W8FEwGm@cW?- zbrpT^=0x@`5#m@>G!jg@UO_QdbV~a(PzVKe@>esg-D@yRA`$H$G&%?rt&cI^d zHF6Tkc0b<^e~>}z*6N0PWeObze55*r>gSM2{0%y%avTW^t({&yVFxCEO>lel`!AwZ z8XP{}!P)Lat6J%Swx(r#b25wNy5=5wp*&%rEcBP`hDG3=PG1MvwYyK!M7r0TIR@~M zILlPa3}?+g*iNZulKYr)5j;9HdyjrFRXZawQ}qRI-HYI>4b#ikM_p+E@lIeLrBJ7@ z5K+aEs7|kTBQ{>Zc`qe~lc4(uuEqhSUuP!}RA_motes?~fxQHpu?q zrqn{Np`G_TT^);eq$Ex+5(osjf*>c-zJUybJ7R)w4^~DPM);>+zQvzS$ZP>?WYcr0 z5f(M+&73lw(9+{FekJhk7$XeNaUONTRGr0Asb?1swHe^Gg?<&L80c4i#P=XCc)*W~ z9?j9V-ZS)kc{#LNhk85dg}E?`D@PgL5XErkYb8g|R)!W7zMMZ{=Kh^6EA^=90uS;- z!RW?ojB!t}+~sQD41O+VpE$$~INRbXl~udOJZ|KW@CH_kum#5T`j5`K=IAhk35sd;jbbQ#lZ~Nx(1C+D#xM%4>k;Mo5Ol(wlTtav} z3TFzAxpZs#D@Zg_M&I_S5spG4Xn@@b9|1|KD8veTYyAR=ky`<&xFnMs;*V)($N_$Z zJ@{{ym&#{ioPF`BU@+oA9&@-efsaZdE zYfu%cEc45`#rW+_UyWJ7JNav>4%(JUf}w8z*BzO(eKJUye>G)cUgaFMi-y_SMnF$r`4 zM|nwL@0|!x?wrEz+!rHBREbpQ23#$Oi)7pkdq%WOl@)cEQi)ddj8EBW6&;`qOsV~R zV~@<}A}y%Llb5pRey+R#^q(>yrma@)KbNo&Z+W*J(HnQ~C9N_&J(cU+&J8#X5WR3A zk7tl6i7DSX{_&~)wGTK>3J~?&^?ms;os8_>x2!j3FI%HB{-=cA2q|tZci-H*x!!A) zBBMT=#3_DPY-+}C3gh`2(;R$)td|t+QX&+j!`XJb1G%x=dNBmtb>_HU0vg{p9Lx@O z{VU%c(R#}sEclL9zUIgZ-bdNH(qk=a+;AMK-g97dBn-#KGo$2Xj^1E1mruHB#2unn z>tBzj4+YI+t3^rUip@C>$yNQzBlFN?ig@gRIhUB#B9Z4+Rdv_3!C(kZgM_{a2_ zs;YJ9P%FjCZO;an9LX_&6w!~m^`uN-zWiEq1+$swKSxvP8Qvrx(JXe?xf8MiBAxe_ zE>wv=yiM?|z^+L&N+A@G!mD#QnH>YF!Q%vnC_;Fg7*m~8#2BREw9V_j+u9{Amod_0 zhUz3jHr)dvAn04gGs`ldObITMv8tR$9^k;?(vu!$seqt_f8ZHLl6iL;2|NGtZKLY? zEaV$JthWV^F0N?5@0UyO=sdTv0cMk2={ju7eyxG-E>|%F{Ln?x`qGSlIc+{1Q$)#= zPTfHnHd7fmdSWiGET88*F!_bNgHM+p-P%Ii8m#YW)848M&a)51LxU6dBdU}FVjv8k zhPHRZfZh>%1P*M@AeV? z*tIdwnNp==MIG#izI<4nxcT>KX*v6)#y_{KW+CGgQ_EG0^iQT*lS;BEWxj1tK?O5w zP}($%Cn0y@Abn0y{pDl#zr22)s_%mmgwb5Vk^nEy162H%+k7#$xAC%f(X|w&lZQj8 z?w?I5OqqkTzwDBeyQFDam?P>z&-B_|+vxPHXRyfV=sU(t&`1{b(rr=Yass&0JI#`z zCoy%l#w#{8#Z#t_k|M5VYxePOuxJuvA}I?Zrg&Qv*_*VbUtm1#Ofm0OyV*e%z?$Pscsl#%tNUV_UA` zO~PR6o}>gFM@x+>lHEJ-o)%rMhcFhv=PV_klwMKo3!-P{-`nqfu%+Kmlx@4FoIU80nOkw;M_wex}hkZ_)n#otr%)slB&}AOt)N(``D} z(9&WwE;GY1L>)m|;MKPH8D=5WIb?tKFxlH?9o_RPg6}R%)cD}B1sV=G~B^q!8SM`^#xraY7#!xN0}N!;*6Xv7RRtV8edFL zwB(Ns2fmL8#9)TvKHV#i1ccTEHmVWqB+8*~(fxLkW_+tpBoP>MqD4mk*00h@qY+UP zdVyW?tIz40{O4@tC|b!w8eVx)(780+=vuU3KbCFR?3l@crdQhMD+@2i_7)hMg?r0i zOV@xLQasGj7Y{g!!RF1HTz zwLnx7A&Z4DU&Bj&p;67pmU7Ai{!+}cd*A}?0J6}lhLb+4%{=CzMQ5hp%ktxhx?BXX^n0}Imf;$ zlui`^v|n-f*(-#zbh~pBNP3a{mKx-fwb-)wisLb@pOr%c0rQn6mI|nf*_Y?%t$L~7 zwWhmO#xsS#Hu+?Kd!WzNKKkE3JTe2JVUT*<6 zzXMpCa>t5?gR+*dvxm?9pxGarw>PK_yf&ycr5R#=UeqetcOstKTNmAunr}W3mgIEf zx+LXPGR4PRaPF$aK8^YOvHFSlz)&~h>-D(zhCJ{X7MQdBeWAckKW(LXiyJeBi(GDgs&!6$Q zYp;vHB`I31wotPDUE(J@KYbG3Uu!eyzty+EFZ5~odZABbH0meEGI39PNmF^<|ppR&I@<=jCV1u^B$;eF4yyV$JccnO`+jDl=YI z7w`TFo?O?1ulP<)f!FEu(dgjTKqTbHbVxwdH{c6Hug@>XScQz$RrNIA`5pbO7G&#X zD+p{Pdi%|4sJ`vo0orkD%y@J)DM@hjCpIK`uFz^$NLU@tOS)%RETeM7D>Q1QoylL> zfWdSLT9LE1X3_zROy?PU`#hGqo?eP3OL~8M+86XfC$}F_QVp@qAW~IqhFwz{!F4Qi zvUM?1kBKL#O|)EDGzKW)+i@f>p%_k=5bG%_gTH=ZPR;o`Aw835PB#KS%rpA0)qa@$ z#L>cAYKvfQ<-xurt7T}`9l32I*FPj2@IM$#MSSKsQ#@qH_K(>{qZkWj%KHQ?Px7s zZI;5-?zp7z(KumOeBJ0Etb%~|t%Bs9j8`cQIat1BB3m7O3nHS{&D&1|K0hD&4HS`T zte^gFA)6DdQt^m6O2m-WcQlW$`ch%idz=3&CSQn`Tg;0Uax(a<${nFC;s}4HS4eu! zV5e}A)?p5Dk(S%;wAI9$5*a&7yHr6buk!eUOa}f@`leF{d8!IL`UIj)v`Nur4E)?R z=4cr--eFL`M{`;Dv#`;ishadj0m$IeByF13(Ae>Ae1FS>PwFXJtdK@v} zb!F(3UQ7b)s8PZA_Rq}V@9E+Vkx^*b;$;MEbGqEOw)wu)DcN=8;niFt;1gQX=97*> zq;U6lX*Z2pntQjMn%Xd$ZjuZgd&eRI*HGNF|2K2_HHBq1-sx`GrkzZrp%}(<&r-Q+h;rSQlU?dg#O1}(2de<^YyusAvqBy zJiAUy#b0$eLyys*XPDyP5{Iw{Uo*{tm=sl57Y`edBK;st4!isvn5`Njo@JDEnvIea@-0G&>-46`(Q3= zLv$+;W~L!J^JGb*f^cG7sUXMbw)5oM9QHh<-B!egly z*>YMpGb#lM$ovq+(jh{Y{3Q)*#AYA7WZAZ?XO&Jyjc?Z75vZVomNS{@hru`bGZr_C}~V zt3qh4Ye`|*z^YqXgGVX;@77y}S&kUrPSUeG9>86wH&DFRxI{i{P^xmC1extz`p>Yb zy!mBsw?snEUs966k*^lV)NSdq+W%fx2{&O$aK&!feEx9sczpQfF=pcSQb`SLKo8y0 zLk1oJCdS7(6ocamblm08VaP;*$9;#L31>ObwYM3`KZ+fQS8O>&Cu*Cf7@c1nuQ=V9 z1N<1?!#7)b3K?UDiqJb7Dw8KG97C^A&R+aU%^=j%bdm=BPdInDheh4@e1l_X7)oec zz^*4APJ9a8=n)LmRV^0C99I#eI-L{ks$=fObDMovgWasMtQz)^+M32K;@z3vy67Rc zD#bH?u@ligFSi7NI(?bzRZ|`Y<}@6MZg7}g|Jn}} zK$cC(U+b^5KFP4zFr{ibo3JY^ybqvTtnSh-O=79Bj{)!YR}g$iL>Je)_aS%3lXKHe zp~Q_kJHTI-gA;sc3IbO%HAMT`qAJoTDP+;1)g!5mpX) zyPAi$<}^Ylhq6AeWX^Xb-GTs$0>S93_T1=qwW4L<-F7b8*q*jl@P{mE^25GWFZqF)a+APk%*1Fs6wya5-_xoCG+>13cjS>Q39t_ld0i%# z=C9AS6JNFUeYp??&3!ls>mv#BF64KRCAi!ir%&6E+^l+ zWzuDfkAML{qz8LhVULlH1d1ZnM?>fA=$;`GT!E|I$pkLrJi2zN%)8apl~^AZSb(e> zV(F{W<5(=M$5iFSwcwF3W}kDT*~w?yF@@rJL7ZS z1Z+?y9MxtqroGT0+EGg(J%)&nm@ja*oVYqV;6EP`M32m@^dAt&RNs6`;`3Eok}h=4 zofg%d=U<5OHdICxUAH8`=LLpWU+~x8uG7LJPt&RcMg+S*Jac_@rth^S`5bPj>FW`s z*d?njK?6*DV+#qbK%}{rr2)Y5H8QAAQd(8=-VJr}q!wBK%irZWP;hbm?r@#{vVjNm zaj4c%AuxWc?Yqq}>S3x^^Y0$K%RF2|fWG^N;9OrICT>udzd|O=Mxtv!w-Z_8k2y@b z%ySZ9&lZWf8!EO_gNnN1b|>BZOmd~WU5$3 zbe+SHY&#zQ|zEbPPA~dP1JttV7{nH$u z5Lb+0gW-)}n8w z9yflR=lA;JKME5G;LbxRxr^O+O7V5*o%=_xn%vDIG?Q;KF4pSJ&&$lf{@b7Wn5~P7 z2ZKPQBYWwZ_X_K?m*GZ>X#Juv)15nBIU&WoHGH^N2&g%)Y(`?3D~8152`2gOOPB;h zfhs!4OtW6%q8^~3jZALdcm>~-Y@HlV&NN2-okF<1gkO{Z+G8S`Z1%r!f0U8DLJha> z>Mmmb`J~ozC;y*ZW6ZnPyW&XwHRp|0FX%>{UYIwZf5Zy4uvDEe9g<7py^2rT5PL8G(mUyJ^3XU3ToJI+r}2%%vLQPf2#KOeW+LSxn-ZATsiUb}$-{)p zM4oMQ4qX77<}u=`^!J4dLmciOeZ42uHcFjjXV*iv^U@CV5({?@NnAV+<%~i{xwiw9^FPwv7QK+NdH>f z;U*QLem3N+Wox(L$I=~+zL056nTICyx_00{m?^1~T8<67vKHz-2)y-vg>B3s4zgzo zWFe!?s%HNy)E@tYy5RA1e9TOKt}43Fq{g(x3Ejvzko^ICCwFsA_&Xwss(LvGu6M=Amy*k>-5eGkV81;;19>4fE7% zHzh}M6i+!a=f+|2v%RTrI~v;-hA)_3_eb)3$_@8xJEAQ#q0B7MA#1aECEYOK_g>PR zm=L`U0qfxo zXyQuK{xmWLxK40f={+VvPw67lR# z_3POO3sQ*P3lG8(@af;x1Rfmp{<y^cw~So7lQLu*}{P z;;H3w4?nfBvv<}gDAFFCK{KecrumK9f)cnW$H2!J=ur%@I4NcL{l~y|9{!o?Z*#$y zm#EF@UNaZj50Q1b4~eR>9sexiSnHyy5(Hwa{MkN}tln3y=h|sul4ujGL!*Z=j(q8K zubgA!`7?U7{qyA2Hj3=UN4>w781=O*`S!3?2^I3N$5m=@Bf`P(_lW-Xu@ALzCV$J+ zdIN8BygIcD{JfxK7(ksaRW;v+m~+#N2YOlod$f|#E$mw}BW%msE0V$#&!#YtwlqT> z;Te~Ht9<`i&@RzqS%dUX+n3lIFu5VUk zxXP5|87^h%gY2$i)le*xZ2$`@P- zOQd9avtrDFLrMJ?-+cH)Dhx7OEov9DUH%PeL;t~tEUZTxZrJ9{R4)}D^O6z=)A!S3 zi+s5OBEhyC!frq9Yhzm6x=%&onzl!IqR$hV+>>r>`SLbfzaIS{CxLvbzg&L2uH2vh zQqN^nDd4SP+t=zWvhJ)F``{nUC*2rgIaT00=qG9uu?OADmKCm8w(K~>Bcw-MtV<-k zve?8Drj|U0$0kZ%lB~5#n@xd^J4HF1>alc`4UBg@8N=Ty>q~pQ zv!CWE_FZV}v_FEMQjN1&UScHq^~_(V*@^CpIfjShP&geb$>DD&#==E(4n{P_l}f}W z@s#0MHTz#NYyRS6?4yHyUu-<20Fc1rVdloHxmrTo{X$#v+m_AJD(_9(#+@yLjkeYk zy6b=St(+_OhXly-Ir)mt!gDP)5ey%&*;X z+d_X$ovvibHe$lt--Tb2d$#$LJ&R{gWkgqc)A%x8Ih7T#6fYl~?Jhh!E0X1(ViOmn z(@neyxq*1PWk#y04g|as)mRaK(^YFM;=T!=D4_3Dn^|E&lo_(f*7~~RUmaj;AhH#H z?{aNV>Cs`8zMTj0b(H_666K!e`+o=tw^o0^0PW@vuky`ail5fS>j-Js^(b7hz#HVVZ%kCg{j(259P>0U6)ywb5&H(-%Z@6S9L-g`99D zj{`O7F8=(cbM;q$6OB51Ckj7L=P0<=|CiJzpAc&4sZ^s=AZpah3Q}XeH)Hdoy@5z& z{+%8EVd~?EZy&&5jJl}%Civ3nQj7hxZx?~Fkni_lR9eZ?%la;?ZQ30otj*tfk9k z^6^f~V}Fq;a5sy~pzfV^iSC<&2Tb!-?qp0;{L^gW4uOs*Zoa-ixvvo zF2Mxy-6^-j^lZ@6SV-yzybmNd$|bG<9ev#rbnXe*ym87`lA=H9RR^(OUiv`_4allL zx!r`Ih=(qDYp3tEn=Lb)#QKITCB+FsF)?P1KdWM{{(8OlVy!CI+-#yZ{ulv9h*YP4 z-%$V^iSoo%H-NK3D+>w;Yl_=%EK!QRysYdV*RJ|QCmy3#KP&2MAAn>-YC5NDqnNy; zwtsf{u|5L@8U$d?>4D?UnmLowU38BQ8F$-GyID`ik2IOF)AM>I<9scr88C~1xX^)t z0!h^yFHdTdN9Dx^QBuL-DSr`QICM!2Hb56TGANo5H*c4o50c$S59)dM=LJ*XpQp~M zR`Q;)xk2miyewo{BUo(q=SScj+Usv;Yv+{H^Bh0Qdp8Dv#7_kAe3{N;9=Bsqa}j6E z*Z&nBElwSK>>gKZU6w@`hx!JKsdfdz2QR#%JgcQdX()vG4pW<(|6pje zQN~m4QH?^A{VL~fG}Z(C&UZYPaJd}B`0$JFh(ppN=OSNAqFPX!D2jB7Ptnh7EJ6%a z0}*W_8Ou=qn1_{@=rhn72rf%uqb=q;`h#$sYj!9GUj~B`;%CYdVQ&{1Jb1Wt|GXo& z7I{NUjo+p|Ouk~1&abRexz-`O@aN4Sr9#Mw(|!8a51G+MPS@*_-)Gu(h^9x#e#c)b zQVe}93CVNyy)zgucre#{8$U`-TexywMmou5;%wi!pO{4Gt1fI?pq z(%n4-?{vM1W}WnV9V9KV<|8`Lt$H!6$$3kDK2RexnDKhp>6b}JZO5tH?5}yhVslcy zlF7&H3>%UAupSq{+&xn{>a0ILTK5g#Z|J8K!Qo`;m-qAZ=O4-oeoaW8zVKxQ>1vJd z9jChN@*ID>Tn%7?*E8L4`tbD*tcSL7DlE2u<{sdb?9#6f|k6S;5o9d<-4}iE)As`c$HxrzUF21N zj&~&v)js1~)%8>8;b{h2avNO5rACxRpdley zvr`NWj~rPRIG@q)f$L%NH_p_Lk!!Z##md_<@u%z6eD$jATY>?jtZP$mMHMo%i9-mE ze<-VU&$S2Qmobgt$b#H^NzW&To^3PH7T~Z2enCEVvq|ulbS~YX{C}CP_XkKjkWbOw zCYHqWjpjQbu{`!|>xl}o#>7|u%h{Da)w_Zyf(?wu>_tm$R0&M{FL|yiqnafxh34DX ziTIprziUf1&a7qe7pq5d%Dl)mvkWTkU5J} zw!CI$5hL)FvObb#9v#YYV)br)W{|QMYl0%GJzfGpGR&Q1M5HdBp;v$we_>+dTg~y@ zmBl(MB4HGb$R6j^&+2ZFe`AAG4Zn#+Dl>Xdto|t0fyh2_ej}kov4p|~ctA7F;DXZrJmW^;9+%K81ofen%Tp+3W zgOnH8eWP_-4usn*AjKhsP(IuKQh}$ZM;95q9?3)1OU2}~_#R^$Vr}a6$EXGB*=eEW zKuJXxzs#iaHk(x0c%u}*|A))rM=UEv2jIY@PSInZF7dXwX;Y`yjoEN7&hD^HmcH6E zjy6}I_N$@SG;~$7!l#)bTQom_MO`D^HkX6oNV>QzOXpfZ=8CuRw+G?HYaLHEg+9m^ zoLlmpw0sLw>$t@h$Mn0i{LKCVwoGOebHa=05Kl6GwA}O*dBMEwu3maY!jwy33T*a% zAiRvdmHJUjGx$c1+^SE@kbN?R$HGO8X|GV&MTM3SL#?PH5atl?v!9i=FVU%%HW2Vd zhH*qiD63VfUy2-INs0)P_7fG$Isc*#$t-l=PM#{#bsczSA%5glaMxSjro4QL zs<$K7QJ5|$kgi^j>&?E*Yd`O^eEeUS0@;}V%WYg5jmngk!QMNuJ`a$ z0zVvz@64dE@>ll#&4)B>Uu*(}0G4%uyR#wrvr1M#;@JWvCsf_*bQpL$^k3Dk0*1Cg zRnQMQDPeE7L${}8UZ%yJ;2AaBm&II%uV)^=)2l`Dh)AagSb+~-S1I>(m!=90jVsW; z8TFo@?EG+J_S^OHn0~GXTD?EpsEObcvp|$B?MBkRiAd%u6%+eC*(CaI z_#{9$8oloM7R?FQ*-!3wXo*a7HO{VA-=EqMH?ImvEa#G50RCf7*mOU|;`}4FxZTcE zj*0HC5yfM3Yn)ATJ*saC z9m{Sm!9Sp7&%)L-ZF$;*<^>)jJqz&Z)6<^lM!z;J6v=Yw`@(yHs^K-l zr2Enff`j?JQ-=-s?I-r=%bBz;wM^wl`(l#1o^Rux zA};ySa`B=o)EY~iHT(ZcL_{K&SXf|tMAb5LDnl-GVsTF9Mh$Eq_O-Jj;U>-2-|hw{ zGvE9N9+s}n1lc(1G+nPM;ZI;uVc|e;x~zfuNdFgJoIG?HVErh&AmP%2|Jf?Qh1MQ< z-%nhgOOp3}@JApNd-BFn!=?iyq&ySj?>*HUzg5dyxFE4x_7xEIY_Tfq-Avipd}i-h zy{7^j-ppWFKQdDJb!Qyy`I6T_$jGQ^@2*f+$h~YBX|g+20UhQ zQMH-)`2SoK%tvC@$WHYx*I)bUiMQw;>IyR^7iJvH3p?HR_%&Nk^XZjMqj**6KXCI@ z6(JvNIlkI{(aOK=n-(vuGJfv%A=u&LYzJO5o`rH?el0C0UTEIG8J7FNUC+o*n>@9U zigFYA%Y&qEysQnAE(@0rN*;&H96$>vxoy`Na;91PGFs83mK6_kH`ArI>O;q1?;#PV zI#{~$z2LD;W1qH~a$P#w+J5WvUiUD~PHFSa;7e)Uj7_Ca-X|Q*hAKaH15wQsr`;@* zY`;RhZgY^(1hMP8&^aa1!=_T}cB0kyahstm$iGF~J>)9o&n!NkAB?N|WC9+`oNmX$ zdy)K`HG%~p6cvxidxlsO*oo4{d9n%9+m$m-=)7hIhm+T2>P9_qTE7uw9+QkE6q18J6kg#takC31#(*j zD%a`^3#E9x${7QHCm6a4fQZ+aW|lDgau6#KNHU4E@0SHcgR7XV8wDaW7GRcBu(~HI%W9le9KZ|(IXV zX;}If(1Bl9jHcvs(tj$auXCOZ$x1$u_PKB2E6cfzDqNo^C-4am(L&Hr&9TYe`?%B$ zE-mrD&b>e9){W8kvG4>k*X9ZK1RYb-T0bk^$a{QnSF|YKYEel4{_ssAooCYD8srBa zlrazpqN}y3TPY08*HEsbz~>$VYePCZd-$5IbUkcBU4CpCxiXWI>OVvXdawLgJnLc@ zcypmN@sx-l+@ohgiA^xiODohJ-T6U0^1nozF(J6k>NQ_p=Q_Y6^KIAcmi)47iS&@@ zPl;@$-EQ_*uI<9ca{I(wG^>=fMBJ+kVhGEvybQGj$#K}ED&DQBBr-0h|J3C8*>(EL&B1Z*J1g+@Pe>YAeRH55; zF*!MjI9SzD3a-YKp)F?g-~9eF~yghTLckeyxul9zTuc9|bGfI5Hmy>g1<}q*}9{%qB>xSLLZmk+^A=_06) zzeq*`^#)n?KO1B8u%q8qV|MKoecBl4kASgvikh>Y3Vcpg*9(68WfH!bQ3*;5F})

uAOxIKg^OFYu+o`x#Qy^K{po%r1INlFq}t$S&6}0 zc~Sa4IjUB6s;whiBI?CltAlQrXF%ChE+iLNz9l?hyeKkv);+3;MAh_rPl$^OXPg_( z2Hx*J^>&}ZOqu0nZu8!!))OAYn>Xjn@fM$)-%+(L$i6r)V#&!5#fYim}Ic!9S+$OLda56)#9CG8S>4)?|a_=6_jkm@pAFffj zBf8!F$D8!WS8caHXZq*VymORyT8!Ep)9uHE1o8=)pfw!{XL^@=@FylC>3P>d2|n@% zjIW4ngS4n~9U1>=xzNcCx5Y&F4dFO8FytZeK^YA<9xf7mRv7kEGbyXS=?R^&r1ZCAnIM+{H`5wPK8 zF;li=#$_J)S+zZoV-QFR)wg%Tg_K-c=j(nlxew#^J5ZV()=8cH*lOxO!sPZ)VXoj~ zaGf3GMWAt&YL9`>CF|Uvz+v=u{56WFH_6fL8-}YEn2+SEtiq(#;poKaihDw?mWwp~ z+-rf?PC7L3jFiLPb8(%XA}qv4&8g^0KxSd>#R8GFp)jMctR9g5Tonz(AJ}x%$jQY( zGGD$7l}itR)4?DW6XmWj(Wi++6!A6A(M4(g0~$Lfby{_i(L-jO$wOyX#?XoIE=a`1 zv-*|#_ahQ(o+7n5q^maW=-WKDi4{xi8z$dg$+?}hzH158xSjeo1{bhDg%60onx2tl zkN^3m`811BO&Rz(V1hx_!sU7~)SBL8;bmL(KtnRv7gH!LD|`O!b%jfqbb~urLgoGM z+O|t=5A6{TP!!jQDMHAUl33p)arQ{+Z|`tFEB>0X?3UtlOS+15bC6n1VRc@QbGJxV zWJ&8RIvpJ?yzliZ0>1vH%}l#>SxhA3;6mERq4JJ0s+R!OU4ueDqPptNR_vy%af{lW z*;m2$JQ(!7xUBiZ&H3_uuhU&f^G=l0_XyA*Vehre2LhVT2kl)^p4$?`ia2xriW<2> z_B)@Lp|$MrW|#1xu1Q%8iAU%Zmp9e51Y?Yp;Rq{RkDcPl=&R2QpJ8A@)VCcHV<#V~ zhQRrf`2?7W>^O5jt3=(6#IQUZqtVS9&Kn~I!5i75uV_&*+U+?vw~zsK;0|v%F=CFi zUun+_YWXIxl(xL}X4jN~sJx$)uOE*{x=}v#sQO#=H4bC6U0qBUsyR4AMmMQ&85NSw z*yLuoQs>iTKUL{}5*8Zvh%A4kuKS2u)U5`1?NHjiv(jvU0^jm4&ZIi5gMG+H8=MoJ16~*61VEZaf|7!sg;DPKdh0)fQUnW|%)y zqv`nvs@Y#r75O)xhAqnHh0Mh=ou}5`sUL?TARScL`>O9hlQ-Iho9+j>gku zY=b7i@hq*lK_#)iUVOp;iNFKBud-UOT2VZ|KzGc^uhSUE!JoPA-hKsA{TSqyes7z= zmwhxbbO)`{2@pmCF-F7DVVjEEovy|Ld?B|4kD!J=`6;7a^zKGf)tluUS1*kv*=~)I z^)TouQl+H|>7RMit1X@(56{XOy?QNa$9e3ky7X)0dlH-K-RBDc1%Kjv`*>CWw^JL1 z9iDC+I03M$zsPD(BQcXdX)!;JeA>~+ zA?W-caia4>pA6kPJmm*%vN$Zn-G25ZYQJSeo-Q~ROX^NkMofS6e~^Ioi7hjYPBf0M z^+a_32%(+$X)JLyUTjNI{5KXWS-h153Y+imF z8HadY(gWhQT^Sn+<^oPABdTV>XHOZrXNhgLCvd(>*hkh-uT2W`h0Qbi^oon~{+ZCP zLuFA0n?-DCTzL6zAHg}%(Yp(8b-zB>(wNP8x6Z~e+v%jU+O1Xad-wTN<_E3mjv`xO zNi(9^w*Cvw3q-Zs0MRxkKKGmD6o-Pu0IM9chuFFFoZHuvhBkO(pvr}lci8lSyR+L5pj_uj;)Mn7AN!8G z>>4>nx?(&?Ga|XGW)IGo{$DX>V9UOzKHNTqM==c-7Npj_WUy@+N`;65HNn(I%l$2X z*876<$tWb`x5T?9eG=cd^iiZZdL8k7#qlkbrN^etLK9lh)j?ZY|r4_OM{)%_@@wEKPENT-b{Hi zv5K9E32vL67RBF0lIUj(`B%F}O!&`x7FVLjN|uuB7yHlv~CEdx}@) z-wp$CW#tO8H7lWfgS?ngv=SVGiD|AJv;HR>)sBc;3;CE^$9X}`a?L~`3^Q}oW2o-I$c?w5~8)S@CxUV4*gVpDOlE8KyG@AvO%`sHA3q2HzFgr7D~1=*CRzf4o!5hCAPiHh(R#ZP1K{U-hB zyY$^HDAZ&~djWP^tIXP$CvPPnK`a{eD}o&FNYSqZSsxuxu%8g`Q#){a%Zsdrk!I3x zaZ#1gCC7x0Ik|&a@esaz(g^GBT9rbTkRD!twhZZLyEEN1;vM#{yFBswf0zNHpwg*w z4LbV^_>1DmX?>joh(lUGXq&M|$*ug;%_RsBnS#_wwZI9SVyz_h^s3ach>|At=9e4o ztSX2bJD}rt$1+AOUek21+M#S_NKx)fb&SnexmSd5)?mDuhu`YC^RIDlt|UIMho>b+?sS35AhxY|!fv9DIf2CCi>?Kl(mgP`|=I<3qz z#xRG5I&epqEHhHR;TPI6Ci1-mr6i>t73tNw%$)$?{w)HL%vDC ztDp2D7)qIzs;U+zj|%{Q%GaU_&lomLbnt-`tpC!hPeQTW($76Y_hu#2E(@U2L4 zKW`sBi-B8451LYMt2{))Bz8y9bN#^bg?}5=6=QNP+8C5eEGVNPK{S{eF53lh>7;P7 z-WMPwqJB;gfFp5xg&%}gTw{-56lW~cgDD0&PE<~>Q;mAcf1&xmt-xda;M;5$Yqr__Z()4H?@NP}Eg9r^_(y4*f!q<{*8oXr( z0p_3FkI@3sG#^#L59lJNXZ#i?0l_XyUt2kWhiJ)o$*Y!?FYcrj%@E8=KD2r94p!&>!S}~mRPI&%d|H$*{8Jh_kPC7$ztkU znf7BwGxCL6_~$&&s=@_pc@zF-B8=|q^C?38L|G%ja5$vbts<^!pzxF12f{2+MP;&Y ztaApRd>P2~hMtC>@#f==-h_VUJIa|zE9JriCPEiD1dsT>(7gfN5V8&aZwxbmDo^wJVXb(dB^~s&`ixrM#lHuD~S|px+Hk| zLS9?W=C}!tq*fE`vO@HQC{TFbAD&p;c?I!68@e?5xxZSrChaYj#dO+D2}YS(2>Hep zgl`%w&(Tw#7*y%LH=9uK);4N~ntpDDS+0Qvrc5%uRaA$cz+5{;6*EzweRuq@`iSXYwJa2qJ<6i<+5Esj;7#UHM zD&2c?)DY6$aK`A^(-WK=dS~SU0YnEWd(tEAUaBG=FNfi)*cz74ZIoHh zqdEfZCitK8Jo!E{kLR7n|NN;aj5gfdvXwe`U5VN_t82iop*L=>7M8qxqQ44AqF%i> zj#&tkVYQ|A>yi(-cMnI88FwcJ5A4l9`i2(U&JEgLm0vH-^kb;CGM1=2%r;0L{<%Fo z=J88p_thFle)Dl9aP#5_*Pet-pIiqBn`C_W%aCySiss+jiTZJ;iLc{`afTbdQ^dcR zPKA~C`m8IlB1~t&XTQMxO!&sY*?$0H0-qwYH-|WXD&trKP`B$3xD5=eh>a{bz5!GqHYpN;U@U!C+cUDfo_X{D+Uey9T zTV;duy9yvBavBC4ExwX$9}4_g zQ|x|=%*J)ZhMrGx6#6OWA19>zm{g3lqC@BL(JCRJ5emZ5Y(X9Y0V=;(BQYs2f;s0a zBWm1qJ&)KjyIO`3{4O^+n5|Xlo!TjkQXTk?5wZEO)K%r=tz}E9iE{defln)P zEo2}*<_j%VIYKW%;2U%*+R11eDKP_wiVoH^9F$kytAgNEmjF%|P>~#$+k4svBNlKm zuG*TcJVp|tZ+g!n$*SDuzK_jKv6b^*N}c-ORTTJc(LG zI4K!iwCRhIsrxj0HMD%#myww9u4jm#uFv(goe8+)mwM{=hbf6@JU=f8C(U%b#lOIbkGF z<@54{AF4f`DXVQFhd@M`D87tm2j0e|@6qK(Fv#0%*0RVfRk=g*++TNn@<~6Gnthu zH>RtnM@6JkgdRB&B0ZO_s0kEQQ=f`{WXxnT8EtI<>rRN=ZivKvH!;5Kk<3MA#3c0gd%rYrZehTiMfz0S=VXuq+6|rnjnd=iHSwLmZ>uO-> zhjqzTR<%}OH6YfhZZxOsYKvt1Zw{B+Vq8V4*;|XUxMUlK*-VW<^ODHvRaGdr5>bFp(lCoV1G&wa8)NYA3q;?hV*D5F_AES7GRZ{+B4k+-;KI)2AsUA-6n zCweP`f*#Jpv|)+Z+5rP>2AY)--p`%l?c>c9hKjLv?Dxp;1^rffd65>IwljIsSZ0x= z$F3^0h#*%Ba8?=@QF|{QJ@W~m?h?yTFinLInD$P5u_)^jUzMJ&D>cy4&Ribtfxr3! z!xH+!hD>}WBn_?bTt7!w)=6sB`gz}Y#G~BN@vh#Ur_tjKhk~| zmbwh&G&ibC(iWcA3CDD+8U=lbiLvez(o5`s1Xfwh}$M`fi;6C)65vzOwe-V;x(jlo`@~WoH zc6N$`96lx_ckE&{V{$Txl86$z-3EMOM^fEj)$ZMvo?y}|baOvo7>yVgerudosGsLE1^{6W%#l>># z?`zGj<#3dykMGO@ohA44Uk)VU;fA#D6R00Zt$YUY%$RVoIv7Dcvy=UN5dcdPIU{b#wy4}kDQKewOcXs^2jM$c)v*`Gf6vK!qJXboL!XV-8g>WjFoGysLYzcn z(3%g^Lf-)_1>dk%n4*W+Jn{LfBzDzwuc+h)1BoOkg&sv8yHqg8k+dcD<3|~+U^3qb zu8q3w|0?-UXV_J{UDG;3SGu|X5=joCOBUcy5f7!XOG00CT0oEj;?1GXfN$=RU*@TG zA4dHg;0aExTc>4l(kM*``hjf)a4Az})imrEue0u#``o8WtA45EuwkMhB*WcXm8xi~ zh;C|#ZB=91wCa3yJF|3wWDNVu_1@SXSjM%hf}pFe$6 z|Hx0?D?bS*`9mCSK1{`50l?p2Z)%Z%Cc@-v?XpZ%Hfzn~8MQTkU0e`;O3-c5UG(?& zNY|7Ux6f!T2a>%m_osUJ5x*PR^ZySiLDs$z>(mKT@JmQ8pP?~iQ$Wol+(4Z*#*43& zB`is@Cx0hJv8R9w=t@fRGX*ds-pfS*7qR9PyFUKbm_e8*8ntHn@$%1j#6k3+Ox zaR>z3)tM#Fd>T);g}*~9QQGkDIQ-p3{lhmiq$c$@KLitw_9T7(#`|R70LR^h4(~8- z7`>Onaf!wQ@Pk2nnvMhXjWOXy1xz|>bhslN@qhWwJLwRgwD^tipdYb>$!EvF&2iuz zI;AancOV_dA&Lj-VeF6}ei$kElP5sB%*wI+3B#h+=zrse4dLRX4}S22`saWC=Wt30 zBZz%zyJN=00ZcT*+uTHVC^pT=w2m1aJytv^&Z5V}U zxDG=15m!1f~Vm? zbptV?q(k&f<3T`CaN>lheBCu^;73^RU;u^$ou!Zf50rl)OcsuJ(qtB4>C&aaY6fRI zCpfqw2y=n~d0c;nGO&aQMl`WzaM!Ng6LI5;PmJRCbF*Z2*pzScD=9T1MWMGeN=!)~ zcsJf~e<;IKEFr`TYe;H;(MpRQ4*P8Y=EvaZUB{QZ+htt}=d6Q+9)Ly(x|; zenpl}wY47|%N6&$b&?<1AkT2j?L?h8V0fWW!r*92+K+niHpdYsfB&?0wK(BIKaw$q zWVIU7@h|{SXSz6+Ht`+DZ}6e~g!6o0n)pY*c{={2jZt)IW1I^y9B}}r%RrmJ?HIFO#kX~p9bB@3N#zoV1M?8cKPsbUY92ds{KcAsM(f2S2EuPdheTn)e9)92e z@FXwt!JoKZc7Mk?e-6BZJAmOafBph3TeeK6oO)^~|MG_)*8lg}&+0G#@-Ow>?|xUk zeSN_o$I#&3iqp?HBjCXFJFeI2i#GH0y<7lgb8viLYye(S7lr-#1JQ4jeLvjb`O=op zSN@)+yO-d9A3WPOj`rc_0_4H!gi}sAB|nfAp;ywL%)#e;e@2zTNR)MWH1Xht7!vR* z!ttAL{N~go*6qXhJgq}1<7D7*-63Pqc~G9&RLx8-`IDF9=6S*c`3-LTj)I2)h(}lk zJ&`-%01T@im#fbPkOAcBKpv#!h6H#zUI6J6=E*0YoXB^=z~dibJS~&s94X77)0Qn; zb*9ORmX_AAf0V3sVr2(uxlB1y0Iu#16%IRw&jqO?1&4}TG~B_$9tfP!-8n!kC^lH2 zY}7mu;qZ;K?4tyR@)^YqLjoc%OlN=jPX_x7heAVsbdZZKx+o}2FeAb-O3Qa}<9)LF z3OJeK%Z=69bg>49UwPmvWktCYGg;Libk_4f3Hm{SC-aztVboIl~OLPTyeQp z+qZ4yS=9~pY3@K)JIkcUMmls-%}i~Mm1)+{W?fV&?X|qG8MUIWuBdI#wJuPZt|A8L^HZtEiEg78=f& z@smUef42I_jH<|tjoRtc?Pe3W5qug}U(iWwe{+ zYSbM}34b>zVEloxn*l?-ab>|!Df^omH{~~Dc;!sdXG6LfWRue9L|fnrnK5|KZc%#i za4=DxQAX*%iNkk)5+4_hgX7q|GOLp{>z-13e`mMi6;&jXuW!rW^TK&t{7B2+J#WX^ z>xcTnQ9t-OKCa+<9MYnXVN~D{ya)m4lsLpC9l(tR$Eh$c#}|m=MxUdd$)E3|CLo9U z2UTRob6IIhEzMK3c;O<=nm$tlz5TlO7uV=h|M#!->A(3~U4QL$Dvc*}#p|!o$3OOQ zf4%7qZ`Axbb2Zr8r>&c}Xy^7F8X6ePPk~RAjWRiIJYQ@8PEi+yLVvGEugfSzzeU~Q z0>{hi^+0(#{{D=@f#OBK6@D-LcBl@R43EiRvbZl6D8%hh@p~?DfaeZqfFBJN9L3u%Dg&@#NqHF+hvs&QQvfuDko& zHLz;4DyB5+l$oaJ_hpr_ta8PP{Jj!m#TttlPDxWHb5_r$_=i)MiY!;F&sf|ThSg=f zB&M9zbKL5g*$yj6XcG*H@>Hq%4W|-|-%x+wsGhEFV-Vmxv4J?0EU##eSY3@z%*HTd zLE8b;9qUl33&7i)@5F-%(x!u^Ob(dg2A(5hX$_8!XgEEhSZPAJBA9c2EveJWK4A4I865c@4M$y4@08X1m*c{B z(skkL<>njl_+}wP`Q70UK~z*#gw5JVAANLKdd27!o3=mvp%3XF|KT6PE!ztgF4Q~U z{Vx642R;y{y%8>ZJ3GSu3ZIoEU!Q-Op-eBq;RWir&>hJCP~o}8D}?>UkEZ{J=JEdm z{4vxM`~{u_-#YEI(}FR9+=UMT@F551NjUhB8xjlxBFlX+kO35K_h*2Rw5bE)@cWKC z?$BL#-L;QT2440YfwYlzev%RgRd5=f4}#-c%I18nz}}9 z*tj|9AU+uD>AslZB}3vx0uT~s2V+Pu$`B=H2+4_w4$l%8x7ZwMk2d#y)WxFS>L#!$y5ls8l8htfIqn-Z0*u2N5bucp>FX#4JN^_f!LU|Fu{Piuaz zTn*J_+EP-a%^iIj>>t*pb6eG#Gv;eb{%Eqy42gs)vvGURDv{!LV#8 z(nOvx4az)f`Eq9foVCr;FPxI%wFe@Eyr%Fh$}i>3)9O_(3=fl->vWYW6rmfxwiJf%44m~)8Y zO4`Knv_gCf8+DEY;9-dC^#?xqd$?$L!g(4_ql8CTQXc$09r}?AUKeiOW{#hyN0~j} zD9((N_XRsco_dI6=Zagu(#iKTiCSy7oYf~zW%kZh1-8l&pP{Tz5jjh*Sp{K zZgET?#}e+`u~VBiZdBWzwvaaY)BfHb0QvuKgBPkyQCd2fdp7V~<3%BwMl>C-tI56r z{~PJ!4*~BtlhxIcfc>>oAvo`1Zyhq2!4P;0{y5sz9c3at{NXR~3JeJbuYw#gS;uc2 z%RuMNn-{_`SV4byU*7rCpZ+u)3Cpamr?o$rtQ^E4FVf=R2{u6g^4n^wV|n$tQ=ULJbX#_AP(!P!bo63grI8pw+}b z4ofkQ;0HJ!QQ#Z(Lq6aDFL!@%AZ_sJvHC^Vfmd51`9XihNLn5j-HCQM^^{XW{S%Kt zF7n1XE-zMiT9O|DcrjPT3yB+fLrfS6euo4^=l~JpP&gnqIzI&HK*xiiQA$uq=%n}^ z4scw&1Hr`3KmYt-J%gWjE`Sa-S-s-VUJ0&{C#__X(Nso5%xW((CYT*p$M!A__l+nS zvkquUjGKSU*T}dAGdXn(4k%euscy6StBrAtSUw%;5zUB|YJ0j!oyEg?RaL!GLu*XW_e07 zzubkr2{B8{*o*oHhm27ql(I4~(%#kHrkT^G2c>^>EIVd~kTE0}6F^MJmmNW5Im+T7A&M#O4Ud)jts`_66Qh*1nY@&Z>F8p<*0g=15|earC$Ve*PW>PlG4marsTUl*NC0xk%URkT3{U zgcJP?9O+}^ML5ToJcz^7^YHZDzwn*70DXsiQ3x<75P%4Dg!^^ZUaP}h|;&K=sYaYHcd!IL~(2>>6*$@6sF|JcCG z;ZXP+n9MH<2mAhP;l)~ye`q}v(u%ty3D0+19SolD{G#bSA9d&H!J8O(4^5Vt>YS%D*c_#B1;X)@r-X?kyb;~RD1g)h_b zC!DBRv*)P3p~+-orQ$3@PL_pbN5u?cTAi_k*)lXaX@-nRR)BO1+Ybl6@Nt%Ak*@>a zT!!p2Je1=AjrhOpKow{=sYkQ zo)=$yaTuk5AyJOWI={z5n=Og4X?u@#l05z_)ghgj`7_-(&^E4~wqDiMHdud0&YCiA z@r_(fJvPNZsU1Ci8nb$RaiB~F$GOwe&8Z5S{HA?*hc zpL_`y>c#LUZSdnaasBCOg{K)2;l0@E&u|ONu&jRAXpK?$*z)D7t*(Cwh6K0}hkU|F zk+mtm$&0iBe@>P^I658<{_gltZXEuEcf){pk00oA0tiPKaH1|~AA|)XMT~aQM$ow% z6om8kAuZz4k9~#%Mcy6p@#BfZ&%^SYI>1p*1Q>WRTE%Hk#~ycF7%1ST?XP{~8~Vg2 zKWWCr-|B`NZ%|Ebjjn&V@(O+A!ynOm-u<315=T1RUx83UsFEJ_;pGQccYlmPeY^AD zg%Ax>=$;GE9#K~a2l{p(c&_md1chZiP#)2+lex*l9BC-b|6n*AN|?!@u%4p%6}o2w z&o=yIP?*2>Ut|-@jNwu4UkDz@WehTlc*qC_1mS7?hOfbMjz2E`_`ugNB&Z8`5`2&) z*kAh6mxAKU2}AG{(jr~2Gtb}o7zPMwq1dCpeEQR$4wD7kAb;hSTf^Zer=7MmoRasd zSG_9i?OeL_RKsO~;oqVrGi(SG_%D3l(#hv*GSB{EV1W;LI1W5<_#+?4+i?LXH?U>P zW-B}UBqjz0%@3L9;PrzcvDf7Pv}x0WJm7>sRu>?j08jTwgSRJeARJ1}>iIN6>Lr*Q z4p##@VbWYjt0mOlZ{FiMHtPF&vm3u=eb?{2FG=2xmx-4(0a{P!AXs&S04B zpzdgYm>ToD-u13Wt~Tqlc(`aDeDkzPizf~m_H?6o@g6k>Xm?M; z)A6tX=}>Q>f1a(5$UhpEC;8CUgay1zg=u-1BKux#{i|gPH*hxugK_(|ZMx^KyL8iy zH|e2=S6I7uhY>z5!#nG&v%>5KxYC{+F$+zg9DonFMaxM3f6U7f8;Yb@lJi9>yXE~b?X8Se8Z7HWv7g1pM8#!mUl;2mnEC$|6b=_MsTO?j$XV_ zcinM^)~;Ej^Ugaj)Q{@|(egf9@Ot}0(%2uYFUagbUoU+Tb0QHO)FcZ+xmO7C6?C0 zf1wf0i`A)N`c&OEutQxMRe6yyoUyn@*#KRX-=o3Bbk^U)h~rdMvaVKD73F3WjRXUPa&sbsD~!Zvp^U1@1&&Hlka$SbVGL+QrR4x<=CmNugw zRh3oh>h20c0Yd~jg4thl%`f!Z-~2X=vYdX}X*95Q?A#gXjj)u1v|K?ZA171%!*6>x z%)?SD_HB%fXVuVHuj_vCa}9KM=!qxS=-dk~P*qb?*f$cTQ_AakIQVaH=gDsue-u2y z!@uF&A0Rz|I5>YNPtP|RFJGRg>6Q4j8IIrHe%{CU?gEo<{yQ3nZ~NM?AWayupa#F5Py7s0Sd zm4=Z>mcjM(_5`DsvPWkt0Pw*%e-1BZ0LQ3%37#J)tk-XGVgSd(`_=OS@B&Yl zSp@nm{rs`V9t(p=o)_)p{n&pOww-^2pLjgpF%*12ir<8ThoK;&r?B~&+x(fCK#ybq z1KHuTxGcE>w`;GxR-ga;=fmZ8;7NSa0T0T-J3NoPoyP%%cslOx@3^8He-R&^=HD6g zflux*et7n|=c(MnFgS?ZO&Oo7s>tK`q;v0YZ z*S`*P|JeeFIaIdkR&#sc0^MTj!cix@p;r26__ z-mC{7x?d#;OGjonSZ8Czy=SCXrHM+-sH#`R)LK1ihD5a~@kL{%b4iTq}2OS7L@48aui)GG4A(H5q^1)77cIfd(xz2GOs*dTKbUAaR2gG8#9f*O)*q&0$Sp)R$R^@tiT$amzPW6qMnVDPL?Dh8dM(Kv-E*rAZZK zP4P3FGG=fT#gb+)u$RINjo}g1H8g3&%A2;fiKVQ~Xxm(#smF~8(bk-j@tS|vyhdOC z@|S}lR%S|jl-W>!?5kiFgr!(j#_)Pa%%CaGs?O>>W@$9m*2q|&Mlyyt)jg2_bsp;7 zfcr2yOp)Ji%&^nyr^AFpU431+&tUzA^=dRaOc+iW4yztrr9EwJ;l!X*PCg~ql7%3!dNY5cjPI6vFwCYjPt{E~{zg-0&e7^ETh(mzamtA&Ssf09 zeH73R<#d{Xp8U5nXB@zj@02U*@8IA48{tU91yxj7dRV^W0P=^iM`@RDgmWS1Vexb4 zd65r}FrGJnpW_7Z|X6>o(nW=bgIoh8uL>z4w`6(WmLtrfb<5XM_#hM=x3&W~BQ1dIN7^1k!~U!uV-} z@#%W@x+jeLN8kTg0DKSTUV{BYVLds$7Q(^mF&gjrtn(;thXXwQgXK{e=1}7u3Xldo zje$f4@K_?th(G?+D}8?zi1uOp{hNRHHsDEE=gBDjDCqEi{0PtB2r~^R@E8*4CAZ&x zdr*LxtzdNhzWeSAw^OsHg3Z(@-53|}I?~_?kQQ>#%i-X-0=&EP-{1&Ob$-nt9LhWI zj%TUyFY2SZsz#@rbh2_Lt1Ytev{IA5Ty$Dy%DWjp)%B{cZ&ZI(b*CLopG98e(}X&`EyrKukmW*n})Z8w*x?# zdb+!ecQ=RnqF&gmLc0>CP&O1ow2lg$=ix9}79Bs_t_XCds*|0Q^KKt0m9 zbOc6v@44q5U4DQ0<@-7|oy5UA3*mq9i(iD10OAwQ_bB)iLjuC%`;llXZ~#9TN+2l1 zll9q*WPop>0)iiL=yYHI?{8|&+9yqUrGuocGgqn9{0D{xl^d066DhSUo~uWmTCbWC zQ?zm=8Z9>EW~@l-KtfcyVO3!hSW0Cva>q1$lX=oXbEt)u03MIMJ z6lm7_GZi{y#z;CnYD}uy42evbp0!B3nzprYY|f@exDh)& zk`AN9XD)v`Q{Vi?H#IUeY>dX*+KdgV%^5nQBGeVwqpk3si&UOH@@)=UG|F0bj2I4R7H73 zh=Z}iG8vMNuHyt(9Qj~egiY#JqX>x_qw$+=x+xGGrMr3CmavKbWfxtfL8Duf9Oz+x z?;9GK(PZF)8)TWeXlrj*vk9+dXD-WMpm)kCAuR32j0K7TJco6@zV`;_IP;{g{x^fu z!%J{r@OmnA2ZLu5_J12h%l=%;Prrw+;7~qMMCrHiB9{RUljTPkct$j=_iN-CItnra z`9NOue@5WpC(J(hMr@Y&pj6{luU;L0{NO(fmJ-k7kS_cXy@fnU4?o^LU&qbgo!|Ix z=YNd;gBJs-&a3%OTKtCRu3Wh)Tnsvc<7Q1>vW$tP#>gpn8iRz@Rt{E&Fss9?Jp*h# zU0vF3^$1Tq)#8%}auVK1{uootQczx=$VI|bS$(|e&2QF6KJpRc%gHeK0}suAnhwGq z3Gnl>P%i48a;#mqR;MpLHSlMQu}jT>L7(%oz8K;6W+bA8n+#}}{e620o;`R6f=HN- zyz!pK% zBfq0~u<@2oMY+HJ^{m04#yHj&ZQkqfOtcTK_8qN0Wq(q%|Tf9xV zjEaZTnqv7cn9^u@73+y@JsM0I6Dy%UF(s^%Q+I|pqZh`G^5%sZ5iG-hVf5UOapkUv ztQj0Zc}$iDLjoqkD1XKbfl^Cvu%|bKt8Z*jJXNM)V-lWy5fo}!m+>K z{`R+(G3FXhRkAXYXIQt%Z>z(=_^b|#!6TI|5SB}-EpwlZZ)imgnkP(KzS)Vn*U zDVR6R5=IEKWW;433hhU=Iv%yq3m#=YyIAN^1^5vWWXeZ!gez=g1 z;R&rnI{aqtFz@B>er;|-m-pyP=j z5KY^S0p1<_8_vJ+1U$be-d;zZH$Z#CN8HH4SoGxuj9%V)+il@!$A=zzD2y9;i2eY7e}{jg@S@1$ALUC9(R@5#ALMXF8Ni=Dj={ipcsJkRBYZ>Vp{&DO z;3+t8KqtVDu*e<4k`L+gntN88l-?0-Wqmh|4>8Qm@o6hS<@IkJ8OI z-yDp=%PzYtw%t}9MpLpXuP6%}uS*ie$_$T&qg&^laJ*Jp=c*VpW#9T=2HmS@OleEEYIIyD zwX`Z3Gb3T!HchFSs_yQ+>M9x6@s&*)DjLy~=^?d$D51HDlDlr4V6mrA6#25;*3@jzWkYKqE^^Jo$(k3uZHWzcM6b#6MT6+wI zwdx}lHBWdN*rqG*l!3A?~dh?qs&7^+(;~$4B^D(vp zShZ1qf8LIPCU~*D2h(P>44D$nyD{90pfX@ z0RHq3z|-=!_4GWi=({WCo)3=SIKEL9-W_=NxQ>H|BMpzsyQfJQuLFMb4)7arJOSbW zj*C0O(x$w781nJov@;3^^x%EBzA?XV2IG>Y2;cwy_x0`Xd|RLTt52zYPg^+ErF_s5PtVVB_cBG_c{+|SRshfaIWOBw@Z5oV{C^n= z%m0Va6#X1s0-X*$fI$K8gU;Wgv>SZ_&U>Eb;ZN_~qEEvg=-=oYIMRmaJ72*-fUo$b zYxoO5T71Xoz@N07M@RXYWRmPFuQE=bm%6uD<%}P_GQQuxEjTWEL-89FFHk=R)6k z^{ZbUE(JuUvUGIQ*3H_uiMlURQ&qIYm+$MA0N$5~0RV+0?af4`lHi3>oIPcUb z=uDrnSqWv2jznjmb7CPwsLV#NBmtt^*NF}TcsT$s3pfKX4wmYWKYo07AROgE*&Q4j z)W7`8KLuu#NU+&zOqEsTVP>Fz*bECs-Ny#fnrj_(?Ut>I4Ubtjm(nTAJC|10j04l2 zwYZ^1)kVgjEX|Qju^LN?bjNV7POO`vmXTrI)@=;0v`A+Zm+3*PlD#9NG8SUtiZ$Qr zytF)}O>N!kGb@Gl<;GbkR9;~>M#BgK%bOTUXEq{?!rFI^QH3eSi~(VPaA0gyR8?x! zj0%+Iutdq)hGSVrGR9o3tzyaivX=@|*ea_kluX3b+ufu0yzjjst!uCOWoXw>M-z%5 z;PuVOK0X!3dMz&LE+4JoVdGTf`*(<0Iv(4(faT* z6^5fMIDjzp6`a#))Dg#N)ctsOKlgXq20UCeyocjSp1gb5Xd1kKlV=pi!mt<_q~Ym! znti|CdcKlvwpl%$%?SDH^#;7~oP?%rT zy$~=N9{Y1g8lG!^p2VY1(dX#fCz`^HZo#^K=NWv%d3XSx0R4L(@b@U60`P-(Fynwh zK|K1q_j4eMJ2)UyaPS-AV}u}Iz|-?71k!aEP0z~*PJBaWVs;eS>3k628RehkQCgM^ z`^X+y@raH);dsrRJ5T)s{UJO?M99Y+@yb%AVLt>b3s{POi@ZPXxZ}d|b8gD!h<#)m zh8nyM92i7JW@1QHR90wO>$EW7M*hnmUZD+}H<|pc*vA8-Ell1lo2Dva@e-4fdo*|6 zyf8bA9A(cbc~K6px5Ei}d=8!VpS2|{)B{1>=(V7~eLG1C42h867hk8a3KC zsK!(mgp7}Y2#i7RXPGiA!j4lGZ?kYIEp zRbHmiY)(b?-eAl(Jv^czGahQp=%}ozHm1?0cfaSo+H4H!x2Bx4ftJm)oOomz21kAE zt8>GD9fQWWpS8akC+1adN;xwUqgI#90ADv4m_CKZXbYAu!30PfC6Ffq z0)Sx>h7lN+Y)xxz)l@T5*?^705AFTx`s?*S-~5(VKC)6XXUq%?b?erxfmR=X{PDnC zLA$~X7^a6w`-vwW*Mko)SF5G<*0;VjFi5k1gMzU^;BbK-k;2b>*}Xqd4sha$kOKII zkc8fNr_2D~aUKVM!V!jaasC_N=`>4t$Dt7L=R0_LyAY4`c{;w156;8-cXy-%j{c3l zfndfTz@PXSfCw%Z#+1qPbzI$f9RKd`4*u@xKoj^u_ZXn?BHErMZiHbrYT>*EnlpQU zR%n0ry6m-fUbl8_*uZ_=udWZ9Dw*D&VKi{O3EVT!I#Xwye!9h(9q{2Bd;xku(1KI6 z&BzD$LIQQ*?%BX|jrT%B6yF!R?qAIC$5=P?DfkEjD6CL`7h~9C%uhzAlo3AQW%b|A zAK>-yDdO@CJ_Nr**+zeXKY2g)c!Z^YeG z-UBb;n*(9N2j^+AHvt2P!LKJ)KcUmlI8Al6^~R4z&^|)^d>jVc%0k&H4QKGh5W<*X zpqJ&_KmYm9Lw&HZ9iE9?b4S@XZQQ8e-g1k+_k$mV)2fC|=FeX+-(+lcknNOzKj0O? z7sqOZ8q*1uKlGr^I&+!sxZ}>yZY(kNSr@P8=K`M3^9?T<5-%Xopb#U(jqrZuD_ z=p^1L`0bsO&ho2Y{VI$SLree!PFRQ+MUl1kD2ezT4uWwgOxu|U7rvl)aBLYk6yo6> zV9b=^9lN&cJKz2ek;8t2V$}^+}>wliZxO? zu4HD!;#F#VD6JXEF)gVr)v%@U$euRMpH{D~U1Qod(x$}?_kH*3sG}E$eH7di!p63)uFgP{ou*8ZZbNOIZvO3W z)Ms^YI@&Sc7MC0MW1;;!2F~S8irmivQNC)0PpXNJD8fhnlCo_&b zDHHYTY4MwQ?)VK(d~@9Vi67~rXdvi;q`g~!ur`;ab^ZMV>h9?dWtcT%x*656Am{+% zveXG&8k(9c+E~DU|MuH&)j#~xKj=5VyG1)q05TGK%#vet-nr+7v(!&K=|ojn`4Ik$ z5 z;62*Ud6K8gHFP1q6CS?CleBS^Gnx+TqA?~ajc>K>+O3_t_h{K!XNCQRBOJIAj(xRw z#((PSYC{<~<&d~wjxoh|mNPLs!RnCje)qe< ztIj^_>>xjXG49y^h`gSRsu;|vHJ#v*;Lqvg&#szcSBfw}KVY~wn2jZb4@{Ntw7!Ur9cRCD~IZ6TR z^k5zk+mQfpC4X>(aj;&H(T@We5-2~waiv-Fs|*ppH#Bk6tuBQmE=ak(xz@RJjP>bEuA`3*UgE-Jj`Hce+I7$x)S8)#|DKVeK`vIMTJoaG5r>K~qduf2yNLofT%3q>9wi zH>~o1OjdoyBulUt*dT4pC_h_a#zELLPWeo68_%f3zKxqPQ({I1$GR396XH}Q_E^w< zVGoEg*33v+rKWrr507fpl&PU~Mt}LqztFwQS7`a;t2OuN<27nl%*Zh7NlmdYt5QvU zy|Pxv2{RlLR-gPU$rv-S-{UOBDoZJA`HfqDnNpl?Wo3c}$QNZ4fbl|WtY@dKFkn&i zXg`DkOIQ#PD2L#Q;>rjMEQ=}DS<_~ysj6D9y!aL2*w7P9DO|Z~l}37)>B#ERvo6t? z8Fm%1a{cUwKheX>9}Y{F9$ERYDU5r}vdZczGd4;? zJ0bAWmIiq-TQzRRbRtovdGn7_V@*RiS~)Q?q|blxi~8*6KBvF``@h$$-o>dNKo)OCG!n$ctbcS z2mOm<+*x9N+_A@n3q!}Ud)hU?omcbbYwg-6!vHM? zNVvCZqAmc+6NSm@ZZgx361-#kJ z^uYZO=*Amw3`#E@gqZ+F#F3VMmgMw1#ZF|9wB zFy+}4n6W_}lPFhhu0$h$sS>R>26I;HJU!aALsgdN0_*g>RWa@89#*ABG`p%r9RtJK zGd8NeoYXWtrj}%>7EWu_?p^I#W9gL@l`3rp3imx^I4!Eg>Kw((iW2JI{9(qtj~UM4 zbRx?u2cxim#irbGs#4sT#t28*nvubhrE+6ZTnd-4_8d0_l1spUi1)#dd_*_gbfX@7 z@BvdIr)%nzW=)?tJXOpq+D`bwNvY~%M@hF$B7r@jlm3DWsG;Z87I(e#`3xU zfd{l@^X4$pgd&YW0bbyMq7A*fPyqPtwB-E?TBA*PdVk|P;NPIt(0&u&NQ2+*=lzan zR2UWh=IONU-*Nl~{OLg2ZfsL#W+4CW@BU8z{LlX!&R>Ur5kJ2AiD2YCXm!C11ja?) zP$&t4iDiR~EMh>op+T9bBlrO6<0uojP~Y$k>XC35hh9H?!||K200s*qYwdg6b(9$_ z{g0{YZIbIelhF*>DA;ET`! z^-7sMe{cVnVE<4^i!Z?+7tnrDH<_QiLY1KbCIT+(mB|4fe{mY4cz|F?uCMv42dHIG_p6m1B8cS zLC1zbF#^~ie+!{T!x9c9k2C$b@P$r*9|Y%y1k+v|OU6t9#725Y0>BY`Fq@L+Hz-z8qxI{b z441!Yyi{3>9~-j{U6fNSJ*)-EGS!#FO|favijA8zf3vYg>A@lG9PUIw!|Y{nRlyecco)mYyU zZr;wM&8RSZow>Rp;qTBEiXkIZD5kWJE3D8Xqdm|NG{vk0oAp{S5>46Lx_z6jxavx+ zd~}u7MOU~+R>jN*rfPfxo3)%r?-|Gj5u}PU&-bMpMLtps9=e1_-YH@@6O~$LXY~P_7 z)2CS*FAlQ|;D3AM%y9k=l;>B)4IPquj7eBF7u>c z;7|YO5ES?te1yJ37@mdwh44}E-_iaLuf@SjqEG+kyxPO#JPp!|I#1WXM;+kdf9U7P z0|pmdW&vJ)FEhX04HTWx57(G@o~f zx(`U3dUYA&`Q`JUa52k!oa5Gq4cB3f1OtQR&fsBnkWcCvKwi|@v}vvS&CS2jvBxad z-FM#=2AbiA@LbA5UWIjod!gVZe?#IhLt*1ae?u^I3X}wtEJpDm6eoVdLM(JjMrb*$ ziLfXG`Hqo4zZv4?dC^4|1w{o$0ihiU07vpiSz+yNTAomL zF{N{9O^=spvDIbK=#VMN6)*H^43vi;gvTA|v}J{?^dSKDY- zdooFNT2;l%-PMR*pOa zp)Et_wz6@PCT+x}b>Z?Ze+$DN3CbN9thEmYQ)xw+28J!)#`>_?`bXdWuG)6&)RgKn zQ_e@#-`%HfQ!1GaNSe~#GPPAxTBijjl@24t9N(D^o4dI{52l#Qjt8cQG6_B~I`Z`q z82p)*{tNx~mfLjf z^m!`H6=}|tX<9OKo)%A=uRr_bU+B>lE7j5688+H-Yc_@i$|uZ}SuEDL;xH&sj4!_U z;&5sdOR4A^D6x+|`e?w>6-Mw!u?1)99eQ_KgRY=4{CVP>MsdU^Tr|8p_xInPjtfUm z&(q}T=@Q=GNhg{Ie~xtEv0wVqm(0-1=u2Pxk`^7cDAWt1V$=zFk0N8e}lehKa84;^*1)t&o)D5 z<-^Ov1x{7gmYv26IMEBk0lt9nCLV3cZ|V<&me~~yBW5(AN!p%ckpKPP|6Tv_Z~tyI z_H%7qzacEeJALU=op=8EI``ajb+qwJ=$ZNgUknV=r5v=g3wm#hC`5nrJ=(7B_6HuW z5cU_x!}B~Ce;g>^1ARLX97?=s`Tr0ge$+kRP>7?~srwav-=9BlsD3~+9}mM5+5!A~ zl-8n8cYJqVgGqz{}+TuK@6OnZeWF;l-rsj&S&Uc%1w3ou@kwf5S6cuU=1tfsesQD38|#&coom zZgG5zrt9G4WK%WiK45&8P1vWMx>S|M)0m}zw=mn9&m#n%6dVW7i}X15ocp0DBm9nw z?S@D4v&D|fWNDHHVJa#rL%Xdu{=RJ4S-SPsTf(3U?aOz{nNQ;Yh#f(|kSIFmoO8xm z=XE3?f7+Nw3J#R#vuTLu8+STCo%*X^{i^=tPyQqbewY9Z!vUhBbJBsn@P#jg%{(Yv z#HB;QFc9Vt9ZMyGV7KrP+Mz(SOwW}lQ4X+}-}k=v1w)5&U>K3MGe3ae&S2P7`Sz=? z*3YlGM)6ca*)+?JVyY=msk6UV^(`%Go>8Y{f89n^*UihD1VXi^9<~sHDzCoQc zp3#{_2@O_G(SI02>b2^w)`+f5jO&7VN2#^6Nnd*M5nVq#piFax>V`&?9xDmAMw=-S zf0XyJ^jJ6!Hf+$cGO`JkSr*oMCrVSQt#1sQt7u7V>EM<+Na5-N(H?E4hdNoXGQe}OuF_UqNyE7=3 z%yMAB%xIk+7#Kz+?GNps_(3NqiZ~2DfA&S7sG`K-=f*4H5H8S`w->a8QP?`QC5$Nd z4dhSB=&*W&p;a2Q9klS@`reQ9iywVYr<`z{zGCz|U`E=juXv-@J^rXEnA3F6efR2h zuX|mX=|Bh|AgK%J6(a&%Q7G|ah63Y(zJU_VNI3Ao0}q5{K`vy$pYN{Jk~XwOe_3#( zg)kv)uMZb6{HAAvn5e%4WpyDyx}F}uZ^Gl}eV1>92OsLy+u_rn{#xzB|* zq8>2TFfb78Z-4vS_YDkigDRIgG9q@SqgXubqSuN4PK1s`;mq4e-PT7cKym%|10p42BS6hY>`GdwadOU1Au}KO;G3H zO#N5aRBGe8bs8HURi)9>H-7j-B~nREv3QH;FWR@so;cJ8f|dFL7yO;xzz;__Z#UYs z-RcP=VR$5e(ilq*j#_+F02D#%zF0SW$t9NrUIR}g4rO8%2S?ecPtx;xp&iJBw108l z&iFY*+ur@7en9j$`2tZt-f_`%fx_Po9{y0k^K+mah3R_UPS*zl!g*cr?$1MoX!?cm zNY{aHh2IN*d)_$S-2omp`a2rm<2ra;59hzB6aVetVf@{};{#ED((rnZmXY_UKYfif zc!&0#hwyZVzkkCyUc3Y31#fZ3Z-4k7bnOoMhL=O%Jef)K-#8ywio)Oi?ceGvU-?St zBjjILR(Hg6$8W;%9>pj6ohM=3d7a?z;QkK$2Hel%7N*U>2+Ka0`rY|rhXzo^1!mD-E?APlD-~EZk z`g<(BGW8`Bnm%ZXZ8E357Jp`cPJgywk){r{o1qcc7dEcer3;rT*MHHbHQP67+0QEW?N;xS^VxI!)23tT65$3ma3%tex=ZSlER9W~74|24*Fi z&DhwvdzW7EikIsf-!J^SPCs?2cAIjxVCJlFw?t8K+`^>|Z)28LUumn);moL##`tQQ zT2)z774DKqnU`n|0UUqZw`~nZ0W)B<6AB{qf+C3`=8PHO8#51#NUwTyRoGxY-3*JF z)26GZqf-~0d!BZT^eboOyy+L$>H}B2R^4U@PBrB&JEcLl{o)2qud3J99oxgvc_^RU zeKBA-J-Oyd&7L(ote=N2Hg4J!1SE*vCu@YvnN(Fh+k+8jTGagHHto6ME-# zDU@<(j(7-17;dT6IprcO%$a1TmiDlD`tEz~)`~|S340S78ydr`LvLTNUi+HYhKyZ^qtvfR}y9L z@Z@;u2OhXTgy#rn_zgv)U3yH=wpzS6dm=0jqh-e&vqaUEW%|k&{zLtyxWD?c%k=H* zuG4YH9j_@S^m~n-C^Pj--O(=84URnd#*=UOQD32+jW>VV$IvF!Y0UBu-|btE;kl>1 zEzl-m0n%qilv!EswBX1~j2r-(X89y-@LnXzd&c^ z_UB*t8;E~~bG*RE`6cf@>xtvkANmV^^h5e%(w->)+%-fWg%&F+cvgn*(D}0gaDwMy zbVJ(=P|!D^b)54<{1~)h7Smz{{iCy%-A6zA(J*@G{ty&Ii-Lth@Y&CPHlzWQI+8#+z~QX3&I(H|n3-Vt1PTJ> zi*^voLC2&+oq5{ndUD-b#mbXG$uI67(bSq+rE|j?8Y@-P>?SQaw@!WxUxkR`MndCcV%5o5Kdj4T^h1+XF}Yo2)0B>b2zd-bcdZvBREzedUw{7suS zh70b#V21Qbr<@%23>>v6zr>Q$uGoKqvJXDKWQ>_Feq($rvapPpPn|kN>(;Kba<%E$ zZDe#L7=I|!I20Ce$)ALTLQ@*r zzOu4PGiS{VbvS3vTrDx6poI6gWYE@WiC5c~>OfN-Y%+<@RoebHXDZ7__eQwu{l z8i#+nb^ejFL}&xriZbB`j_l_leiSe+SO&#LbqqJ^f;iOC9e3Oj;-b9q#P9?c^29~+ z1kZi>7q~zN_6-NU;dpm&Kf>{h`c3xDA^Q73?}hPzLcfFkj)Ir75WI{I{$A);=pTI+ zzEAc$>OWcCI`HoG=I=P#*MGZ$iG#jy_|boVXm_4`bHAYA2i})g{P!vU=1+Qm2tfbv z)8XMEqqY1&8_b%a__yt8%fEMYgaLyg3(J68Uw_|(QLxv(cjWuS^91lj%E#V;pxg#- zM_uOYHg8Dy`!nkr2Y8+PH-Klf&7yw5{+@&(9ez9gdE4=u*$50H`Z?`|A91|>ysdv7 zqUn3Rc^*7*?#JLDGSGf$SKA&jgz>SDe@uV=fe-FG9gqB|FY-AU3=H&JdvzPH>N;aG4835A90URBlJigo~QKR*1*XYY%{!cAE^<*tH0|!5rNqITEjFZ8Ez8wsr zaUCxJ|H;xl;)X;aJe$JquW&~Ko(+GVhXM#Dlm*|+%5n!rCt+Ywf+8G#Oyzy@lb;OV zU`TvJx#Js*h*9GYedt4B#1~>e(g0C23d#uad*A!sz*>=iySMB8$Dgb<_uQ}D)j2I3tQP5OM-X01w&>6l?NW@@Un zVqjP|44V=WuU2EaPgj(T>)Zu1R8!TYuW#I->x>y>>&j(nsfq{K_Yl*VDfL4mrfj6M zVU#qHh$(JH0s^4Au0Ak}ek*@t%8ZFJQ@Vytu^Teug3VlYwRJ&|B;qCNFah#^|LQOG zwzs}b=bUq%sw&DI5D&Zdmev`u#~WLxi5lS z#}QtG{R5#4^XJad)}1?pK@_*fVN`_6^4O>G=BwYPpZ(%z`m^F@9Y4QGn|3~>(Y8+A zXM*YEi%!r5uXwX==xo#WoqM$?Rj+GryWSMbxc=#1KBuzU8vX76{VS`VQY~A0hHkp) z#;~b99Kly!p&~0UiXDIT#l|-_m7|n%=SW#uD)fn0zveaS>Fv>HKJyvv*}X?sm@(3C zO6625D~1xwr6@OsEy^aiQ&xC5^%)dI`)6VW&K~?jU$=K?+UXWS6F%EJN-XhE$^%5g z0kl2e0iKirL*e6}__+Sc%F8k%_DVdm@)7-?zx+R8q=|NT>)U_csyptybDuJth{Xf$ z^k@2bx0RE$XH1(OjCM|PV&t7L;2IPaQ|3`fSh~a#Hb(DI_~9+>9r@*G0BKSuJf}=) zHkztnQqam~e5tNd)2Fqlb;?xDnKs*=t!kLj5{xtEbx)a4>(>vy{@-D* zQ`g9l=5w3t>{)-|(1Eh5s$i^eCj@1JS5ZgQ2Y9+4zX8g?yVoCKdB<4GkK~!NdK#PX z$B-Zlyo7kZq=R&+1Du!Ffjro_&8XwQ{L8JO8AetX_MBnf<0r%sHf7E|P{XDEYkK@k6BC@<--Bsbqr^6wZBK>po-Ki$qi-hcn@*#fj!7?*d-0l+8Vo9yxO zRTu!@qi%n)yeWH>)`{zR;qZmW5R)=;yfwT7c>!PeI; zTa;(M*5`S8p)Ib&5{P4(V6v zLESl&)@WL?b=I;oL;Eo8N?BlxiOTYz5VC*g zqP#Q}*4|r#YDR0TdWHw|=%bH?Gyb7Vhqu4wZMtUpul0rWEG2hu)Ptklx^m%C{c_Vv z6{SbC_>2pb`@mHiF0#6NV!OJMgW9y_Nh|O9nz3l1s?B(L&%55O*5;{t=R4nF#@VoL z`rU7g33nUq_3w1;I~!x)27SS^foy;$ZC=E*Z4fAbhRueB)gXp=(d-24IBT!TX&vc=Dod z5q@kQ{_(o{?H8g388Ar{{Q#8Z)7<_2A(OK_6zX|(C zwQkK?<4ZfWb;piyj4QKCl+{4%9HH#*w2AYMU?^JM@gC~h-UA<;P{6~`o^>|pmiDBK z@ESKrC?k$I_~D!%5+7xcx&YXRbJtyWg{5PRbRH^~k{tnY0$wba1s(w^F@HlIke+`d ztq{gs)ITI`yexlYc%BX%JX~R1T%I0?3oSj00_6L_>9swMG7xp94 zA^#B0vNo(k9|af~g%)4=s#ofBpZ#1|q6)yzp-cKE&g)`d8SUB8-J@N5_8On+5B!S* zWti1IP(1+TPn$D%QrA$Y`|rO`|6w`;dk>FUvP8f9*-wqE^2tN{}?EAssP}2XS zG9(U_C=Ulb-}%8@nX3Etx4#{KE;M01GNT?4IpD+%(_|!&i|9Bak+sWM#Skvc6eELK zjX(eMKM$j9QEUB3fa8hq!;v>@z@r`9fjT5CjDV2^mK%&_hLtv@D3wf@(o&+_Xj-ML zbCM|r#a!p#rDINNRZYtxQ_g4U7vKA_nk!NoGDE_|j><=kF&3rNUs0@o+Ri=t(1K%B zmFrhU=~O+qWsC0b->x^ClC|Zwhqa}mOsCfrY5nlH?%C68`6Se2?aHqj7Qlrc%0kkA%E%HA_D3)VK5zC+ZCLk|zWv>AiF2#p{`PlT9kD!W$l_2B zF;$!L$lVYq8KlFW2d2I`^(j_fp{D6G1$!JbW2Vl+Y~N~zf*E80ZBSNG9!6N^8*M!P zxETU{{Xua&{c$>ELdUpe$J$3l=PY3>(FR!eikH%M|?% ztKT=g=`Ff%%l$g6IKrh7WNT9 z|D1ZnvY+?A?|s34z~D{_l<y&5er@;y4l zvYfntfrg`iaB%Q+2+KRTG8@4Ka`e-8zVn@7FA;+R%*Zha06yRdPoO-Mf$|~vSl55c zEw_Z*QkPqKF{*&_a6B^0)+Y8Hn9)UhF>1%=ZEjv=i5KaAfd|5n^k`R3Wr8+CzqK}H zk489J*4nek@EtJz(%G?B!)A#L>cM`5(A%JM8NE!UKmmT;jR zdnlL_iqmHdcxV8xje36)?i}kD8>Y%(otLj`~BGs8U7Mg76apZfz31Mnnmf70*a`wS4kL(nVu zhI1Xm-DE)8I5%(!hb$w06gR$kSR83%f9SisfS+7;*=6BS8wPFo4sP%b(!`*^4-ZOuYTj$3OPbV32<8zrLae@4r8+B7m29ng@bI%I^Sh zu=sq(kocoG{*{LL-vX2cqUJb56dpDw)2SiKXlH;(2!|!k$QjEN=l~ElX%HUee;onJ zjD&Xtz8&fMq7#7|IHAOlKV>Pzh4S#5v+=LF=9(})$0abPuc)drW#3KNG397HYw=1d z%&-`=_pEw)hc$Q3QF_V*f1)_9u_EilB{{{yhG!E5sf3C%qnch>rLn;-HN-14r@BEm zckc?Dw3hUxbW=~8W><`>a;#M4f8!}_9v;xB85hH*q@Em4X-8&69U4<6S*(HdxT*)o zG%bF`{tm^~7>6>w73$jH+|$(wH$J zH?*i1mI={6hX)7s{y+ObSR4CmQ|P!>pHrXM(~vNOiV=F0VP-Tqo1c+bf0X*tvPumY zqiUHkD=7Be#;mGMvFq#YQl(WUOQ=c{CMc9se|NXqcJB;Ju&U}C!n*h4Pd>>EvobX` z=hx#mo8kvc3QI^p%-V?Cj9IVF8qvpBJsR$Q;MiAAY+?f;%Ho3g^Hj5aQ1yzLkc*0vpCk4?v(c3pDOB|2*HF*5tu+B2@C8C1|AM*x3! zc6Eg1WSx84!i9so+V_U|s~&qy_dWQ4Zol&m{rWdI>yEqc(xWR@g?y-E+Je0z7*KvJ zEjS~fsVnN6dV!DeJM2lZCqNlVgRtC?PFe875Tm~MMp}7;JsFGzzLQ=Q$b&W~9rkj8 z8-^P3sZ0C;@^wcXrw#J(K@%MLMW26#-`pYep(EaTxQ{Ki3_`0>sYhhOw} zp^JVi499QJ2S-|-U*WqyJ)Xz$-_dYUzd}cvUPk}z`QYz$fd7tu zFN7#AlR-2tE{{)MAA;{PdrCXe)&Spl_wax}Cj-8DeR*9tIBq=MQTOCWcytJ8iy09H zbea8zSHs8PMbIO3L3m~#SoVL)AWb?u7FG#BBZmqBPi9{2KZA}81XdW|zVo(QwaEDA zG*$>09|p$*mG?-(^LCF!v`{>w?)idfT8Ar-{Xt=Vh3?sa$AS1b3!Y7;jJSHI@G#UV zL=2;4)R1X5{9uBFXz<@%wA9<(z3 zI&`?~xC!s#tSYNh;dgqF@^SZq36@+oEPL9yyIsehbh5T?-J#5|G3@c2GVz?^SySl8 z%m`y+g|epbjBCNPW>u%{SKpx4CWqD5-lOxTFVg+JJ2Y#&M78Odn#!xSb*N7}ipNc1 zH$|Z+qj~XKZ9{Q41%7`7LnSw=OnuSw-u&~yq zY-p{hs4_ua5sZZqa~vNxG(2KT{1o*M4QrG%t)5vjRa;%9Zc~2{OU8|P4d;(TMc8px zc6Cj)(Fr$db6ICtL)14*YFM5{ zIZ!0I0hu=5W7_7w-h8bpFIuAee|wj@9$2Ax$6lR0I;6e1v=+VdYQ<{n)W4@wsVTK# zFU*)3X-m&prhk9=|Nc>RHFY}Y?6X6?wM?593;<57nAXx7mNTJPp!{yFeuJE>&&pPgV_j-20!W+C6>{8mJxBQG)Kwujv!#v-lwVo=-GjH z;UFPuo#vbIL7VKdHe_Sw02dZoIA{??iKUL@dH?V-_#b*=L@mV~;*YZ+*j6I%UZc9lu~< zxLEF(V~>BdGG@>2-o7wPK)MJx49&f45N&JMb~7-bZDu?uFUAeRm^|TI zD3z2K#WKqOs8?6aXdBAJR6ga}y=S)>E?dGVA@u_dQXb-aTcg~95AjKpZ=~sbihjXf zE({S)sv>>x@jRmn91fcIcfR4G%4GC8nImm*<(+>gjy$8vYoUXmF~|{-ET5S`d-dxdCAM`g=f?i)*p3S=x76f;-YQCJMHJre>+6q z9q^0xV<7r|D6lX5MDpwpa`^qUpNRvs2{8IUW^&ErGDE@ADC7-}Wi9-3@N~UQ@Ex4@ zr+j~&^Z^Vl46ccEC+Hb)9>#11?_L*qcsj2rOjd^uh2Ne|YyaS3qEFJHzoN)vNbs9- z;k=xVyT<_v^Y<|R9U9>s-a%NL(}>pz?}Xtu^h%!K0nb7f{q(0l)fd0`#V~7(Y+=9% zK8CzvppcUhSr*0etrL%z096Y zmX@8lOb?rqd6Y3o@*6h>8kT=snL%}|DX}QgjNY?JmZLqnGl4xH7!qtWZn5^RwR-#2 zwbzE3jhe>#V5GYtfe?V^@T0Flr?e?bJOY6<@dxN%p&g-9b1-WRfwfPq3(D|0=boef z!GR#;gP=D@J3{A^IcT0`N-RzK@BjX9edxm<3ZwF@&qrZm854P<`~rWRdPe=S)DZ;= zoV{PspWqW=;SK7Y*Debg6iZg>{2Hku!Zm6G@>8;wj zZM)7m{Y<^$6_;u0X-j{@EF{Mi)|w&AjpxH=(2NY`6-@RDfd{;*8w0~|M}epADGLe$ z)Bm&y`~iBS-0TbT@>3`H(|_n))CB`97=i8(;usXvIp5)jr04B`gFhmCd1r|kORa9d z{q~S94j_CXOy=ispl?xlKGHZ4P$tsB@eUj;U1-?(w6DAOxKV#4WwLY*miGRDc+WNN z;Q+_w`M_yk8lF@nP3jdFlv?U`qMjYRUZ7bON>1fCQAO(?|^zdbJC zZRbE*AwBa(HnG18Ug!n`eaiF1pZN4Q0Nxjpx43!S^2G^`0Qm7Qe0$pEKjoi5^!-2( zjSFs0e+*c_>llB0a9VX2>M|1VK;U&lINm9*{|5Yfv<{)I+Vtxr!C__l~KtPB*p715^oGMM0>fXEV3P#H8iGe0? zI#{`n1Uzqs1O+Z^5QpcZpf85X+8-2__fP=Ah>`;#oO6H9IYG!qI}ZS%Blr-o*I$2q z$Ol4pfr^ktSh9wk`;q)2M|RFJ`tQtwE!Mrn)NCaxvMIshT>i zRb^HAlaEl3N{m+am=QGAKOB}uai;{!pGJpAG}POt8O>AG-_xhl(aSuMCz;g(PfrcMEH5eWd{tWMQKKt%> zzdMX3vbh~zOFY8jh<~VXs9_Hl?%CwIKOha(&gXyR9|61yCi62uafNb2T>O76Twab4 zVZz^DN#C9O{jmdm_W6Q+Z8%Yf<`I5IAqPwy288jrfE!N^ zy!&r|kEY8zb&COkgCAq)FpvR$%yu(Nfl<-czE^V>9Hp7lTQz&`>>&F)jOW6m7^I>N z!29$c9ZDwbk4yC!Z9SxUv*^(lm}R9F`dgZ!CXz2ZF+|QTN9J zli|KU7dp5(h>wv$mR7K47y<8{!3h~5h@fQFf)P!CQAIid9ROtlrG{H@Ne3h2P&?G~ z3E+!j25uNNOz{EW8N~&hz2maUoaG|1Sdr4%I9j(UfJK_pTCSeXZewC8rAwH>h$$XR zsMwUBlqqCW=g!k(tDk>Rs+>CptTUpxTiQjIM0_kOGf7lgQKR|2X?2wLX;IA-#d^nd z^T2Lh*s@6N-JRNQ2Es7|Rq8fHCR1Ic9fN7rB+P(G539z~nP!P?GNxTRUTOwNkw%Nh z6dN#uMy5npH!D3htS7CkBj%qfDhqoLGDR6>EbN%!95&I7F_V8V7B;tzj~RZ3WYX|w zuLR4Ptd+%$*VGZ4jIX)wmwIa5Q)&n!<2h68Oxfxi4Er}mEid+oFpg1eN@Ts!PI+ay zC2I9vVhZzMe=tt^j1~q)xPiD=eSx0hs;I0sWwKe-HFcUY)s*hWCe<`GsM-`p#$!;1 z+js3TV#{fyXiR@Q_Utx;VMy(rd&6;|9A`UdzuDA_ffO!wOC*DGw|n<4jhOOTdg4Mg zc4suw*{cnuW#NLl>8UC!pOv|xNy%g9sBbu{*wC1U664yjbz3;Lx6Bmu>I!Rz?jBR- zAJ?UqT^5#4anC`C88grnCs(29vkZx4MJR{kro=w^*b{$d82n088tb(3zPokF`R8ig znkUsaGNk6#))1G`AqehBYq0v7J!iHlw!8JypZ-i&o02|gN^o(!BpA9Q85DgJHrDS#-$RgNL@M ztKp#JFI<1LPl(LzS-=gyfEW+XTjY4OoV@4JKuMVAeD z&5@w>*41ylTCaZfYeM;12DN+F?hqCOgJ(}yw{}^) z)$7)1^X5%vz;x%2o;9Oww)N+^r=6-|F3U0+sI!k8ia558y*qrj&JY`c!hm` z)<&IirjVQo%-Sz{!QQh&UeFws;w=?&lfJx6qCQm|G}aBvOv=CG%1_CIN9ubV$+qS zOy*n7KXCv3YHXgW7L(`H4=6ichZDT~ley>3kRY*_;J`o~LAVeOqpS!pZu^CQ_+S_i zkrOfiaWeWyBN3MGc>$eY&vzkRQUD5mb~tMhk(^DGGqj3Z7s4 z`q#rnVeuFz+mxCi5LY5Kpq6Q7NOTXI!dmB<#r)sUm60*vOz3rb>SZh38&al&T&)388zm-Df^Q#gApEO%$5=T99p$8{&BM^2*XKC!-GSAnrh7D-S2w0 ze)yvwnliU1EDa%CSuz!F+e8^-!_}Y}J?w)(>10GXYw55~vfPxVYGYt1O)}+<(W{gx z`qnBznZ!UvVcgrkH*Cm8;q4zDF(l)fK5ItUY~5H}uh}zZnUYwes@fWrnUPYODhmoP z1`5ZCGTXHJ@zp^IXLK8Xx~#0OQcG=}veiv0%9_%*Ylq(V>Cfpq58Z3ZU%U2LUGLeo zOUJ(aEOlG)bN!<#X{c0ZTbqtwe1htln!=qJcieH8)|yet5*^4NV}<28D3-M~HT#rP zHXWl}Vz>?T_Jqy7mtK5<)~u3X!;h#kmed{h+@))8`L!N3qRosb zW)P-W-;Eg!K-0LOh+6ylWogD{A^T7kjzL9{4I_p2ec`GH9<(G$bxb$;>?u$5j$uVK%i}Juj;3e<^`X70bHkTk09zKHLg{D{zRc-Bhrj`Bb zH@{hb^3Hea%w=bWx~y#BiXd2-LGBSwrlgIOt}V@Gba%1A-Ib2d>O6QFh7-{j$Uh zK7!H^45bNWi1NYjs9$E^z!jQiR)h4IHNxQa*@&of0ccue*!=ym|#BJcG3ec^dbxUf7Xe6zSgZJ8*)`A?V%`LGiZ zlAQ?4w|tU+kpPpyem;BOc-HV7qfH7EY5hS-dSrXLp@pI!z#9Z_t1KM*9Wd0mGl%7` z3^L)z{_(B@&(iKZX~>*RyHs|0VghgT}%PsJ)wn35QLPE$?Pt zo6&Ew0Dq(L&|dZ@@F3bAoOrUZ)#4SKJjU)QGM;9Ce^eaLnJl(c3`Y!-{7iO!VMri<==1br4-vM1S*M_&W;l zHRnMX6X6JUYp=Z~@9w_qE`9eq-`2I){!%-3Y*)SU(D@4%X}a;i6gN|+u|U0tK~#+Ns2+N|SDzVV#{YJ4W@g@WgGM&cznG(ZW6p4bGzM6FT) zqJ}UbNCX|H9N`C{xgo)f1VR@DiTE%I(kdkI!wKL-o(O0Zmov{iGbowv@4#;W98oU5 z{N*p__l1~2FqX4U6Eo%6^pR;Trr?iCBZC=#6~&BEWyWQnOyM+zzPC$@Pg$xJtJj&I z)t4#KmT*{R5|TH@OpYUieQLDuC%4R0ra!HAWy4hB#=X1rvT1YFzoShLrn=Q=%I1R6 zQtSAmdMGwxhD=Ja5n~2sm>iX?(i7uDN>R_2=GI56hgaT?{uyPqW-PVV$2f{){fon=@B$dCOb$z3+Wr z9bKKqcq#%TVh;s-D~hd*iPB_H+QSsLrOVO|!gP0a2L`lHsSG1fro39d&<4sG$`guR zc}02fE44I%fgw(k$f%PWQ`_22aUV5*+b5%Hqqo^JXN6g%>83RD#4vQ@ko0J0aHq}T zUsZFaYxJ>)_0Y;EwD8gkR5`0rPi=Tot8;^@%Efi|6|a@4hDx{hYU+aNnmKK%KKY5i z&<}t16Mf=i9}D|`5ESQ~cV4)qndL4hx6nW9O<_{ZR4}5=`cP=7yu4CtH?Grv6|a4r z&RKef_UzoFjT<(raq1M6n=!WA444}0W31h0i3}T>eF+dVf$a654^nT;_|;gsFFE@n zU3=YiW+WD=eRM#@OJU^73_uiGgbMo$W?CAg!|mxDp^A`TME;xK_=f)J zpZ{5(`Mb}A*$HMgFtn&2&m(}n`Ko*QT=xx$Q2rrj}e zpf$=)e&9fzfCISDZqO|_qLgrA5{f)+3(sKIh;Q30mnuO4B!7SV+XG)^c8ah#=TrOY zbOPKTDEt)OHh78IuptyZy`WF z?4-aabCIm}0qW~>g6A0RK=2188HrrjCc#KE7nUPgogow854o(V_NE--m$d$wHeQ@C zrL)S6^J0@rMSr>cs)Otpv;9ev2kh$_GTvXSiptusZ;pL&VHUxp9?L6nW5vN_01YYD~_DgEEYN!mn7hfQ)5n8Yy$+cHDG= zyYIMN4R!TlraP0(&&nPQ$HNIP84^brAXJ1P#sKTL8HGi$E+k;W@EaxI=9_O0n-U=w z9E8Vr-hUxB?x8^FlcvWzlHkiMz=8c92zqcR#KUoB+V4OA^D9BAiy8A`#6__&l~oq2 zrl#CFOQpI^Sv5-{7zZrtDNC9m(LJpB#~rJ!9i1BO>rsg*WaL0Tq)Q!^ptqX=(wQ05 z+2vDY8n5=|hSaQ5J<#8wx~eiAS5%{G27A-bC6n?upasB&aLi^{7sm7`Qgd$o07RB2tTV#x&#NwnAR$gP~ zxpcnV%q}phKs~Ug96`Y7_-kMHI{n+f{aY}ssJo$oL1XNU2E~H$fFVKJoGD&nLI(Do zNPi@QQt3t|$`Z^c)PcpdN(m=MQMF-XxB0VAgApZubMz}qO4u;Xy#P#Cj~TAak}z_N zau*B+OPlsWfn)R-MVDLDS?<%!5;lw1RN0{19rtR;6vJC?zEcUqV@hY6niN-aqDq^J zN40l!O!FG2Y0T=?TGYxurac`UI)2G9VSm{Qw8N%nX4V*iLIDL(`2Xpj{wdTG`D2Ws zgfd#a>aj<3s^L;JlF^1I*BPGeVYcO>S6&+Seh`MyZcanO80W4P$^m1ip6PddXNCpE z{*rTFrr+HBTb*;^g{rKp){1-XQP<35Ys2w(;LLj7>YAEhq@cVq8t;99_Cq;9_+q?r;t|WZ7-eM7O05Z-S}Q+&9^>YJ z{^x(fW^C~O+-E$EY!NM;~Ma8s)gDrAbp- zr>eZBQiG#IYG`d%wHXpze1AI7JrEAEU=LMh%=$L7&_=^7drBtDRB3(RDlPQwaZ8(Q zIq!o(0PkI;3tKfR_x3BM44tL0L3q3qk&x*Ssbu zY$)TC0ffXRQI>Z=kbh3RJRwd5FgIGGi1{*r!wue19D?F%fP%mcyHTM4c)0FnK4ri%>t;bFoii*WXe>P`UklrjXML(D6!~qV{~2pqiUTqL+PRtwQt{Q zN=klo-63pXLWwtJyGx@wCE2LKzP-vN$5l5P)8n}TJv`i@SAR@fs104aRc^{`Nky5l z#bTXm%zWL@sCvhoFX~^=4o3SyizFDoN9BvsJ zP{(lAlu9eB{mxi{ANNC72(Mh{OE;_+fLidH_Xa%1+{;xhGZ+pgJ0 zn~g(OPnGp*zG#_xvqkFP-Jz{LZR%*>qh(9a3j0AGUjCpdt+T?CILgAT0dx&LV>r-P zn6Y@{8{Zg~6mb$!#tc5nb>j^;s;|FSb!OE4^xA7wXNKL7(bw^(oD`H-Xbr=MP0ieY z!@|rD#siKKA~yCiD!y*r+R#2l#*lZnx9gNsm+Dm)U!wHxz1sZ9D$VE})Kg_8VI*nD z+NHUvRvRte)af%+YIU@8+t#obgJVrOb%|wE)E8w!$)zl=NYjsLxBX+PFzgjSYc5p|dNlyh1y6?+WxoosuUfY7JSLC>Ki(JI%PKJ~4n0 z`Z#8pf&wzZx4@YhpXDna4g&?;iGg7NKJX6eh4$#QI--9#-ylACvb>8v!exliB1=68 z!R2~?%<4?H_LwzmrWPz*80v$WDDZWD1kf&|2Yqul2L=r@RD8!j^cj2iygeSkJNzp8 ztjE`|Q zP|A1!208;BEIDGZhkJd>jnCFL)CWEkl*i6)lU+T=msw7fGoBw0gK1flJ6u@Gt=LK9 zSA1jSn|REAho>3-?%4Z=5m7u2lJ=86WAz!7PQ#b?l46z-LifyUaLUk-`g{8|&_ASq zzTTeD-)kF6O}>t6WGG{DCV!(czd1@Ul-&}KwpFyvCVTfMar}uNPaJgsT_B6#Q_M&d z_GJ(2zb6Av6NrY7#wmP{I`WG;_m6^yi+(G70)%0I3%oXMygreDZ?jRmHqgPYT|4x^ z1NZAkKl-75{G%U-Qwdq>x^TgKae|_MRY*8|f;1Tnw@CJ=2P#)uqJGB#$UR!X)SJO(EtWRaYoG*wQ4gV zw!EW9^O_no+wf@XHl?zrLW9OA&x)0*FIS=mvm=_Va_!A#lralne!N2MqZ#9uY;rZ6 z%%JHr`8RBBQEGy4$4gyb}~W1rFDst{MyxQI)9P|qf80Q zj~l&Tamgh*=IEpKo$q|d>WA5#l8_!tZK_N`X1_yKc|{mqV!27q7!m7ghfVpiZf<2a znle8WQ7QlfmFaWn31$PWarzL-R;VMsnLj6ZBur>SM+p;1EVbh1ZErh&>Xi0!M|uc& z(nBz!sNv!kF4xka;}D$6u7o>95s7`MEtX3y2^SHDc@M49F{O;@V9T2<^p z8O*4?Yp=TY?$uUP9{Y`c5gPOhlu;B~lvIQmiZG)%;2+*=>eMo|)r4EER<2l~b;iUt za3Ynp{kFE!GsBF34YMXNIh1Q|B}D;+Dp|^P&pr2sX=FC-QYTYqP1WO%J{HcD(^{wMq@|}>T^Ff+&j8*)A-}Gm45PFo z>`-9;^FRMnpZ)A-LmjbCBP~4Q`y74p z6Q9(_KKe0TcIhj_QMk-rVXV{dQHBYJ!GR%j-~IRNCqMqN?!5i>aB|v37hDkX;ZTFE zn>QPsWJ24qq>8qrjWK>UtltpQs;{pN1_9}1%uvASU>4-ubIwt}(be1D{&rn)`Q>4g zA92I1jhArS@QM4yKf{?I%^IrA@pHx!oTKtSA(y+xS}jY7XXuEcp-f5GCJ|7bke{CN`0 z%LT7u0DvQgxhKK-3jBul$I%AJ5;v-&Mgo442L07A{<%vWm(OpM7i$f-G5bOz0=n*SB6``ai2ebeo!c!$PYJoMP)$>*$|_Ac?=qoc-xF4@no?7y$BWg`Kce}^ z9Bazs6ULb1q0@5m5C%yQqn5t0b8+v2nP!?-V@i2?e?aM2LL*8k(=(>^1G{u(%}j0T z>eMa^J!VEr?O4CMGNbAn&1rKgp~`qdqk|)wW=eMXc!@UV(i%0!A0LaE5VU+P&tX$q zl0^eLqpnp|*>PV8otv_NdtN!E-H3=8Uy^_vN+&vIkh7-%@!6@iDM3-1FzmOwF! zVUdDTP-JPFevKm7uw)|Cs4i7rqM0B2N~X3<4YzUAKbZaF*wem&epQ%o-(?0sy$SHj8ZI*{)~Zzx ze`w278@1%KF0Ja>s|#QG8XaBNq&ekg1od{R$P9;5jy+LZw(U^Q zV4p62*~`N^e)=p%1N{J{m7A<@x%F1vclX^|x$+U+^WgnjcKWhF0~i*p`{%@@#`?yv z0efKB3?2Fkq+^c`mTMWEaU3KwG#z_8fAp9cJB;`Ptu3vZKW~0Grk4Q)mip|ldScX* zJrU3iqgvD}3jJ35hES${sZRzec3L>-XqMIIkmbK|!-g;u_Ogp!rgP1h*|=$=T3V*7 z)Y3u$;ncBXOkP}d#T7cwzPnMwk|>sZapN|d*BL#d-r-m9FN7p@!>krY7w^;=f4qV3 z(AuVr8^f``^k)D*Lfa!;TU%QV*PYt4llrRP$M1sDW{$E#mn;M9GeL|Y5rrtPf(Ns# zlpDt}v`FVr3<9b$SfiQ2pE(YgwO^w1br~bLO%)l zg};*l2u!>lV!b}++P8W$Q4_MsyNQ&n0^pAfAaRU$LtR6-uLmRHn8inHYEzR2(?;hO z7X_4ooQ#{V+BVgp;H)= z8Z#rM*!XoeTcY}g621R}muTv=oMQ2`NmFjJ->hSgKUq^3%+@0huTfvmV2Fpz9Y^Mc zV*h?EM(O%sH12&X(2La_e{Bw50$5&4e+QmTAN2Gl3m^S9nTv*TTE~G0zX5m#gBZ{$ zZC;v8s4P`#a=;8fqtksSYdr(!eZ)E8!soCg6S{}qOUuelp4Y0%&HL- zp_V`Vu%;RxJoVJ2CaY7r=dL?KeJnCv5_wOZJ)O^ygTrP>P&nW~e}y{K0>2OybGQH^ zp>r^$&VB+$nNv`&&#e^0+D+iW6EDqbXIVWnb|RDxY6y`7munj7qfJ7+BG(!R_m~F`_^Ij=Mpg$ z=PWO4gRwZvEYhk<6lrRMDZir`bq|iJ3)3hWQ`xZLm$Nb!f15BdT+IeChMi~L$yh2} zMt9X!SBAPmp`&j21_MIz3yQlLASeg;VZwl7-7uDTyAtV*9;HV)^b`DPZSpVBt{6wo+1!2b{ZQSCT0xUwbSZqk10Io zo_k)ne)cJM8D2-0{@H95t4_Uo2tA-!=5{_>eEc|XZ!xcJ!tAx?j z3I1Xq?RPfJ_`w@7B>3h+pLg(uw&B4T62JT1??T;?E_m!qYXY2y`4fn~1H{44p9g}; zf6{YszXPRnusp^KJ{5)y_JVl@-%wVQIlSB7e94hP_SgR8<325uqVTjAvGN84PwE<; z5;lht#t>qlB3y));grzzvnZ+OF1`shbL8t4bv!8h(gVJYLQUiGSQ5CF8s zfExUcB_Z%$cm&2WG@Q@c{+J_wUKwQ%e`VS?3OqSHqdpE1o>3q69^_ESm&AgndFKtM z@odg`LQ>VW)oQc;%*im~otndBs$GYYhH)`d|C$)XYUXukTb2|FfZG5|{eXq9c-5o9=e;u)W zJB@cKo>HwDF>_7Py#3niw0`xIp$_x9Lf-Jqmw^Ey(=A5Fji;w|>av-ZMqB8s+xPTn z>*`&4@cTEZc-?Ld?&;RH&R#1)xjAcFVU#>wCr{H(9t!Cv`aSxL`hy?+A31<*VDQ2F zv4@!qqTdb_?oc2a-}@anczacIe`;aNG)*&pTT@%75i`!Xn+IOn+uNs6`^_v=%H$^U z-0M3}CeN%R2Ym1k12z_)y)kUChF_7!=1m)Q?KQv9uAMt|*`==tgN6(=GnfqTr>{8t zq2+%za99k9r#n<03L6B#?_dRuhB;W+KL(%-2rGz!6PsT5y4M9i>cl$<9#4MLc^IMP zR1q#rLfM2!AYz^fR;IsTw)oNMJdMMb5nBNoe-3v@aM6@m_(gFmZ-u(|4yrU&q=vdG zL}?9H7MoI@RS$}}Da`%pti>JI zfBd2fb!5}(<6P}=6N;ACsFkZIn^gB`k15AVElD*hZh3F8JO)d0Dk(zHC1rZ4iY>g^ zCd$S0!Yz@Dhb1iUdGC9J5V+~)U#kvAVDT9-rJlxec_ls`F9|aYVd+skZ)9+iMujmb zmZ@;&f6Nr%uFQWrvuHKH#f|PEnGN1T-e42 zRyMP;@fD_og6aDs!qB)W&YitI>Kf<`YvV`y`js_>Z&zQBTBkQ??7_$NlquBNM2U`i z%Ny0aX_sn72c?&ttr^EHRW5Ce*o?zuiP5?-)0{C_(ypmy<8%IGALt#r!9iCTe-=1s z2PJ~hZC?^oWePR7Ezg^~AQ(6-fg3Z%JKR5@U8c158Z#dn91dr0vlQ&a6HW-m#iOep z4V!XJBn0E?#1l_a%k&xQ+}oii?tMU&Lm4IdhtyP*)0CZibVYYge^E9?xxJgUt-e^> zA>!_04VvM&y?9tno&DXgEC@3?!DL!Anr!n=L&~=3++R?mO=e%JQwZ+!Aike_mwmJIxHs zCNuPD>u{9p#O8IT&54iSf&~k;WXZ9bF>96remmPXk`;i69O~?o$8Erf@e2Ga@MY@Isb$!nbH& zltT<03<&@lfVW{tpisQxf09>(Wosyq7)OEU+4rEtS$LKXu=I(MYucZD;5|4`54_-2 zl=+G)t_XuP7%u=kmoQQAxDJKC3*kWD{o8X5{|jy zj5%Z-v(?ZnbOZlcwrrW+^rkoI^{;<@Ff^bMMyDACM$w|p;Csx@veq9&z$@$*fp3Ko zVJk=Y`}+>?=b^&B`U-`%!cWvuP!#jUHpm+i&}gX{5_L_+Bh9#iKb3OASuGogjh7nT zS5%f6zaG`@?Yp#Ne@~Y-Z*Nz1eU&b{_%g+k<@(RB{*S)(-5=`Lzq>=5x9w4T+n_0` z`TJHVdoi=hmgBJT`M%yRwOT))(mY*d74=HQ%T#3bRGCWYzTf`Fcwl!JPzZHo1|IRp z8H}?wi!<0|BB!Jzt&>lkYd&ce=TdrNYrp!3;+hky*48^8e^P5@wRZImY0uz*RLUMk z=3Vv`Jiuf$>VA`b1MrXPFw`B#V$=W8bpXQPoTdxGzvBua>K_d^nTv*rzQd1@PYjsU z)z)aL@zs--o~~EF_H}xb(emrAxKgJrJ5zOyO<|8oyUC)S?k@H9^_pzQsALZ!xAe22 zGOrVnZoV&hf0=l?GrnZH0CJGJK}TRIGJWKhTYjfyXPglR)woy_{mave*5i?Y!(vEy zrMrtl)QfAIZ4crdZ-e>j_nEr3b6iV9QQdrUx>0nyZ0 zYaK47ojbe2>;%)h$r$UU&B$n&sy(|q)z-c{Op~)|4@Qz`@xGFDhWHmVuM zxZC#{bDlCqRk>oN2YU24hD4(&L#Et4knYn|Q_T08f;UT5s?Wx?#*Buvm2XCIQf=0W zM=DCxe-Ja{#0-oinIVwD)KqgEH6_{1mmsI@Qc408g1PFF(NMHn)2N8RN&X_-=O>9C=WTQc*@ zk@BY-!I(G^3PS`zfuK)XI&7e|isye=k3Tpxe-M^BF=~Qh4(;$nkwdYAju=%(VM9@5 z6c_=%@aTCu;lyKg$`VsT=PxuRbV0cIt!2s4nr@2U#-IIC_jc~psTW+J3;*n0T7ARy zDl+EZyP_fAiAR)NBM|ZD$5aw+WG%GiGa#8NYkX5bJHJ zR8`lQj>&dsnSc^~@$Eti4LCt>>O}oHnjouYulfJ-Bj(7A;yFmYcoiHJ63DDJx3_ zVd6#??ZqfO`($YMYBRc7{((?oh7g5~KF2J?_HEmO(u{(SGRAVDfBm=5>*v4te|cDg z+h#(KJ?|pAr#)RD9L^TdF;NnTA8=man;WRXsH`4bpc8P=BWSaR#~!CF{|kA?vAibv&dv0 z`>QzRj~wHva#hyUTe=OZf2yuD{5WDZt&(Jk9=i2bbz8p(7*6zwyiq|LQdj5}In~ys ztdAa}9^>aT8fR;CXjrkj5}o~)%QRYEqN!C4T6WT@dTiTHb&T|ye0xU2hjb@{{rN}1 z!|8BX}$f;)&|3E;PgSjX~{e#T1IzuLLr>RJmVjs_$Gg}v4aADYk z^~S5N($b};8Q(4svnuWFZT9R8%T-y0kun+0KpJU=yux3DfWySE34EX__+>1f2!m-I z)|MP1(qMfH9*NNfKcpWV4!S=OydZ`I0FeNN-}eWH8t%oHe`Ns`f4%nFu$I{ggRlrZ zH#9i0$%XKdtRwOQNAh(;f@4AH_&~Hww6(W41pkBY{~&CtMe>ZZiP@NFvHdHx&Y8=N zC^Kpbj48%-ja6a#HXb(xywa4m8B>BXoXasI)2yvqHz{eIDvY#&kL5w-7msR} zDeTMy#Ent5kB?|UQA#zLF>N=T$4U)-0V z&NxR;{`A*Mf4A+_^w(Xgb6)p)6K)NvH-(;=n+n6V#0)fU{^mXlmSu(0n2e?|ta*|@ z;L061(Ffeok6dYhNyFH27+)q)HDb7on4m_$Qcp1}bBPtRd0K0@8N8vsMyH-|oVJ?6 zk};)rz?9d)S@X51X`aQ9dAf1FIY<~K~yqnn@7`mr80z49!L z&$Zu=KA|ZsGc|qYOl!Y!J+%DcaFaDlsTM9+sG8~ul{M7rO|QE`mz;Q}T23;egF+r!9MSXtbwaJtiy_Yz;#Ye?W;OOkN4g1)78&5RkMrN+ZS+CwMVp zO+3Om4KvG^FoT|DdKePK=Q}h*7-l4>7naR&Y&Q3cFq+5rkncn~4$i}#4|q0dO%~Su z4wz2Crx13cOq0dpdk90Y2|wU~c^E{$dlq3C=0qZV4|QsaDaI_z5~*A0j=P55{qA>% zf8WdqK?Ae_GJ)lAKKlr5F{^~(h@#>~1?|bqH}}r4?+K%VWgW;M(uZ~#gg`bq{{YDE zVC6bwuypcf*p9edT+(`9u!pv|kFFr#2F7<`=6=O<|8kEXRg6z;Atqp!Zwj27vJU#`}Id5cs! zl+(t$9#-3`^%`EgTT@k~f%XACyneH~%($^yr8*4q<@S2^y53)%N52<_$B_=af5drJ zG|c|sK;J#Shl&0!bkXm$qd(noVk9#GmDM$-$Tx)<)4;JBz9}SE);2Yum z8;q8bJU_ANNE;G>3uqjjooQ$oI{1Mr;BCqihtb24mTa121bw`SGvD(Yd9Aw!heyts zYQxk96DB>zi;dA0XEfD}fWAQtuW?gwW}4tx7sB(;C@QQEhN*=eY}|Hjf8k)JrOA|< zt=^0J%;2*8s*)8JW=y~9>(%_GDLSVwrkm5^$rP$gm7c*AP zO{DgZJ0^xpt(^z6`ou>+f3DyB_BUF!>QUuPG4C~ntKSqZ6egBDb@y}!Wf8@Q3+RHd z>@mh_<)YnjjMxyKQLez`V%*@HpH*N9M@vgpztwz;hSAi$Y4qsrZ7Y3 z$Q5(i2n{2b%+IJ4XNr_D;n6$<{oUVdn+g3BUU7+*e_V2jc9)N7+wJ#i zc;k9CzwA6MIB99Pp}eZTRxM5SYPEc)&zPfGbLVLO{CPnsK#?^*6ck=?V+7MTUE{ou zpj5&zF@R7QVA}jaB=aja{4g%r?9C{DiTy4uvUWA&lp_~8Z#`*#)5>e~*Pr=E z{p`ly==Pg_r^I)^f2-v0?oylfX!Y23J^tW*8a89}{<1N3C(=6Mf|I4rUR4d|blkD0 z=$K{at6|}BD!2L`GK0vFG^4LJjFk6Ve`s$vA#U}OYN*qUnr0P^m~m$9UT(@jMbC&H z|HgkQX>GP;cbhh>c}h!8IzFo(KeXLg}&ZDbVnPIdb)H`kPCx7xMVb+7aPHft7f(FagMIrPB|3DWRzlY#T+1MykDMO_po z`yKW3_rh>M6tBs??}LI*VTn(O8#trE(*gG7XRff+e|&p7Ps*Hsn>=s#qda+KC+t}> zBLcdlZ$o?ZSNIG|mDpf?(@i&pC9cRrW`!_5ou}cTHQI!D@HcoL?aJ~uH#%rr=C>c2M)ZRD|lT{eou!|hk7#l^LK|(2iAX}&3Ljj9Q;7Pfv2*;oEg&b zTvh`ne}hJimonhPGAHVdqm{e&qF@?tH(9`}^oYrogz*^;BFOg*GaLp-lpP*YW^_a; z;}Og%%$_;h`d1<>3(M;m_d{EIW-Sk~(_HlCUKGZCAfV7hU)=<7q9%$A-1rbRw3-BLA7KEjNP_ zf4z?O1_z#i;|1;0ub3f*4?_1#ENyU!hMUYi8#t7>FPI_m|02K?5o8Zorw+?S7A_11 z0R$RtBnSkC!#9peg-8JW_y%#IKyjH9=`e!hX&fmaufQa&(~vg?0wY9>VB$|_b092u zCI({if`6TbxR*OQqGb zw@a^Vo~K7gc3TI|Dqg{jo>|qVt>ae4wTWrv%(yDcOVyi6tJt*A@~TqxkC=gAfBq#! zab?Yj$e7_WYWyZQGG^NKnCffm)l?o+*6`~wftt1I$QBu9MaGB>Cm08JW_*o5WqV6O?sUUl~khV#?=IaSJp9)g1Y5!US*eM3jMe}?*oFbjjh z!{|B=WdTKyQDuIkTsE7)VN{5H0u{-as?Ct9GXt_IRi>%d=bFrjiJ5=Q7(L6%l*y{n zzSmnjpEGTdE}Ax5??`uO_MUBOeq^;;?_8-9%t#tc59^_!j2^c3UcGv~Ql`*UCCXG} z!sF=E&rqVWR#nXSSUZfEe?kBbv#efTcHu=j-HiO!re+IMrsj%j?dsdBMRR9r-u50H zf6B31R9dC$e|@8#*tl7{44+Hi@WybOSEJS6xfflaj%_4E1#Je`mM?!O>`|bvBiJu}#Vgcf zbaU6;*3R~1uLFkw(66Zjls#qycJFNqd7wf7#NV@-H+S^=z`p z;&V~ftXZ=|JE8Q$`#ELsJ@0u>pbch&FmP#ej0u-xv=dLCf0@9Lgg5!%0n4K>6qucW zhhc<3v(N(RV;~Zbb|o d(8bqWwra$eshVbs-Sn>peg7lBWasc{l)C|L4h|ssI+}1E zMyy;{zvsRBf9kitua!?c8BTW_&yI#;!QrRK2kz@>+qPMq?QI$|9+3(&5E#~GoUzX; z)CH;8)9~i>C1&v%l-aRkueR^()8nhR>fy&X=&80I?cCd^l_oErFdVwdj1QD@;i<_a zvubi-86x#WsVC}*XYiZ&J@Isi`s4Q1DeW`yjR7S$erB1r%~$I+uf1H0 zjy@&~3~e+1&eA31a=FQ0jFLP~`Fe`tgoDmGW}LxXaCE*1X+jT&#FRxgz!`RA_i4r+QP=7N_DC zB&OcsoF29MD=tX|Ln1Y+MkiW19_#K`x#3@&8`j>@A=Qps=O4{zt+FatT%++~?J=Wf zz8MeIV?}B==9wEWQKHBgpp`*mCj5+%cH~Aik{!@oGbCok>rL>DXlG_jV`ey%7bR7Z zf8%nuv>KY~^}hGKUqAcFkF;sa7BezyLY=V(fDP2;Omi}d9war)1ICZJ!~jx$Q?k`? zc+YQG=JK98Qzl!&=2~VW*c{8cbx!aJ7j~KQ&4y)!GzJ8t&j@0clpxUAkHeZ}PS)aN zG1kRz*|IelAuI1+q18{U)2%BW(5?60f2y9xpU~iK_i59r73!%j)zKGTs>jxClTu?E zG$W#J<)a!q`B=?6&@6pSld6j_6e1g#?)aRQy) z)@jz@i0&Qj*NWk7ntRG3O=+oD{ZYrL<*1`o+1MP;ZD;vGUuU<9tQa63X0mEj=g$#SQdJ{l^KN-a7A-}KstQ) z^d^Jn`VBbPcZUOpEBr)xEPOuBLDKin6J_*#!rw@>958$P#z{3{BXl|&_zcD^v+r!W zXV!~8%V}B6M6p+pnFfIRCp=0KPs1RzKY)y&-!mf5H{=aZ3E}6+ZKJ)m2x8 z(QJ%kzQa>OIui=k0gCWUpxgwWsE>X1X#QbPhyfxi&zSYiaFU;ufq|Ydy3g#Vy(c*7 zFIKGXo-Xxtb*if~KT|1F{5c>3(|`DWU9V7X8gy4u}=xYfE5EE*4ANv z5y^7|Y|IP-!+SJsa?N;XX+=_{X7Cr6m#HI>)36y3WyYt<%pNK>1IQ$On3?BxY$Ox) z6G(+j@^2xJLj|wnd_Ct43HmEKhU*kjC`{Yq`4fn~1JN-1KXXxVKk|njaqJ=U6Pe0P z(XTXFh7RKct0WQX#^_)om5@e=8_(|nBpesV!n1Z8{bJlMIrdn+?zOMg6|Z}3mo$0- zBY!U}?{fiUPtiH&oHNdP(H8?e8>0JT13CjEfNW6w`@jGDpeRvZZ%Cf}hG8;u!A6?D z{_DRE1jIKOB%O-i2<%UP`qM!PgQ+^hJrV$p;7)m9(Buz8|Hwx^5(wKnn*)p%AUr}I zTI19WSh}eU#zeEKuBtQ!nqQVOrKwS!-G4pm&t)`ocC#^N6C9Z#oxbcujgGgQ@?p$! zU~yQ+vHb3b)mT#>6!|oJ7Yr}X!mcpmW30%Suqn;sW(*u_jQ0)GTD76GO{EP@+A=t* zp*=%dJJ7D-hMfL>`funI9Io?rjZN2eoPU{oBJ zYYYc^fo^zb`V)uYiGjlM510;d7=I-}0Md@61%si@XfN6m<;$!tE29Y{`#sENgIrn* zN)r0cCqJzxcW=_${_Op#Ip$<-wRT;2>~sy@@M|Ui=lfcJ@(EgW)myZ4XjpMmFyov= zWoeT}&V&zlgurY$WeTM*RhkNUl$mkpY!Jo^?%`-(3&V0A%8gP$IanUU(tn%Xd)kD& z9p1Y~@zI>-HBQx*4V$#Rvt2`GYrgFR@6+1#oAtnoVU!zo|qo_C(QcDHHn!lShg znpn48r8~MzIA*nJyjR1V<8H!i{*u|MSh-2FH+5*r@Tji&@ej3b$7b!x4Jf{Fp(~qf3F>ig7cJAs_{ZO&eMWf1DIctha_3{7vab0@exvHJps#IgOnky=``tglgd-r2n zeEcF)Bo>8}z`9M@KI8aPbgC(9k3IUh{^?)-Nf%qX<<*ti*3+r}?tfm*s&3SrIkQw^ z0`Kno@6-MF-EaJ8df41Q&uEeTg3U!{WcCf|x;uWOdmmq}g)KAnrb}P1?3D6wtnTVn zkLmNqzfL>l6z#Qo;~tUf)+u`TyWXWavuB5PU`FN#Klq{6tX->(TQ}?5-~P7FIQ{f6 z>dJnY#^xsd)hGW_sVNFBp5&bTW_|11-_kkfoEt`|p*=3^;|cx3^H~1I3!jgo6&~H}nHnGz-CbH2uZj9q@BF&^Ms)JK$j^`{r<X|@13m@X}9zkbczP$6@6iAQmd0@<0<(dv_PX>Mr4v>A|7w`>6+28c$H|Ya^_JOc> z4xWO6fYJkx`N>ayqAz^m3*k3)&mciKs@3uUt$aIw7(cVHWJlZ4rW_!Fa!gp#bXfy` z#5w=MaA8w610%>u_8D^UgrD?8$)ok?Z`8>%zga%vR3qw$Z~1z_&}DX-<6UcOXBc12 z4`K`s^je;egjogn_n66Y21S^$7_oX`&?n$;@kcQvEM3xqe#4*%KCH{M^3_yT=Lb!! z&v0UYA4(?!DRGk@XUnhWW1)VszNz4K){cE4)L)0*GvxkPFbv`%uukeRuEd5 zfjO@~`bG&t%)aNwEqp9tQ4^LIGlC}7GA1J|%`960EX}gPtjet4XDxo8$?q|%56VQt z+5Z3-6%dM7BRF`SKBL|v{s1^RUI6`-wxf@Km@GFsrp?@lK#qUtLmvvp1O^9qdKsg2RtV90D6GeS z1HokBSc3nenvtMz`*RMHeT%vmE6}Jk0wXanIi~xgjqU)WV|11gVH9taCx`~-3b7G~ zj>VC9-ocJ^xyciJzzZC}@f1@oC?DT&4&a7AOrFzT*g(z*6P+PfVhqhtr-M)e7##N; z0DS|)VNEATn~seQtD&(%{R3UbV5`i3*qCL4rCv|2-lobJ*PEqf-B6=(_AZPmIc7?D zwp1Bo_6bXFtiM+ar_R$;9eXrfG@?@~>Qs{{*0xlMHg@%EdUc&nDNE?qj&2QQ5}G=m z(m=HtB4&`JMx+5_pu>i9qAaQIv?;yDNE?!IjTUFrXJyNv(u)6sI9$QY9M64w6aGiD6kUX1C->>EOtrmH&4_lkf)J1Q7gNmA~RK`ehszFmtp>3MmtSQr`sik?k z8vlRx-UGnWsyrWmZtr*Q^s>D-Ryx8ipcF-#4O^l=jSY+@f;}cCCNY|SVpNEU3dX2G zV+2$X*##A;yGU;HMqH)r?mFxy}k@Spq6p8dZ2edjyvzY~Hd7&r(5PL6{|4-~8q`&Fozx zg}Kk=MMJm|{-$P(g!~wPiumEDqFW%idgzhIF~qQ1_^zv|4V{S=ylUP;bhNf(Y;QLn zyZsmF-Ms;?ecJ_aHG1)yGfzjSX1n;!&c~i37|P=j3e!gt0kmCs4&L>)cVSuc44g#3 zI(>Kmqj%no2e1Dgx^G^Ak&RnfmpPm{=T%tvx@DMo&KWpq&V1~DTKzPZyz_GG7#u-y z*C0}COO0*QaM4*8B2EP%*3p2*L+SvDg`Rx7p)f4w(VPh9IJiVSucM3QC@>ZoINliTLd=S775^ z4`Ab#b=bIbI~u!xx^T%wm*9l?3(YLxgO5Id_1o5=;_{=LX>+q4U;m~HSsp#O=XdvE z?Kgq(vsiYbr<}6r*^cF%6k9spiz9Ddi)9e z_YZ%FAN}~p`033z;fFWgh|Sx#5kOyVmh6d#B*_cAyZ0D>L8_%$T7F?q~o|I_eEGJN?Hln>bI#;1czEmP_m2#yr)t{7FGb$iuozbW+ zbuP4qJmL5n5?lZ zluz>3eNKM@Qsds`U(Yo=T&=iq`MW=XH^1|J>^ok6bno43PLa-#w|e~qr;MoLqOxxC z<;=R|ig^^+#yus?W|LnFK=HX2<+8(2eo!{@yIh{2htKuxc;eX3{Zvw2=JW=CKnK|c z$@hI`7DNLxUKgM9y?!e$v*eHc!<@@PkW!{>lm)<2p1^>-N2bn8lq(g<7Ty;N>^nKe zOCaxmsT2u>w1k)ah;pQoB|yxTP@$|yQO=~9he#rBjAj%}S_wRuMgvMjx|#yxMdhk8 z9>2F_pR3+#-%Bp3ziL)pOA!U~?K?}h|A`#n`FxUp+opA2`~8uS^>1|=ZHkw?b(8P- z*_NW=C}NSg8Jr78qO6k;>nOnXrPTtewf&ucLqXZt_g!n!BVMLF3wX*ZW8c7#neCl3 zcRt?ymbW58`M7q?vy_KJ&?(q5fvvXwfe(DZSj@B_Lj6M57m`=&4n?*8tkcZjD{4mK zP*lsf4@I>N?3F@l=u+4O9<*%a>tFx6VRRa4sm+hlu1=#Vy)S?H%Vsm6wOFD?Bj%ug zPNu6AD6MtYyO%o8YN$$wluoU)mw=XeM?F`bbhRXZN}t@1sZ3mR%{At^PH?VhI+YAa z2Ur=CsM$Qa+FH!%w0j2n5sT>{GK^LyaQme3gX z8Ou94#_RXemDq);)MtEDAP5%1-MzSfc*a76nTFn;EjWG3G%`LPR#$U)tY;TmGA?}X zTLr9EF*VSJJfCk2pb+r(@Q*4HJ@Nz; z1^OlTr%yVHy%SD(6_=KW0U>{86C^&oI)jLy+&LZD8Jv@XD5vvX3~;907r>Ifpl_6B z&1@8zFAdZwA6h18jGFLjX0w?HEvM?Bf*y@EAjhy&42440m?T|t(kTqHZ1y2(KyGxf zAH$==IPL7S37QB#@&%;L2Ji}Y?bwE;r=9{A73*jqh~3+FVEfjs^rwGJnyB_)m=-G+ zYvrTvopkOW^|#NYSZkxc0HA=P^)IseMD2ZTI3gR4!mNFMBvc!QzO~A^45dif*Nj9o z9z$zWn=>oX(ZOq{S*oce#J(oWLAu$D|mtA~(>TkRw z=^NfF?>0Xn=C4ZSJvB0h>}UaF11b1QK~%FY?B2Bj!y|oYpVEIy0FgpG(SYgGXP}}{ z7Ap2)>@KtNr)s8XE8!R(>)VT}CyY7mGvLdnQBLB@hX2-sNk2qROsoyv9%42R48A4(#iPb zpMDId&Rc|mbz9*XN+XmiBbcfply)If@FHIFBUbVup7$ZbYne)EF5pEW2+Jd8sd zrX{~+@h=vQ5lm=~S+ndeGee;zwKA_Ri*A}3QaKF|CsAT?jS_fhpM*1Gr2 z!_g}#ABtaC+bYK4TP8~`NPmN0E8+BFq^8Zpc zAe&ajt$Zn6nwhX2Zekr-zjCtHp>J${_|#!E{8N7P&W0J&S$_#)@)efHXdZogw5)~< zD(glwmG>gcNNW?t_yR!>VU`~(EgJQg;|9N1|wA9@6Oo%8Y-QU}9@N zjUd6qG{)25WPi6#b*fXH>hubvOE0^OinW%XIOiW(5K$|mG0TH`Rw^ehkm;+=5$wb0;=azNh$IB^*UH6oEe!Mv(V9ecvt1gdQKimqPDD zd)|+(YyeYpVRU68=tzakwK+?rpYatbuc(%qGjZ}d7k`JKAqI=27_ zK}XfkdyiyukupkV#78JobskR%VfxpZLmv89_J)W1(KpbIO4| zJFs`xcI?=+5&e8NFwg^8i`x3!25eln4o^M$D0->T_UzngHg0d*xB(lUeFjfF{4h2? zw+>}v4VTS~0a7ekP-Nq*y+0JG40I~CmVIWj8BCcv4exr_yG*#!briSKB&TOKzL%2R z%1CXONsR$De@usdJ85@1lTft*5Y`_r{G5KAHLtSdRN@1fzYD0`sstutt3@C+l*M58 z2>Nyoq16|IpUQq$Yo{5(8B1rdapPtbvN<$2wPWgxSqM_uFJw|E@m--*CiC}WM|K3s zauMBHUl{PCB@)Lhe;CsO6%3Std%Abvg!UcMbk)eOmXJv1 z>bC~|B#X7VR_4hg@4bD$JufR5hsN)j(DfTeoaMGB<)$AEeUBNy-6v@AJM@qHd z9O}DTKQiIV#2CFx0L(x$zk5w|O*AI3efu^%LqMgyVxwcDEO)jMItMuH4@ZE&0@$M= zm5D5Eseer}CC2KWo@tebO`FQ-aOHHgq;QXf6tB@l9VPC-k>olZ8xp!!gOXFlYgv-4 z98GLYdM|JwMy6#=TEe7;r%F;7wy}t`CeKc1sX@JzWE+>-i_)W!16lUb?}Ifwtpiow zwU$rmHTj@l+lNih?Oz42B3u%4Fa<>@196h)j5pOnSpe68?f0i-J+i z3YO47Q1OdoFH-Ij&S~jHGR-uP6p#+OvAZ&Y{?P%12`u7_N1N1iGIfhLfB`b*z2&?) z_h#JaSwg(>s;i7;F`Y$1)yv2uE0ZL@B*zSZpzPJg;WCx@l&6ebi9Ehg z!ikASyr#JsZ%8!bveq_S6mQ1sn_Kb5nN#uB88dK6X9wQU){0A}bm6?NW-M!t;&dv0 zXNDp;(d)q?Vvw#e%C=$N3>Q!xA|M&epnp6xhWyYVaw9_+8cP|M&ujBFWo@>IXwij4 ziD?_kz)k&%}a-Q!sx)E2htE#Pm6G z2`pIBiW5)m!rAA|$3>T&hSywlB9@)C02iHeD$YEC-*hA}tGNMfF%7i&&=&DyR)13i z=65z>YEv9dVLzIJUNrf=m>LUWesdTLS{pFEA&QnznC~M9P`7c7>nfI1zK3$Q4y<#O zaA$vl{l1p;TlHmij)}U*#NQLietRf?Hct7`Ag8m*-ffm;%ZQ1Tmn*J#Gro7j_4vv^ zdN3 zq&{3ej+ShAM-#5e#XjY(PRE>7u0oPp%ciR~PpctKRzYeMYFx5HqdKYWM0zLipnI*A zGs-r@IHHDl3`ud?wqnz$JSiO$(;|OP+Fiy<(BR+ze~WQDBMsV@Wk)RpAb*^9bYvnj z)u#<-vPLB9LjoLpEo-qz59HCeeGi8B?!~m}GclGY(_tJ9;Q+h=Kl=K6js0bro0Prz z88c>L&h%Lbwl`o`DhUMQ=<8*tE~QZpRL~lTVp+7q*vbCiJ)6-*VQ^w7YEHBssJM~y z137mQm0|@Emlsi&2SoxsEq}cVxqav@mM{!WBiE@;b*fXHUWudwUNxBY*0;XZ9ClgA z70dvaRtV@SC)q4HtIgO(&Jj$=oM)*_rIzw&`jjbHG-DR#bx}ztm{?3%vd|a8oT?WK zTmhUMZNTXb&A557w1#QT#$Yi?I;le)@*)SFC{_xoj z=yb@OLJoz)7$h+G{OAADSP5%lIqOWO9XofJ<^S!{Fo?E@*iYvx{ z9-LlG#TkFc~RNnoZF3snF=7k3Nd8e)X%yVv}9UWJzfg0~1J)RVOh$ z&0eTO352MDDLE|N|NFoHyD|5rXKIAC`8rr071y!KzrwLobUKVgmY8H=LFv*9!NWlSC$Euv`RHr)CsZKARBu6D%b*{xHKk-R??dxAN zGZeuz#khSHkC`bz$Zf18dMU30 zf0Yuv`LfAZN$F;=?y`&7qb|a{S^U2y=jaw*E2vrrYijcxRu|jMof6!Gk z5^6|l&}t-lrX^1rF%dJ=y+DVa+wTrW3gb|n=7o~NR2q~woiuBoO^i#-SnCPL#!?s^ zb*7UIlTr4^i@+-UvQprbkC>#BKUc+Nn5jMx6Xp#Hr2>KxKl*z65hl8K`8~*GbEuj# zCmaEwGKy&ZD?6n&jA=HcZ`&R`f4=!SJg|EsW-eZY*Unjj8StZjv=Rm$H{LL^XA?6PvN(Nk~I@PI8b$Vrz zWU9c!4d1;1OP4M+=UK=ezt3mSBXKsZ8byxsL*_npPC}8&y7ugK(SITqe?cr9K%6cb z@F7IDAE5#rqil*(Rwwv|Ph@0i(q1^URhPzoFS{*>mm%4yTeZQVls~bqpPv&ahO?}%9c4>Wc+s~lcw&|hE=OpnbWBkE?8(x!0L2y&17k1gHGn3IddlcW{r-b z^K$OK`yPDj+uy<7y**|%hfZcc=~XA-tTSJ2W-V&`Zbx@I{Bfq(+lO1|bE^nmL1)e3}6nDzA4t z9$LEwtpo?Nn%XdJ$sE8_!B}b-oq;&E`Q7+s?_QkUxe(JSECzCyznTFo22j{9eBle1 z@tOe@0V$UUn*kwz7D^bS%VerZWvfVL%ji#L&`Y;_G=)7q!|<$0BEBw-maRp!_qZ@+ zB!GEn#~DqFaoN1r;B9AIhD%<1F&16=dgLxT1NWTSfp2xD@x{>|d~)Yjd~oek_}_pZ7)ZsYnAp zoM^!t8#{1ftQl>T#}$Huu{Z%jvlqFxFnsNeXl_biN+d@47eSXlf~G(SQGWnI%HCjs zfG9&?#zH7iz7{BA3zW+`Ff~`KAXlmw0Osf*j@~hm^v;sKpZH9`L3N^g>qH0BU94Vn zu=htpP8d#qSW3fz&UvooU+a!QnS$C{33hHLXMk!tgFDEDH>mYq%rRMk|N-9$Yxm#&-vD1Rq&2P1{0 z_X=O}3mgeZ*m!Dbe>g4-50B7~@~EXh;{b!+)hYFvzI2I+lQ}D;I_M`$6t5}WfImn? zu8vzU&r1RmWim2`KhoEaX&qDGF7h22n8H@NY}wfS6!@O}l+53YQe)g$ZW`(z#nVqd z4R<1fD`vb39qmo%$qgdV5P!w*2D-7?Q^p0n52lJ3Bh$!Kiv%$hgqYYy=08G^)5b89 z1QNa8=a+At>QtvX)#;T%nt>2$Y4MFW-e{~ioxOayIgPtk-by~}kX0#(l5HA!)(Eh` zg-BN&%BBG@$uF4`_lJCDwA#o(ie9rJw@f*ir%X!myA0)BhC(Z&lYga)NP2VVsU)#= zY%jKtbYs(=tysT#9Uflu7=HEGJ-FqO-{9V7A4X62P9&(DpWQkg?>KQeKK%N(;5`?; z6|Z^iMQA?ZG;9ntVrg0{w1g0cjfniFVlNuaU00nvDvF60*v36y`BLb ze}M-dG$-yaSTG;?Lc!>A0#Vs)PH@D`C@4N1visE2Pa)CJU4=ug>z6KQKuJA7Qw0!2))YMl0bm% zShb|aAZDi72s>@%G+Jj(pshG-`qgQue=oja94*;6l?Qcn&EvJRW-D3HWx7;pp z-Mbkx+h*Z}SQwR30Y!$Jcl%K+xZx{S(MaJjjs7BxW>hw`>r|&Y)u~ReNRl-~EgRNg zo|LtF?!6bE{M4t+V3_2X%)Sah$PBFHl=dS^W=WQ41F>ChB6%WtEd|gyFMzU(&w`;K zeCBXBiY$T%nL*V#NU}cYr_AwGe<)XS^q(yv>&l`KESmEu$^j~e0T+A`FB0JZrofNs zdCHZ+QS4p!93K1qYW(KDyK(D1D{$kJKgEh2cVJKXIdn`1UcYQUu6)z^xcY4uz{e8}_{;VVe7{$D?fOK;k%&ZSX>o$z;-ua%hA@ zitJ=$8J6}^*za_;>jZVxZ-rqkHoY8VnS#*)3B{yf2F;*x0k=i&ydhm zgh==N&XDHz=yd$Q{AkaFm~^E?#?3!3%TGWeM`m6ql;C2o)aJ2%b~IT}k`)ev{*?s& zr!eF+Dx!3ldtZeBpolQ}Q=VzxI68npXFD?aGM-Hh13UU~aw3LP*twTf;&_I6yJvV9 zCr@oh6G6^cv4YV&MS+SZ1|J1O$Xi8wa{{wG6abp*u2Y@rRHr(Fj3E#0_mdnmvk%1*Wws7-3m9c_ctn?(q5&ppL}>V z{(k)${D_Kw?^A8lkUjs^X#JztO2;IkKus_9zb7TFPf=~w6?ZjjLN@! zX%<17&G62q3CE6`-ecsGfy^bF(U1c z5Q2Pv-RoXwtPluPOe8g?hK2_G_P4(^mXNfmMxet22sJJ>9GR{=*glJwqK*`YI+Lzi zuJx){y~r8r{g>6Fr)uux?;??-+nuudg^Jze9fK+?P*}|5PnepwC+#Ik3@q= zXY&Y!BPcPyK0XTu{0yHAK36ahMRN^0phug3x`t92v`?Lha6`Fte3Fk2f^ zSrmg|v{e157V{V@5x7uLwE9A*u%52^;@{x!|NieyymhKmo$6GlR|b9Yi(kZdzx$tm zln2g0o@A9|gXF^HmtT&1?zzW|{_3~nv*eZr$z-Ne3Y}z{k$b#z6j{m`FMrDVUwf%2=J-2HS(p#{koQq;x%f`|3>a=^ zEQ8rgPr#HVbJ0qLzHRO)Xq`F_^XDvoz^wKuDE5pHi1<+5Gm2+7?ZN|V*5U4_9>o(| z)}Sx52jS*2<}Pl;qNxiozw-nH!U@Vc%C*rH9`7H->b(Pano8*|Dzd3;5uSh#jqM4v z%xFe*Rx{=&5_qjYfpeQ$@#^+=ENy8+7iC~9okf9idWe84?JA=f@goulnSFzQv9b={ zCJ1FpQLVoj9%EGJ>Neb0;ocYQR95RlaM_9+O{VwR30)?d`2-ZE3-cKl%{{N0QWW zLW<1HOg#DIQKrfgwm)ERZChUs7@$GEQ?KlW^EyxoUt)2 zrmFIgu{e*H9nXyl8B#dzL$ncOX0n~D=bS791Uj9*TSjXB_-3!}j(HdnmZJeb6cXbeleRis=6Z0Sv5 zFVhAX+5hq1|5L2oEZZb?8waFH((P%v$Es#BfnRHs)a zIfGR?mAJTXcH#HG|GgO%KL3LAjS&zj`?*{O1A}|1(2W9>G6HTt)nkv;U$aD|OgZJE zY;u$5dkXxf;DW#ELpf7IK9w_a%}q_&&3B#>Ee)!keoPHdMX(gO>&K#Wo zx|6W z;Th>hGFT&1|10kL4R-C`gHumEncyQx{mQX6IY{8p*3pKBL>yZQAY>WpBOmz)=FXjK z@@Ug~q*R-KzoYqXBGs1N5d(>rnw*jC{f+4lk(72#O=)fBtXZ>6qnW5|iOOO$p#?NpVhB=&$ zj7B3o0vP#R$(#}$6cY*uSS~JOEkhfzT?8DC5m+*R;z9w%Y>xahf?d0Io6gJ(#%P;yw} zOlL?)mXs;OO4SmIEMxw?Be!Y}$x> zw-2Fj0LWy6*jaJop~e8l7IxsxuR9Ije9v3)%Qw9h-+a}{c!SG}$Z)}cieh<$GPH21DFbbza^Ib$q_ueZVm3f z|33WczF*PIoX5X{`|Xbpllh zD?qbfYELnhJ$0sVIAZpHJpAy(M$gj>hQ8NfiP8}tdgKu_CE^$v9yI2O^}X7vOwH>& zifANi+ONK`X@9YQW$&I1i@-Q+7askryajhWTTZ<(g*v+k3hZjz@|3189xM;AaPp1|#s4 z+_O*KUH=i&pfypew~g5t;AL1ZDXR-Cbg@sTY=4+%7zWPB_ zHr7XrUwS%!cpb?tUw##?+ce%E=3b2l@6hP~%S2ax0asfDvGOVdYD_vWxncZao&K*- zFchMEarQO8-t|&U@Hlb@?GdkzAplfam+GaJE-LL^JVJT34?j6HD4?d3D{^u6ld(+R* z|M+8=?<(PnX*2P@rKjPX(@%r{lzDit)sL_2*?`Zic^v<-s~bBqah#Bujk%j$cl!>`ajrjx!P~7vo!I!b^MQRlK123 z+ULfft4+00&(resGRu{*ns$&*r_4SGZR{Tz9Wygu=biUjyz`y!#6=gLk4Pv;u#o2a zM$DTx-|Ugq{!`VDtcYn3kCr}ZrHV|=zU}RAH}}#NO&cB0!%IzukB-N0wA7a)5r-q2 zz&})fQkklzRFSnUflmkm*ZNHV2DC&uyB7t_5gp zzG}a*O-dspLg_-%%8!_?;l?6yO%cD-of%DGSfLQXKyeI_xDPFz2{g7hnl+YXGB$U> zg`&3zSBT&%;)XxsMKm73p6;#i`Ky?rC1k~ayaON@m#igd8d-ZLs$~8y3KBEp$n@)k z?LyT>08z!R9KT_w-7}g*FY7GF&Of8I3DXmCa{%2eZyf7c_V?!oaZcA9%z%$fJByO0 ztph>0DWvLjd};OS)wtoBOUY~rD6ZY)G$SgitIRT$iL@Hm%o|r4=UszUwn5hExYO!? z)i>ap`DdGDLxwK?G_HM_(B87e^TzKsTTrz5(z|jsl-ZVNfs3g1uAek zvkXO}!>6Bix>3|5+svkHiYoc{Qd!qGl6x}Zp_%Pmu4rZMza|yiu^X0&mldULTWgP^w=ox9h0ka zMFAPgCmrZ2bINPZ`s_K`fay2Xihw7pXU#iuO8IaPFL&4(PdOua>|d&SYXqFPzyAq2L`AkY}&jPx7~I- ze)`i}u=38kj67TW+y;ijavw{7o8?MV2{N?I$sY>CO&w-%Xb3mla04EF;t8|4T8H21 znd;FQaCOpJJFxt6(7xerWw=hqj#Qp%7#fMUr#~O6jMdm=(#tkLtE{VmXeL9AMN_X6 zXEo%%mU$g3I#gInpQhV18=<(B&gYXFx05!3DWPit4->4IiEfl`&;G`j2(b|Y+8$H)2G3gK(zrNe|>KsM#$hoogEmf z6fl|`g11z_lyCrDF*jPmAv6+9+`VlF);79uZdV7ENY;4#$X0#GPFe>F=0}OW*PGAc+&^*B3O^$sx&2pVwL5B)OzPt86B1 zW)+@(`f0O|QPvWrf23*FK{D8AND@&508-ZTxjetgp;DxbHv1VI`DJCWA>L~#6QzR@ zagk^kfuIis$`h)VaPb}0<8hO)&WN`53|6(|M>Fj5W5S`FBrvE-W@!eYs@ZjZYYdIZ zNC}<3qgN@jObwj}T9T`+8Ip6ABI96Mt9($^>UnMZZwSbW9n!Rrnu8sII9EGX3WIBuY}>XKv1k;F=FP*L*|V{B z?OL>VbeJ{okz9s;jC{47(i&rd<1ksjxOKrvb~6u`8EeIX37vv1kE z7jA;1aGb)Vm`5=)1~-L9IX?7}I` zzI+`vk2m>?-&{u$uQ*z>5oQ${Y3`-(s4qdQf78oKeZ9TrWZ^(S=3S|5Q{G64mrT`$ z*Hk8j2;XaokY*mV*;(gAz@yoVB667`{c5R@6e-Fr$}ioUfBH?5%#%_tf0_-@dUi@T z%Aum!3&BXGrs_gx)1akK&PoL5nZh@LQSqlttWrOaV?-sv41o)(Zf*h$?RU`lzUCbi ze~%M3-%-w)*>^scY!#58Co^#8$Yshdo%dGspiF>MDp1ztvWRDauCXB6cDWIKDvi!H z1jC8Gw|9eXpz9fcc^Pst))&m(5}2?~7m9?<;wl*wUv>7CA?(EbR0Ya7l)(!0r?*OG1glevlIrDvAxJNr!OQU@2fvES5wYdR1~ z&(vX@^?o|I#Q{lXc@xRwCbK1jv+GDvCF85gf`y+SyV2U%f`H3|d}<7d#vn@m407&4 zq*HwuB61(9vu@KStbbT> zEv}qY^Su&xun!u4&H;vAYOgi8E8y2BIu8h_XknVx=~0{(a&lCj4H5}3Q+Zf75r}dC>}}W z5SZPHc$)`%cRz;p&)owT?|)Bz-xWxocn1D;)fW8Q>WxS>Ov6d@Ps61roJ_eIq0l9Q z(M-y?9#Bh4za`a=@+hZzvhViwlL>xn^&h>{ceQ>dez)&;g|$%DQf2BV6_#UF+H#DN9t%KKQY}vL0d4keNv;loXNu0j?T(opeHD+alA?aU}59Geo zRM&ovBdKz=tVhpErgyU4N`Gj^LB z*|~;?#?af_ha#URA`S47VTMB?L}PyX9mTAfUHqO5lm2B!FPF_RGL@aCr>lsPnb~fq z6SP&L9(L%GuY&FAL5z_(OmFEzJQzV>Rwvwz1PdccoN?M|cz?&`Z^G2(CVcmQZ^W~e z9L_oUBupXj2~8-2I=vLM8aLlz$Gk7b(M(D#yYdcfeDHc)Eo(j#SHJMV#TQ?V>#2CI zpf-1K7X4uUU& zL$VI#)YGOFSCOBLKYod5*|nQcVY;rl?@EmseciEw;Ax-uZU7op`sCIA0-H7 zm(0UzsZ*jcW|rrsQz?e+7)Rk(Mh0mrT;C~tE%()u7-t!kcXL6Qwt2B!7Da}Je!{Z&@ zymkDr>8aD{xfxXvT<6nrnGDbDlL%nz)*S>5Iuyu*NSJ>eDi$}(q$1IfnQHdXj}C!J zrBlciQV2&qSoiE>>|}nT`3B_KAq6C~6f2j_m<>+?Y)Z2gBBrj`NtsY&yaav`FLn&{ zBUtdDv$+GVnQfSV;t6=$WtU@N#}wTAvs-c3uU2AB&mjKsw%br`4dJw?57X22JrXYm ztzN%r{0@JZxA+K^u4UiA5598==BX)eUWu!g%Z#kkhUJ!Db=|%tITv65LwsZTK}6og z7lXPjgSd`i*zaXoYW!;|{omR6jiVUpUWRLbc=fnax*034y9&#t4A`_Wof?%lH1}%! z@PO%r)wrn!RK1D%>!h(>`DVU#X!9L69aOnLCUk$o{Cx`c=8bE{?2Y z1OG`LJ4?7sJWQXyvFR`%hrmc>6by!p^{3Qm3WZ$JoZaN2oKB4ukS+VLhw^gg&<=FX zX~MKQtr!~Y#fo3wfgQO4oPYWLKSpN3JbZn{ukq;iUFMKj5YX6sPb8amn-`_W=m?XL z^?Ri5;3U~CH}1#!uWId=3SDP@I3TXX^p{I2Cpx3Ql#N+dm9I%Fovzk7dXK(Tz3s2N zgOSSKI(@5fwVFl1S8dZz0P)N-Yw*zTA0pt5Ax6-vcn+Pv<4*?#5`VQBIvmydJ(T-H zq8E~GRi^c?4ZikF2+NpiJB0k&%C}3P#NhP3Wey_yjT(_gP3(-o(a@1JvfA`aBt5T< z)22zAh4fs`b{gx{0mP`JxC=-q40SraQ#9r``>yWAgasrR5}7x9fz3uSb3ET^RBr8t0uA^ z0lurptuAf84u8w%sji%#hF0HzOXe-#UmjQg0N+?9E^?enK)_bi%8%ge`2;?-iD$Y5 zWcD?oi$8M!7+CfWwm);n_V*{3;)Ycd+utXSxc$}X$VrELX(@^<-)Pps&Pqt$>M9wm zS$4?=$zqXFvd3kdoM_)~YEMSa@h=h&BM=E9lgk<_ODX0&2_xVrUo@LRMV$}WHnlX_ z#rV9&Nl~|H5J_e_S4T$bxxzA6`kN@1m&E}se=%f|Y53ee zp{Xs-ET@qv4C9f9@5Am#pT;{cc{|E8rsEsGzZ-iCqwtrNPP&?WShD#MDV??qYJbbw z-?dcxd*VAw6T{{mQz9@)eV`gZwH##n<)j}to7+{5+6$rCB5EiMgihb?3xl`RK`eNX ze?Ldhao&mc$ETb>Ki?Cnwj4wXR|C^J3uVcY#Vp%LaLX+}Grv`D3fq1&F^`9H$AS(D zBx_P; zN21hEq*_y@M)96B($!dJCt>E!$AQVe0k`gtbdu#wHOrb--uj|P5BQK5#?cTEoIwL|rLNZzMO9oM-JnP;b@FkF8<+7Z} z+-uZ+yi*!ESS-UE^da8dK#kpnbe1xzQZna6$h525PeonJp7_sLSE9C6e;vP?~D!*6fP*8qm^Hj0DhzFynWQ)jWG$J0to}NK-HpaYpT3Vb#uw1~d-#&=J z$JgM3w_JwO{3*x<2ufHGe@fngxjT@QPU~!5L^l2QYV%i1wcpmdTH60xS0AxKkOdrI z?&#dwj8C0Sds_qm8NLQEt0=M@N^pCq%T%3N2%StW9YR675&q z2o}jG309uY45Hi|!=~Rngy%MHfu}K!;q)*v#U#Rk3TC!6VooT425%#NGdhM<)xq)H z)ajK@W;xV&WnD~=ppCKGz_P-?VR8)5=?4jCOjlS$d>C^nAAptFFHqm+YHaIUDmovC8>zRJ06>h^tKc54V@Y z><<|)ts^Y!7f#FYj!SLk?!e85s;An0EAtlbYhSDPAwibpcPiL;T-slqCemxqJI~C1 zOV+BNY00tHf0@fkmf2bA6Hh$Rn1R*rS|yD=)BKh!)Aw=8glI$5?4!ui1wugt!c<84 ziT2d`y*dO=LsJeokTP#hxu*P+lCHgh>N9rfk)z17HPN5qkyAYMvXA6P>+bd3elL=R zCg~1x`p#a>z}$FuaCpmp#ng$9VKO`ot|?zii^8()!64={4h9@3>hUMbN+?j2Nc-)x1WF{Vdb~VFK;-Yh3gXX3#N^X|3K-odM zspTd1Ug_GGPn($|AREqPZeKV`1VI8^)UAxul4;fF9;C9}7#-`QC+Tmjr_w0;2Xrabg5*~n zSshj*A-%o5#*bxEdMCwPwt{7`NkBr+?3&J(f0`7x(xvn&KVp1l)Pm{JNsd4H$xra< zPk$O;`qGzh-F4UD#v6Zx>#zR~9(nW;G7)FPnMhNBVy31%SX^SWPUm8t%Zh{H=L=|R z4w1o?F*uk+fy_4Fu_Nn;(xIu^JoBKmYtxcuIuTC!?ZCZCIZL@}M_%g0rxnG&n##n7&)`4W! z;?AU&k&cR-nFGTSo;P!Fcv>baMRz!sf13`p2vlo{XcD^NANDQvnK%=2<(tMoJj5)( zv7pVH$M<(E*OH}GPX9h?IsyBRfH=fPZHHE4A2xgeWqov1lP;awO}#et9%9JU1?|a{i3opD7vuDpX%bGM>7O{Bo zVlyitMOyVJS>?=_Q&FTWlPqqR&dmWOf4?;0N&=26?UMJ7e0OvMIVXOTd=sW-MKsW+ zQE%;IFfy5-L{|-^IlzHHLS|uo0z!J{00-k|JUin36alUft@M6&&7;=QQ${!nDUoA|B$z3;h_;4achx5%=7Mp3E`6GQ;-dH);H z(l*WLWWGQi`3!L0IWh_{-$^;YDOUv=z;8x*pJMq4K(Ox0YA;%ntvFTLicf=~1Qh}- z%0KH$=3yN~B`3fkzpPi*Nx9-Pe>zQ}P;!8tR#z}gwUuz#G5_k!qVW?`|NHZ5>-&Yc z7eX%xNKA~_R?xo6Ax->!Jg7F_gSlft6Z3m0vI?{OX^(`MmEGGgS$gcOgO)*wiO7#d z;0jAu&1xvT+IL4oN0RQtkp(bfKAKKbnv{0Y?|%0?JpTCO#uoSQfB$*klMjLp#tqwHcA7IGH~qs`%MCeFO~b z_>3vfa@2iD%d?obY=)hme{p+5WB}~!9&a2wn2v{Xy@-va;4i1KtI!93g^W4hjE&U> z>}Y9&J6FQ2iU-ArvwW>iFD)(8u=P=s_8QEmqN~li`xQEe9E&@~G7^=#71u6fn;d`j zQqZz%v0_sdt7N6<6323r)kTktoK4q;LmaTY=}PRw5ifd^^-5!nf6DTeiEiG!dAQ`7 z8?>dPPLtAVTyx1h)BaX$I(+-9)3KrJzjHm#Jo8Lr{buFLmH3Ol_zS$@4Hw~*lTXFM z`HL~Na~ej5M@;+GEPJUUxg;gYWtR7pDHjs0jR?0!F;W>rvYdh^Or_peq3p@iW0^9B z7o*IxFHpdFsrY+6f0~7$tdpZcNmYP~KHu}|qF6PK_u83Pt};%u2Fh&|N3GA-dMLMx z@}=T}uUbGX2sFe(Xljfb3sLci7csvE8LJ3{JP7&n2)jlpI|nFdN8t`J6JAG`P`X6Y zEsRX(Pcv#xc~~JxC=(o1sJNC1m`WM|RC4l^jd{MK9F=hsmu}Gk8Gi$q+3Lr1e;6&L zMhp*B@yyO1WT}w5d@QHKs4z;O)upVyWBE%hS-@pUer-M{es8HZ9KEZQS%>8SmG%}E zbpv&bM$Bz(!27P)iZf2hB3sBKHPVE^p)97%Ph!T>t?1vAq0TmjT+vH_(TYMw=W(zc zsx1Uc)K^r6{!s%WE0+e+0RR?3>AoU=H4VOzBBK7CNObH#ygkkQgc+#PP2d`AU^}8d zlT9)&%(E;@nPNCh!A?T9%=QCUr+jMN;m9fJV@S1$u@(7$iIjJd5TweYqoc#1`-!CT zky5TQ(m4y-lq|4O`_9tTsZ-4?fapjo_E?e4k4X6ukkJ8q8qxT|7rtOdbT)2(+=x?7 zImOJJXqtHD%$eqd=_ymEm;+a|Vav7&hn$9M?s(M*$bPDt>1WLnXym3yMp}^BIy%i7 zXd~O+o_=iGv7JnRh~<)I2hPFobF&PSW;s-2B7vPdx1q#u=FXnO@R)820T+9+X_Jgk zGZD#T(!>}H28>k-9TcMt*-Ddt%3sT&D&YWp4GAni=}f$O{t1}7WC50)bsCn>n29sy z&c?J;W@C(kBu=nYrJvi)9eza^r{Y4uHaj33ljv%JYHYtr4JH$K;Y=_qLBRpciJ z*3H4)^DRZG{arf$@a=C?9ZVb((qP^H{Lla3(MKP}k|j&bNc`AX3Xw<{?d@%J?PgG~ zxw+X4lF5Xp7Cq++PPfM3H!%(XO z8Ch3x6gGhr$x;z(-&_@chI9aZBWE{ci}a1|E1m%Q`!eX>I)EMP_h84mJ=nEr06VuP zG0-!D-kpQ!*_*+hK>`6^BjqK($(5+2?w|Rvq;}_69&!dKm0m4#(t3X_KMweV@CCgn zyK^Xc^6-US2uF2@n(`?Sq2C?wQ^75djiNaeKu1$E1_n~t(LDlxS0ILwu`JTrEZRHT z@Z7p}$g;e(B7xCL3m8wyJuRb3hQJgo2P0Gc|(xbC{W zm_ECmpt6kCCKulNo&Zigqlj3bgx9_1B!o({5eat_Xxv9o(2dN<00G7>*3Y9z?jaBy znZjZsKy&RNP#k1`*|L1SeQX>A1^#~cgE@1~1TaRYfoAFu-XuW?flBTsoOsT!(Gc-r z&vOJf-3j=?GOx&VZrQY10YSA_!OC9Bfv9<9L$lQt48flrK&H%1qwB z|NFm>FJZdTT>tr>|JnFa`jwaDNYYFL8-?7fL*|@t#Gv-&ffr5BiuQK|c6KqhvKU!_ zOowGPKCN0*r!0CgJV?-0^`f)0gXNNC8F~;5_y{8Mh((*Qbm?NGQvK-Z*@=$ME_T>3 zid9WHJ0nGZDob7ElvYh+tGr9HrOmWO_}d?gqMd*!(3rrp!+l8h5VY*<$3ttM#K!F# zkbLG@Y+U^Sdh-LQkgs|xbs+JQ)3UeYQfD{ri{CsZ6~3Jy?AW{&gk$5pOU4^f$1~#jrm; zZb9jIpB-_`sCJLZ{{01$Q|*3=BPr__Lle_=wC&;`bjbEsKNb8~kd_GxAV}Um_Sj=s zyKXJ^?AeWh{(j0XN4}1ZjhVf3;b<87Ox`HHZS5^+Y)Me2jbJ!AWWtcC*FsTCeDnNH zGGEJoiJTdBGeS&dZ~qwrd`?f2F%~EYfCv~EnaDWg|rO*^8{z=g%9@4>tUCA|LPR=nk{3vu3sLCl!ZhjTCN$C=BSZswmKA=1wo{mSDlabBGq4GZ2m#o+UAAjL! zR-^X2Bc(%?mkn>SaBH6_Jz{X$kaou%ci{Wq|Gs&qwWgYVkVUDrYu6g)qrA$m-s`tW zmN68b&3|p0_{+JPXU@GgDP_j;jMzn{u5<`kkjWOP_@@Ob+{lv2$EobMwKWnfw3+2o z*|9A8do?S;aw})Cch7b-Ct5IN>VI@(3(lc*Hh$HU1cro*0GqQpyo%&-l6B@shUNXt zh7DN1bqh8O4WhSy7;#SsBe^s()An?}rZ6ti50P)fc?k+JDjww^0#Q z0CO+J+f7=W{=D+52eW?kN~79+50~N{hti~L@`p|9kD#ny4Aq?1VanF9m4ncgSTW9T z_MatjWT$Dr==N8q=aH5gYk*I(RIN=bK?4@n0QN#evx2<{tLzIbCbIP?0 zk!X3n~4ou*5HRf`yFn*dw{ZjD!kM=GD8tO_0TYN6E|-B z)+1OjzYpm>)9~y69Tdd@oWY?C7_p{fxr-R=>NuyUo46RmT>?QD+vz z({Cy8wWH`qONT0duiEe?hHrl>ElQ^tqS7YP8d4n&XO{1~6@My~V1&~=fX6~4-A85vByd6%U zW!HXY5-VA?=6eqXM2?{S)#<2c+qUh-c)_}L>&%xx-2oW^sFzyZ0Vhj*DU(RDM>5jL zQ?^k`WpgjGejLCcc`YkWTKcT-H1MUR(vrPZ^!IgR3jy=ijq9-P>BrIEy%SB*0EPzo zuyOqw^zPY?{+{i8zXq4g-2pFuVk(EQr--GCS}o?Pw4TRsp%ChNgluL|Mne=XphpD3Z%RmRDGuZ|@#080Lw5O2Sqx<-zmD$nvw zvoJ#}ksQ0hPIUDImhNy?I?wBJd zE60gch6i(^1As(rLH}QWrx#Kd*1tNbMn1GrQcOwA!iHlDU!7H*R*JW#TCE>Bz0-(^ zM$2WQPT}dfWje=-Y6<|WJm8o0qyZtxERmcated#0s`3*8bV$I4-;&ijw3BwMgVc`9oSS|h3hYw z=QOjGAHnjYG_-$zpn|&Mc@}bHF=@r7>-Q^x|N056o~)0|y&9{uA@%^%olN73P5Uh? zt^8MfVzqk0;i%>e2%TEJ;z}$Z??;A|_d7PCvg(>~fO0sx0sAH;$cGHAyzMxh9dVp! z^(XKr*Nto4D(g)va6na=dfIOpN#|7@Sy{hGT73=PxBnD>JUqDZ4%3GARo8f3>Evre z6Rcz%aK6M3?!Y%{za>4d{r$nrBE7O{+qSJ(vu2H1nk(ZVt5&VXV~;(K9ox5KBst>j zWu%#N!IC^WWLV4kX+R>$y_;C+=FMHegya3`Ahuw_1EG1|Nd2c@7k~6 z3m^Xg{`qe|kFWmS=keJOzZ2j5;>YnXe{(f{cJqIuDE33 zffz?dD{jd}E#Y!$=B277UMiauvSa;-28&p-upOs=oiGgxrZyu;L{)Ny&^PMB_MSYZ zOgoLr_$=J}n}@LC4l2-$qocXiELGM?;EoJ7C1cWYFj879>0W6)Qj&lBy)Ac3y5Ikv zj-Y@UMYR-Xox5<$|E|WZKix@Ppp0MrvIkea_c`3~g95((l`Q`2TOR!2J6?3}o`!E- zU%_vGe^X`K31ZItW}I|pBhGl^2FyJBel(o$-^jVw!_%+|U9;J?2&}^H4(xgCH7F)q zksI@4bU2Bsdyvt0u<)}?0`(Yg7DaaozJ?vt|JqR`m}zKEqJ2s?>!Xc;kabqpjG7OA z){iV)Di6}H4qzh3nI@L$J|I#1uul66>Tugmnq_M0*m`c$EyY}U(sNyhc8DwZjouPa$-+XxOMfoph{SdHk1$BSP(m;qGnSWs zvV{yhp(+AVe!_I*@fHtJ{=e2cZ$ehSM0SFi%a*%Hx=_axRjv+}X_w=6dK z#=}t%5=a_d_IiD0KcQr&X7!!-PWWapk#e;$;>X?{8*%?{e}&C!9!JlXXR&kLqsaH~ zKw)eU{z?`tp%SJwy3ii0AQGnjAD|2@my8*8>ogE(6i>xZ=kxdw@CFd@1GZOr!7&dj@-ZCF;4QIg{s-UT@nSidHihLfshxX#$ z-?ro4J7*)*xD(GlSwtnj08c-;6W{o!d+;}Zz7@ax-y-h*$r;$Y{#*>L`F~jdXb?+I z)AFV~fyxe?e$F%0i5^2doIo@ZA-KxJRcc@=^nb_t26d+V34lMzdS_i>2Ab#WLC1ne z;0yOLktKM1Dmfn-;!PNqFD<{(q50uxpNw@$xB0wZ=ErM^9$ zWEs;{doO3xuY75S#OA>=Mx|H3HIie`yU;tAB<2AnJTVuNd)Y~-qkGwb++N=JSe~8& zs(BYudny>-l!Px$5YwARp+7^vDY%Bb2=>RYDA5L2dOOx{co^~aS(k<80Uv)@P7JgJ ze<+BeD+iy;kN$iR>jYx>?P6C5p-K*8=>oi!I2m)$lv|ySAL)DoSu(ors^t{2^Kgj( z!1%kPrPZIf6!Vua$5mA5o~M|P$8(iA2VphaVjCX`Dw5 zkb3V?kgP~eo+caSa_0N1c4>di;b`^E`wwaxKRoRZk!}!xnxveWsr~gtKzY!5I!?6u znoFEEv|`gi>&rC}M2yqEZwY7**Z%5sZ0MP%*I?78Em*g9BX;fHg0WOD`n!j)XJ;R_ z?%aY6o1Zg#ZD9j;cG6ya>KRyFNc~xR#GwSfTOqR^Ea#DX}Wuu&x+q!pT zD*aP=EmkPc7`B&+p_W7GUM66Rlslzr*~m^g$x*ptrA(Ow1Vd3YH8!ESA%@0=IN}Wn zgrac-sWbQ#cG-(;Ui%z;sAQS;Ob#B6ToXKK-GHAcNW*$wrYlIkxiD+9%z5WvLy>~!py0d){;OX7(lA8A3b|>NSEgzo>-3J=yW`A+XnpX z2P^ULeX9{95NanF3s;z+R0^q)0c2Adgz}72vR}pI6xF1pad zye-*!uv8nKK9lLyvP|##23Yng;~^^Wn^B}*AsJA7y`l zW#x_RMWiW=SksB{MW@53V^>rckE?(?vH?^2|z z?WlOWnBW8}WE<;4XKhJW943(KWxYq?3(mzr59>Fw6;m6|q3Y8LU)BpZ^^XF}^{m%6 zqO+A?w;Djn--~~W&cS$@$aU_y=T@({;);D0@rOV*t+kCq&ujyEAygZd=xD;R->TsY z9Ox=L)!+Q)H?eKoHp7r?+N@sz4DEf;xeH(Y>Q@b7*C>IUfQ2?N@7S>eAOHBrv1rjE zvr){>OdJip(DIl_idTR};OLrbt}#=e%BP&}1&Cy$TWNpQ0d*qn{g6pLr9tH(aHV@& z4$7-$ElO2hy;?U)03kcnewLwOeEdy@R4A4RQ2gw8Zpb8`ha5cM^PogvQziIlZEe87 z;21j+nPaeu2f_c6fPq@{iaMj{Qcwgn+yOvR%KqN zS0Y`BJ1XD7CF+MOuY&6pJzT7f}aY zor@?-!bs(Y&1^#=)`(Z1u?(l5aT-oIaS1;7{ttg(*Wga6{LWIPnqdno!z}4{trBZx zqx{%GLH)L5WyD0KS5zC8^`~(3eQmtvJ+FFh{PTx-&wJySX_ilCKce%U4OcTD3P#JC zG&!MYwCX6I9W%4+3iyP@vng9c)M?5HYe21#$5=8ApC^Qda06O8reP#q#_9(i#g?sm zDX)LaXoy7+q2CGvFHwH`8II(oKN>YtRviY)CBs z$iAy3kJ10Kp*uG z>3n{It8gfQNIZd9JVretfySmr0=`B*Z{mMFfnHE$8H3NOQ^W_&@@>B_!gBXBz1q{M z1Vjnsbo&^BnN9+|XK~W2Z!%$JvK@Hr_m`pUX`*gb!G(^IP#B0NI96OOri&si?N$$`X+FJm^e?Ly`Qe1L!18DbzL$-RnHL z?F5=))jo@tGk=zpHqAIl+18RRb#kRs07IQgGZrx_?>h5BphxeN7Xc}e&65QbB6H=x z{mj5z%v8UZTI>NOf6gI2LWE9!l^PgAZlDiSr%ywWojhI8Y(tUZFdaItB9k}iw*W%- zs>e(wjU1oF10iCX3Nnl2icYC^#5nN@~?2U*=4;F z|N4nT%&gR@PX7n!tmRFZ(z*yOtz8rgUi9^4oz1HrNB(NPfBE3xfEg6ia#sNWZA8{m zTn%7Z`6aTl*ve(er&_0PYnLQjnP>gl?=98#O?@Xnicd0E-|A|Nl$iMB-$|E3aU_rQ z2Pb`{Vu2t+`x>D^zHy!OrWNg7?1lb$I_f z&c#V{qiAl(f4~z+Vl>^u%mTCLEWzR>=OABd#V>yTApZLYzr=z9X55*a_Hd&YQND8QE6S)+4liEX*EwhQ`b+n{#COT(Ni{l(p9QK}tr+pKe z3sPCLoT@Ii6Bn;4HJziOnIq~DI`gVjr0!O96KqwPfB!1-xe{{OGIb%for2Nf^7$P7 zj?(Gyz79k~Q>eovP%Z1AxquUUk!4lxVA=}sg+17@D}rY>MKF|WfZIC{(O4ONZxw!m zk0|SN;UWTv!XS`qWEl~RFwMuJypERkX+JM@#4mtx*X_mz%nMIXiJz2WM zAnfzqf4g^^hHUeocVZ;g6q|sA6m>hQ@p6&UrTj_BUa(++NuNN4(yDxFc18O_5{ZQI zXPKdtb6o{6Y`*1e=QUT|+Wu=vWx-CN&DvVOsQjx0v`$paO6xh@6b4!%l}cs|64&en zN-{y`g4Y#7ft|RLE22ub?U|>{sKLxxGtH7Ee=$+T?f0_tv12Q3niW!d1%#B(U?6A& zNK>qV9oL5vzsZszrpR2f1U1Q24v9z<5ds?Rov2ftUOBW3->_##m`&CbJ6N6S^nZ(f z{G&}6&OV3X%yyKjRPLzMNw@?95hI^s(WsGKk^$PU;4E9xfS&^jtW2wQR-Va8hUi;4 ze}y9_8B^;|zpWgs4a0797U{j5NbfBu@o36`>9Mj?ex&3I4DrT1R|wKUB+K^iw@|!V zA|<&e#kNSDB2T%UAvhtB2$tZDmEen3F*w?f)sH-k)ek+44bN>xUpHl8r2|viPDDI1 z3(q{Y2mkT!KgLggb_crm452w3L02OIe}vmd@IU}V#oEnugnWL)!XbEkT2YWUD-1#` zN1u-=)W0KSMsh0G=kBd9t`#kVB!4v2!+G!$Sl)w z|BT5To);i6QvC_INf>l?cAESoN0SJJ!eoj*E$O`4YKBOUmBCBb*j@Voua-@_!EQh#i=;^DFZ4Q`1~HUw@yVzM;Dr!8WE;qY)1Cw zNZR!5$WBLwN_JV9E@$PRobk_h`{WwQ{H8z2J}LMXj3^v^?|^~*%CgA*mLKciaZcRY ztDzIN<;*AaZ+`m)HsnuXe^JhA7C`dN!{2{fdC?xGdiC1H#wu@NXg;9s@Z!}WZg&)DeyjPu2ol# z`pYl^z97FqR?I^RyA;`p z-@lxsbm`m(%}D6pma`b1oH~m-j+AlxTz)jdZ}TFCYoD9%Ssb!rp?6N%@Hzj~RY?0N+(neD1+!U=f1Z(JdNjpaB&gWB?m2|W z(5A3%3Yz}q$0mHArm#z9G(l<8=#=U~dDZ4}mxo}5%)#gOA?VSGpB|(c->y=gOqcNo zLg>xCd>ftWR3}5ruEi$PulAeAeaTFs)~QafaH>{h5W_>+QYKH=;1!kofETfbFru+2 zl{Bqm4^Xx_e}hR<5~ZL^Cg>~&$!DwFS~AKM<&%|PwN3!SxN&(`rhK$=&nTATVd=N- zjXWgTu$~{E6k_>tB%~(bwPZ+napb6*0Ey}KNhr#cx^qIdIg^6-vcv>lH7Vd#e)2h_ zlOrf+3W)e(m^)(*E;#2RT=1I9(AlvFk3F^(KlQHMAw~ef^7Fa9@RkTDn1{A_4AWYgFqHtUo$}M4qMX!{V!l%z4@b5v zMYeoiEZI7k%uV*bmL|TFGeA=HsaXfJ+^J*+CX3^s!aB975}jr+G(W_zo&T9Vl?Q8= zx(dM=e;>I01P9d+DurhB4y{M?l+7sRJs3+<7pWxS3P|UfhUeDisYkN?`PoiPF&(~4 z4@b7lC%Qusn?aq96^Y?UX%-{UW@#za6DvRsPs~Anv=&p!YOP|eMkqyG-)VW2o*k|d zUn&xK&_?i%jt&Eq1a_1UkvfVxl=7p^*A_6?3Flh+q)o{pr|Ï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 J3P*bGEUw-+MHt1zec7O@9{Y-A5jw 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

U(YemZxp))z{dCH@?W`&6yK!=VDgui6@>6%4k+$ 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
`bJKfH%V-mBp3CVg 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 K4mxDaD$)Ky6L7{ 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

  • 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 z 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 z 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�I0JcAa2g_#HXi;yq+IEJ_}D*;W!vSXq=5@nI% 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

    |#hRz3 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

    n&Qy*6&015F>^+!!`ZXvXo(p&HPyAD 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Ï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%0A!p&Wm? z0*#DdAoz-@mz9+v42V!VxFOJuF5-ASmSu)_{@jQZuehXxvQj3VY1dpN;6?<-0P*Dj ze!&4v;FyyENLzvDTz!nOjod;XGJ!Edn*fjp(uaZ)atB=rJcFBG@YBbxti(3LxY5sJ zDJ|lI+%sOq%qeN$G3A8@((@j)bCXFGAAc-=zz!J-IvA^nN7^?0y5uc%m43+mpeBGya6AV z_%{YXOxyIypRjb`r#v^`e6#J{yVuU2JLifG6@x!{vSh^oh|tXAP%4xagZec`kNXy; zQ>RW@od$<`4faDaL^$vmv%`^3Ja5?)TX6R5iI;>p1}HM0KSaC!I*) zpKa>h1zRtHM|{;Y4FI~@+uJnon@vx#H+xyiZoM_PHu&u9zI_L*xA%bKWS{rNix-#g zI0hDfX6JWY2ld-FD>YF`F2lw&unb8@zDV zKKjQWb7P`s_g+8b&8)8*F@oQG-}~&n?|rYYK)mpUFSP&iU*7F?_`27>-oEmcuh@q^ z_(5xuQh4#~(_T-$PrW2#$SAyKR))GDyjW*{)Jf2-vX$~nS;l3XNxAlTN=rJucpVQ7 z42t_c+8RBdXv*IK`vAQ%c;8*Y7 zdFNer@xp+AEq!)o*2c#tG&l(V>`VZpKwH23PNN{lRu;DLkuP!sZ+K>Ag?i-MAKdJN zLOm7I|Qp7KK6oaMe=o>-?0%1s} z<54~mlWiW8QRWS{s1wysi6+85Ot{FGaQso&`Q;tM7v5zW+R)1Ck`JcvihhxqcJQ#( zQ6-WL*NdRI>XiY4ww7(SRykL%ac;r#I+ge?Kmmo|7lY0(qC?u$3#? zA$+Ake3c$@=r6M@QN|cgvTqAKkzYcVe{+O>w?N6a7e(f%rjFdHi9*o-{o3oBlj!{_Ik~Nb!jz zg%Jn5;HO-~<2}nt9i~na`A5AortrKI;18Yg8}YMWN=TM5xdeXrDc@4Lg0AGNr(y;P zU{(dI4}yruOuVx3Fy6DU#Y&-Ie;`ig5|$k+?^$r35sDCuC_pliH2mU^lEmzPEI|cL z0NWo3FUI8={0Mj`4?#y3Fd18{ECv<8!-ShOz}VQBD{Nfh2t&aME)I*LwO~waY{jfQ zIN9cO@W5f)zrSBNC^Lgzl}%1d0n_{J+=2%D*%Ga?LM2#(14DjeQHKlXqPiR1|)yW#-y0`_I6uO?;cxTuX5w)-1+ma2y&}T7y;3s9G^spL&0ks@f`#& z+uDjtY93@FzXW;fJ<7~4GPot4@^y8P4Gl>#mh!_4ZDUKTz3dgQ@tbWv{nvkOFMrv~ zoWIN);;&!Yae+3@5z6l>$Ou)KIOPBD6D(WejCy+ zGs&!$1TE1ypyZ%bGJ}904xlW|Zqkv_nGhGJlukP`6!jd1LfQ0`dR|uDvfYF$aNFBD zWQ48zEmv&6A|KMR8Zjxw2_+0Al>Bh6_=w-s5!+PydV8(2v%|mFarDR$yZ7FEC96^r zr6|rzVV-|hdS68ottex09px@p@Nz~28A7%wD~{Q5aL}R63(xe#gz}_5)V5q^RFYtW z)3n|0gafEjUBLsu`6CytFMzmF@3fqFj|9=ap%0nodRt$mP>0PgUy0w8Lw?yh2@d)R zlsXiC-hInr2^VFfZ6rV^^wK`E+$h7eJIX`89F%{f4wkt#S#*(x0Rh8~j+G)-OXfB< znSmEB8B~-T1-D5!eP9#W$n3!b{njEQqDcmbpQ#efoDE<`ovW}>s4>_u-Z+zlvWvWM z_!>I-Qh1#P1V5t29#L((IthkV!`%Q`Ws&{5-(%+3|`Z>Gg}r4Kl}j)zg)6FpA1h) z!?vQa@iG4f23xY=H|>^i;^kH%9C?!mI0@%gGs;1o5C*Se5=VW3aC!amPxX=mISyRe z4v7Ol!HGeHEHehsF6k$!vs5_fZ}0~vcz}P>kB0-)6F@k82R~cEz@K?SFmyZVY6FZ9 zyc3u3N;>hUzGJc} zFD}cGaq*+BqTH9`_@4zy>$eJ-{z`au3NJnvdGoD6;ws|2dWi8A*^1wIPDp%}^@W#E zKn8dLmzT*v1|5F`G*SlAhyD!sodj zB~yOA(^taGEW&~T_&ZZHm`10E;v9-p7AoVDw^$p`C|5k=Qx(i%nc55MDu;fzL=Qru zKL)PcH%nM{pxMzTWMQGr=>@m`$ctEh?Vkqn%{2*w8d`sAH?wzKD@lIpC?!xR0JZfE zQdG>9iOH!6n~<@AGC*VN)8M>EMg#{Q*=7K3%*1U-Ipn&?dJXId1yh)U!4zSf3EMr=Zg zJKvaK3mLK`Vz%X+0UVi1+46?JDS8#n>2{?7#W?s1&+8>uL=Xn_U|U{Vuq7!(3oZdcHg%)? z1o-8%9~9Oz+e&C}IA~v5;ua@$vQo00AmOd9skgS)c59W3L&go(*50i4F>6c9Gfsa8 zS1fO+uQKJozCoI5H#}bY(tE5^#;qxAQ*q$j%F4X@ie>L-C{#7up4wZip}Ag4x%v?1}YhY(&aJGAW z*GZ;WdWUCR=ghW24BQ%K!PMt)0DOO4wE3-5>c`gB+5Qy+G!rVEYoHCYWeopK6aoEV zywjhyD<4)5nB?#eEsDRaZs3QE&}Pjijw0Y!gv#*DH(e1fPfNb#I!_mh zApIjW2F)R#Wtx*ND7WSj|5fXRhodZ0{CBnK+q$8E1@t;KAr7 zI=qZ_6cfe7Pa`6fc*=;}X4(0Tm1JKjcjcY3Dpc?E@!<0@nZ7__IU#@I`j^T`p70~- zEdzK0XPkK;ecXCT`YnzB!sgFRxkoXGP^!MT5cDG8knP)tu}4MYQsP9KFL83Ql~=ko={Njb8jE;=j*zmAbOF2eSje&^x&=~w< zU?y_b4dKl4GPv{6Ic5NBm~E5s!A(?)lhf9B@PHjUu-`UR?iJC+Rk93b%pT;*7Wn-a z{P16lBrkU^#JGQuiQE^jTJ~Q60Zt)C5$M>x+gEZxi|nvc#`YryUcV(ubeunT-uCa? zX9H)?*rN|WYHxhw8y(l{-}olq()4~A4Y%KZyM69+pR-^4wO_O6Jm)#~wzs~`-u#xg z*vXS8?foD4fDDTd*o$BEBA@+byGN@OO~^_agI?-^8GL`QYy4Gr95(e8Gs*CV6fD3P`pQ)dOc|Vrz<&WYJFhh*?s#70LUEWQ8*{`w#3>y)XLAE6NF5lUN;_UtE&B z)k>Lci$m}o?UL^*d+2W-vYT$Y(Z8v|OfK79s1rWSM%_a%a*9&Mj5J&HC4xt{i_VURNAuuemG$!-iD}&ej0bTed5VS#PtYx^(A}^uOv2qlz-Owzav^&aAoj z3raw}<6K7gS8AXBBJfo?g@KbO@mn6W$%Aq;(cn1L7U)Naj2yc`tasw`PTAo#JRv@G zdz)faKxIXih(kRSkChtBTiG%cUu>rU#TNn}LEg*mJfjmMvC_~~+S}9D@PJEsTCoJPeyjYpx z91L|B7U_hVO3+&xX4gex*2-aHTTh z4{xbA0DQ@7AnUCN-%9>PhXDc znXP$8XXLuQGrC#FZ0mW#bH;9eT>?0s6L}DO`~rptK?pS6u=O zhB<&MrXv6-Y$h%ONHZ-3E)of|5*WbUD3BKw8F3)A%s~9p;g?JTz{eoKKv$#z|ICly zOqVVg9A&5#(_kEfBTN2`O$~ksZ&L$=D<)D7)`h289d&&}oo#Nc+VcFYUw?n;XEb)z zXrS!y!+0w<&NleKOL-M8ZaQtyPJGg)<6Yh{ z$hpxJH!Sdu!WCuUHW?0H3J(gbBGo9*(UB1;hZn87ju|=eNcly5lp){Yq~Ek9NS^ti zEI+pQz%Q{~bgx=h-(DF|M?8O=tuE)zJZ($!GpfnFEcHWBPf2I8S z%?<&>kB)+`hqE%|9g54B@Rk(NXc&6uDjea2)=n86r=NJ#+S)s%oVB@u@zd}6X}kOG zyS=mg*`NJcd-uEF?H%UPqeuOW1bLw7{`sH(nHx~AeB~?btMcc{S`2>{^3KMNqi)hK zoGa_|Jc{Q?$_O-M;*KNnCf}O z>27Lhas>>N;^s;+c)xnDQyFqQQWvPl-r>&I*>tR zmoi}-&Z$nBl}GvIy4QbFl{z4M&`f!=9pmTqrp8U3p;)srRa@I=y}f%~X#_utt0H?k zlumVV9$yt$!jT~FR{+^6#|}=JSHp1hcW{6H_=u?p-Z6sffpKRvxJjJ zT&BQw!z$H#oz2WmdtEUb#EJ@AO`w7E8%@nkKHH9=%@#*^>$HDMF6mF;TSJ4CY1RFA zzV@}Yr>|S}I_vU4TYyGxD}&#pM=|7TUgQJg5}KF|WOkn`jwuIuKbE) zd{U0G-vgh^vjBObZ_08P0sH`AJX24|9p#C^ocu%H;ypjcSl*$tsE|Zi%i|t~4y#2m z^I29p;01Y+Mm1h*5&#}=9N(N|Mr)VP6j9e zjhDGj24(@ammp6D7=JoeB;1ggThIUxPRAR>0YbM;G`|U%F_49)@_h?Zi8v=5gLK}-^y@ko;eCtnJ}JHIGq=?4^Xu>PyD7^EX|A+n6U;UN+ z+|T`-ojZ5V2jWK_dBi)Zx4-@EuE3l)aojp&d~jpelTSYBSH_+>d&bX8c;{7;DQHMV z1v;S}8O#owcodI!=YhgG`+)L>j1Y(T3E+QVYg%V#I}Oei)`g`7Kg;nq4?U#t4eROY z_1R_QjhX58F1}fEgAAc-+~9c0%U*8BuRHEH^I+6&8)IHq7`Gcv5BZZH=Yc2-3i{rC zdtJ6rV)^CHa155U)n!`|9c)EI#(=ChFPF+mS&(_^BISoAQu3&)Z?bEyIpzxO^z?tE zf7u59-H4YT z7aah^r|v^OxxI*$oCUdg-+G2}j$CrxE3(|mRjc(pwYe*v@pT+M$wEB>>khq6I40t$xs1 z;(O#5avU-fE|mFLT~GPM@eWTTtbEfF{Zisceq}r$;zeFO6Ha=5;RR(TI*vHrPzsQ^ zpd}ttIUz6PnyqJXLl*SY9!Y;gyGUC2jr^ibB@~~p1et%r)uj0!1xeeL%J;1TXah~) zB_H_BdyHLC-^Kik_51Au>N@(-=;zCj`S6=E3eX<#gBBcgAv-|QNIRiFpk3vv9bs9H zXM!RfnFr~LE}{4izn~-Y0r*9cg?8EzeKKu1&y?{?R1Ytu!$moQFZzF9F6yCJhKyT; zEN3ND`bAxr{S!~ItUwWeK4+TDD|y6owBho2%JVk@e&i8v#EWuX&g;aTaiBS6wCImZ z;5l(5ouo;B`VR7;uOk_JuZ+9>9f<{2B$N+(@A-AbfsEBDiv3;;1P#PVTnZupV*GM{ z8<~(H4J-yub?7L~B|v|f_SFd@mjHa=AP?dv4hq6=hH=OPC7d>W$<@=^>5^O;}q5Qh@L9$W?}=q5Y_iZXu&f8jTHSi)4O${08a zN{jop!nElMp{*3+Z@BW?}ch?@f#-4oq>(f!LlSJp&x$}0*hd_fT?wh5Le^2Dea8ykO*S?|UcJ9y}Tb#->i;5lJO zj~sR*B4(bYbc#=GpJTfT`I8THMY*J~Er;TZ<17T_-@kvqmyx~nD6$y#+)}iu-;H%C zs8Xi6;m7+0IodMiih2w=0(i&RPz)~%b-+r_K^ff4U}N0y;W_}LFzP#aK<5Nb^*Uh? zmt2C&w;+EM%h*#-9r!h^g2-EjXNk8NpXZbV{J@!g1NBEZw30tOp@$>>$_m#yvl0`t z^%xQq7yiR*eo=r?u>AvR3WUGj$uS3&tWti7-hs~@Z? z@ZA|dk0p78X40_&!v5YxwPo6~D%}kL`auTg1{o#bf+z3_y3&XMl5Y&~DB;utbg+V% za+dz!AYJmE)c__PXnzgrd%?lDL0ut_e!fMtXM01LVEYx%#6|fhA68?@C-HiHdHh&u zB42-=vkZhI%VNJ9H5f4bvV!E_9Z{aN*RuSjoQE+s6Ef-FFH-)jjDRD@VIb)O@)t)Cv<~R81GNxbZpqR%q2rGvN&a0D)V!Wg$%0XKWni;SBN^dn@ z@8{KbV*De|N}%}J{-SP>bv+W~eo23{?|{q;NPZ=xf6@YE{KQom2Bd#J?*thKSLA=2eP0sMKm1&!vTb5#V&<;sKd+PL)t|&K% zd21SEH`e(WQ@i!-?zOh|4iQ={;a;@)*?Hxu0k>Mhu0b*P;qr?T$Myzj^?kX@n{5vI zPt>T4`V0QWep;R*U2ctv{k|G)Ptvz9d#(m6e+h2 zW^kqa(8)aZ^@r?LuX?4=>OX(+#1mxacu)q|Z_aiguE<2Oe&;*iX~Tnq_KUyxi}s&? z^;i5$<=`EWV!yq2x>PP@?D(O9Srhodb|UHnGN~(8q{xQ@_@o0!8-sqC7i?FdoRgE& zE{|+Gnv>zVufN|0hll<8+jsoHJ6vv2q+IzGK5p$o@m!o|o10`oNHuVR2J2Qlza*C^#26laox6+w&z zE>`%ix4*?+@cesR`N!bq+zIl}$^pO3uH)FctIA+koc`pk`sUEM!spY^hw}_9?Fkl z#3}+brR?M21vA{qWB3J4th{+z0k{dHPPXHU4%!>W5Jnj?%GJfx=XU?5IK-uF)Hy53 zOeoNYV>lCsyfUAxTO4uVBWbB)$|8z=ykT1`aeSp*IFUmpdYC|?uMPPNIsirWcW@?9 z9&ms^^CcgCQ=xwW4`BfQ>6iZeW}nM5arCnd*-zrnbMlig zHo(IHNgF4_hapx~-v+O`+coB+e zvK`}>4#>8f??672t_YRyKrwF81s`}PEYtAAdrT-W-VsJW60*R!id+&WUE&C!pNk1N ze=Ff7octFu9_1kpzwnUfbl|5xNE`eOJo&tR*gBV2Tn1-<-*SiD^Wqozmw?BHE}2XS zTbP*^J}D9{oxX>jSu_;AB@O1gG`N`tT)#(H`PSEQe|&5+V8CNWGx)H}m-gYGD?l#b zA?VN>TcI{w5pZQdX=xnHX2WmZDK>mao}j#-v|xC^L+WC6MMlKLuq%XhHKNUh41n9^ z#^ZHS;$uR8@*HH)nEMXt7*UE?g{iJpIaZf!Xmm)*!K~@kZ>I8k6Fz7Iynf~IM-ku| z*&v+fgp3D&l27o01H^rOd!o)ndrfV<^DM#TL1jbkdzRl$-2>YH~(5tQf>9+zK1Zet=X@<)3C2LMhS^+g>9V63omi1Nkx zqd1>LJnD=sB7DIbV+Ndj;W}m3S2slnN;(QER~thYThE?z*PZsNSG?S}b2T;ANoLh< zrL<#2p!|X#USX8aNs)H?niIl5i$u;6J=2J$~Q_IU`+MJ^_Co`r0%U7;nmT z83XZri8cWGpgUHUWLT|ItSyB10(}kb6+aGE*J`Xqj#7sHHgsPJ$T#_e1Cm$#x^AQP1|8Y2;O~8%Z*`Pjq-Wam z%2I4=WCDmj6dd#!qz%Qo%zMI$&-wdIWdslT5$8&6BGcz@mT3Vemv>+WH-B(nk(ig# zLI4pMAajd~noVR}vUanxOoS9Bi6J~KAHs>7vnkAMXI!!+PR3)vBQAoS;o$Q;{k>#0AquElW)Yy3dE0iRBQr%ggZC%kB%$SQr-}56zNdF*KCSeWi>#y#(-M^!WoTe z*Os0^QUds%bVZ$&X7)>U#Xf6{6z=Tr?cMDIF*Dr^`rHu3mMKJteShtq7kEm73S_+s znJaVPXExS}5s(LtI1w$%j^Rg#=0+4}B7}!4EeYof#zwu* z&r5Xo_PX+doQ51n{(s>x=0uz1fjIC4rH7ecW_k&yFW}eDkw6~wg2PLtM$Ps$Den}3 zx}Y6#z`Uz_w;eou#ExHkO!U6Z&ieTdW{SDh2xDcz7BmBV@PSims%gSD-C4Ybql#~3x1rQEzC_8*` zW2A`VQVbp!3^Yk7TH~{Jn+{h1H%J!54Ccn-E(Z}~2u+3AJ$v@=|d?oPL5&VDzaK-IL&Ay$9cEzCUeVXtxlg=y{xG}bu)jk?Eh%vi& zSoQT&|KgpZZGX#VWJs|kauJ1E${lB{P_W^he+*6oAXol+NrV@g$Q%0Oqm$g2B%@e) zcS?@K2#_Hmy5SGAh?K>Zb>%ZXGbJ2+qk#c+L&i{K`uq_G0i~LhDqMpc;56k&VrRV`qt}13Y z_2(<6q79kyK17aN{fJK-@KPW6^PWZoG=c|w8IGe&0C5O&IvG<7@5CcLxN!jf3B*l2 z#08Si34i!UJp7{k5r??ZN8ulBr3^(JMM&Bz;Y#s~03AiRnl#@mJQL2!{PX=vWvYbA z^Z+6kU196S*Y{o!{xgiIt5mo&JP8zBACAHxS_ zeY-D{AMJ|1j`j&2{3_{xCRziYEqrGHZ}OA&5Pv!#`Vp(hp_kx?{s^DxBfWgejxZ)E z=}#KfU(uGq5p}^NX1NT--^?%HcY+pfNVe25`Qb-!L8yq%3_uc<6`deRyZ{zk7b4Se0YV^|XCP+ps}t!AxV&>+ zl|aymvqeY4zkhRp!JWa(Zw*;fVKrE@ypFQf+1?=~w=`S3x^Asfu2}NsTLMRqUuPZN z-L@h{dvtun72{S7!ZnJ661uj$VN0u9wtsK`Ve3D9%nu9C%v`inPdsAlE3v;=z%o_{@c>IrLU zZ=>iw7%t15>SI;u*A}L2 zP58X+sZL7l718S`bB?qMNFXf#N z%q5UDaTzqg?z4aVlXJyS%zpxT|0R43DgcTdvIo83=V(oQMVWYfQMo}ym#m3@ z$k5uxg4(d!fa(s}tKC)SeIW;(t7TA2nj||iIFvW>>6f6C&X-k+>RK5k+)||c{>cyh zp!M(Dpv;g-8P}NicB$>!-md|cJbSp=PM8xpYVJ|Mt{JZ>Z7%@Lkd1; zhNSGbwEBT&_)DJc?X4=~ns3eNmi%z0t4#()JNul$qjFa(9p47&=~X|bT$pS@>81^1 z+;cXnwY5d$t;m>Y@I%?~oW9)KlAl)ySwXhoDMkcgyrb9?#xDo>sZR_8WDkRYNh0FW z@3LyPB!d^@0=eLO2!EubZJ%5;TwCl0lqiAEwX}KtVF)WTuTS!!e$0e(rxFMlq>oMzEhjGys%kGxCU z1mRYxJ>+l1`JV?x8hEaRO8Sa%u7>s~>*X#XpLfc?h`TZ^ztlV6<4g%ilkup3;=ucm zlUQL&99IjB4Kb!6-{@LN7k)dHAN*yP^klwQDi^pJH=vP85_ARt|11|};+Htz2;c=5 zVc^5BTvpNn#ee*Ff}|&(DJOiS+-zlxJ^6824ef>)I3_&!?iQ1#^wX?Th}+&SP>jKW zVHCP(lnLM$N15_B^9Oj&I5?pAj>|C*DAErQUg?*8L;4d3NWS8i&zT+>Du$;&zqEhn z1^TCFLysQvK_3J9&;g@-5b_lA6~I`IVFHi9TYp}?jI`)y&_H+?FhG_8I-_5Y z$-eiz=QphCmRoMw8XRRtTL!{*#|V*;5C&!g0U$7$6izux8A6FD`-QT>F90)O1o%js z0|D2DQ7A%lpjZ$6p*5S@{nhMcbot3RZLd^V+|?XtL97;yY*0PLM4GI3j^L_*8N z#E9K-*PZg;@GTbq<-feg{`61(%-;9D_t{}7?swdAoBS`?7ryXC$HjRK_{psI{NlXN z_VRH;J`z>K42a}FrDdm_ujKKus#+9XrRD#s62I5isW%K!Ry;(PI>Cm2#x~n`;IJL& zKj;VdnLVAFin9$H>#TloK!3&_`I|4=SHAR+D@tGZ(ibJ??Y=FE8C~4S$f(Us&HElw zXl0;4;qLY?FxR<)H#0LO#i!A#WYCXufLn&foNsMHo;eIYE*i@RmWwh2kAajO;_!<< z+sc%{Cm)J(OgOYe+YqjQtuO$PH3onP3rBp6b#MR3j?!?As_$b5k8rXo7I}tjfR}cX zv{Xq(+|VXeI1+a#Z%SXMXUVrKhw?);Wzb<3epPa{wxM>f^0RVD`WhM1bxmBe+2kuj zDCW#;ql}{5(su!r86M9sEnBk;j_?10@3Uh^kBEp(>r|ccAva`yUj(|+J3KmO-94%o z`7v`(Js=Z%_w=cb<|MAF50zs^_1da>u9v)V15$7{&WKT7@}+~PuJ`QO<6pT(xjl5? zfb&y@_x6b43?EQ>kx#(eJK-uPgD!krUtKc31`j?CS|f`-)2DFo0>qCxh(U^H$_}s+ z!zv#)ivfgFH_#h@XB@Zxax=B7Pg@Dc_;LMEgC!H>B7GS~uXaHU)({XD~e$DJVY@e3Y)b8O+6eDgUS z@0kXd&&52_|C@nI8viypzL~V&Y?>>@f2Q&iwv!(&>Ws0B_i|XqCmeaJks*o~{*}0{ z4rovOCjH1%ndWZ?WSNi=iposQR^k*_6 z`uRBjkn-+-?OW}SzQx;x{Fz{6d}Dm3&nA7by%hl*+4g`eH^6W9Z}bP`!+Vjo~t0Mu8Q(UmS!Gj*`Uo89uDW4K_X9yM2pNkCdT9N00g;ViY3w&qEJ}0(B@|s zJbrV3Q>zBmZYiR5QeaRfnr&fmN<1Me26G1Fun+;tL-}y<4ZftH1Ms2DtEf2Q!6RHk z@+5gr8m|jx1SLOQy9yDkM6ktZTs&D;VOHmU)QIwf~ogptull98%G4v+w`HMV&pV>!NhWsN+ zGA6h?9>u1ut;=U(nRSI8W)Xw0ofE5iyA3M>=7Ul8o}l zU!7=XMtV+40B1bzdH%h2sQ-X{>`(s0m5saZdaj?B_}It($hTk6fnk8gef=TpeEjNv z`AT>C%qcs6=91MmC{OYcT^lS5s*PZ~)JiGdQvLA0w!(~wc#fqZoOKN?wtG*%_3l3? zLw1kqb(gJ3PHI=;T*dVCsB&AELe?uqv(0}0_kPFjzUOZH(C_~@`{bwo%D!A=7|jXv*d)oh9da5GaQo~SNSD#?o(bN`@aDL-VHugSmtyWVCmc+m@OW_n7-;Xai`a;!42 zYS7Z$Z`supT zssO;ZDVS_PKDb57&yI-yjV(={7knWuc#(bRBv1J1hLql!P@+%u3l6-04y$ZI{S)Ev z7NMda;`>1Ghw@UF$UXRJPviwZ6Y|hM`DH(dl9TlSP;Qqk;Y&J^clb)0B0g^yC0wKf zS8k~y3>?LH`JU|&w-a2+zX(~5Z#P`duV=@fWxHBhD*2akn(yB%uHXY{p*Q-(ugrnTs}#f5sVMv_EkdWXgb|er&@9gNv^y^BVp6TpkzrUgg3CqJdiwF@A z4f4zcT-h1(OgLc(1b#RMmDct)>)+q+2ZcNJ+}_#gD+-qe2ke?_uJyydD16LNT{wSU zg2R_saVzEz4DtwkwzElurq?XeRo<1Rl`-Pl~C z!F$}!oPE;Pm)3mnY-{VVzTW*Bq&NWBqydI&6Dbpw7fho(l!IT&3|(0+%HzC&e+q|x z3`+1dg`UdGN(Okwkse4sAq+fI>044bnQ>*y4!B0dmwEAjjk1G@t6+h|MLK|A^7Snf zf?{6Ch%XVAo}rhOh>ot^K3I>93_BnF!$wA=_8OEmm*|Pa#E}K?1f^bjBm$e9`uLA;Wx?` z`Eh9X``_^o?B3@;-_J|=#|@j}KrqI$GP34|Hmh%Llp)b+XVri41$GWv)1I(KrzT`T zQU;Z4mz=jV;iug2XF&!u{S3-41~G@Q8yo9?-0*;gTG8vgm*W?O*!vAV)7L^TgA8R7 zLdU_G4is_Zq)kQ>?G2t`5O9tNBO(ER@KG1!ha&BCi6-ZPaFH*(;l14MqYNuDsM!XF zJfzV9`09v$Y0s1`lzav$#)c~YhD$xOWop;Z4{qYouOip@p+IC^@Cz+T7c$B(eJA~Y z7zPo>2rEK-(*oXrgRNxTkQIH5_^3Ll-jW>Y5AZFS$a_hVA)k;l`c&FPc@I5&$~csP zGSe?2+t8NbNgKSvQAb4p7eF~lmvsPM9Px3*wE3QJC7hK|Ob--se7oREG+qg!KfQWd zb}9ona9*e4+0_8)69?&#Y5J~sr=Pih9B=S6>X2vBhTk^>f&cFcf+qAXwhhLm8%ZPO zD9YhZWhnAP|Ciji4#~gFlk%6c@Vsz@1GE#`PQKHxCcV%@y%HzeMfBHY#%?&btC^j}jcyS1FSjn+BjfTl#pA3f=Y{l@yl2SbUHWUp4 zSpf_PJSSgx2b_ljc;t;oals*u+p?4%rAFVfp-TfcEoGR&kQAP;g^~}D2e`75$%6r# z=k!-D@{hdmUlCvT^&hZ3suPUU@$oSmxNyPq@GU7)Uj5Lu$^(8};-+DLCO!av1q&ix zmYICnh6TNR)Q?&7flGsKsMR#Y3Jz)63PD`n!5Ib|18A)br~269jO-#hr2DYAm_*O8LM+|gBOuCqUx2(3QRWjab`wtwn{lZbrs*8-(Ii=rH zdD;H7zP==-X2Q4KG}Sh%pqn;7H)T&g@ioYYDrk398|WQ~=(*qeRf z(vTFvI$w=oR=d8w$yZD+UAp9kIm#7s$*e32`KDx zdGe$y+2qR#2gcjsBZvITUih=HIOobT3Ni68wBb<;XAzVKSGexox7X{4L&rxCAGJ;? z@@(DgP@lzWE3`2q$knY2iwia{m;ZVOZ2`QOZF>ee0UMX6dj>dBZVRRNN=SS=h418- zxQlr_6M(-MpWmbtD3*h;B3uproq)OkZ`Rq>(wgz8&uBZb(nr0eOb}jnWu2@pxx;2i#;7#7Cz<;j-eugQF2mHDzhoowyZd?1 zwW*0Q`|=k*e{bzAZN7zIabekdclTM}-ah}p6ElYFb4IDWbm^S2cYI@gMaq7Q?cLAy zpa*S!fh!SZK-4$-mu!*arIom15e0!;UYHT(mK)wF4>W_Hfr)Z4C~?aQGh@u!GT7q> zU*HvSlAjE40Q`cN>EIWRX9bFm4I3Q1WTP^e*mC82f6cveRpDEqC;-K}%I6S)$ODBu zgdzk5w@1ou@18xvStI3h(#}h{MoDR`XDbJL6_r+vlfA>S9SU3sUBS}UUvXtB>OPDL z?xE)azumpN{mN0Fd6t`<6>rs1fQNKpq?HF4C*E0rJmDw)l;X0@tZJ7Um{h2cT^eP` zq?b|ue?*e-D=h|vZ+Ft*AVqE2uWAhdH}yz*lo!6k!4^9V81QnibxF!S^2Bx*lrOf} zuqDqG0U4`nn;dv=vm?ij+wqe(TSr&7%}G``!>}xcov)1JR-|YE^*{>0ZmvlwYL((B z$11@h1D@!f7Vp3Q*yC1L(`ZWztM;yU{Y&fV+G}SA9)I`iKUtaR?cHZ*&z_YLB1KO5 zceHj`mFo1;rHd|aDB0ZBL6Yv^XCsA?p%{ zJi*iCt@Bsl_2MRN8SqPajNb_7IdQ^Qc<%V9GyS3TasI^p96xEPMB)Wr(t?jTygTR@ zqodgOWPdnx;|I{eG6}(UM?SQ;q&AG9$$ogBg+^f$uht|7EgEn;+q{*{M^fye|VU_&M7Ww1_s5%PP;og9kNeH@hJ^Hz$6pZ^PiBqM0ONmV8l03UN9+ z+U%(Exc>T+QtsQVPi>JpM83SwRJuKVecp$_h<{i;LRLdThA!%!kG;{iz&mKekf6^) z7BCFJwV*zVxP3B8x@5Tchs$Klc1vCXw)Qb&i9>mZk0?`a9EoO(859y6{LVVT$m=X! zL5qQlKhMzOZAG|vhd#=WavZC`ZPrxED^^OB2Gf+SO-$;@n46xLv7x>mB?#J6_UIoe zKY!%|z)iWqO`Mb?wkbg)<;RFX-ssCHI}!$86;-&PmjPStM)gH}!Wf9zRvG6#qTfvA z9!H-F5a06?9Vvsv^{>OLzho;NG7TPzKw9FYBAS37Vc?2>Df;o9Aj=qdC=Fe0x$Fr% zhm6KEknsWhGF{RCN|15$_nDwv&N6*zgnuSY{NfK>P5#dY;DYz?FX3uvO@L<71JFi0 zN5;c&L=MVyR{nk?L|q2J=PWPv`i=Z9$1USbc_3Z#GkLaCdi?lJT(miOL3<-TX@Lv} zGEEU*<^{xWx^E4Nv?cId^oKUGDnxN8#tX>!5s~Ml54v;A%4gDLo#r$C)K8$KE`KO9 zcp@L-tgOV=M*5n>M_3U*@3;i~NSl38&~`ZxpLjdf1w)eVWtHtX(Zhpca&BnE)9))!v-=FB1OdL5J{g% zK+fRCOgEh@abP~i1(^~r@c@J~5Pvb4;TRB5y!q{D@37IC3ESJZ$7Uy|oiU_B`6eGx zp#i>01_U2lGdp_pTHCvCpDTPA5q!Ap-sjyZC40dB@WUU};Mn1vKl^g`@8|2ftr{Fh zHSkSaQ){D?1Px4+Q#Lm}W1H$2YSf9hbobb?Yp+$VboOz@-~PS(Tv21-T^-$!GNyr! zGElh;dehSr5)xG)M#bWi@*lKAhYmTHN`eL?e`I9XhK4W22ckT=>O?#bVTtrvXXHUR z=^4~~|FQ6fe|A3HoU$wft>60g?eV?V?5RHW)Kkuvww5N_SX;4m4jQVQ7d`B=7FJu| zU{5!)95W7WZLOkjNs2~%A=nS>i`M0(SQ%MYTn^`Qlay2v>*zgVuYAQT?B07{VCOGf zvakNlL%#Q%M&`4h`kj)zRI3x{>+6!@f7oIZl97Rn=iR76X*zTEoD{H0)mMYh%wBim z27A*R-(ru+u$W((@pdyhG38(8W~SSX;<`puY8#uJuqm}C6d8CEol7V^C|*^3_(L7T zij>o_ks-;H%7KjOZ-e?Q$y)F^Izi{J{8L_W_))DyQ<{Rz8W9pmxi*IIL9d;uSY{>+&(_VB|G`>Z^9p%jA;Ag?S3Wg-rj zIncLtsNSk=)dq%!j03<8QkuD8f9}GWvo61Wqn+w%bYw(^iaNMx;wjExj=sE zTjGE<{TsYv<%Ry4z6V^s{YNr|>`_K0a|ok914zee0q+V{0Uh`=$m0m7?C^^Gc$W&{ zhB$2zI#}tU9|H&VML)`F25kl)4F(Kfy+-UP59x^OD;UZb{P=?t;}pIivM8J6pRz$5 z3+zAoDBc zdnKNchO~?e$a-G2OgTscj?63Z@m|E8bqB<6x^E2cTFr%ob$;sYx4Bt5u^!}uFzDz`O$kyGlvXy}s`m(NK@k)Me-0l&lxB#!h;d_XZS zc^BWKJh8f&bqK@+YZ+G<5h1tKJ;p~EzrkzLW%=<#rzzuOtJIAAx#l~r7f)Joyl1;j zy0;HoUm6^{OxcV?e}Mo8Q8XYb2!)M7-e;tR1cg74GJw~6rygmdqk%XIgQCDH0s|I< z4aMfmvV6F!xl;qK2D$~Gy_@%$Dd?bMpIexhVq0a`9zSk3+;o%QfBxjD({}3A8Eb3r zvhV#z|Jc6#z$fhw-v55<>~8a!MDn}ln&YCa$u13y+KQBfe_B3@Rkvjm)1!Vk(blC5 z)Hd0{y$7sg-(Hm~X3p3z-y_4Ku|dpTS+cd2RhwVt3)f=2c*3j_+oQO`lhuuB86+r$ z7!7;(?(uSII}(kID`^pctZW?M%X`$B-Z@~7;uY;JEZLr}-7>ZgNMbkr5HB;` zD6vgV8Z_1Uahr?J-bztqCdOA0L_2w*915G~#r3D5j20Tc@<|1i*;rO0_~0DzDJR40F9ccj7sVnNCf?^&NbXE=a= z8-<6!huoNf{Fdyl=Vr=38QALgipv7Gi0LbSkT`Y34Q8zcDh z4G9zpzC+R{W8lF4em^tAb~Fsxbs6KdNyiagl~yJTTbW@-{nYs4synpMaC=) zPRb5|m-a@U-UqEC??G4QNt?_WXGyxJr4Oe6hE5>cs;`ojo&oUS@Pj5G<(Xf?fASs3 zXZ(R;oXm^o^e?8*--JrsI{|UPOF5q@F7XmFUeZHY>IfNzUy%>rDqN`ySMt9aK+Y&H zF3S-0d^J!ma}ln@!y=u;fls`rAIdYb<$aI%6J<{te=gI7AplS&a0DLOZq*I{FCu9&n?a2Tz!} zhaarMMt#$dV4Osrukp-iUMOXuK%9pYsCq&vrG+_oWce|BKV2S^k) z&sY|UAFAF8L%x{Gy@qVJyQ5E z_uKf$p#8g_{~2rR?o*z0f9&;k=-?6MykY0gKCJ}TYVFvu zYwckF0h=hO@SG@T^f*9tyVnXYrq&FC^swOe*+)hgMTQ})tl;U zseJvh{R@7l%Z`_d^(83;rBuNTf_k!zU8~mG$bIpu{7nvTF8k`ho|@rOaKtbV;(gWUFjtP(5=NVO9o#s^6+=n{D6TYpkKE z-R`;fg?7iC&$atM_ZfTO^Y_{G)R=JYvwiz|q*TsIP8Y4cf1}-R8sp5v>A<&?%gd%-{R`d+q%B3-Z~rg$;EUUbaoA3+1z;gL6K7_-;iq zgMx)TATcVUx6w_Tn~%e^tBaF1D#Z<1qyC8F^{KLlvJ>@J%Ni+Y}xHEA5bSQhzA$lojIvLxFN~oiM+-Er}JE z>=*j_fA;z|B?cj%2vGIs(m0Yp8)WhbaS78 zEBxUd+@vADh>Kzt@&Ls4hfqk!ADkzN>NB|KaHNiV;|&3euE1fFpjpFW!NIkZj2_43xeavY$DV`nJK_p?DIO+cBR zfAFu&J7po|1RzejqWo0S9_^O#NAbW_+MR(ei$76){8zhUG8~V<4wC+WF@U_uHF;aE$70!N+mH;tEJOH5zXBd0`vSEBe^037LnU0E*X1>y;7b2-c;@&J?OXN z$B%1pU$#{-n)}$fx1HH=wtG-6ly($21`!TE4_+FO@>1nL`cPH4 zXbFF>La*o?u=1IFLtx5A#_IZ#_4Vwr<;4}BrEG3$v7^@>vnm-f3(9*~2G{J|oDYHk z>1d#U*Q@H9`V8EWM>>E((r-%gJx&>inbB1Z;O*AlwNLoiQyw$UnU4H;e@1vI53{#C zbDItg7dpVD|F&u37Z-epnMs#LWKVx6J3gx~jKm|1j>K68NFiI5^2S%Y&!0ahV*%xB z*}vw?>H)y)C9|wEQ!{Q1wRZJMQLMM)*WF;R{mwT^*<7`+e)U0n^y?3MzRd8lHG(f_ zudc9#k1wLP`xnPgpE_+rCc^{5TII8`5C)Cx!KR)l|1LG^n7x&fi;}F)u)U+lx5_aC zJu%0ZfszIp7A4Wa-qB^%!NkZpbrLaaPdr?-^>6H#u#yH$e_8U?$fc!O>+b5eH@^Ax zcGq3Esn4l$!=XcM7vRRMix)4tQjQ!XACi6?ka_S+J7*FlzQ4kDmN0VQb4@L)vNEXE zuf>W+wHqsE&YrQGZ@$^jYTbJ4?drUnZD3%~(+>>|TB{6@X35pq*rcD+VbxB}q zVWZp_9~clLLqnI@lLmHw>;%wI36*h+ajt~tnE)EVLE5CB_e#8p``Ku|TF5;At|80u z?0H4s@Jx{MmVCMrB>%FE@T{07p7D?VsT>B480gF129V8|T@K^^o9EXv(+MPRc(HnnVS&y?yJQTP&XfiS0UMXslm=mc z9e0!riIcb7ZlC+?=WJSo0fiG=e1E!c8BqmcC_oMt9~r?II!#|<6T{=$K@F%vPsv-)!f&pTD}vZWTTIrJOzS z)D!mE`|r2vtu^cJ*)9BAuCV{m5B-pTjEWxn|NP{STa^^Nmevm6Ms)P>F`Js2_JOFo zyHi5IO#iGc&Cc1p2A|lv)NEbdyX~f%Zjlm*&{b>DY_YB$4VKWovh0UnSuI(S(7|}r z5$@q%@ofurt^|%vj``ULt}sP;- zvi{8X=gU&nc)>~#8x(Rz&l>?V(n=34RBTjc7;`-1q7j5J;m>affpCcLhg1iHqr+-n zHFo`p8+@sr1IOpjo|9n{*SvxQR~#(CQ^cL``HYL%v=}&9Iq+MDWHhj)f-mPTuPdB} zt}+rILFO0W8GOuqqBvmCp(rqa6HIyWL+*0Ml(_h3x`^YAfqdP_ z5pU!a=zNAxtE$7bjTPSuPv?XDPEXA$-ioz!^x8Y#@dGl14%?%TK5Wg6&30+vf}KA7 zq_C`8PfxpsjSX8{*i=2&TZiO`Ivu!p!Oom{TE^zQ_}nNXgIhA_*yH?v0&NAEavsQW zh?=c#^j;V&(9B_A0HgZob;rHUaE^l&HR4fTnraDHoGIq;Vr#c*4k97d>1@%it7S0cON6&N`6Jw-Sk0X_&xEKJZ6cp5YH$ zDfxwOv~$w%jx6whn_H|XH!=r+lf0mh`0$kcC@b_+clePnhCuYml26GYlR~U^s`qky z!~;*UjS!!{o(UedS7n}rd7mP>kcDgm*$$uuJiJ3Q5UZ=vuIL}Y!QdSDLKz`0{`eKs zM%;3H!5>FFfM@(OP7xAcC1jc+WPS-d;ky!0uA~W9#Ffu~MH=zj$^Y*&6zP3ti2n7N zAnWwma25FkUr7gK+6*h!Gi^{Qy{!<3_KKc{oDn}|>)G8EoXqkp1KGn_F49Pou-{FApqPx#@oF3NRWFeHxNaFch|(^E4xHydBcg|Xb(&Ig;Q zn61_5ce!WJEnu4#m?5yMa}P^#SO-Bcm;#$I24mg~7y28D-AySli-FFIWcJ~2LF ziyKmWw!{Fdvs-Vz!v+Ti?STjGmojSW)@)S+M|DlTosbfJ;NW3)x7eZv zt%C=D4%lwdRHp_vK0YM_Xhnv^vR4E%m@t0m(un9BwGIvH7z|4bOST{-+}o_EW@ea= zCoy}7&@j8rK+5ynybKv;@}wMN5i-azpi@b#YA~bC9$eLu4@$m;N$eplilHlt;%~7c zvk_&bCh!iVAMssSm)EUU1LeNMhpf3>h6{p!wYqNSPd#ZflTs`iLWlrx6!XGApZUF9 zh=@<;gg-c9Af{aHT|LH!(5Pe1pOA*MICu*E078u;9!3NT016U^i`inqz>Hy9EGM|2 z3miBU2yU=pf3_kzKAzdy1RvRMA{L7Nb=A9gCV9rVK$d4^bhdT1TX%b>T{?Hc7FXtf ztgX4n{`J58S$o0DUT%N-7k_4-`uOK%1YuxIOU8y=@o8!zzeVBPu&(xQm3u?-Gb)2~ z!0XvR7KTwEqjPp~%GOi|d~I9Vi*}Vq^2MJJxZ#MM<12Zh-}zPQyjLa9Kx1R88>$Co z5H1TRAEP7Iy2?@|8DWKhZE)NSg<`mWrH*4pd|X(VlMH|%j0FIG!B2S2Z`Lic!fyh6 z&NM|}*1fh4#TuCo1q}dKrcb${Q>D|*`YPsw%QQHQTi?1TS;8LxH(L%j*F%OVhj*01 z!Qp?}JN_q5obZ`)6j2mjwu~W%$Pb5}**DR9~Hl9?Mq+&qCN3{)MM7H zvat0ABf@z>#>(GiM0lVLe`JYYXrryVoavV~O&H2?DwzOs9%Zev7rfvFqVan5r<}>y zRHx2%%3Z3*8GGoF2mOrA(gG`E@tp|zpM!@Es2}UFQ);J7f^bXS(W6JLzyE;hb28{qPU}6FYW)^pJi23!nF`ls#RYE@RL}ohP56i*i6OMmx{c5A6+l z3CD;)K3owO@J?J-72qib5%ozL_Fg0ZY#C*8h%*o12EYe@$QK|jwMbgZ4<71;XJ|kH z$~FyuNsmka;AfNrywneXApm`(0~d0T*TwSn@{B(%{?i|19|UixPtx&!4h_(lIGuJ4 z`iz0B_JJq)l`A8}qu$AvF!D?pAs+tZ6VJ#yZH_jAjE9_OnTT5n_=69Z&j5K9)1*Iu zf6`eAMH~tEB@}T!6J(mimpHR-EA#k&3&6Kxd4MeIvzO@``^#??$TRar7f8i5A;WRS z`a)p@XoJv8c#&@Er&zv!XD`z;%R(joogmv~n@d;P!-Of9C&wJu48X0&IC*=y@ zIob$sm-DyCkIbV8qy@aZ?$8NC*P+i$+(B#POFvCthD`W*SI&HY3WBC`yr4Jo^o0VI zgZ>JV@Ft8ni63BVQ?-=0pXuz`>jO3Z492m4zs|2Pz3#f}T*2c`{r0wYzq!K?+9|A? zXDNIPE-;tQxv{y?w*+uz;D81^uh5c$$)G`;Y3}CtCGA>u+6!WPgB{p^*bX1O#vXd; zVf*+e|5Alrw*CWuyQM^;2=b-U347h^UTsH?9JK%MzyC$iyJ9WvT|UrtwDhrBnO)4)mvsH_0Uy->w89S^> zjPnKHc?Kw!#@QMnr(a1JHR;cMT#fS|D40IDq0Eep_?4W0tcXYtQk+`<=n-4IU^L2c zU2V(?&$5+=K~r&53${ygA`x@(sur!}4ZuSNr>sCK6UfR1(l6gpSZg+FY<79lu0MIJ z-F(|EZq%H8`m{|;d1{dXwJrltqT*?w$J6OK8){L&@)tiK8yLzR{@iBN+1+E^-MiIb zLz%}PfHvxXJk!G~An{_%vSO1rzn};pFAVI7gLn+o0C|HGKUNrg#Y|zT%%xJH#2z2z zoEb?t!?Go_gblSa`lP^KID1O~$(*d$R(?6g2O+Keg;D^J|@ehM39EB~zQWgN7!3}sBDKs)&!X5r$#AMuf zSD43tkIv9LMzw3|DwkJL@QF4*J!yxJUSltO;S259v14A}$Q0kGIVr;eV-lI-8z~(< zo%R~_A3ypN|5WY2#?D;0V7K0Rn}5OjD-V3Z&YV5FT?V$caTpq-p09!9mn&k(R?-TP zA7wz9M5#qy!4orq)$Y%JQ*b@?}P zbm<)&4_PMi0B;VY{4!aCJU|a0CZ%7Xj5z8BJjBCg9pX~v z`Nf}jl!dKm#Dz9^Kv{@SKAATA8=ff(&z`;{FTB$W#kPV}B+C72KI4G&D~17;aS~5L zhG)8+pwd6zi+HaDmAH$~nRmi7;rUj7A@kn}o+<3vfV9*dkY&pEB2?nf^5P!~=(k?x zO8U!n3oX$P0~sg7^OyF3%yH(Bcj)K0_zWb?q^pDs1Bea_F83?bmr(SpEJNl?o2two zs7zZ4#WcnG2-=CCZHU*mu!!1APMFJg1ICn&fxn6?n=x@;UP=0%6I^tZy9U1n85MayuLV5B(>7Q?Bd=Pl7KI z_j3J!JOV$@aaJ~QCS8dic+Y#@6Dtz^*IX|}e8jgCk$@RJ6cDZ-q$8$tCt;lkrNgEY z=unxt_Yc46d2ndR!}*|`s?0lobQEfqa_1Lf)(``PEh}~PHEw*MFiuTRS^xgyzAfs3 z2R>)hQkJ@QcS|Yc+Rb_!9=xQ%@sPdtwXc#Q-eAA>YrkrnYfIMJxm!5)Xi#YJZ2&N- zt-VzW)`}|;pZV-(MEkNUSi80w{k+AEH{EP=^W54Y1*NXq4j$~cmR9b6dY|*bl5-X- zs~a+OCRGC)HZmL^x@)YHzi@H;2U})P;`mA==K^Z#YwgIvgHr0&HOP<2@|%#N&XRq# z8x719vt0&Rq#;pBz9OS{o*AHK*xsdq+6PbgtO^7lbpdbTIRiWIR3xq_P&@-UXaV`_ zt4S+cwtH`%HMX?-HzO8*m*(xUM<2EZDX56Uig-_Z1W)2hp-F+sJTpJu$pZx#VT&zY zE7sc1!TP3VHJUJ;yNzHuhBE< zaq_&3UK$Y3Z1GqT&SlAGmFf)|IJ3YtoNMc|cIO?>w-0~hBX;VeBI`kr>&_$1|~{?vS^mEiSjck`5hS^k(^fBo8I(#`_!lY+P4xVKqJeRTu-N( z3L`>(D5-bedACivVmR(AP%AP#d|x&)CEA!ZP;EQy!eI4MemFY)KePvbzVKPwwV*mK?VWW)L4O;} zM2QCPHrF=PU&QJ|DzV5ev;~i72fW>QrhW#q%LEqMiQp^whgn>aH0e_$oUQr&5i~Pk{LD?oR`c&kQFE`U3!)W3B$(kEOoX>%0 zv@yz#^Y*6v@TUym0e9lWkM;^3;DbLL_M`uRzr{-1hw{z76-QcJ8dmTV zg93gM5B&JU56Z_xPz=p z_LIzii*Wi*Ca~~BeiJA0fUNKI=RMQ!1jNG?xA6c)xd9SiC9X`5tIUhC07YKoh*OCt z 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%0DgK5| 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 z zfB5w;tRSOU2E#Vj@n}=%3`Ia~nB&q+k#x3QpM3g>op=5@>gR*)%+t@5^_XN&{_9D5?%C(< zoU_k&*U5L^dEYL)@B&-9cnKrSmg%RY!ykXcpfn7Re$XX3%mADls{(WV%1>q7FR>wm zhe{q^VIxNj_1TTjR;@%lxQ+ui=u|)T!C&dG)Hyvl)$($3gU%(Rio^IeZTj4%pLnd@ z^s}E>L3XCS`Qr1|-qc`6Oq*zx7+*rkx-}bY%a-l7RWyZO-%t8ptMsyD(S3bYgYAFq z*ld?vc!`X~9N{|GdAu4V;8g8+a7H4(WTaQbl{+6H?oriwXGhuXS=saEto+f^_|0LpSjRiz6-EJ->V$|)l|jG{(CO`uGElLsTI zxbXOHFbXI@G%j&qC@Ap2iBiGtBp`o-5m=^9fvK&n$!hn7MN8~=&l(O!FUX(c`5_qc z>Yv+R@0)y-12-u;IQg`;v^fC<*us<{W$@d@u!x*dP=^=RtNMaVej`*po_%#cgn`#A&>Yw!b96(NRTEPG6eD^uQ00=>PUTK9KQ9& z5rI78d*X1BPlSW?5l_S;#5xd%^fB;`5c7#4=1G3>J?Y4^HykmZ3%Z{CV;ail9@~X0 zrj2((Zy0zVU9gcqR>_XE1MmM|$EO^NQs%G6sz?^Au@~5X+@MV&Kh~ zF~jSzY13vg)6fRsmT%Apf8jv>L0!z`W7zwWa!heOrAZi ze!H=!?>-F;JSb>AO~|)6>%fc&cjCly;yr|r2s*&sCq+v5#0isqpZ;noYG1naQvd#+ zr=IZoq@`ynfAtj~JyL&Osvr2rfFdvY9xRoEK>?KSUVaZev3`^qfAfty?SmT?vs0Y> zi=rF9qx3WC2fi2)XKPga)LC%J?mcZSVHYOk016lGFaVI2lIDXvVdu9r8#ZL9yY8qp z{bY08dnQkw=rhYKz(#2!{q|kEZTr?OPP@#2aJI-|DTr;N&C`F+JY9OOw^e zh&Xcc1Z%40+yl|W0ntof(Z>E3Kd==y&_CRLmyMAEIC=V1OB3$F?WJG3!v68(KYZ36 zo?9o`bn{KWx7&Yizgb38r|S2VuNA130kK~S*Y46C*0it6`&{AKC*CJZL}q(T{zXmfbsdiT3)c-;{dWAj6@3X6RYBfxFH% zS6}0&1}|H>-1`Xa#vT4e6L%q8KuRI3xn>6!w>h_hStUo zcROjUN48c9_9XZFpE6~Vuequyt&rhSVI@-LSp{D7Oek*e^KWsd!Tjj@W1^NW8%;t2G6eF2rnp!^fd+< zS-VDlpGO`{6qmd zp>4>Mi~NDh*L&zYO8&5+!+f`~3eg?|lWBtK_dkEX#pC_{)?00l^qzChJI~7Y?6GH` zd_wIMwhA3{*l260YqYlJHv9GuzGIhMeX0HH-%r|1$%w-z9c@)I#3(PH{-wHN9I*iX zlaE(8Ui0#EjWZXJ7e4y{j6FIRe5q3g4SA0mF-mEc+b?harDf%2xkn2Nvn75M0**0e zsSkfLguYZD{|Xn3@M17LB3OuUIfEM|L9uFEPatWb1%%gwil|F>CIzbsp~ zVXgh~k9P+}TJ4QaNI-v$1LKX7Gtg~eVUhaTVte}O|Jvzi%=Ou_MT-`DAHMyL+icF9 zlkLP4PVimw&OZB0mEUE{*isdvQMAVZxx0T{2|jmk6`^oA2=OJtJ0C2w{sjd#e#BtW#vtjutg}K+g;|>%^}&tnHd$Lroy|M#Tq}Rf zFJzc0w4rE5perQUBXNyHdNw{>-Il6Ky0FvbYYXTsLZNpaRW>N?oj%2k5N5iEDQDtw z1UcI+vdt<2i5)bU!ee9s#MP@28gzjuT%3qQUI;~$G=jsRhGhCP7z=86F+C90AcU~x zEL)v2iU=V=I8=-dNCTm$u%4s3y2^hUI*mo%_?9xtKVU#XI8{^6Oa=MjX*|p7q+#kC z>YSP5CdERPj?OkQGR|M1lY+Rgs0ro*tORB!P%;8zh1_@!ojJ@@c(h*e1LFb5gqRMd z%`+h?At8^@A)G1nFfkN!@J}Ee-@qeRj7$3Xju78*C-5BZOpWzoJSu}b`EY;H`THd% zxw3|jFS86VK5!cp!vHJo1#Iy*c?88X_=mEK0ll2}T*To!0b%4qOTpV*@reUWvCc8X z=icwgE0zn)(8d?P$BXyG;h8de=g)5f-(ujIIKbDt>{tix@%bRm6raE|abx@#V*FT6 zEQ9(IH>M}>jdwAA%#Xau2e^M|V;Bnb6TfqjUxXpT2K_=m(KU^415LjuObIv(OLZ`pI@WKlc zFiqAkCEYH&^fIq6aq!!{`|i8#t=C_&S;x<@^Upn3O#Y7&qT4My2Sp7dY#SYoRLY3; zAOJ`2mpc>-Qhx^d_RgzTuC}700e1fR=h?>}ePCd%LH1|R~u)WIC)$bZ)Kr{)@ zz|z*I%YV}IGOe?@-JXBtCHwuae{WAb@`Qcohd;2j>pru5KNPjgdExJVbEn<>tDo4` zRom>Y2Og2)EhD0#M&Bx}rlvyhY(=JfyM=m&b_s15XoA^=UAuNzQGS74c)Ke!Ma?ubn8~#pk z+7JxzXb!!Dc1X(w4^XpveCQhEmGuPlN&Lt!`O+m)c=Ii>o5Qg(W&ARr)GmXe#Ah3+ z2Qvw@8}Bee82Cfc&drsa7Jp%YQk3F2V;3KE2mIG7_g4F?1M4R@3s(z2SRh&5Dqhmh z4}TM5Z~vyc2K!|Ba!XM>He(?ju(5^ozM2|a@#!jeqv0F<9l4H=I(z_}6Hun1F>pp4 zE`B@D?dcERhxCps@^HRW588=!Sm+U~%~Xf)$u}7EVP=9|no`^yoV7L?(mgnbr=(~-Ux{ttfhWc++CBMtYM5i$-M8reBg37kM_=z+8gIAFIVylWDY60NSeL59nI87ntiVgCYaYmi>kvETmihueK{7MJ+_`=gsH zyk2?q!%b0rT)_IasA^;Q%GOOA?SH|CAGhIyhPzy?7cD>V=LhVgWgm$iKX79L`0l;$ zKHt>gz4zbojS_tOa#e)>!loe3dcC}03~|p^997s>uUKx2K3-zu$BnnEuDVKmvB-Dq zTEAhvXg?gUkdTt(GZA>ru!TDG&e}kZEx?=P`mbDTZ@fO=j-NHl`e%o=lYe{4Yow32 z+Q^Z^EXDhKgewF|1JFQpDy(W0S1QbCB%=$giC_wuI9PqS*i=;g2DH zi}j8n#*g{O@9{l>e19m5y2P~Hc~3fE;h8j%3B-Dkh7j{74$pie#IjjyU(BJ7R^Uj`U8Df4<{QVye7gOQWrhiR$+Cj;`^2#gi&O7h4 zmtT0s&N%ygJ5ff>gAe@KcJ171*~~;pNKjucU?EU8c||-^Zu|y(u?-o;i-r{a2>7`K zzQ+l81Lr;MCA#z(JKf3C`+~mrd~`-izLZN^gd++Saig&08)d+oaoy6#@LjJc#nbh` z9m)@eB+rBpH-Gq3Gosbe)?uSYkM(aGKi?o>b+XMo>Ii%4-%nXt=?>9Bnx|(#2p)&O zvgg!O5Aua4rph=(D8LU{oJf4Whdvp~^}8;1R#65H8-C;yCrz-SQs{Yy@&nJ~8#IWX zgi^yZrwk(tc9-rkc1K}Wnn4y6Ho$Q>g+rMW&Uby?jDOmfQNpgy1MV)>)YxKull%G> zi6cf1mmm#_-e4IDC>-jEwrAHK!GQ~9i*4Js-A0ZcZHG;pVVT*v?&6f4E}<+XI7hHE zs-2UQ=_7EQ6#(yF{mv(L>J=ABF<5V-i-yWDXtDQOcG+v6EV9`nr`R#Yxi+*r)$)dp zu%aW6wts)U@`f$lw9@(|?zbTWvaFzAhV>Qwb+mR^hm45K^i<0f&ubNKYZ|I8NrqjH z6ySD!qkG(b=RNl0pMKXqUbf!uyZ<3;RGrHzO2r=;{A#kzo7Tyw3WIFYe*}Aw1(7bf zgKy}Ok;6|vT`t*{YgbXWNrc{(n=3QnsBs_jDN#?W$*(L1a^bIEvpX z+_wtmciw)>Pbt3Us;k}TLkXlm#sL{hnpmBC5wtZT&Q9{HD*nWZ=^ z>>ztrc7EaGO`DDw=$g=n5zhl)^RaQJ?pv!-J;#nYzA^hBP&%5gg`C!O0 zqL1;4n+!ZF@Y+DD&?zDI3Fr^J^zN^LmJjjTzz-8-_+%(y*l33Ml*8a!Fy_PTEOi5~ zD4W2~`38dr53^^V{;z%GyWg>M&%e;mF@N~)bI-ZK%}Bk9^}$_?2twq45iV$li)V}@ zwqsqqc(J>~!2iaLpP*~J6ygH=>w|x_-4$hao($=?-hACwF8;{#y#9vkZO*BuNYBc$ z$x|m=V{4uY<?arC6VUi#fc96PfvAHiAXKY-2iO#^K5n9ivNn zVW;pCX3J@Z#s+jpX)Rwtw=nJ(8E7+i!mNYu{}N_g`p?!Lix1XWPn8KegkI zKh6h6-hb~M@gQ71vna-K5O{ph9|$}Xpfhk^x_!I7{?1#jgI;vuMRvmRCs@_qN}oYw zyX%r6B|aF=4tIU}N|zIjG24Iqv9oNM+I;GfGi}`Hkv6CxPxYh!_Oa&Hc7Gc-Vu+3$t<9J$h~Gzn@XIwjNXC`6>E{Al$?<(N(Z0rpj6 z@*CJA69Tu?je3C}(h(wI@}0P(C@SZzv7%)+usT=8l1Eng47=JgmCC}u?@7{Ob za}h*Wfk3`cF0cV}%+tRso}c*b_-B_67O00A5#o3!QyP9#PXdaD@9(bwp6TSkLGfx0 zy$uQu>8KZXzV}uZ3B2zOBXLN_or}PC;Nm@3tYawekdYMA^iIn?mI3_4qn`0Q&jfx) zVG{GA-3g>64=&=w-+#p6Il=>M5tiPta>eKPKE~^v2k^ywd4_=#2O-!yKjQFAx>&A{ zQi%?E7xTt_ZQO(jJ{^k@!RQRQ$AtucY>Yqx<M0uDcY{v}tzDHP`rF`!7BJv>h}1BoI61m}8tt?b)@>a`Ot* zCtH^WAqz`?r!AC5S|x%Cp5^KFo-39g>%+ZOj332>9g^@dud8S0ov*p!_T&?ftIiVQ z>C6xWT;Q_e>Ge!@&U4k#X-~GjWM>`HHZ`?49JFPC3m5_&6I_WD$wqqSd;$(yf+vH= zh)Zv0)t>@6bc}YIG-;9>kBk(fBtZk@$1Dc|lo?xplnR+Mo;UBwhkoDIE}ks;!K~+! zB_H~t?5}?1%c^^Y6&DpsQ0A%KrMydtVB1ezU;g{w=WODX!)*M7NtRzwBt>bG3?EMV z#XXi&)7i>8(Z-G$d(oxje;#FJIyw(m!jRsT0bd)oEJjl zc~gY`#qU59@P|OZLZ&VMM8-r;zMX%;#kP2V$zmHmbf`V|>@#-3`SWD>O|~67wz+&t zlY)-xAnp(K`xq%^Ho3*#eEkhyxPA3iSBRE6eG5qLw67Y;M;@bb>@#Q3hMoZpSa^pl zA1ozs_N-a<@kfhn{o1v*uc5_0ml3gW!9qWIoY|4L=f7?5zrVl+4jQPq$GHKrXU}eb zZ+kompeJYuxymdSo(#-Hz=NP8W*pe;WyOjWws_GZpH%`5c;6YPpYEf#5uf zzwT;#;>jniQ3^VPvCKrkh**2ZAfONS(=IA6!pJjy8pLpB$kuJ!yiGCY8Bw2g+;Mio zi6=^@O1Hc2x!cY@_iQ)D|NiH{I&6elC(O2F=|g>G*yIk#wXu`NT48a4&5%)lQavUHf-cD zDel1=1^%E+6&HDz?0g+J_|ap>7$;aWxDCEBC}~3mAmAOiQPGCb5BiDoH}$8jyLZ~0 zxu@FIS6^)vd&+%{$qUauXV1QW@SJfXKjpy_V_N!#>yI*4;Ge)0XWO06svb$gCvJsX zwr#a^wO^6w2)@P44m0n#>aq?9*#$mWYr1&R2ObA{RB!e&;Em)9o&xWM#)9sZl9T2$ zydQtC$Tn`-V#ghKyq$g4**%8z8e1Lm{iU}*`=4iQ;xS|F^x0>KKBU`9 zmeZcV=L2bi@1P+uVBpBmd8mvK1;WC5hp^KSK4;7xP^qZM<7ULs;ccoQvj=R=#?&MY zf%_5b6WBg0PliR88VHtugYp8?fx0QrM@Dtw`rw47fbkJKB!mfJpu7Y{iIGuuo@n*& zSe#hpZ7kx^9icOzFyDn(ZC$M!3(TJQ)R+)O#mSTMxTr4+Lo?yTc}8b3any7aWl<@DNaFz$+n^LwxQLUh)Y9OZ*@ZVqD^Ir+nb!H+SCo?i@Yu zzz1-$1sk1#XD;9XhXh7o0E_aV9oi4&f?YAf>VF|!c#h?OSK{)U3mAA8;pa{n@jHQc zq~$$<@*^IJ6Q49Cown@_8-aH`^Nx5C-k4{6 zPxvA%F&-i2L7E6l%!@K<17HA0{EqdA@DYzYc|_bgZS=e+4O=Ldi1Blv7y|-~?$Lh4 z$LQctGt$$3)C&U|To7X0L>Qq}@+3X5xgWe>Iqo?pYtv(oJ!a*5woB9OT*b%f&O_Vm>HVMB_KR=KvMy$s2sY1*0OS96Vl3 zPhJF`fdc`5NjheWHf`Es>1mmE*=3j7qD3D{L3>;2P-aqn0EE8Jh%@PEXHLIWhRTgC zfRn|i3#D*od7k*z;+n)(n1L4HLzI6=Y2qET4zwL-MX+`T{)`aEC?lk$!570|3$8=7 z?}PW>BgNo3-*%Njq(K7*iVp)%yAMRD2*p$WO3&$k+|+%)+LJcLB?Lct2C&|FcfJH% zwcT>dO_rURE?HAAL!!vnvo$m{8M^{)_}W^{G{v;?>Q~!cAwZA-IC;)o``UM}vsG)h*u4)tBpK9Yby6U^+8P9FvVFc`jgM|Z7qmT;#3*W@xgMhH z2`D+x6a9eMC1Fzv@&_`^2iPSSUu18+@w%;lUAIb##s<6c%FCrRkMkX5;9t0zFfxg2 z6a#Ry0tTgX_rGUv z&3{+Q>G{6P5VQTbtdRmYvfSJ}UoZ2*^UwQETf=00uw5}b?_eY|lZ6srQ?t*F2Tmq` zrVNyP6>Rwf2Dp1QYa;OV@0Z%w^P4e!hMg>4GJpO%?rTq;%v^2RvDs%b;4@n`Z?#WX ztn?9MW?tDwmq9L0XvWnJ9ufIU&~;e%cZd&DZ+IZ^L|Gnr5x;p)JmM32(4_vu?oBD; zmtp3BfdSIsCBYy-nC&$6&q1n7jm1dFeUhg z9`03wj;257bE==H$m@zb5$mc(3?F6BzxcA<_rQI=Zh`plB#;g-V-|t|2Ivn%c=RY4 z5km%tnM&c9Jg7H=6~Ms7;4(86qyZNkU|m{XW@E;Vwx9gy$1=#&<|!HW*{7@Qu}2=W zRJAkoPCJC1vVvCuo+cR6=z)5F8C=O!6Ss$ycVFerxh;%mV+{9G8v{H1y;*(X_B(DD zZ`xpQz4?~<{>jdNnTZ=Ve3;FD`)z9!4`JqVzw$?p0xJO;87ebp9%-ysUh(nA(sw&-{GjVvA|Tr0f{ z2^y33WWhVMbSQHffw*Z8xR+z4V*J-6c!2{QXmPj9P;KJmp>D;M{xk2-f6h=8`vT& z#N!=-`cozg@JS1N+yfKEAdREa94Hlp5WcS{swfK~o`O$_gz_kdJN1d33%sDb#5xcs zJ`>2Bz;B*oJqV$H+<@!&jeGC(@lGIa%!d%u^A30jK|${4v>#!NfjaSybim0K+m?6{ zKe4U(O^EQu{3tVC#Npz7Y#-9bw&6YW2#(@60%h|)zT-D(BE0l@1SbM>`t<3p7-Fo_ z4-o>;nk(N@>awzOlz$j?!$2lK;*ocRi2(f21vCmXVx;PSsH2be@2|b~nwQBp>JJ`I zIN=04<&;zG@y8#tS6+P9rX7B?oi=x_A3nER3P5&Vp|8DC1|A=t5(gWo4*^(Wop?vy z5nmV){H8v@8*xM6JHMgJkcaA_cdmH$)W@Ga9{EMw9irEmA2{GS`qydl2DzKO~H6`7qOqpsG<$GQEIa>I9`kDXOPT?mdHQjk$pc~e3 ziKjs?5_*DIxxs@19S$Bm$j|4fuC7rZthH?MQPwMTsV{<0cGIH1R1er=U2!vDqXlRL zJVGPT746|JNirk|C`+Vc^uJq1Ly45Q#->II({;Xo1uK9yx(fN8ttu`b+&lPNA~S8vu(zp(KdhAM&W@Ias$r?Zxc_N zZApa%wokN{pnQ_jv#qABMTW%~`^C*awC&rg?BU1%?)a|d;6$}kw~Ui*TQ}SGZCfOF zg5pG8-CX)ZjzyXx@Z6i$kfO*`l&WRRKD0uA;rAvfpv#u8u*Hi%uu8QzBlRr4uBoX~ zpKf*f@QqLu>h?9bETrGgpZ}(f8Z%M`)>Zy(_3BlkQ~1Als?$T@pMiG=0!GnFkuk%z zm-}SQ;b%Q$*if52`#9SuBd@%o+-pHUKo95;Pw*XZM0+eAUASO@uYZ_w*c7KH`YDEg zD*YUn5?CblWE=QQ89KPMz5L26ey&0P0sU=Xb(IY)8D!_2Gf#NjVXwdTrq5WgEir?M z9Flgz2`9Rn-zzV_>Mm8B_}wCSp}%QU4|9Ib><9HE1RlkJ6?hMZ0Wd@!3vUa3F02pa zH~oQr5!;3<^mp+ADa0tIV2nNne}eCSCQ30o(A{pWGF~%OHwG>*`O;8g+Ix3}JA zpRM0u3m3lU>j7vlSVi_K^GqZQ2CXKg2qlR03b){9-Rx8g`JAUSWvDR1R zHOScE{FJ__{j9x(^CDP-vRgE~!=_H3?20tIQ~9g{nmqUrTtPJv9$Pr4YKV;Ijegh} zJ1J$!cxi2CCr#vRpm%Xf)z#cXgvIB~BGI>zOVky8)z|)XF%#cIkGkM@zd#MO>-6mGxm4)HdBT(vWOaKrUpAK?&BV5iD(pF8IiH-uJww#rtl{M06YPnm3Io^ZUM zjj~?v&bi_mCkmV2C69EgC?fK-%yMuxDYAqJQh@n~HbgKv?lNRxLMF;gAi8!oufBbMgZ| zMgWPA1%@(3ox*5bI7kjcr^6^ZDDvM_7iAel<4#2y2m_b`6DD4Ncm`HFepGb$9Tg9r z32}iraS+6e%sSIjJmNU4%7fVuCw{>}nKAfClHx>06ocn4!OFWxzyzM7k{jU!CZ2gu zI_l=WgNlm)piLrk)l1JK)H}>9(Jp+$t)i*9-mUjI5)<=`uyOCrn86R_$8QloJadtj zJa`ua&#^v)_zc{C1YnIJ*0nbbJjeV<6U&MLdL>V;SQh!vM&9l{_=)Fhp)ef68s zOWwhdPz1^Ap!<(_LM$HvNq*pmykQsY&V=&JC^0aBi{p=fKi-wox8Hu-UVh;@n9@~3^IzMxd4uKjFYpZ6%@yeB@tdtb!m&bRm+@;pQ<2z$~K#PWLH3uf_Fr+@tfj}dOZ(_es_5&lUN zrl?JtZQ`VVNy2NgJ@?$d#S8Q;T>`L!9g~7<5cI-UmA-aK!gjxkRLPD%_yr0&d;}hu zE@j_$R}p_>yKme901=!Da)%Xo=p(?-lsu!jxGK280UdamjM#>mD4yLw68yu54fBQ8 z$bsq8ruv`J<5dCeH zqFqu_WK~s_R#IGK$ILp(HmqH3#~gKxHA~Ui?b?gW`>Fl%Z(#yVNV`Kz1G}qaV zy*q7x|Gp~AFU+%rTRyifm34Ml!B~5D{U_EZrPHn$Io>8^7Fg%LIvYB6jE$Lcn3a}S zOS$f61JVjCp|RUCM;FL)V5a^kvrtR7 zuZ@5<4)HKTZ`vXpNC*Rf8IoCjl*fl3Ewb!?%pCjC&wgeLKU!{Yz50?39X{MT@(!vCMW3>K%XTmco_fjyR$$@vpuvNKOU&}6&MP=Q`IzHo+vu_5Y`hGq zzyIxTGOi2kuxW?cbI(32B~$!c?abK=N#Yd)N(!xDP_gZoA)KC_Df*dh*?lvAt*Nrs zQq-2Ixf#~FzunSgU_g!^ez?e8dN69xRj42JM|T7@-kO4$S;Bl4I=6M$&A+_GN-N8( zzuLfgG=nNi4^zab!uP*bye=yv)3;Ow#%9$C+~d{=O)`K@z2Q^n6!h=dJzASvtfHaH zzWwcQ+l*<`t!nRH@yJxW`>uO`Y{&LpmS0dP9j49O272LQGlnQ9+;fFTaIXN3XGvdW z5jvYp(4Od99M($TWql7u&h^({Z(qOR1|Kw?Fkzh2(?bvaMFwt`bk0h9=IQ_XtisM6 zJJdhIh7XkKZKpta=-0G$Kk(kogmWW5LSiRDYn0|zP>5@x-)b|Rktg^zc z{pxi#YTzK>8TH(A&vo~=4(XuuKMaVt4v<-$8@_tI^GG(QU?F&_(zNaGu)O}cR;Iq& z(bjD9&OFDOS{f}ii8aZ>k@Q8M@sWUmXB;#n@(YLgzRBV!^qfGX`eT%W5drFqadEH+ga|=;$50u*E0dn_<70LLA7Q43lhcv}mMm>qY`}?-^DV+Ug6kB*DIozy z*X5Qo_310-vtKaptt=N~X|{f{KvPosxeihc=~_BjhE6U|^l-5?M~t{E)=U%~Z>boKR( zmoYjENq@cJ0hSo2cY5B%_c2|p4_AbfE7p;V_c3nocif5Bo8C}9iOYdh_#?9rk>9?+ zwW(3UIo*{9m=6YMV^fRM4TB5H&g1$_oan5N?#%4L#PQM88!`V5n{&!3-rwGTf1%qy-KKEMlxHz!te!g4rplC;DlI1b@s;Ewb{GoO6Z0Pv!E@y(5HeZ#!~d_{ay z@7`@gh&ZK;_)J{xz2l<{_+IFgD>&$bd|@*PcW3cf!JuJ~Bt0|Rrp=fD6G800E@61U zPCV&&D=mN9Veia;RdHk-_z19sU$+#Werc*eqL@0f5n(V0R}us(MdRKuYSd^Kmb5R% zT$p)~l9rBw*3a6+9}&<3q=#qr(5x$d-M%2ZNJ1Am(WZP*CJ~OI4=~^Zy+d!oKy7Nl z6|>R?4l1-S{`?_k?<87;#@|MIx*F=BOw9>N6$eXXfW~Do~+oe}sYL7np zSF2GTn|Evz-y3Yzd#kOhZND8o^H|}c!VZ%W%7W%O^DeauFS|lY;Y2Htg3_>WpUr>m z4g1&Mo{-}Hd#jK!@PZ80F~f(doCJH}xmWGFuUzBU&L29^jy?KhyXcZD?DW}lY*@iS ztE+#ivl=N&2RNuSG0hU;rxKbw-dk?sWVW-u+_rVp*l8msS=Zhw>vy2Rju|w@szh_! zg|i`D>6RnKpdz`|3Pppz`O(iUKRaEp+;6qwdz`3SS+U#tcDK4))8=iPU8Zs9qmRbA zwC11aNbpA5?Hzi*!;nKFBcoH)w)mbeTD*VI@^ka;S2x{cFR4%c=ReP=ju+XOQDa`o;|fvc&iazE>q=0-oo_voW%`r^)ngbrJ`ZnflGx8%8KH8E9iF<=#3I+D9& z%(k~lA)RWMUU8+3pESj`N=ajzP0k}qNs>Mw1qS+~eryj5y)%l;;A46^Bf5!FL>GVB zq9q^M%%f)7u%Uzfa9Qf*r*n6<`&krAK3Za%wrrK|k>DFO^bsF8W6qg2ZtQp&pzqnv zT|51>-uBKmTPI_qc+em_M~cvApRKXYTQ*B!%T%A1F3{QP>ugF&iluwBi04U(5?|tq z{1p^K*YGaz%>~WFL*VhTU&sE=_t<~mqwL~2k&zU*qWTtm1s>%)3*mMsCX=0lVBvc ze1adT&deBeiZ=Vn@a&(HXLtPeR$I3CBO5fNSPH8Q59e2^Ll0Aim9tiAzaGYMUWD>* z-;c+L>aTjz7Ho*qoghO+wA_E)CWFF6m$*Bj=!(Vd+PlZjx!@eT^rA~`&$cov&M&cl zKK_Kg`R05ZI&zpbcPM}9f-2bCy9?cpb0S z`exsuDm^XB_U)^-<7Xdl|NQ%7cHD7CJAN^y8CV%IWVjUk9J~4ETU>viJZk1l+rDLo z?UzxME&TiWX$<`ffF!jecX~Ivu+NwXP6p#MRZfx=`z`C%+8ggP=u&8>ojzBF!F4ua z=rETr&?t1-$r?22u*yO7i8ql9+CDOf(~|9jx0hR4d$Sb}9U?xR?fPw| zYAgbQFw}8`=)mmy_@Wu*u1=pUMx>4@fyIIpth2PtbnlG#l(8_5*$YOe*yap@=3BLj z$*{c{G~@zWcVIzb09ah9dMgEtin1F)zZ40~4k;57&{(E)R$zZg7K5Xa83kv7Rl@UJ}1wOp&D#WfROm(s*f_-?|(E-J$qpQ`CuWCA;++v4;ijY}Y$$M}E zoCs40&6OK z2{SjzQj|qBZNPt``UZuFGNs5Xmd{o=qttJBk6?{3#koh7H-t0r2O|Gp zpMBz!j!r{8$dmRaF7Kl<&$k#zLwe%!44#P>^Mj_ib47f`5X*=#a*uI%CJ!I^&~HY> z2*68Te2eJ_#DV^zfkZs+@f+|4|S!V01GoL)FH+tK<5}f;3D9ZccN+U z6NhMoeEH3Dj7x~`2r(`pwj=Kd+`)Z}!-XIXLO+b?xc{(t4!`M_@Ly;Re#NNz#znoY`1DiTS5;wud*Vs^#ZAAkH{N*N_st(E zI>mpjl`|2>$nf2`X^YJ}=NvEl%U`?RzIN61R#Gs)-h1~Q`^#S*v_~I*)IM3c(sq`X zO1bK1&%gMT&6;_n>S6ZW^RL*KulusioOz6W^@bbWcpW-ygk(~ayCYy|Vf?bVlKP9m zTWVgG)iyQQsx_ZjLQbmHNKwiceVveAWSxJzDy=@b%L)bzvrR3H)+8K`&nmJe$&9)T zv!DO;M>cuP5c}hOkK2yjyS@D@_m)d>kQ`H+?byE6%2j7~XY!T<+lP2iq^JLP2yH-8 zQJK>}3zIP>K3ufGw>Q20jz8EVk34K2ez4HKe*N`USX3k2W#d!RVia&}dzkLmW=!*3qcsXQ9 zG0iV3w!c6AxP9x}-?BM#PPa49Ji{J(_z`y#rK|KUT5jKnO0F&X>(3K#U@WV%wB%=6|3G?W7#<}3`Ezc0xZI(q6~7d*dHUV zU_gO=(tWP>;ntgnPKNj26|G{GHl1r&3;P#kw+fk?qRgC!>fk(fhGnm z^b>mDFD0Li0G@c_U-r)@{waSWVu;vJk8CB9(m39QL#0%|Y_ajLAPrbt+FYDf1CV5H7k|4j(SzMnI9CX^e z0fnyjzVNRnEj=qoM)e$P*0&ZP_)GA9gJH(5OyCGtR@O%Gt#Ws*47sIN*-~c>wY9!J zixafz3(akfwqfHs`|5w!ud{v$VRp{x4Tu~)K_3vHy$p$xVg7>YEUXT;RfTv#EPizd z)Zrm|E~atlNbZ}bj1WkSw1u6W4ye#X-(`W$OrgnXDKZ!`e5L|KVO4<$c6g#=Gcww# zPR0~FfYK>rr$Oig4~Wo&~VB7zS-qm!&u zM=-XDINeCnGYd-k$#CE_RSx6x^$@z!1v7%3Eww@!-Ipat3t$3z2bYIO3o{bT*U zZc~>bNDCN$M9D*ef8*5`)VFecb_1AHJ68@^AhvATGCxU_9e|FLvhv#NulbgNthI`` zl7=3vTGEt@yna4Gy- zw`{W?{p2UYQJVeqreE4StESxAPYtwbi?|bC;s__oqg8ncF{!_TbpQc`_Any zJE09Mg+40lu*0X?8E2holhvM_7gbdm+>#j0#a+u!k*&;{==kgRBNcNW&*Y}~Ye(N?Zn>B=PTIL%UOadkUOu-^JypZwIG z{_nFsV^E}ek{8AZ<#6@p<-oudU#et2c3zGpN&j+#0CZ9p@Jd=$ zsiCRS&y8X0Tk6={-0J)z(l~fW=DISkwsOx9(IwkOSI9We&d;`={`@DF&?&wrgSKo> zsoite-D=-tKZqFl)-4=Rf9eMhAa8K$c-K1udR-h0-p9Ho5i>MEo5NFoF&3aJcy4u7 zweQ@tV8Q$L{BzIQFK@cpc_8tZ3Qreac%d7ztPSFj!V#lJ+56&wlP6EH?c29GucnVs zG#BOe5scu59Z;bsw(#XQ`g37HfsBQA8#!*AU3aaN{(h-G`-WiypG8Mz@Q!wK`LRF2 zwr<*Puf6i7J^JY1ZK>pc@YG{x_+fTy*RB&!tQD=c*n11!vDwERYe!8x%ITH9;51L$ z&{o`}D|E`Bd*rc4dt93akM;`qD7!ilohc%Tk%Vq32q2M#%T63U))C4CNaZ(75?3WE zjzFg~vNH=S;+e9-vP5B_acCqbdOee_uZRhs!6Y>>MCxlYB)}kl9$=wt?i^~v)Kav{ z$cqI`Fbfy1bTAPWR<RS|Wkx=`#d^B)4Z#C0>5tF= z1|EYLxP76>?cTN1K3=w5?bBpwEMP`?)Bh+neG?gfJq_!UC=>c|L8^L?UtVsmjI`la zJg~$EgJ@IAgva@!Z1GwF;_u+K@D5;1?V-aa1h)R*4Su4r;`$b@`os6y6(@MVc#1IN z{01Ww_XrM=gKt(;R`}r43CABRL6z%ml`ej?ZQE8bVq?dQu~%Px)dmy{lrfR-ivxvC zpOFH8!-I;8tae|mZ?NA-t+-Dyb0^|>Pq%TCH6+9rfFvvE3 z%2@@~mVAJ|*T>p~v-P!mt+{`eElF;+&#c3L+GJ!6%^het6)pC)^S@-5pLdqM`^G|h zbJ0?F4Xb3sjP_P3?p>-=gU?2E!hfV-Qr7Nj81@498`8#a`c$M<9q)ow^<8$W`boZm$ZBqFcbP zP^fSz;x~hLY!S_f>?a>Dwe=ge*qG6yZ29s}Z1?WnHhSzRr!~9|F1+vp(Q{uJhwoT* zO_gP2rn};#US?CKO|ikEeRglcNQMW0!Vlml(CLKn6BIYacJA2aG|tFBvu)5QZb#Ae z6I_CqU?9-9=`-|W+KT}o29HoesY}=r8GeV7>fR4Z&u%*C6s-LqK7B?~Tzzwpt^aJT z%{l#a;U~?0_xs=5hf5aO>u%{nE($V4sMKpZ1=l) z(`L)b&9Pl&<#zgMXV@Sanne(;&Twq(g-U+B(utejB-Z(`)z`3d@nt}cwH<`yd+p#HqK+HSu2 zm%ig?PJX^M(jUO3>f?10jyY6+uuinax`DZKPvMoz0P4;l1$FdY-SnF^t887mUwG}t zB}iG+)KytSbAybCpW2Y2L#(wjcre_4+ig}+R^~3^&27>}^#>i&9`I4>1zx%Hn{qs; zzd}2l*3Q5RZNYcwC@(k9H=E&nqpVEfO2!YH3na;CM#p4VFlJq7A9(P8H@@)=-?iz_ zfBv)m93+G~gNKjbk6HZx3=5AQv&zeD_#wLs~jb2iGTa~+QXe+IhG zIO9xv<=LlYlnxX=T5X2fjU@xnX+vX+mF}#u4eK}B(@#BX_uPA*J@M~<+p5)ToVJ*? zOU+Gn4;E%4=tIq|4Kl8OE9~Z9{=(9d)15C;=iWh5({Y87@%Y~!4~E3RQIj0eBw#lr z?uQU6?|UW*Jy)>I>EM z2fTbIk7!IlWZ=n_b`PPWKpc@NL}oyI>PH*!j%VHxhkI|%h~>;|EKJWvWfPwGeKrH2YXQ3yqND4!6S6d`_#;UFBk`(pN<^uS8l(P-qI zx1HLTKppuW1L;UZye~3I0?%BbJ|TbNai?>~d}D|Vpf@gK9=+f9{!LyHenNbv%m^#_ z^o|pM2ZkCh@&P9>148^A>%^TvS^{O$ho}SJiR%hs&-WOA_(oX-(s1>T6TkJ2!!vP! zfk4^dhQJ69?@_i1^dtHhC$MtoVl*PC99h zk0yS&V7?m>t~@9WIGiwHqFsLZW$vc%&_fTqOV#0r&u|8cqKKeCiHNuYe(*sZ5YE)8 zH~#oeJn8{|{tymqHHi_iM+ygJ(=Um`Mey``be<#FNy|52jPWAgxbr8|xq11Po{m?Zd1b*DI;pZuWi}e-#^rCWah1Yk|#ECMBq@alp z!GmjRs?|2(U{4nE9((LjHgeQh-+Re#=7M^A^NqLc^*7#h zmrqs;9)Hr0KC(6`UH$YPql)31_Vg4>o;b?N+az~#@+@`KNb6MHIRE4;H(qXA*Oc0e ze}C5YN~ytby0f*}TAS*vOLA||o?W)DzD9USa-V%si^JMGL>lT%PdvwdK;RuRMz0kj zFY+&550vPRjsy0_>o42PqmHpFuDseV{nEuY{eST3HuH#?R^M1FW3688jA1C+QNKZX zL9XJaQao_5H8#}RBM(1f=bV3@U3ktpR$X0Tr7|XP$vEPO!|liuW~t1+R#{c!vk({y z;Mm>uL@OA<^j{1V`gz!xB#iQBF>7vNqZR6bqRKP%VzYbJ-qx z@PCk@_Rd>x+nRN2z0S;BAZ|G|f9kZuY)|QKcVW&*mk}=f;F`zC@z}9rd=_l83{%P~ z89dNuIp`xQ*z;!w0e4EC!3nYkK0!U`E8vz8?zr@^NIAd_pQYabGdyI!>WW)8iX|Qm zY`((c*6Q*~J3|V7x#;({Km5TetE=oODSvsKQp}lIxL`Wp=*6ERPokZHg|J`!hC|SB zC5LxVU) zwGFiAv@9OOE}tR;JNd*DJsyK5=u>RX&tNyoGkg!7 z6Fsb3_=FesO-{6ywq`4@EVnDKy3$TNb*}hFr4?ir*aLrgKt|6;KCr@U7DlVq)NJVBv$ZN4xG*9Z%((8l>+G}7K6Bc}INK(f zgg!K5`gHq^>i^oSuZfr4=W=a}jJ-jkzkfXOq?bjVg3bsoq??GJb_vIn#o9$?6lWZH zgdg%bal&M~^RBz?yVqZ9yDDq#T;tg%$ah;tlZZP87nUdB|2E}H{>Wgjm5yx3WtG-EYMBF$X`k&|y z9a(sI_>qT$A(2-yLP%y>=0(0PtYVQ7XzZJJxq&t3QiD? zApv~KTyfLfVuSb?)l3ruB6M_e>a+|LrDI)2vyj5*8(YIM^MYVup^)qY5kO!f5Ul(4 z!RRCqAzu7JsTTr7J;mW+u@6Y4lOW)Oe{xXNQGhT);_7$-c~B_=XMbEg^9~$E#h3s- zqu_|lf;;i!Z@z;A6a(UQ9q5@(1Uz-#zQQT_L4Qr#PW#CH)tk)qn_X} z=0P0Z^^PCm;<kS71cq5KU2Tk#fbks8_ie|%y50_$>@4KRq9^4@WV>$FOXa=_i zFHdwWxe)Rb58xTs0hC!r(HMDw)|uMI7k=52_hm##5T>E9g?~OfT#DZhzW)Q?A?=}u z{_5M1PM9#scJJQhisP0|8^wg11E1-EpR$1)W=kD-4}5&%9`Qjy$;StO_wGGzn1p`8 z7Xho_ZXbHVMOuiR{jgz#KH}b!4>*YVa*w#?cPyX4w-~oK4RH}Srr~nD>LLJ=lKA)7 zR-|Y2e}7l2&3`@ZY$-Zf_VUXwTXj{L`YY~7%#1Z!6 zTW+>nes#0WJL@bztPYtlbkJZa015W=Q%~E{k3Y47!XkGSYf-r@oMr}#^(ibeWmX%y zqA$e2fPWQ(Lex*KZ6ANKNK90UvGCa~WuZ%abol5AHh9no%TAZkmR(?3DcLq|=qTTL zY}1~-cGnYsv)YutRxibSAG0&k(3pi?MafcBeUZBICqt;;5%OzoQ@2 z*46n!UKB*uVuDX_1kF+x_%nHiJ|5^e;+#0pJ2Ka2HhOpfMizCXOx4oPJ^un*_UUr_ z&X0d)MWWBYKJb9MiQ|Gzt3vyJtI%%{um%m;M7=OY#oflquNo_R5+9hKgFM=NojuFGas4-JZ&{TM$St(j zUV7F3Ed#BvxKL$cx~NnE89Z6=emSJu(6+Ik!4qg#T)QwTY3raHCx7}3YLLcxr?`#GCJMs7veD>!_4ro=# z%FOb1r3}D97iGq>xk<*b{fxqwTMfp|8jo!H}LfX@Wiaw}08Iuf6WxH+TcI zwe)P!en9QTAiE4i2!G0rAhkz}^2G2$7w!}-B#1AirAl6_F8gZs+K7<@?Povwq4YW# zNvx|-ItS=r2z2N85g$0XMk23xgbNuEBk`w-F!kE(ozN9d1d4=@AO0f70OH-+6mk1h zxe9_P5L!Xm4pVUC31ToR`X%;tVvm+5Wx=pqY1Mbqke(3(TnMCmlv14;;_;VVU<)BQ zKI#Mr!>sHax5yaTOYWB{lt}OkSzN%$2oaqExV--2(J)O{I`jj09HsisJ4I9jh0*Is zfF7?Km$qOFQUSe}31JIW0q>VzVGB5aP!?cN&>o{4O6d4wGXrqRw6Ra)i)JvWSs=&g zA(kqmHwlV^e?IAOH=HnGyp@*jvDGV=TT1$Xp0*all0X_gdYpal``>XR73Tf&otmhhhCM-UukM{3c*TFuTEM%9br#Tv-Tz@d6za zz*TSj>xJLJBMJy1;xLxe`&cz9)`8Iz-CRzw-@TxBKW?n_YhO zwKjg@cqtS2t6f@+^C1`ki2lPUW9~8}o`oU6=qP-VnF$r*j39EfQwAtvs-1!B0PD6u+4wiz^p?BHV zu&>UReYDgztlMCptoYQ@r4*rEjEa8mSV(Y`rpRcz* zsZv(jg|EJ%58-U;)T1qVe?M!^NV3Gd94i@6WFqsBN^Gs-2df zn{AEzs;#5B!OBW^TZaUHI3vk|;vh}L;5hz&g!qm7p?IVZ7q5^#0$=SNlwxM-=_ky% zzw+vfHf`GBYO5Uk^PeBEYp=c5PqSyiI|uxsEHj$`f2Hqp=14_8T$%BbW-VMeDhEE$o1helZ+$vP~IT0c8P z7~r&JW`;0+F@zX3W`q~qpbsz;M(;sZZQ8Wi51m{5!4liEV~1Bu{&96m}N0}n&KOO}a`q6^^>K_6i&)*Em5hCTD_GxnuRuCSvx!C$mo zFCIpJpwH4TnYkb>`NjSh17#9`gP99vY8d^7r+oC$M{4h|bvoV$mtA&+c;iO(yK0~9 zbJ;JYfQ9vYEB4yHsv56{uNxUQ)P~4#%$A;%o7-RX&}GYiS1eQi&ah!aM*0Bif$mOQ zv}m!78ac|1tmc*mZ*u~7hfT~N&yoV8cPvGg%)p$PN>A2jzTbY7mE@UWo`WFMQ&^_P55z06&w8%L4D6%Lixv%d~ zHhtza`|1r}v(G>OTyl1(FA#rOMht@+7?kXeh!?Zi;yGaI)+{AEvRsT+}#Cr+||ljqE_X@^a7*uYVv17Y;7N#RY|md|_gYgpm(M3TfS6 zSN)yQDMnyfM?^ljHH7|vE2GNSAN_@Ye1I!Q0)}T?1tw3K>W67<+VHuhW#)N0+Lv7; zhK(5Qqn}&1ZLz!Vy35x@j2bn{4?bcBVeQ(rwsYG?F~1@o4W&QfUyE|bE~L3*$aALz7igJ2eVWfKj2bmk zJh{nQMGwVA#a32U>NG^T>~aDh$s3R-945G+tgUZw+Re$#vNfwdv+9b<-~u5!WDVV% zQ%|wKKJ<`Xa>>Q^>sxNNn}6{OTfJ(fkC;O<<)!7mh3E>sV?XrCGY+$VAp=KBD7IQn zZJl^rm^p_I7=-E+Uf`dxA4WWZcOUswJsX>AZRgglmUW=7WeSDO-CdTRnr9=YO|{PY z4jYl0ZAIDrEjK&Yn!1{8OXV&Z2?wmPs?N&y?6s7%1kq@n>QZJ+b=6YLrFcoE9e_5} zhPVv&4o)*)pu-q=j&yZ@==CAqq8Pf9o_qL;wnUvUMA>nvp}xuPzUOZH-S2*@eqV1V zpFGFu2_67lGRjJy!2JQ-RPC!5j0Y@3eepm?o0!#p%P%aj;bX>Fh49|qg8cJhBuAtG zE3U716y0Gk(e}_fqof$_xT=9$_z-Icpi|@}dIb1q6dG39>8?U|Pht6%~Tn-tKxM`)O_3ve$4bFfiwC(@4Kkw5e z_oa;afYXTK!|k(GtE4#YwG8nPMyF>UHPgn78SMr(hA}RO%(gTL9u_DU%Rn5dbVH^1 zX2`%{1e&(Q*oJGd9x6L8%Qw*3F9Tw5@lY$@t3E8ejT$+B)@M1ynUw|_le|=WW4JQw z0j=ROR#RH#w8jpSnK?PuD&5Qnl&KGwaKuhR3x276Gsp*Yls5Rx>aVW zz%fQ9N<_ozY1Q@BzKI8XL|oeOM>+<`1iS+Q z%`#|%p-S6-GV_YQhiuVTT_G?N0Z)W);eOA6c4hTm%gM{J?|lEeGOlHG$_Q?1Y__pu z#>w~^Dw=%V1`itKG;qfs{$LX)O!T}Kf3(E!DKa8l-xOT52{N}`u%g?6KU|qO%x?OO z!@W%~4v}>eCQq^{Q>R--YKG^-01d_k=VNTyvejpQ=*z@EYpcX}L<>H^jzQciJwyBu zS<|UHH;Ya)(sOLr?ovDcq*-?5g_l}W$6o2o%#8IIZeI+dQAmSpjhV4#aZXFV6OpmrR z#U+cWOX-+O?<5bEK`%s^0nu*3(izpUx!iCO+;k`vFJwrW77UD+B=Nz8ilx@gz}5LXVPHc;Kun*-H3C7yOa}|)FbbwjnQWh}UTxbqZ?uf;Z~!G~S{mDI_{foV z-g)P`fc(eb9u9{fjUO-LVYSbUY}vBeHh;caf~CLu6C<<1mzF*5ai>AI@^dSf1aAux ze|H%G^GH2&u|Wgv)YZ{qXPpTrMX>k`-#GZ|q->u~8PK5=7R7T{0Kt&hPsW}8a93-nuW*jr|I-F}yyaMWx&a`JTBy>+|YcmMsiZTl7%fBu8U zkFXoQ^-a6?-h1uZ>%L+e)^4!5b566hYgW6k%gWAh9s_SrRAmINcz3t$+_7EC<)_x# z*knb81AL)(Eo&8+?iW7WT5;WlFX9S_tYMvsW5wHmEmSjPlr;+{J9logZYi8y!U?l- zMN+7WiU!+(zWpq{C_}PPbRos0f4Q#74m5YkU}&(N6+5hNdLK(|sxiW0JQ&#tYGSJqb?KJy40e>{AobcHr+ zQhO$#bV`2s*5_&iKSftO95^^fYCqfd2ri5pJPraZ<}Po{mhEq2Ry4R(vXd4HaP___ zS4dMblC7W8wzlGik!V?Y1(qrU0MCN-jBJ&WqQ>rag%eMMoV@nton_31^obs8Jt6zXHb>r z$P)?FE%tYKG5P}i5v7`VoXtX8BuX#XFCH~?#3=RQ1pCWF58Dra{8Jk%et6R_es1s1 zf7{-D`%R}$`VYCIZ7?W_jzk%_zlA}C(6*8PP!4p_+Ic_<{y;yBe{lJ-Y^a}fPCIv~ec95P0a@Q%L;BOc+A8t%RLd8BhL#jt zNnw$n(Ln!w>$P`mz<>f@U&V!?$KXfbBB!k{st-Y7jqP43|cB6JxfA z3w@M<3gBV=D>|UKwKd7$_e2TsV$S0!P+g_;3n;u?l2iLye~Wal+Ri5X=6Akr_NwLQ<=IRbw4B$nQoM^kf=j*Anj6v5e}PlMhse}sT5gr=7-+;E2xq@-l1(-%22_66rk%c#LF5go=EzUU~IsQBK-%7bZC>ewPB zQK(d2;D+)gF;o_90}Qw>(cu`ebjAiU6i_sP2lp|U1F(<|WiQ6_X+z}`>%cqe$#0%x zefjN-RItT3T;w0)5Qq~4?*lHwS`nT}6TcnAf1A>HJ@hS>70c&+j2GX>_&mq>#3gW# z`4D)H--yR=-~euBCTQEIe^J6cT=k(vABQZ3OP2 zLGq)HHG9jfv~0HwD)D6Gj%3mBkzvA*8Q%SuJ3ZR+Rg zGG3HF`hXNHWE1%BltM)QD1)@O58*3>nHYccc7F>Ovj^=y`?+|@V%xZJqwi=oYV>H| zFaSA=9>79l2GAHN14r;f^aALMwg7JWbL0(?ufwB}b-+&_M(zU#{f@Y;%DcaeC&KLG zj@go?K;K#Q*(w?PTYYyqb}C{fB)Cge`Whex9H0Krf9(Aa z7I?phw;gng?^e62a%|4fCLOCz2L4r7Uw>(5oq2}U$#AC~dsHfF>;?>VX6+tE3u_GE zF+~Lhw!31t%{+3ZU46w>R#94Eh0=qbdg?#+?6d#10V=mUK{}jZ34Af|Z0Zdjct)=w z&~CWI)6SfL9`p(6c8WtAA$Mq3cQ?ZT=-bC2mFUIYSIv;)P(RSup^K7UL^)~f~D)Ggd8eEQ3 zWB~QCQ6tCL@v~2~DU%L!-a{YUy<@ANN3nYCXSRObT3>s}fq4y$4L*7=wW<79Q z1P!4rFwXb;Zd03Oh+T5oC3e}o^M6INVLNeTvzp2Ei^y6+pzZVnfc5X8hkFc(0Yk<( zVXWB6u5u~S|u_G2t5)zA?6iu7X&|XX>4X_Sa6=5o#$oX z)6AiJ{ge*|6f+a-7QrqUo`1K}Q#R^NTr=V$q%dU#7i@xuEejns!5&6jLcIypk@yG; z-Z`9#3|tT#G^AT#j{d~wpkNWW153o46Q%-X@XQr(8<-yP`9|O!xZ!ui6L^omW89ce z@BHF>$|N4oF@8*c5Vt*XsVA`Zj>`yeggv$w-zWoGB+Wq~qi4SJOn)4H6Nk9`j%m3F zF`pQpK$(OHU%V3(Rc%fm=_h5NFzl+N_GI5}1V2hz}Hk?Z6$+;+r<}O zXscGPvIXzGVpFEhvVT#dhWh%2;^HFrPi8@MnwT<*a%L90JK^i!?SA=fj{!oi3kURM{~uj2WEKRtH1RGnfRgTrmJQSHv^vz-rpfrHj03U`5Bd6hncf*-TKp8?4En>@%0l|eEC{yQ=C6N@SwX`4IMnhcYMKB?%AiG zvETjrS3vA;DY)e@&?Dk-+V|O7M^RAr7)i#3gQbdQru7#rU39zj+@IH1m;d z(FW~@tI<iYrSMF)7WF@r!CLh#1|`^_BTceo<`GBOxQP?2WY9o~ zQT6o}27e-yKeG+|(=#%a{)fTB<_Yv=6l>%pvs&yB!~h|)ROk-4yfIS-$Q@FenpEb_ z?c1!irPym&k@-)> zo7nA(o#YAz6kDaeBgiX`h{pe;uqQgm-H$43H^(@ zW4QVNrTVJtMZ!z&fd2N&U;fgbdgf`HIB~L!?bH3hzE@v)#p3`U=Nj}Atn zllre{Hnur(=vT#Qbv{NfdB@?;zG-Xd4EI|M)*ainTmHa2`|fwXW6giH&6by)Z=bDLC4TZp%go8Lq%_u{ zg)?trn?W1k5S%(51UtVOpbp#k2ffDmfy!om2nH3r+w~dIZ<1uzp7JuAcEogF*xgWD zXDp6q^ATsUYIpiI?axAXcD77)T8Aoiz7UJ5$Dd$-u!@URiCW zII?`84ahH4KiOfQe!RjyUiPuATlcB$5s#{rG1nx%;{)x& z5xB%K#^9mPK)T2S>Q5c%L(p_0ekH6hpm5RuD(e}75<3;*`W)2WCiCV2Y-gV z4z7_%%PMpQUPbzM{HGYTVXCJ?jexLbjX{4!S-BXxj0iCz7UW^&xSNDB>u6=ftgj11 zUw};q6bHouMcMCA#k!R_i$idMVqJu&$U7biD~b%l000;fjRpbA0}F>}7z`O!uj7uv zG-QI}V@xKw;@?LMK+3r?pt5urhy;a~b`9<}h~mKLfJJ?00#sVi{8IL5y*>o zlplS)m)d~~GJnR5w(*lD8rw5hi0LuvftwvnhID}@SOghd@9^zJ@H0!%B7=inZt|tv zHR9te0ddNyXSz@ABab{PCSNT^EdeH2s7F(Mts4>NoO6z?TD8g+eek{=b?k`}NW&$V zSQ9bPw`Se4X@k2YQAZX&`s||^UxO4;Mw_TNb*4TTI)7okRg>^3ft;Hwe1_BVX~T5k zpH>3@LYvYBd_sTZPw;yWzT>;t{)7-ev_Xu+#WR8Tv?X=qJ-=xW?zBbk_+QK;q^G4q zo70~=S{iNI^dtO)<~QGXLv0Wa+GG$T^!d=nnHkw$XW#D9X^DEMzbGHpjo@z#{)&rB z+=y^jHh;wnxWHiM3b4@Lu4oIkgZ)8e#yavl(jrPmq+QDNft2oWE)efAbTBBA`mqZR zyWUA~b_QC+9gEY-5%8Q-LLko25hL6k>i!4*Vt=~tejm-g@~W%so_p`Li%&n>h723x zanCsOTwAk#gZ=vVzw?8Z_DP`~SX69FK3HPEynpGJ_U^lH!4X}?z~czihYdI|f~hAk zAUnVz(##bYDW(`StW&6v0@tZ{fN=4GeA(P==W2G4|6w$Tq&09{a-JBkch%0yfYc#3&({kFIDwMj-b%f z4x!)RCIoMWKZfmz>GQsoFmhLh0*d|aoqs#5y0Xerr408`p3;A$`)TkeopiGIwL5q1a-2ju zxRWz7yhY_N9zNV<7Q>Ua&Kd}2!hb?L4*gV=7xF+`zyN>crI)N~|6a=yXs7--m~sAX zx7(fH|AB3l@dV~zK#p(t_Pq1Xv#ndVdVI(WBh(n;k31@%tG0lfPM!>927j1|VBqGz z?!8xXf2J@TgJbOc7S?c}zmP4*eUg*>yuoh7|Ni$&d`2fJ4gD4y6pHZefFq8$^nkwU*i<>`tvt>(1uzx0kSshv+`aZbe>Q>*dhLkfX(1{ok&%f}T>LB!ExCwsb zpFU;dq>naj*=8HnN4B+fI>u#Jrm`95$jExT4KFU%H(j%+k zrhPuZ&lb}d=NL82?6FH4+i2r5HqM{Fa5(+iWbN@Gj2$v=MD45LI4ycjl}_q7y!|*03k%o)G#Z|S%l@C zjub~SR;e<`lpsRxfLBC3#6iQNAXsZ;fPyf!1p(ZtR2n4$PKU=UqTnP^zCrLQGr!?q^c@t1 zgYQv2K!gv5UNB;yD8A?$-US|qPAGa0MSr9Bq|0CO;=I>I{M<()JW*KQK~Y*fCw{Kz zca$&gqx^71>B4K|C(0KW6vYkk9X`xVy=Dt&Q~&r=W=nrzoqf)^GVTQ&1O~Q9L9u=y zj5NzwP$%oIjC6WZ6o5arI%dmb>NZ`S9eY>r-HY2(vR!r6)!r6<@$;WaUfN_t6vT31 zG9vcdkfITG$t9QA%9Sgn>>jt%&OFx!56<@ytQlvYY2_O#?4{?Pvz+__&p)H0-ZrJc zUFLi?GXQ_sz`qXfaM^7F-NK2t)Ni!4Z~!Ifn9$au?;zrd2>pT@j9l*sM|gf8O3`<` zkK&BNM{z^FJ96Gfbq8?|MeleX+_c2kx@wy=X{tJulkIoE{f*(14&QOT2xSi6c)d#x zB5#a-Gs8rAX`?PX3JZWAIbwu(T;OG-GbanA8#;f9FzW!%kWJ$BSxtojSfY#Fg-7)t zl{?BidEqzukaBW>Ck6qs6OE3N1{eB_op#ti9Rr6MueEC#A=_bNP8e&eSFg5jEtqeA z_~W0fWWogdk6Y*4KY!{5J88;PtJ+)X)9P)F?RL?{m)Pd*+hkna;XA=FIz4*$2>bo- zertc<`p!43Q3hB}R=)Bb40lE;=~D^|2V3dn>6Ryed+yub<~udvtjvYJJMvfd|&p!K%4C-1NKD^j{up!zA9T7a-y=RBdY$OVV;wms=)EM!8 zv}ChJ9dVZTEx6s)R38w?IbiMTKbmT)ZMT0q=q%-9cU`5|V;B`wuBa#JN3RR|7(Iul z5&!uc$rE&_tVZ&Piv{0DMkap%F!=i?0`3HO=mUi;eU_(9WoE}7E{urD(@(L}&N$0X z5Lx6e0+T$0-?T|&lG%ve0@fR)BNVf+fq;}iCIbcVjdP#|sqa@e6$S)p z4~h>yv9l3a;vi2{{=mnc84~0aS&#HL{L0PA6ZopJzdZW5?b*GtA<_MVtV4+F>T^!}OPdEKc!fUDFHC zKWF*5IhLN8X8Wru{qWBZec(g(l`nkR@`p-CD8CSSMSpQ{Cx?KtaG0I8C?kI|kg4z4 zD1n(7+QyKA!Im!_!`VN%>QhQe#yOTiXE5mGgTK9qS(J2Pj)xz9&=>n=3T!ubGMm7_ zA~T}&w|K3jSfzlks>%NO=1=>1GYv9gX%p}royBNr6>aY>KU9D6z9ql2NB{hw zt$gxv8Qq&~!-n;K+J0r_Ug@W5ckRUx!v&UE6Z&%6Kjp))$E}I}yr#O+2bEbUkAc=c zsLdXH_yJ2zOcU>!MPxTq3V|LHkMs}zMIH*fckhXLBdJYEpZ@4a_gLJtY16v%N1x;c zhPiyes4o;rM z5dLy;5Rr$Iu|fw*rLlD?-!n_l(h?RU(*QytyTyzekCQFj7}divhR8Dwno)JYiZei+ z0i8L55q5WK@L3P?i642ql%l&psYhToBFZn{27wBV(05XiP=tSS@H{AW{FsTGJn{_} zc}3BneBdiYez-@8qi7;Qru7h?3!mcQIlqa|1ySjeC%_f&Fo1$$BrodplHo{-O__Fv z)u`chcDKnY-R}$82dNr{j~?d7vty+*v(%=vh7TWQMT~xkPb`e0Q^F72Mk8)8eq@eF>Xq$YpbuwlckUG>Vy7TUQ?9no-s zol1e57AcO^tDp7JJw^hVuHLa@r^{4hQ>(xrpi-a{MIk_lQe;Gk1D)tNK6c$F+(20J z+g~W^Bwx^o(jtE~Rl99);Yjk{R;{u%&pc%l)G4s$0mb?L_rKqsdTNC|xa^OX zkzJsAOcQ^fY6QeaNmSz8P(VS!1Ik62BHqFip6BJ|`0rYEn1R12Xk;-A8qk&k|H3!? zWK>@N_qL)M^Y|i}iqau2o|7KWco(G`J&P`$^9>h-tP&sh{Eg%yiko|WBMThpSFQF~ zTs+cd&brw5^WVKQ>|R7WrgIJXC2b5*WLX!8Nu7TtGrb-sc~E<05F}e24r^hMJ3c58_>GOTFS}Tj3U^m+Bolgb^29 z8yRs{`*i+wy3ty_f1kyvo+e8cKKRk=?7EM9)CLnq1R#9kk;i=GlbNdXFS^JL+i!pO zyNZ8fkkzP@13cdOpFgnW%l{-}BhU3UeGjfNxS>`{t~prjz3+XuwY0|h_QU@uP;sDY zzx~VSKW}???eqdNMc>URu`4q1PP}GToSC+fBS*VYH>`NL{rXq`&HjEF6ksQj`JdAp1Y zKqFdOlB8J4i)YV&ck2iIha&lcddq5W^03sKE(qNUPpBh+H6yRAG3ZU~%*7c4;{_lo zBWEoz*nk{w+PKNKY~AYq>WuVa+`-49Bvn z37Z)N!-4HSTRm^&k@kR&K(2A=rA_dgckme9#o)#6?K}Mh>N?eXQUXS9yk*Mxz%Xl6 zd|A>*i7A=Z)-B^k@&(=i2ZT}9(04$j#}(;S(gS>xFP=l8ZF&~n2xg5&UG*LT!l`!C zO*i=NIMgG0gB^sJePhs)x}dFMFa&=blH&O%jiB$TS<)1CNJy3uG2EV9@ubbU?s{9l zalM`Yj`MBuq=~kne3P%0LBFtom~|)^?6^98=pR1hn__?y&N*v_z3;v6_4p-Vo)+bT zpR{M%IXo{ZDYacY_gb~;D<>yYKsV8zS+mCOy8A9WW!for?T42NklGV)TfSK1eZn{3Kiczyo&w^84*Q0=9KBut=Ysk}y=I0fVus zXUvLmg8fS`ud|09e9&i}NwcYgor0KYU=UYrLiuiLY4EL?Z~pwv_TkH~wmtjy`rv1W z!0x`i`&EC)afjrj&h=8*078GbN#E`gu-+^q9oNSX{=)}t(`%dEXj^pWU3T}vyKUsC zQ9irguDW1@gU|dvGjzIP82#yJCg_IY1>y`n+Gf z`h!>7b=Q5&*F2a6f^2>HYWH0}m{-9h)kYr!LFLEwG`g6J`+3IOBB7Q~Rafva%RJ zM1KfJs$BHpe*TZjLOa0@O-V_&^74(+0TYcK99f@}kT}R5dH7*#%jve~9)H?W=!@(wfeCOeXY@fntgWu+b@jGNaPf`pu$|Hcxf~=I~Yx; zjVlboLuRqK5FGR}jfY0%`*17cjFKVXgk!|QJ3T$eqK*_x)Ik$>h(F9u)YaBms+5NU zc?A%Tc(I%?WYRML>rz(wmXSOM)w&W8U`nS9dl@9CbfmaBF_M4DOals>|5yt_N5rDj z)Km`dP>10qMY#ZogOVnn{DvRo!$*8X0muhMh=37>^27MhA%{^I%Edk3(+Kz`D=XW1 zgW@85D1QJZyUIrc#z9&xev?1z)_v8Z#O1uZOb8!#RQ9w~# zQ1lKWo``r){)j)K=y#7yg!uW*#W&oO7yd@+MP-S?Mdg2v@Ro~O5og`&C#+6Cses#w695%FHVS^Em9CPpxa>;ZpZU>Aq zapXR;036oFfliYrO|egW;-74pI)!CReyPqp&*g*f>HKOBR9a5{Q2W@&K4vey^rEeJ z{81YzfJJ|?Fs?7V?ESuf_(RJhBZ5TzD{zlIs>K2)cUV)>>l zgra;r!&u;fB;U*G?glYl;{q^h)M!hUZl*7&lu@{C$5!8J@oIJO^A{|zZ-4z8c8)s9 zbj5$y*wkk0*O%MMK*Eks zGcUf#PmGP~rnGdt4B{P@)eL?Tvb>X{wR*ue?dT>KiI+wE0M->elX8Xmj z4wd`G=bpD=!$-KQ$J(`Pjcr6vz(^2Z0Wp8*>e{+0fz4{Q4La^lU(CrlD$Is+aS&FO zfLv2!t*Li&BdWEjL48o7Rmq5NRbA4DAcy+l{Pfvg^rJ{DML_*`R1cJqzYu@9ct=^# z%>WagQ9krIdIC2R>Y09S%-9lp+uP2!S+m|_mtJv&U9M|}Kr%b_aFzy#xvg2V+V_9F zXHjN$R;FdDZ8M_Ttv)nMx@@ref#+5|W#eRQF5IJH%fqbJk2;&PrRe!7{*u8tNz4qb@zBrfdc$1S8EF~>j1`Dn%cswNf4q=i| zH$WZ9NRHtgBh7=PJA7vu@iOp;w#qW6-g{`H9CL_rqR?6b*4)hFgCO`jCMj z+)qky&yyj*$UkRY(WWsZwr}5Mcm4QBw*3C(R$WD;_>f@elU3Nz6voSJ&CyKmLiGb=H|a8jp)lD(9&vj|plUxa)D?8TAdu0iZti z*yDQ7AaRoPmiPwz)_ZVaa$`Z}zSeB@f&FWpy|T4YZ@`;6Uj$L*GynPSQ5!Hui6S^8DoC9Yns zqg6-DWJGO?vNIUP;2JYz{G~2<4-XjhV$_{osF*=yhpO#6wiu_m-=KfG^}~|Y=E7Q1 z26`lGv35#b&<@!sBw0p$c5aUC*tOHPZQp8_sUJ93{LC#VupvVS+dqBm2A8?EmUbWT z{m#GtyZz^aTkW~kt9`A>>8GD&r<{C>jgbuD;7&6R0(oC%|YL3ET+JuTsO%6r`lE4w}Y*k8=#t;Dbq@-neV}^O;AApXaV0qKv z)A3H)uh!~qdcP*}{)Fy$76oQu(56dof{9yRZc8bMx|Ps>m_X4th2evfeE7;A%El-i#`AzKnDNOIg-CP)fI!OC@%;gXu`i} zWXM62E0(~YsH{QB2VO*m0^xa1J%)NoG#S4hmouCTTYo~!$jkP2#p2e}PCLVQcF2)Y zxo6*g+qq-6HP`R)krPHvsaHn70D%C4?3_F)oO&-S)3^Xpc6>PbFjIN@gz%jK0R-qJ^%dk_Q295Hnw!K8|b)&%$&){`ycIvwNG3AkdZ1& zm}O+&>3@R3`R-mvo_xfoRlHE%;2od{zEXZhiICAowN=0Y?LRG9dPNGKFl+z;U%CfL zj`Vxbpv0IQ5?_xos{c7J{Wr11eh0pWd+LBI$f!T|`XfxZk3AHHnS{{3`PMI9=r8ed z&wF%eea!&}pjTaer9Ji3DtqPS7sbEew&Y<2Jb$}7gWQMwAn##1IvUhr29tuJhgiSD z`U!SlfoMzZ@K)`TI7yfE$q;QE-9udH$!NzG-lKB@AXHw})NpZN04FLZ=|;19Ez+Yb z)YT`d|FAfe`e8<7MDcLD?}0zrwyoQ2Y{>}@=>I`R#Mr{&9uFm|*;!>Tzw(NoNc~#* z>wh+EM6s2OE49yl;Y(Ifm~UVD=GP@p`>e65-ga!-Vhe7&&35eF=6M1_E3UlS z*Oh$p>;Ed5VGTsPgTlF z$^!?i{MB{hO{Vl}y^WnX)n;CFp`9>htbfh_j|Em=*Jv|lob7I)xbg1Zz1cQy+~|uO z_wU(n)25#+BPh>}h}`_a>ceVm-|pQu1mk%B9^0^fo$4sn-3=Pl!FPH+!&&$p^piA? z|C69P5RT*z;xDpAeE_;#P9z%`lZ@#0CcY>r9BLCMP4-#7!lI$B^8ny+0*H+A9)A$H z!*{x&zQG5Hyw6nLX;Tf-QxXvAg)GZR<}k-jt5jL0PAsuCPp`5O0t-_wJYPm?wRKBQ z02H_!cMs~amX1bcKyA#}s6lcfy^4GxGw1;FO&?5o7yv-uvk;e=E&8?B)|CqYK5NxG zrN`ChBnv070~RB?P;Ff}EHhoewST)iN#IhYmFx|YVa#SC_{94b*9k#Cvi&W9lXB62 zGYCf>Xm7L~fGuq-v}xplo=MDC|4ln+kRixnkf)q9&A#;I&)M7Gex46xHaCJ#g8x65 zfimL0g)29+g{mBHYoy6(?~gq4XS?BsdA4rdYXX3$+6fcKS#3?N?Ui9G9DnZV!-Fox z2UzA@77h>l`OklDWo2bHRC4tAV^7%SmtAhf((ehGVT}Q0LHA%#(Ed1kh6T_s$|!_K zY| z+>5XX#d7bY7zqU2C#wN*egiHubU9dJR1AWWluQSOYZQCX>v>0uwRN_-&z=HWvxK5a z73RA@u&o=Nsk)gka(@>54H*Su5m$@CVL3ATfe|ps_he=iKF*a%SGR;WKG~9FJxTLO zNB|p6mMmdrOD+6CnFd3-rQz!;;cr!ED(O+fPjWxcW;M)Cb=b{HgU*~h;QGTzhGd$c zE^s}aZW#5ZbAAHXIGf({@87(t08`^7W9K?%{INq>)fhz^}A8YLhdzV#7? zBsd*98Q#-zkPZOCfsPbsvy?j)WOMBS0mBR%HF=^*+gNu}s&QCJs>=Dovuo_kQ%|#W z0Ws<aivpUnYE~{YY-m*>#>n_fh#(A7BaJ|4X!FzUG)Kb?|a{G zzxvg0+=$4`F0vGgt+tVorjF-8m6(xWpZn}*y}S=BU1sAZOt&!tVjUgbmYYC|ljKR8kb#N*!fJy9Ek&@h<6N5kO*{^yOpo(h~kP$yK#M_j_6u;Qt z-CZ>qsj8~B^4Hj7e52JKsFe-}5E3rkvIMA2KnUIMKuqH98)&G7cfv#Em4PArcMD}W zv%@g(I!>q|+>K zXdaxlWYry8if<|}_juSsmYUzbalQTJp=Gvz?=G7+?^BYYPFo>>mapd{QO6;~Rn>Ts>+SK12Xl%B2{2`DpYzY06bbtBf zGAH@%W|l~QS;OHo{eWBD`z(?`7;;9Npe?jZk>(0mPM&tMz3p8W*>#`zq{E; z>P9O&?;YZ6qV3*OEu(I)ZQH!VD%P#D%Dwv}!^xI6xX21ekG7QDY^!c*vaNe}*v1{3 zWgO+&q@jh@x@)&BfA~-KqkDg9JAbxpwQbL=6AzPYjEsneS^@I5&wT#q*ujz6j*$`WSpKveV0E_J#-2@Bd<}LCQW!t`+p)2=#dW9 zMbPVEOHXv4x7&EUA;2&UG_|4{7yixGm2dX7J0r$Q7S-1FY};+E%>l&vxx&alo@8}R)sjmFE@eQd%=+ct56YM&wSOmCn)JvkufAsc zWH6=W)5i4*-6{D_N=SFZHZ4zmN5_8aNNTpveg4x{oKa-0_0s3+Gg=tT1!IcWtQqm` zRaLKTO|5pIO2&kAb7M!FH3(N;dinc|Q?}cxx~yQ(5L@uW1-5bfCgV(n?iTfp_3B%N z>%f=^DGYvfSgY_0JAZ(o%W%6#*D?Fn)z%@MP^Tssuvn0tf$L}&bjnF5TBQuouEsEk z>oXDwnWH6`>FS1A_>(RX6!4Y>hcBrECh<5dCh2lu7Bx_SEhG4GQoLBH0ICQyqW~FE z1QgXbHF`&!Ek(g19;|srg*k1HhD8|Sjyn5lbp~{7eD4ho)qkr3Fv^4?U`B!R0Bl>O z6ag>9!+y%RZ!i)8v6BE}4s2=1dp`wI_sn#lJbc7l5p}k)3k9w_VbNohAMyeqKsk|L z%1k~e8_&rv;ot-J5x9tmu*4Nyp91Ivh(vJ^FW*N*d3Xj9AEP6TKoKY35SEURd-4YH zyRExbU?k1dCV%W57r)zvmyEUj`}f(3haR>B8caM30jn)1Gu^gs+Tb%m?h>Lr0e>2$ zL|J?}eE4W9DlYcX1C$mZ1b@P2DF;T@nwz=QnNlNwIFyAhuOUXyD5w60Srlij@{D2+ zeyWrK0;nf5U97r_%C&dr27fm|12jMbG(ZD1K>gD@XMbL3r=E1OZQr)to_OqWp9#ZF zio@nsJ^hrsqBaS0efG1TvG0BV2R8Hki(+4zty#O)ZoTb0>UV{Q1lXIJ+HB<5kv6`h z#7|!yIilEx6&4w56~6d|FWG4_#B+vJjLyZ%ulPo(q(<*BYDD9`+ z5XNuNH9S6sfT_Qi}L?IO+WpemcWR*n1kSA6d-UI zLl_QW1S96FtP58QWR2g1;V<8~VG^?;0LBO;U>geCm<6LEij%aUD6Q~2glF^|UIW}C z<9`b9?cXSoC~e5y69%zJGDD58#ipHpmc3)fem`FC#*qkn`0G(ZD1Km#;D1JplVe$|y$GIpH(`Qe8h zC?};byC3K4e_meqif!Az-LAg!Dw{iJj$L{ARo2vAZF_fC+vt&FZ1ct)_RQ*)mOnVh z?!M=48&WjPPCn^G8&XhUg0plHc}@3#{hAUdJ35625y}LVwtt z1-t`p9Ml_)^a0J|+QSPX9BYU>bAN{aUbNzZ%7dG^^)ea_wDm~mi@iwQq~ zZ&;Jb1@>XR0e`v2{rVM^i#33(BdJ$9sYz+}>I<*gm%s33GcP~0sBJ!TM>qytal>N( z7}qiK5n;K2)w+!Hws0BmjuVy|Fn=VDnc&kiGDum#y`_A+eeGXA%lx2OGP`LowHlvb zoLUGo*^fR^70@aG%8UbUHo@^;zfms`%z!QQx{^949JAU!R^ui!Hn8aXa5scA{JZ|_dqwR4*_ zH-z&AnEin_Y==kQ3JZ(e&~Ysg84FAiD<9lrWcVC~Zs7+!;5qk{HEOKzk228EBc2b? z01eOp4bT7$(2^@KgY_Bk6jzSJ5za3jw2 zz8?&fL|;EBxEeba(cg+q8{N$i_ec8l=zZ8uKi)F3GJI_V2SMKW$$uMFf-c`ine(OC zsk5=E(bt}U3rL4=FhsyX;Dm~euM0PH*=3i$&)7;nT?S3F%JHKg-7V~(Z}6f4M}aSd zGjM6=UN4>%Obgnq=@egwd5hB&<0bpkt%Fyj*+vrG$odg>>VIK|D>HL2mU zh*AcH-f@a+nv@0?K%cnD2jyb%W`6z8i1 zd%K4@P5%e85B$z-_5(-0cz^o!A^ZRh&;Sk401eRpN5lyImMvR)VTgc-Ik0W~gh}?` z0}t5MS6}5}|9|P@|74YWsvN^~2sg7MPo*%zo;|zl)KkL&X`_b^cenGx!G+dZUuTQ& z`KgtZj`#Ixbj>WJW{qr|euEK6mkvHPImPzv-RC>1vEwE{-Unu5{X2g-Wt%f#a8bJc z`j1<3T#CCivAsBJadBVgBL*PB1N99JVK+W~4<-V0R)5!2+1V^YA2Q4u>l%eYGVLcn z{)uhgyv1_!^WA7*vluW6E?Br$alQ#BM&nuIYkO1>FiOBOG9qNWD1i9ZX(^d$ey-L4 z9XtK>r$4iY|NO9>Fm|-x2SY*?2w0^eAiyjD5~1MaKz{R#k?0;^*o(>**s_W++T7h; zVaw*mxqmzzN@a7FS%rtuRk6$#92Mi2*_`?1*0pR7@^}O)vjx4=T`;33?3|@mE|9!< z@#64qPVD(16t=Prf)5DhFYzI8G*T>No`>Bs0Kvh^#To~M6Ao}3fqf_f$`L^3o;dhR zSZ`#aD4pmT;Ugn~6F6Dx(R*fsi|`P;HF=u)-GAB6=zeG*+&}%q6E;)|qH2GwUH6ag zw^L3(-De__Qc`?DItw_fYwK-jQIVZ=%E^|Im8-bAtg*h?4M$EXXDtjTm{WclHgO{Z zCZT8s+5B=`|K5yrpkvMR99!C@a5LW88apx_e?E^dr+@8t$3jQS`&*gj8&Ti1%jQcz zBXeq(6>pksMbuON|0(JD+f%H}|08ufK!1NrVjaQWy?Y&mv(W}?6Nd~LYJv?u(D&5S ztL*eM&hW4oTzG+v9XZZ7PH7g7d*PMm?Dfs-ZOXJsRy?f8h7}I6g1lT`PnwjPZFm3Z z$HpP1#l<6R&#pbz-rVL^3Npo@C2JyBu$-=Rz$Wax7boKaq{E0mgPP15sKd|)0e|-p z=IX1ivJ=OjD5HWiTEc>7&ck8-Lhz{Q4(l7x3Hk>P0e7;c?#U;gY7-|;v)bw!89syU z!KDw`b8DZs!9_!?rHca=g;#1g#hG2iWb7z?j0O(2>vY@}JU^J_U^5A}Ne#R6b*tQo zHcU7uI+JC9j*Wi#%b(keFFa?z{D0NY{oWB?bE`~M3 z2v1*<0$X{b*)4$hIGZuI+{XQ|+~yyu(8}i9;)Nx)l;?z7YIft|1%fGu)10O39J11G zzNAEP9I1jaB39as6?1Kd;)|PczjfbmkIffgi=)%JbEa+h_#i7SQ53=7kVP}+`BgK@Zbc0cX5mTr5IPsG87NI=Mq$C*I5GtdV zpI>0Px%sZhX!v?W&b$mX)G%`sc*Zlz7a0@5gb3wuLu2eaV^5BeFectWHWu0~Hd|?t z-i+C|SofVzTKPd^GX`w_Dgbk|Z#UTOF&PinY`f+4i|x*p<-I!jMSpg2T#4PZ%5VM` z(M)@<8c83nmR(`9#vO^ze+?aL*%#TYK?=7rl9azS9e+NLFQF4VQ*&ylXk~gI-^fsP)>h6C^dIso!ih2yzw~qQ6#m7hgoo@qe*s#I-efmzk zDN>Tsj6=`DY28)!%zv}1eY;fXOJDwiO_(svD)&^{0}nl5zqt2jHmYQVO*(Oc<>h7D z*x{orUEdEGGSZ%XW~Du~W{pjrc9NgAj0;hg-VH4r>TXbgeLN5%%(7$WPR9j!I|!D0 zf2ZEvu_FVE7&@CaZ?-9uC)xXEy5@w>v7i3z9{cLozT{ZY z4GEw2QNbWUZ))U+j{!mDM!OYZAtFG1XwIcJbHnZSjYXj+SheVzwsgZ-E1m4OJ+x|G zpAKWyz2&xHT&Yb7w|!{QEZlYCZ1(*X622pJ1!Y$X;0UyRW0853ivM6oRW{K|>;YS{ zDAtiIT4KxfWKushm#wu68-J;H1AyQq_wWmzMqx1u2+Om`U5M_L_dJLA1_FSygB0%~ z1A=$N5fR_;-e*b}1&B{{p0TA|Zbqj4eDPx6rE2v{uh>Zwhx?YEwe__&V$?{>WFP9} z6yFEEvZmTLZroY%*vp$yjy$FiF$}oa)qjcd={JYauyrVk zhBA>aH*WME8G>IJCX}1!j0kW+C?$w(_ug0`Bo;r{O_apoB7_4A(jWJ?21`7?t$fMKLa#C zZzgTD@>gO%2WWr>=zo}r6Or*q@Gb8J$~jkN*N$B_tf<)b@2m9lyngwsU#q_l#>A8N zKWcaX@Gkq^?|x^wL-Op5v(K>9jAR=%a=5!P=gR3=I{&fGJY|IHK*x-T!_1OXUa6o8dLxX!x1Y*!kfD+ek-G8y2?SU%J(8;oYzUd|p z!AtqpA$n*ZLaU z-n8gqiz~V5AYcn1PJiA2FO^*>fU=?7{_4JDN~ykIYWMae+(W!mAzzK%no=p>FwRQ* zsjzUUm2jzVDH}5Fl}w|Mp!1i5w75bTj;n7Hzu2*fHGd3Yh5*1%SOgXRMOHR{IiWL( zGkVSy+@k>2tUm~gwm6Gkjn<~iZ~uby(Tu7#?=(Bd=pu|@&xsj0QDtPFc%?HYUZ zfrqVZ>}1=$ui8F3=fhScBVkZ{s-;<~wH>Ip>9MlDG0i@^IQHvUXq?Tua!y|>f6*)(Bw1bAeU{BH zztb*`8)rAJjE!RUanI8gbG-`^5k`@gEt6r}U4LN}6$|@*dknPdH%o29*isAjb??zr zCEeTQPtS3~>zi(0mp}$F`lbHL5F7bIiFNfE^$2c(6}<{jzC?Mv=u-RG!Nyx=vLoz{ zZ!SU5dg!RUg34_E((;4vE8N8_DsSJi`+aZs#JQ3C*&!o~M@TbJEbPJ29>vq!&G8_` z(tqwXDpa9xGh%L#(S7)?cRmmOj`(Gc#=`ZCFdmwZz~A2W+r#hP->G=L@({^D52>!; zp~}1rS0KHN*b=DB=7`^n7qy3suZ1>K?T~gd ze}>}mwD}urdn>xEe1Ynf_d}kKR$?#m_8KZ2|6Nj5e(@bvEJUW9YKBNgm3z|g86-~+4d`9E@NJfzV&pd4E2<< zKOXegexSqar-zP*&!H{QHu`IOl=;YdFBaE9UPU~bVGAO?zM?$FqobEQq|>|3dVi=t zz3lNt`d?|d=fyG01^MXv?a|wP|J2#aPDI@T<#9H6Xr6T>(GPdpU>O8EHf*+OlP6fk zrq}F>tFN{zuKIxe@aK!IV(%8~N^Q4OPn&85X=ye*x6lf*2m2wzamkr>*IhreF7?a# z#d%iWTJN(P4=;Vdo?P{$eeUM3+JC=(`@2?ERc+%-Ca7QU3dT%IvUMln$^?)UDp4Q7 zj!B#W(bCasTXt-=^Dlavr6gtPEl8j3SKEA6puJTXs;!a2SZhP8@I{BE$|#EP5(m>w znljz;a)w%49p`){*?;}lz4p@jS1cnh)4EiC4g&6MQQG1IXM3>4Yc%)@KYu&)uRRXj zs?=j!**jv=I|fS!7Y?-!+{k69^zGo@3JQJc?Xz#P*qFOOL2Tyq|KNa1LQ0%9*EU)~ z=3uqK*o*|zNKpjdtectb6} zrMCfcd{j1xuCmmw^adJhgnuy*QZ`ZVD%L6PCamKT{Gc%wYjJ7Je8x=P9G= z2xD;N;V^I04$@0g)MSgsx;B^YiH-|;+( zkN1G=XdyS38z8DH>WT2=n=?8X9blIPP8#31VWSN%9&SJU;eT44o_}*jL`qVsU2wrW zZGX)H>lU)#UAbQki)qmeOHD~r9NoSP#HNj#tgg1!*FLZ|g53=oWia3l#k6I&8hm0` zoD8sdOG{1lJa*_=hAjI+HB8o2zz6sg3@|lzl||8e{wXV`BkQNWPxnKCINAJ-=qJ}r z)&B#Z-k8)tXWVWTvws%KXh5+`HUwCD)+wyAd8OA&!EdnJXD~}9W#7v^k88%#5`hwR zUiuwqtd*2sBmS3INy*$^-^O0Q5v_X7Dq^!@eY>kU_N9d+9ZUE23Y&Sez*w(zXO@)P zt!E=IGi>ht<7{ESE`dE|@R=#%QrH_-EcG(1ns=)$A3MvgjDJ3i&FC%dZHd2fuPxnh zkzE>1O5oOH%j`D_(!=>T=GB~~E9}O&+w5$2X`5lUyxuK{*B`|IV8z@JcE}3%3CUxSaOM=UrWTg9s6?V_1f3#~Qt8p_H=>8bK zo2#0<@k>Vt7k}~*#ji}-;!AtdGkteBR+wX7yfe;jJtyddgEA1kUAEF@mCu&kU2GSZ zl-TUoKVwfW?O8hpzwZ>k&vAao*=*T;{qy@!>dQ0A)IW|1W$%x-QC+)xDRpf(+Db=5 ztL!GVljZK}S7P&4Mly7l%^DPIdy?tWo7VZ$Kt1vh+<#Sc4&>K!03( z?$tK>Z-0A1?*+Xmy(ixEulIUWFTH+tsmsA(ZRfCZM|wTfSq~jSFUMppN@L#2kJ|xuuP7^$O$e&t|k|IRnyu!@Jn{KovO2 z{O$1K07K$2nd{t3Hr`CPLNYxZZ=J$qVu109P9(Qo_L#WmaEXp4~vrayps2uJDNr5#lD;kVx zp6E&zB{tQQcMI$P1CQ1;g88rK8*zRO$d>i*D#s#B`U(=vw_jarnp_X5PCq0>Rf!lJvw05{j zX*klZm`@1?60aaci9z4cJp-YcRCZ$rZg$*S1!gMi(en*AHNm^G$5oVNc^zqqL&al*cW1k}e-4>#MkyXaLpbRy`(x^} zDp+At1D#a~Nr%G1ddK02N(sdrq2a_(3UuJ5?KV~gyD^+m*>+l1y~0AFj0lg+s!%%D z1Yh*3X2tuc5@dV*k%G%2g2rOZ0wuU;y?AVlb*bGZY5K#t8)1y5viLbY4XZ(mODI*T z8AciFMiHN_y+i%(u9mn95 z0iUb(Tj9*6cokrX#5@)+6+3Leqlh)(`iXtAwEwBp?sI6RfsUC+R&bFY6M;aM7F+AE zgKpgYu(M5Aa6=R`xQ5m%FXq_HG%+<6A9h1vc*Y93SSXR=>9CE#cp#y&b@& zKqg5O8Ng-+fIB>XMya={th#1EyJKXw*WH0u5xTH1sx(~O>UyG7Eno(_OuvFME`-wZ z$3#fSFGTDsmJ^q~jv^y+Oj2 z7RHqtm+3t$(M3=8tE-{fw<{m#YADwz57vzM_lpo|AFUr z0X|jH3QcJ1)WKo!YxTqjf{iIUDP6@m?7YDcp zJ{1#>{vAstOtSD;do;iAL-cVs)60ip+Y}cS>Db#h^78UShQwU5_ZmU@5YDOXVRieg zm}p+xd9bUkw*Gg$42F_oJ@w#C;^J)!2PYj%%M`^7fvKi2v@40O+rHC^;?DU$MEqj6 zP-x|Mb;FaoH|+j1o!w+pc^~_Ya{$%%PeDnZydaAT%UUl5{Wd3sM4U!joV5=mZ;Xr3}t2Lm58j&G-! z1Ma&rRH~$PD(tH@t}dj*du8MRERwzmN^WmFhTA}&m?v`{dLiR=WV)l6EZ0d_&q0M3 zzO=rMwC{09!jR{A2az`rn7%221JaK-;)p#)AdJ}5`zMD%$V;i0FoMHKpBS9ya;_SG zIzufOJK$3Cc$*OJN1W&K4EP7aDeqUQ*6L$-mY{;n;U&4=BYX~vb|q=!H9dCcAdlQR z?mzjyYNt2CyMJ{|ARMCHeZ|V+!!DN>m7TRc@YCu#fgMiiC`|tbPzV*tUzS@&_8z7q zE_YXQKD%c2*^~V@;%ywi-dKBwF+>BDJ@LwP^~`Qu8s0OaEbfpk;HcdGvU2aqO{zc3 za(-p)Bj(>2p@hhAUcO}$&?I2X_&kwu0hru_*Z0xmdchQ8#vdp^E*&9_v z(dKRORQND$^kqz+6w@g`Qw>KvIhlZMC*c=RqUFq87KP<}2gQFBXNRSQcj5n3rT2Yi z5@sISX!%f>pe!hH0J9lglb^?nt*F>p8vL#`yF+}Y&IC>;9-%*kLAF!bd{6NUR|%*5 z$$?KdGr7oDVY9|}(g~lHwPEh=V1eJt9bTZxw$RHd5^zaEQ^!J?`)H0nSg(BLn%fB`aG-U}JJW zSySgRV7#25tC5vRb^Q#c6gT-6; zCWIHBeD-N^(b~)S<5vd>bbJtrvFFrGI*(JVV2qbibH44?!kG>#YF zy`e&PBr;+mG0+rg|BDqJ=1qF`%9bTj-7;ptZCD0)i9NH%Re(FHaC0;`o?DkG7m94X zX0}sA3QAa7zTl8|K8u3Ad^)Kt0&dgTAt#S*Y>dL5@y)cz4EG=W0<~i>EwM~qnxHqR zGwWE z&K(VS$3gGVre;)w5!vv)9=Ht2r=ZXfmrGEQ>Qg(bHVDi7x~L}N*CGnWL#+*` zF&*s_YVeD|0XIfg0}K;sZW2O5yqqtjm>~@QoAi`YsHUVV`1N$8e5CAl>4RpcPSuld z_|F+y1N(-5qIr4o+1%NTgv`cti!7BAZSO4s)Xd3k#B6mzV|El7nbsu6JTnLlQ$)D% z*iK$fw#iV9;JCM236tqHxu_Is>`#f|M^z6|$~? z6ir}70kw*1%b{T){M$Ctu4AoN`JJsDX-2u(%!nl)2BIWHNW^+benTXgh<{*_YOVd~ z481oazb__dmCk3ZZoIapJy^2Q151JOrAP>u$W9kg>cwGO4i{@3!`O?}7=86^Z9k^U zx;54n6Oxrusg5^I#ZP)yQ=UWyr4BcM*{KL11+5mx%6z+gQ=|i~yVY9tF}0yN6d&)x zE?C~_ASwQm(23=?D{`@iijTb~apQl}alA`+c0XQhWOLs!{WKjbolwbNV06)K-%xXt zCsH#rLwf=3ikJFNa~jz~K|~aLiO@e5j;!Y&97gx?i3n(AOJwr21+uxOtpeq3n(oz* zeFewDH3&l-RHq>94nt>ZwW-3F~UyB=eKN9V^G8tN~I zd#5?uwd&Qy#t#vfspvS!NxVWHMn0D~Sw?yQB!m1~&Sd42o_AQ0WwE}!VWXpuH(ZdL zRa&aw1hydg;^J<^iyAq%>55^oXW?D5d2)Y91|4f{L;tFCV1WH5(9_Y6&-RBUnaAtvp)LsvEqf3z#I z-K`dJGWqPID*fR$2#_I-O+qJ_7b`d%uQqX7jSP9bGgIxhdItje(!gK7xA;gnJwKR``jpm4ZvNSA)*nQd z7BHuRcRKgqRIz|O?WS0h@*VhxdMn#ohHfyi4*p46J*vE!aO^E8iPB|}@Wp1Y#ifZ~ z{$sIY-1Xn`b998|w*YY}_@ag6y8K^jij{}4~u1yyGF6c!U~6! zS*N_5WrP5$k11N}hJ`MpU#{C5eNX_)$8z}D1;+7Q+QMSnnn#)8Z9Glg;d|a~xYo69 zOd8xqtIsj{^S?zZDU@IK-5B*nEpxY;Tn_C-Bt*jEOE5em^NQJpg#%py#T9VR2EiYj z!$qxYj_1|wlj45_sD_O^YEdfqx*s#4zpA&J(07x3X=NQ&E^!pcpmh{mJ$n}1l z<7C?MhsUCL0>kL{H@ug4RfU2vYdiAs&awSKZb5^@Dt)ed+jz6Uh#-`{A-qUh;CBN% z>~HW;lS}Fi$99OE9`eL%~LIYe?poV7f*Tb?u6LtxYAv9?l+|K@eS9npHE>4<-y*{ zcYY@>EV>a@uh-_;>oM@S*orf?f3#3i&b!AoE=&I#&F2xdVa@hga2}DYb}aFS09Cs4 zZ7Yaly_PQccK-t;1Rd=7^;sUa)Y!-?=7brrT5lbX@J5pHnR(X6MEFwVKk+lD3ZTBJ zOci(r>9bY8oqVs5Z2=u;OMR2OZ~LB{9FfE_sOUb;TmmUorDJ1bUewcvRCZQP@oSi# z{X~|=iQnAlvu_Uo($2~*h$0s>cVP*)OLF z5GdRW?lTv{-NvEwkLg4oi#fM$|JzEcWwikgVQ`99wVFO+AC}qg5#m zQ>R^MMSpediLH)K@PfCUlNgmxsI|QR$WnK>a4@02q)Zf~Q7sA5NC=qUNA0}_V7X7{ z&uAZ5Sn4&+?h^LLT-jOAAH&Y`&H2K(Ts$+=^sg~3G;CV`7GND%QQ@7#v;7zWR z6`sWGdi-!oJD$O20=)Wmy=<*B-HzVnirK#Fd&kSWXc5)Cq@v|tHPGatKb|9Z|DfIV zeZl`m)cw-K|66tEMIyrh19&3#==ipAQvbVL9WIUF*fe)tr4m+={?7Qwczx?i3TOic zOXZ=T6!Y(6H2A!How=rGf=pS*D|FnFDuP4Z3BR`lJnu$( zqtv%P=hgllP|MXcX-B`cNFczDYdO{OKCbEqa8Ncj#7Tk_mPv^p2G;{Tr46P+kI4K( zZ(h6~{uFr>rEMO2x%hhCM?-r-r;@z=`%HYQ@~BL`sd?BUunf0fYOSAm|0dT2cMdu~ zpKWShoMqN0�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 diff --git a/READMEAssets/DisplayMagicianSettings.png b/READMEAssets/DisplayMagicianSettings.png index 7ef9b49596d9252be58c552ee1671448a6bc5c78..c673dc30ff98d7f0927df356315d6c3b087989be 100644 GIT binary patch literal 61126 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

    ;>aJXe-Nf|CaL>b?(YE9S_&Z=3jU7? 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 L*_EHXdi%csAvlqk literal 48259 zcmd42cTiJZ8!w8Yq9R~NrP&baA_77vFDku+jz0YdK~gxsLtcjn%iGiS~{_n*5bnPj)M*IsKq?f3ki_XheJ9H+0HW?^CB z(9(Qj#KLkch=t{-$;lJUBVM|(512nk{ERdnv6Oc6&NFw8IjicavapoH+4t>^GxtyV zXj=HOuy8gXeve?i3mjNj8m?$PQ8ftyEz+S;w_FjwX$KjNfKFddvKZ_6=c+GFYOHLG zi*jOz?0yW8e~`W}RfP<+`xgDSQ13_^F#EQbSis_AN7@l3hVZRZnKxhwp*t(#;d)*E!xrym~Q4hD@CT+~f@yp_*My zCHDO4bHt8roS*b*k(`EPTsUW&`&nS`vp^h?76L2VU*%$a-Cris>q%^36KspT6CSj1 z*eX{?*6sz^4|IC;3YL?B^p&T-IQ6S?+%8j{U&zsD7>Lpj7MNH30o`g`f%arz51L`S zT)27vnLv6e(J_zX1gpiWXE2L=k;)PVJSOmi_NRXhg!HnKNsz_>mYdNu4eV`b2ox({POuI~TdA;I>0Rm5Ps z8!9&e3>x~(8X}Z|39~&R;!R8<2+Z8h|KK>XKwBWb8kvRh9Rph$Y?$(AS?#Jq zme@e?jQuP|Wqao@V}`()Q0f>tOfzvuhMGyF@>M&0?fN};lAqhNcFtWqv}AM=v!Bek ziCNj9D^n|B+dXNDXa;=+Uj6E_4eW9|Nhnd!bv*P=su28XI=}HjzPKfuc+pnM9SiJ+ zizQ$FQePDv#y>)NxZq=y6_K5!R|d0oOgBq{z|#$U#|r&4wQ6vS0INNLUX{ zltF;)5Zk@?TfN)74`#hNYx6r1W|#++5`iCGM^gpi%(p#A-7kV|l`R4$Jo@lcdtqv} z?-(=~W2KA!Pr|_r7krP%+{IX<{I$Xs^24;l7O`Qv61HeD*aX-95db$+ESOu_Yfg1c z(AuK|stSX=9(d4Aj7^rb?Z8mw7_HsW$AS*p1gN*xlMisVahP3h#+T5wNZbDSzxVpI z?#DBi%*@IG0V4_*P)UMOB^kMp=XxsnI}99fIh5LIn^YgTk|xBI*2B$5cK-9N&1U(% zQwUI*Gs;VRPB~HKU|K~&g&MEox@UOw&sEITt%M=(q=23(6A(&ICKJj$o{?W{v3>I%iora*(dd1hjT9P_XFt( zib21>8aqi_z0Ai5=2oP9iYbc^v}nke2T1E#71qUhY%Pt>&_eaL+4zu`@;q7pv^23# zm1fFbrzB%t5`G-w??aYkkT7B}nm5C<@|U6$`)ZJ64#hg@HMEHJLA4<5+TZ8zw0{5AwV7T*1+y=V1LuRNOhDFE z?1V)eA2FT+Ki&LH`(CiVmDeSK_G)ja${cE-qrI`@wPlT9=|iKP{;JH(7Mfr+N2PB| ze#PE!eE?6Xzqwq0Qgw|9dy#K$Ze9_jeqEEl0C{I+o2_CyA}hP*!GD^+^c1vf-nOOC@cR&$n`^ z1){bn>$C0Lqz{T8X>POc71gq9i8hHGJPq^SgbVarcD)Vj)zEp*q?tO%4BMZ!COmXb z1U|C+r~$`Hdw+CpRZWUqf5i3Cf`7Z-#L3Z}0%^wTgGhX6l`F~|9!veL_*Ok89 zawHM_Q6mt)mzvdk?&C1&GB-Efma%0k_bN^r$arqP7O_9JQ=6L+vHthI+jG}@UbNbc zhi-H|j%wOCT`gypOUspeq5?Sfr}rP#gw{TGUFBNcbS%2)-;6_!`H-gRX&3)p`E#1( zOy(L3obI~4%8lCRL;YtJ-F7I9y!`ik>$!=)E356{e+BQV#>>AWbA9@M$SLm;{y*2h zjJoyxuXKETQTOww8e_Q9d0YH%Qxy&`Uc~-a(^SN;aQ!*_&;N%f96A|?+x`EaGzJ(w z!jDZvk>9V-WFff1TR%w1M_D{=O1g73mnjeOkO(4zhKXVM0wugz#pw>f#+ z2Kd^>^RTNbX^ZkqdBbjw|B6kWi$Fj<%{(>b%|8y5TAXBIaY*90c&?v0fA9RASQVEE zX>Dd&r;9kQwo0NnEJVlS21i#q^WqcPKZzRs!X%W?3i-qC*KTeh;;>K^di{Jp5JSDJpX5NlZ6TF3)O|N`r(8|4R_p0fqBERBuPr+y)r|K%OV`$BY7Jj?v;`+ z#bB=v?B14XCh$RzgN;>T>G>i`z_JpgsNxnM@mwuh6fk=O=|gZF7DWaZEM^AlY>P5a ze#=YZ=$J#YYZ4mIu)OTM-yjjBmIvL5?r_4umg-+Xhf#$X473i3jtumzeZAspNc>q6 zv#2TKOZbfL>#EqU2SHa~f&DvB z;dM44^vV&I6x+`R_h5>UM5co3g82*Ui*M1Owl)uQx_R#8FNcKb*nEk~Lq>8BfNu1Z zCHscyTVv!;g7V8Kh30PP3trAu`}>r<+s=O7BpYH0o}N_l!8~xWApzW6ky4{ATx%hV z8utL3CVMnf*T7(iHSvAYt0y;OHFL}pHn$#)Z1(9Q$b6w)_qXXhS;+@1uKhBs~S4;o$l8==Qghf3tP#F7+D}Ay)p687Nu9O0dt_poA@z`QM*c_U8sgm zD3RN(-pNDYa6z=8rD>v;(IHkht7C$;+P-6BMD?U6zCtBAAUO2x+Lb3KxQj!kLMA^& z^zk|ol5rv9iNG#*jWPGc@T>{fMPy|0=(AFzp~4Nfgw{&8}v(PSArjkFIt(ZmjR1^&7alnwTb7kLXVAmp8(Rk z{kzW2m_lrA+!YD&Y?HO}M5Yg!;qEN^{T9Jg_znCVmw+lLc?|E>ZZ=b%s!l2#TgNC^ z=NYf%pw835h3&IewKsOWw{rI19|(#z?w5*T##MGt@mGT!CksQZcQu2R=#kv2BTzc4 zbldX+LkTTYbudTg`7^%z*1>yUd|=nR7UX`06oLZx>%ypy@L-(*Fzi|9xV!dfcb{h? zPOQT#Wk+9iZ^d-xRXYz03oqM-jpBakN`bjmtosqVjetL&_nolziu!=ZH4U|n*swJq z#_42=mu2!gE^PhT#YQbEdZ&<$@rmhxwY@c87qxV@do$1O9b+rP$}&+kPl>2p6}9~N zTq+$ewui6epPdmcgNL1C8XaCtrElXWm>OkKxhdR!hG|W%kNZqG(4GcignGI{nHDIl zV1){hX|LwjN$xghVX?k)EJ)%_X))oOVB@;b{d+c53KgKCI5)eRQV$lE>!Q}KoZF81 zyPwCNQVLf>0auyB9KyWggV$q`pS_ZAFP$#(?>fpdG1hC(K(2&rDFN|fEG!b2|KBi)HjBRRam)=4BbK$YU(CioqO2F zlyT_0>^M?DkD=X130{vo25PJet>euZyl{yuw=!B`==OuNNs|1xTh-JK-PY^zyvW*y ziF44z1~VJ&*;!3SM4(kiT|@tNNQK4eBu;rR9dQ9VrNk1Xvb<8ALxQ*gN=IUtmf`}j zNW<&e>t*dV%tfJ%K3FwJ%~kQy86NnWV|cJjlkE?y60;n@Bb}+nbFG~!X`YNY5EtHj z)W|W*pKCY-mvDfquoRtX+xk$D-l#+y|Kk>s${lgA63!=#;H)HAhcOGGrzKKR$>Fv3 zIJ;}Z>Pq%ygDKDGF6NScyae&~r!lqs>EeCz(*yxj6L;y=Ow9IqP}~&d0XkVT>n{ z^WXF;z16Au_P+ej%=!vWq$D1dk78nf+_tpZvfWIj;6H^*MNV4d{gAG;&)EGW=2dV~Sc&j(M{(iM|67yO90d~H1_SJlEK)j6TH8&KZ!s9~(~wzy}on-TeS zoT={2+oHw zbb+j3>x|7nYEd2N3NSJsEh{C-|4`F zy$TC>Rf5LoRidPbp4djvfjz0(HK7b7G&Xp5D88>LaWWdN-y6W+BV_q@O)dhJ#i4ee9L8%-_f`37P%BZc!$8;PT`*lw5Bilr6`5bAnY^Z?9vQTLQ{iLT{H*a=C5K2<0kEyps3|_cHc-ic{mrj{&Fsx^ zyB$7ErAWk>3n04D$AgVvBP_YpsQz{Nb~lf(V~CWPm9B#Y6zuk7;l=gJgCOcgWogzI z+TF#xOa47>${);He65E)f@?%Ihnxb&Z*XjYlO2%)oH=8O8UehB^iG}iiXA;^utcoA z<4~(15{q+zkq|pMjO~gs6Y+|MO_S~A6|In6v}EI_Pv6&EOmap*ahXr?27*fu5y9P& zCwu((U{eqY)7l%+1E#`7T!H%VCO=w?!omO!NzNRJ?FPJyyK9RMFi!-^dqACKdgRBy zJ=i;_yKHgYNZ(j}G^TtdOK5UPLpqEx@tg@6%%*#HFu^cK>U`G0{Clk)#uPWk1@i~Iyp6fYmDz68eR3M>+JI2_9_&@QNpZvyoF+cowq$t3<3^7XnymDOL!B!!vu&CU>^7!XQ@Z7d8|DAFXbC86$L?^Bj z5n4&J4yM;SLX5@xfbIelF4stf3gmu=+OT1LLtM->lHBm`s-k&^o^nsb<`u{GiMTx0 zOp#hS{{x{HS+QIPJnR-Iv#VQh!C&HgAC76UVp*KpKLs9bw8 zk}Tre70OUl+NH6PVP_DMVQY~G-Q6*a%#~0qV>u85kb=@iiQBccwRAaRs5BUmokI)R z4yE1B@ZM8GWru|e#cyVNvZmX$Z8VxyU`YFL*1Y^Vd$8+-ww4(xH}P5Ij0A4@HG zX`5I52@{5U&j96X7Mo8wVx_!(IQoa^hAAq8mcNQMR}5F=mGDUL%%~J<+_O!#A=v<< zwmx177qSRbQhBOOg*p)7)hh-2PCQL&A4YU7li$rK8#&@UWj*>_5YtrPI7SuVzUBoC z=5cbH3Kp@PT?_rPf*pODEN6|Miz z{_ffbk4+H~%G^2!(=C|^^3qu^g@Eq;=rw#w+k48yIqvD0>=joVPT__1^&SunM^ynG z&JR018iAWn6_Fdae57PL1c&3m8$}XmV(iw~yLGeN&mc-&Pc9zqfI9o2XblJs1gq8T z=~VQcMrUjVcu{Q=fhU3iX#er~&Jel5o0!YlNxg)s^*(+$oV@eN*R-Zz_MM}#pm<^* z-gC%tNADmzIBHYvLu~MZr&?H-dRdkj3@o_ket$!nklW8Ns&_`NbkS;qjSg-vBFaTO z%XS75M|$T2E^8?Z4xCjQ_Es@01DJV7wuT@Ds)JB z|HI`Nt3Xq;nto@Mn~M7JnyakF{w2u-j3a|$ znUg1Q!Un$Rx_xDyvR$8lDXH?os*Lc9M%6gb*^pFpD$SPQAsy^a|=fuUg>PDEC~Tmu$xi^tDt#W$GENX|6b=2(dXyZU-J0mAS@ikl2}-kY6bedUp?w5(z2JDh%sz zy$));EkCN>C{!5bO=&v)xam`b)z0=}h`XDWYavw6>iCAz)(Fp_9QAfoa9PJWv7!Zq zV(TekmPF^y^n`qy8vdI2k?tHm>D=hnbzZdj*1V^VeEv2y3@EFIE~KY5P6jlXRe8pf z3^z;x$v0^h7y<2~^x>3ojo#3K0MF6m{j|y8-Wp@hF^y>_dG*#2O_KCTZ4+($AHHli zNM(nNDfw$?_FL1}_ASOFw|R_9)#lmM8zE7;gskbT$+i72Bt()eF2~+Thkvve%}lsb z=!*qCf&0*J#a`GM=lW}eTDOCOkx80n;|1(gPR*J1UPpdL?`r^T3+JA2VF>wRUW@3XH z?U8uLtU)tjsFI$%ItAXbxSKAbQeFOuh@5Zc=@N>~r|7mxr>OigzVy%1nq5|}p|)%G zQwGijv9{A5hO~o?+wpm3YEaZV?8BA~s=t3l>_H#&eDboBkEe;F;o*3No@eFv;0~im z3u8EWu41~ZD>yGhHEc4#|1|%bN|MYa{LhoK^A&7#M0gGVvQ;gzMsY-_+;eEl-^MqO zv9<};5C(0}D3oV;Wqc&MSlOio=;rZ`Et08KMiJIe?JIK@Q0W}bPx8fxTdWi1MAG@%UyNFw5;V&GQ-09%S`!e_}4b9 z?nNiiTP`R%3m(rJ=q2w~8E+m+jwV^!)wNGDpaTD0qoH;B6u&OsCSF@gsLsf=uq#h9 z_YNR)&h~el2)FHfn)tRI zB^o^tJ;8myweT|yBGE#5wwL?PAG5l@DrBBXxzw&g_*h*kfV4N~uimSuD)v&n)c9-H z_6V0-(M0~k+GUx=;F@2vVB96)S=)|5Xmv5Dj%QzNV)q+B7C3Nn9^w|O$P+SstCdIC zGpE+xwx>HWFd5YG4mCF0SUBA%PBSj~tO;2>dC+C2v_)eseN@C0&GS4VpjYvWr(EY+ z#vR|Nnf?PzQb5$)tfvmzB}>f;6c>OEmzkN8p z*%`ppU0wUs=xuYC5vf#P4+{NYyMCTjgL(LycR9PaO#4`WjaRW&a}+YCrg~d-mBPw4 zC@u2vayDl0KB(4}T)JB)6!b$%m~@2?fH1jwXSVz{1#k1hgE=icFQ+ern)Rt*^Hs^P zq}Fa$mW-GQejOOYCt410RPo(_r=~sFwBtCq*Vt4puex4X4*X%d!>Nx4EI2pEQ{UD@ z;~Qwn$}txBx2QJ9Jj`}`AR19tf3F3V^vkZ8Q|5gP+{5daDE_A*qaO5r{9kyeLWBGn zlymNQm7aSMQl&BZ9tC*EO$6BY^Nx5ABqss7ES1w2b~#{i7RqT4j$ElVVXNM#fm-H~#{+XQ(GzXfxScrQbPKeDbzrZQJ>HN*iU5K`xC z*HKjO9>MyrK5{gr%CF~5A}5_{EEoD0MdjVvKSW?ME*uM*os@N)P{X!<-Hdi!h=z-n zbjLItMDtX9VeI7^Yr)0uKc28tpM9UYjX)8!dQIglf4*+7HCfU+*nT`5#lio8-8_vp z`d-1~XVx*-0-hK2O?VOPstzF~f2>|-r~Cm;r^4F2Q`5M08o*XHp!h1LEnck8ooB{k z%u0UhK+8QlxFOoVLE+?6W0gRio`U($7pMjz@_VyF2( z-A|_7=@-|V8Z$0fQg5Z7;#=FuU%$)U+T-1FnD_EAJU5Z5G5x+ul92Q+JqCsR+Lv&> ztwL(DHD9ukY(wpD2xu7~826(zFsBSh3qx?o`KAxXKLEi7BcS_NE^%C($^B98K1+`K>QQSfAJh(Hqt`BWq-`Xw~g{MI+3iWt$URYWkhx9M2cQ#1q%!1=M z&sfKe@G*r=UjCW)uNO;MPk82+Qt+P}jy1yj8}@R1Kabtrd*_DBcK=*joAhy#B zm#eBr28Y6QvPUIw-S(b=L)#VDHkunXzc1!otfi;c-s}}EerYzswh;WB&Hl5O0Nh8Ed{jWP!KkIAY_4V6 zD)-iM;h4+inQYb7BBjjCFPp@oHr6eL-`v8b=?76vzYshehkNtl{xWglC&i#2HVT)v z@mYtst{?+aeBND(IwI{l785>NXefa+dh2Mm5z=+ae%0TxBuK}STGoj^5X{n7Ygo|M z1{{Z&nS}Jz!0u?d-m1{%%FTrxPhDlL_Wep|&-EF&xa`~Iqcle)W?*9+->Z_-B(LjaCgiex&dlu}!=(?Ie z%WMDphv<4-1Z`&}{li~=!1eUY%j0!^lVARW*^}FUSd!qUdshDT&;kF0n3#1j>+FAE zcBel~2;c&^T)Q_7bDeB6|5}!ztm`n`F*li&dgNfL4e+sb!Il?>$h)r*VnKDw1t;A zLHWcSi6MO%%>PEHKeOvqNe*#axr!jyS_?VWP3x8tdCz#fz0tE{2_}N4I;;CPgFQy< z;<|yJ`3V~X$UBY)#lm8Non}uyQvlQT1s*|b?ozlTn~b`rn%f_+>-2}CS&FtGM?dt=e6ytujh)#j(E`%HW1i98G_Aa zJ(}`_b(tobkW>TZ;)SC(5u<-rvd^mw8cWYw{q02e(ueXiGxr2R^QVc2Y^DGQEhZT$ z$Ov!9oiEXa@ZOtFovF?Nbqw2;*tk*=RhEb}^7~}#z!L-wy?Jt^@6QJI8tzicH@$g| z9}T9;0}g2MwVNbgA=11@4F1Ni?9z^9HCEjikL?pv13Kpe1ecTy9YaGbNY{L4g4G-- z;|Qp?o~Ni@b(w3?Gju*EqI#c=uyG35}hWMfC; zt-!H4TGf6$Wq#@1(q&r-P|UNC+_nS0>cEDu-uuUv&gya%KnE6))1|p1|5WFuT`kMJ zyi9irURe={ROFKgY3#Z*)G z8E0ssbs`WRb37Ppt-`L?i#f`ta=h;CTmTz%4l0PtXgFd}H?a1o+Qy(WDa~kT zIC^aH-D^eDTe<|5>M2C=9MyCHS6!bsJ}rSHA=)_NZJ8J#t)kuoFAcZo`U&2H7Iy41}{8+JFf$Er-(){xe)xA6SWX!b-T?o}5#4eiUX6qk40`5aqh;YPLFE1ya>^~!uQ}Oj|S$LRR z8+veKX9R*Ax}=9M%IB#VG!^2JR-<%eo7pCLywQ-%7AeV7=j%5s6_Z5XC%O-9d8Bqx za-Nu@mJ2WXx~fX2=exbxRIJuSL^qyldLW)gbas=kwr$?Jb7HcpEjU`pI4Lrr*#qdQ zl4SdJeD}Sd)?iuvQ~`uAu&O29#SAK^UOhD4$z9bdatJA+79LcBk$@-ZKa+HZ@jEq4 zbie+>Yg;xgelB+-YXfZf-k3W4mBIcl!r{@?cT4$5sxVC!6y8o9C470ZWBk#3Gs7-P zVD``aQ3FS~`^l3>K~SKz&6N{azq(7qbEf?=piL)@Ec@^kcqK&Nln4kGI72ar_XWVdg>9zkKK8^U$n6r*fNIf%4p( z`8gNXg9Gvq;y_gBFy8jV!V~H8$Trp11%pVX_TC|O>~)+?**Y_@ZW~ipfkE%J#5S}+F zMU8MP%kkLj!(+5N6^;GVc8gd36(AySVuybB|1*B^!aA_T`5W=qL6n3*d*BH9B+I?* z;wbRL=!5BS)Io>&%!nOYC3>1?w0pm4(#R0~jF`Sc4l|Zbg9<-EE0$f{z{$Z*-p=up zYDg$4sS)$cipY=N5;&d>`)-W&^k^8U^pOE4wZ8dj@#Lj5znAd|P=~E5Vy7Q(I})Aw z-%z#r?$>4gX(ZS53#jAq@JlO5E9%9CW{~jZ*KMWqH`fhh?Zer+ek9Hw1bpGNnmrYM zgYNJyY!5p?s2qtqPwXWw;QC>ok@?^r9H&bW#0!zH+uib_<=7#xinef=P^IokXe+oe_Y4Zh3%!*cQz_opin4?sb&Jbi8P zg|m^Od$(Ugp>OE#r59eP6_(VJD0u*MrmPcA9tfBlN(n{qBqx6e+asW*7lVqj5of2# zna?25m<*Wi09B9Yg6soi_a5)_o?#7<>D_~WYnoj{KQXsLabJmV~0gE`$E1(Qxp?Si0B3&P;kh$Iv$~ z6#W9$@N1cW-~&JnVc@uMDcS)0>}y2MynVCUygOIy4<6M0CS&4~(pHJDVvLvRsGb!P@A<^LRfAEB!vn{D!mJphn(&W+WSF9Xx@75=3 z+!AyO6YNq4_CbC>QtoZHBr<}1rYI&YMWs1a#vh&4s&_nSLiYVqUzsGdQe?XFiGD%j z>S8xO7n9NsaYoVldpgCQoQXCuSI2%|T!QXTLD;ZltHig#CFF%3tyPE%C&N-fZ#^hT z1A5sjg$avDoee9U!Uigqxp=uc@@BF*$;dObu%EhX6@Hm7)qda}_TE7Fv1BN_=%%0tJ`&_^JeWDEAT?q?>hoK_E?ui#pF+=SzTv& zg{MmvK0V&8OI3^^2|x7F9SZMW>MID4eKqfZQ{}1G965M6F=p7%XG~O;r>?pQ(gAJv z$?%!Lk4i7nHi)l?svns=`NpEZ1X{k^$PN9QjnvungYE4a#*#N|^glUfGJq)6N#BJt zf))b0&3)-fE7S$vkM~zTwj*f>^PK^#B=kV*c4mIzdxhAX9-%|ljZ^&pVBIhy#a?1h z*Q>oS2~sFn93bnxOUT@#bKA&KgC}U9PH)IU7E0O@>mj6ZKEC)^G!<1h3s^OBCAJTXkL1Y9_@eb7n6V{BD#z59qP;)M|9AnZ#QS zlJromHeqUubR(}yubV2>nO%ALv+8QwWuy0LpAw8||CoLw1iPwfr3 zlL*-iUXXe)*ewzPF$-6Sz(>a@eA_I)Y9iwsrQdB)Yg*lVN3YMv=p1wlV5cggTcIUPzen=jgw)IrlJxO{pM7mUBEussq=msl(F}78l+c4>++A z1Agc+nmR9GSs4uu>RJrXpSS1ZZ+#IZ#4Z0;eW}d&D_3iWYpcVr&h`4^fR7cK9<7sg zqMZ@Dwj0iQ9j`V%f39~UxmQ?WJo4`{DG*m-CXORg*AV1K!BG|ElN=WT@|kc4?D(Q-u*vsZ)>!R&W3 zi<>Ck^pZo8NIqjTYeeQAK`qTpnJRtKiDoc?lEkH*R$Bxui%fzp2>KCunv7T*K7pQ zX&7})dWab;d$dJDycNtq7@CuyjV!JKkVu3Ijc>}a86#mfU`t*vh(7do6lpm9(~ zBzNP52dc$_79Bn3tUpYauI!&|ZHl!NzrXynX1?hKve#EQ4p@PmMyo4xaJ?N ztFof2JPRMzwf~{MknvD1W`Js7w2c)b$1JCf4XyWK!heNS3xW?c!`SAxIeTECIA@>n zdKadAF;Tt_(3i-;-G<%ljTl>ePrVgLN96~9(!iP=SdJ~%v}CVjD0^4cTogm%B-XnD zn)%s4on?jl;SkwW4aSy8tZO-wxt45$SxMbVlSoGe0WE;}YmORQCl?k47p@YML@<^r zjr;AgJdN<$vZY67vo}g;%RYo>@|9?UO1D!VJYlR~2{kt3i`}W5E?kNdnW(i4UV5^_ zR?X#qE_^#$S0K;9rq5_(O(u+2ty8|x+n>-&@!{FKa?OZ#ecbDPPQ7&$nBzj9lDoh4 zTUSeTWq+!Fjq!-o)!PJ5AdLSxxwNJHnv%J$ifk*qw|ryl-f`;O2IC%bdi~Qz_go5| z!WQqmq|XFhvoc<9%)W9o+0s;zQ|}%wzpqcz72Fx9^3&J^G=;IL;rogN(cy1#+tKpQ zbDnx5&V7AqlrL&8-~FKn;!<_ErN8^B$MXx_xDV=>&n+JRp7l@Nfb!hd7rCn2=jR)k zL^y@^J4(yF=el80O@{#Dm8R?+AwV~O9{aXx>DJRFRwxG-3%A;DKKKT4@lRRO^$5|f zrUT)q%6IMR_I%?{jcet`h%DdkEe0B_J?@72wasIL5K19VL_|XvMl#}&s!F6&KC|T( zCUZJeS-F4Fbwd&O;pa^zSNY|IY>d4x_WrIE?#u~R2(uhlf3tqS*jiFdLSp^DMBu^y z^Gd1z0hNXlg)$8~NWL|Rk|+K{MQ%8%z@n-!oWrWbef)n?WcB|Rs+CZGNruBLW?*}^ zYGw$1{on&Qu|o6^oBZL8++QOC6OHehpeN~U>?9m zNEYWyFmODDJLKvVYW6-;do04vq$=-DrSCZZj1v>OrPwWloPkTX;6D254>YrJzvBT~Sv2pZ$Oq;*DKKHH9Ufe@;Y+XD8zeWY^+bxV zEPveGf8fVaF1erWnFFJp=&Dhuh4z!640mQG+EZr~&Eya>H#Yl^j*g@Sfr>Jx7k_9Y zUtYwkTlhwpzE`^K%PfL=aajK4aMAgNLnX8N2^rd#DRT0RAPV;oTpc!ZipAMDI6Uc_ z^a&3XJPn62NsvqlTwB(N;YsRB^1fn!s^hnt+H8n8vT(}?dB3K?2hdc3+P?$uLY!$p zCA=kpb4rt&9~!BU(Jvt((q z<_m#x-loa~(FOXJpv z6tGo~kM6OhPZWL|^R7rRqta2D@|N-w9v;N4b2x4fha$LELpP;W@(uv*`5A9bO1-qo z8pLUPPL^^(hb$_htY;iof|4B(c!ThPAV{gW7wUX z>r3!j)Hd`Kl>8~$G&<3qqy)L=Zc#7U693xTEIpFghhn004v&c*h3knmiWZje@hfCU zBOD+zb-yU(QQ1^}f|u z+#WzXg#4}?Q~I^9V>CxFpd=0$7T4r#Yvk76jCf?x5%Icsb8tzD|994_z=kr-au+g; zLLb_%T308({m~OAY`j=`QK3V5p~LO7h$rFrx|`vkf*i>{L{}_j|26cZ;+@ll<8{`m z14^i6Rp*q6hbKEe#jsWrG6^m|7Z0b$iJ1o}SW)`xixPNqy8*FP>;5T8wFmGa8eEyG z2O~A9MCwTkdji^LzM-wkXyQF`4JdnZU0CPNKI(!5g-PuWw(X$S4N-gm;A;O)bGi3u zl=L<|$vrPUxn!ad)w97YYG{lqb~d_Sw%f27x}|_>C|!vvksBGmn>B-qUpE#mjwE1E zzd(%+9V;H&Z^4nX)BUEbBlCOU9ku*;Tni1KZ<5Uu;9i?=YA{R<-?8t!GvZZTlF>D^-@jhCGfj$~ zEy5uevo#g2V|r2T4cVP{@H(YDnffxwJ>Wfp(T{Y^)S%tXp@zR@}Z z;Oc(c%7H3%&bc%NGf5E&JZQq~)>hOrteSp7z&yC8Hi^EfDty0__TS{6d7dGca~;v} zukz>f5S%(<$0J$LJSlmkBG4N+;w{;!w{eiWiN0EV{{neE2&Desim|yP5#XJ(;6TXT z7#{zhr|OgZ-QvvS!8EsMA3TeuG@=nE+y;Zo%Y z;hUZOnxwknjF04B`ZXm3pPff7RV)H@f=N4$jNjB_qnhFr>!rNpE}bq9dy~P2G&jT@ z>8v9%Fxd6*$^C)J{Zut&oyWaBxL>nF8dzW5!{zb4{hPrN#5)>Bn6YZR51^{3>YevDbqon6ndr1`>IaPDZfv8zt?f4_P9hlb z{k=s^)~=&m=4;#g8(q%-1lm|$2>^fS&a#-PeDDBxUBoR9>K}#uQ!AbEl3nfuoO8W_ zx?!`masx3YbtIBmlP0aKS#m0`O3rCdcv)yk$Csx6P_yzDvzXR05ZKj=S}zbbDiYVi zP&FI-R%q)1C3kS4#pAih+*=Dg2bJavOqClL&lGRYczhtMVV!%w$o&lF{iI1v8?AUC z^{qd7+|Nc^PrPVUwegyao&m9grutP_9DSj`PEsc?2G#8f4oyu1UcXXb5FlqcyW=Qa z0aN$?{!5~W_?Fe8NNze3*!h34_uf%Wwe7kuz7}kN9hE9lL`qP4*H;0lks7HHX;MQA z5K2%{5EMf1MWuJ8Co~n15{f_|K<4YmK3Ei&y`E!xa-zkrKyZ&^R7Q9)f)#+gIuWOHNo45g;Ikw-Q))(ED{mS%0# zf}Cl$7q2hBtxntd3j;g_Em;$~%NdtdsZ6EJtw6-!yL?arQr@Te?-g(Ahb+_Rceyly zGa5pi`l&*;9?+Exd^jZJ^dwh~;AoY8Bv3dNAhye97*{xe$-+ibp;Fgfw!V2U=WktJ z-o$mdm&tyt7npC#(o;Wa*w?$L^Jqle(Ds@YUU+Pf|2>4^R5Jshh@DSgBPv8!hS>LL zV}FTHoApJti7cBM3X^R_C!54Z%7lrTG(co}U)X^3?Jvpc{X#Q4h0n_945NF3rHRYs z)43_kHuRlB3-Q$Ll#sk#wH3=?Q?3ishWnNx_qr0?AvQ1Px0puyL4B;H8AI8Ui6?hn zUWoRTOS>`Pm=PyF=(POgpq8a1*29=$IV^A?^`3qg8HeCyZDE#tP=F>aLW)=slpbvt1 zV)@JmNiB+_-(bQwX;B^XJpxxP9d+bv&8W7hAnBd9dE3_?E`M1c_BU1VD&z_k-ThqQ z=!mpZ9T_0xR=reCL!&V{$CzK$nYEChi%%d_lvLA;)xXU+|Dw|h+7IjgahkRM$8*l& z+RdS0e^gq`{JW;6rgJMNfNCO71hY>rc&%}E$9wP`%dqsBuqscxNc)bV+69pfu-EQn zUxSm|!_=KP`2-scyTfgSu4LiRcz~)@+V6y38T9jU?O9KwMVcN{A*s221<5us5q}v$ zw1ndaWBRVr1fHq(D9m&qNDZ8AKdg$Ki+}_$!z({kz0S=Z(ZO{9Z3}%DlwEp>)M2kXvk`P zX~xfruaIY_oH>#Ccc&D&-~(=>+PQ8Iu}QANUVV%*5VrmTQWyd-^Rpg>?62I2WuUxL zB#cV0Wh@O1)Vp@JWJp``oyS>cUO`9oUiot*CKa-o ziihPR0~~@AAsoLL*ABif0%s-Vb)%;&2dFliyPUg6`Of%X)m%+`fQw-)yeQPyy_$g^ zLWnFjfmG_zX@yZ29Lue2tNE84E=FI@=sF1)!m~S1dZ_K0IA3dPMxX6HN?ux6Rmegh zug6fHV*R*Cv~-XE#7L~GFsPiC>JU3=8p2wc8H?J7OAmyR0Bc;XzwsYyT-0j_YFKQx z-YLK4g+IU6O!k3YewMh;w-U{|)$34+oSX_aijPyYD3X<|vDSc@Tz|yY}S;m+xC}7&YZQFz8Z1cJ);(42QV~SIx z@XNNibt@MaZI0aRSSqb94NKG^{V5l4&HZak5nXHuSmLke%oA1Rpr(XGtC3i5f~y}q zH-A)ihW1HcpU6;|9xFuLGubvOB;ooBQDbX;nl&AufiTSTiuqhC2_HLICtul#H7(N^ z&NXEGmz`Wk3HmHSa^T+`=i0KcH=%q_EU-gc=KJ3I`VWk)#i96zwM=BTg5^GS3nEhm z49`SRz1rAIshs~6Svn`_<87|AxMd*UE~=64m{5Yzte1RBC}~!Cwluqcy-)g?C$6)5 z)72N=`z5w~{@2j6VrIwXXqp{C&a87*W)-nY(XYEqkSJ_FuCLM8@8N?f)c@h=6Bf&~ zexG<6n>|z+XJppXq&3xSnSV3YZK~OIJK-ks*CoQlqxlmQ4YeUH>RDWf(vu1| zC<|rJ_W3CvV-RiBV5??4LpD$36txIreipX!>#u7K@ZNd3A+54bw<1}MDI(YyWEM9K zEKu)yXi<`&o0^Veib1n8(s}*b@Ck73XI|6sXsNJ~EX*yiY?e;gd?T6*Dc4o%Wa%xI znS4&?IFt3@T-v(;KvLspmpEY}ZscKP{La=0oer-kwjh9|$CP5(09PhKP^jKn7O-}0 zOIubge4OJt<#n_rhVyh<@xSK-eenyzfN;@oOgws!#JNbpt8%tmaQyM|2Q3aNo;)j7 z&pFDsWb<`eLMwW`E`=?Qw;Y9*q0dKDlO+SKdLc>584mX%yg$a$1pNlZctImqpNAXm zKbrf~^8H)O)!XF5&`3b_B_*;P&{|Wqoln&d6G+m8;WE|B;iH{uy#w~x%(n80Z|m;M z4=q)W^WVIR?n4@TyfA$fgL505HMxiE{O~@R)b5fb1=cW;q?mk)O?4h^C6pv5s*>^= z`aKQY(w4c#6!Baqp9tAF4upB%qtQe?7=OGz+Wst6hnn1tzFN*^Iuu4{)|Bw*5ZFTf zpI7w873yeRb0zbd$8*(};k>vG6(rSweguYnxSE1XDk@7771BX?Q~j~gQ#+lMsF^b_YjujmwknAf*zomz%+n%0$fBr{1^CD% z#wrVbx6NqXoinUMN={tp2NC$y$kH(PqIho;rB1hWx3^mS^>?zH@2H=O6Y~-FdeqUv zhDVS@tfe6xx?>ITyS~|V{(s7_2Y^WVJUvrlW-@h`&xP^Fk3a8G4PZbZa!1%07Uo6^ zRrlvEBSaS0YOC+^{^~tLUlr=mZ006waoqS6R<9p$R4?ax(%T;O3jO$ovxJPv7@&=! z+W&|s&$^=50b6X*spm(vYnr;!w0F|C*y-;}UaTZeSnt_{r_5tISwx4+l-kTk!TD}I zZgUins*njD0D7=IlLiuQDzv<#0|-ZT>e5RC$`kRc6`ET*-d)vexroBp`mCYmnpEzW zac#SH=xm=}l;-oCTf|5O?LNy^t?u4mod^q3h-&0~UU_q;TP&km;&{)>@t1E&Z_0}p zY#d>?V|AHh-OSO}!P%qpR?yGuM`BCB z&tvrBd@8UBt)6AAXJ@SY1eBzTg+qeYB`BQnYWYSK<8P~%aNgeK6VFb0ztZSpiZ!U& z=8We}xG45-%CJl-#~9kOgvWLJdu@FOwdLQ)_yl|Zs?4M}?hEiV`nJYLaM(cB_yxGm z`YCASg(@R>@S02cws5VYBnMErko@nGiChnM2AP}Zui0lq=6}?QA%0cfGZ~#07rx%i zWn@kBeonrTXlA|2Ci=C^^jTbXW}MXX;ftbKYR|y3Laa>O7}mKrS*@g+=TEn1?};xa zOAcvmD zgs20Fr^~a|?_Qgt&cVtqUx}GWj_=;C&7J-*iOiHoGf&Q!_?`{^=Vlnt({z3%xjTct z?&F?o-(04xBx{BSH(UFh60A{`TjxID_E5dcw#xdG6AQ#w-=D5**NSnpzLt-975|Av z6R5qi$x=s;)6M*lo)-Dn!fV~al?qE@qY6{g&ZHW4xkYRB5&Bz}Q%9BLaS`TST7$Hu zlQix6zl&w#)BXl3yHC=Knb&sa9#y4^b**PS6Lba05mNW4vb>&x$2o7?id=88FRt~N z9GkKsdYk_jfKq@~n6oK}19``P0Y$sF%Sac#0d(1noyO|?UW}0dGaTJG*YB}=dm;U; z;4<4eeK<|bm4*P+`!u({CQdKK?ol>HU0?|yw?aG;HPs|*lR1^3-N=yFW2oZ z1^cC~10~^cu5sBJOCdqQWG|M(pARqQzoIxo12Ys9yF zfIV~ysh;;OSZK9ROw#MN(AeejAv6hRJh@Z1ZDy+62hWs#N&yk4r-SxxmQy0u4>1C| z@NSAW!9gE|X{wM`?)mbgufo)ltJX=ig4&9oqZ&i3%pW>J*ovD4GFeAmX1ZgI&-Knr z)VD6C>Jp1N?01;5>-8ghRt>xv={dlBO8DJz3y#B2+P3<_u~brR-8A3^xe>@@g7BQn ztXTlHR!c5&H=#|QdV=H;PGcOS8RNfgPia~c+eU^Wz4Z07e&)F^;(GhSU5hyL@2;nh zROD}t6ss=TL#%GaMd_6D!Tf7I&p(uDK5^yEr|vt8f`fz2UqBtrT#_)E9xvBO&o1?n zDbEZ8DerOY3An~5E7b~myQF3ry+C1`fqt3Uyv>KO=VP9hloq05UWJ1k=8J-Cv4?Ls z34CjRqva`kn> z%{Qm8A9)Px_f3{+OR|r|s2S+%fN~%DKHEtxcI4B!aJNFPo&9r&m7h`SG4>V4kpftC zKU)R0x1L3WC3Q?SxRx8e^5gY02xm-9te?(f#l>&wu2}WL%Zna|NESfGDehO#*AW{x zd+Dki&zI`RxkF5rQK884^W8q3jog#vHA8{fS(S1Wn7ZPWNN`*AAWLkY{kt8q@6VDz z1o*x!%jZvW={tEERQ{}qUbV|JNuiIcUk+v`|8%mb7*XMc@!@k?{x;W_v7^ofE3`&# zA|)1?`Wx#FVtqez;gjiulSrRrwaSfRbOtnY_4Ie;Q*B(4vXp(I9EwF6; zDwpkmFzT$4qce?W8i3?u{r)Sr2INZb@Y{#{=v$vhvy(4eh zpemf};m;-Mj&Q6Fk`5(`TFE-Cf5x2!TNRu0u_lgY%hW%S>3{fSXf0!v2W{4wpRUg4 z=84l5^H?8_`L&L9g^ZLXeZo^nYn`D?R##N0dL90cmf}BIh}73yVz`pg-TXr7CUpCm z_wn*nPt(*m$bu%)IPaal_KmPNwsuL>0jC|ig9XVZ{j^MPnBq&8(%J{rd0{?i+4H|g z^q0?m+ob9lDEdIyk`C~VST89qgt|ZHooUmr&wQQ z(;nZ1VuXn`weO(blEfLq81qVAb>767I3Bjs+Zz#ORP)>Zs$@WODm;t#*ncfKp6c6A zi*%@~=eB;5?Yq)8MQ(s&F%_({5;bvgHZmFbtsr^FvBEw7P0DLM%`?7psc$=nY{>@XY8vEv) z+&=|bLoYkmpZ~5N+qxVu$1N41~s;57T&x^_U z!S5g9yvNB-idKkkH3HS<2`?;^HN&s9OW*nA?7(g>x`J4)UN7k1=O>d>39I6W|_K^-P3FrQm{93bm` z$QJD^`fzzXqR4lKNLl_oCjnu$Y5H{)0{@~V`3cL2rCQ{}jTEFAWe!Rrxl2DC29MmUZXW=>0L zTC&Xexw5pb&92pf)EijZp92-#eskpOJ3MK)#aUr@pd<~J8sz7j*X`ABimNNDTuPEi z5Qoz2H2@9gtzKH;#TyQWo`f^>H2obttX-{r1Vur7J%C-*qwWU2RU`frCrm1>ZHV4Z z-gJCFwvm1aKJ9u7hO#g3NI;qk&%Ve=Q@9xmw-E2Kn#<4>02YuJTWCXnoE`N`y5ubE z{dz8=gz_K-+lmoxt#;xDXV$|huU>s!%z{H>XfxGh)5(D+F$I;3FTjx{sJyLq7nb<) zb{X*QC6bz0%OmGQ0G6!q(^o1Zn~JvivM^fX@>r%9S?W81_#doE>%|eeS(&faF-mSfB`7$9}$lxy5_w5dff+*n5|w zjONxilw5}2khu!Z6Tq-ERRL5zhaD)JqdG3s5wSUBHzDz6?^oq#Y^k^)%8uy>NzqZj zkuqk_PM(YY=G#*-<)8-peMwRh8@j43)aub21FI|LJO@bL1x%un?8pw%^rp^r?zMtb zj|v1^y+^){AjMRso8hoTUcaHKQ#%rQ(rtMt8YBCs<*US;@vE5-Tj#U z@Y@^US{X>}RGsL)YP;Ca<>){RfXaxHLQjkKhf~wo3A}c;)qEYpW8rv5=9-`Bp!h{C zf+T>s$WHTUO34Jo>$UZq(2%9*x7!LjSZE#ljR2d#`}6C>*T)`PCNR$Ky{lhg*5IlF zQlD^!e?jIhw$5+u>fE`4>)45|Mtx}1maMPl66pT+H?GhC3ym|&<+QhZ!E3BWZ@3AK zV>0Vi%udlcZn~_cEz#~Js^V-yQ1x1y4n}{Y1*dJFktOQesf&Apg?*whl-aZ&b$l>i zd#Ig7_vz#lw8z*Gx#-SDq=5=zHw=ezqQfUxd=_%n@m>uBTP(*!Swz@H#d;2nuDguvqyP1aEJdzH>Zsm069;d&U4&VQ0o$C zjU^Gb=vM9yy6KG7g-S2%*bPY>d;6yVrIaq1dykz?%JVdtZvBYj7k(xTH(w;yrVl3o zw|U`+4b3TVR~B$k>!fa82m7l#nVNV=HA>nS4I1 zZ@^P$u?FSbJmsNwsx$yRhnk}cL&-D`WA2`t*vT=fBwZJ;)jQ&$i|k(k*ZZkoyQZeY z;XyfD5#>=thQ;6z&i31*g87{hnT4}xMk$UzH`~&qr9K>NT0Z2OU&XuM<)?nC4pgT$ zN`d9EWX$R+k^|?ON*2gFW~Mj|^tY`d-woQh-;#}Dctv7%IqWL2n`k=c?qQkT8!>|2 z%6PzWkB+|Q^$ixwFdnwD2=nJkX%_u^X;CnSjh(irYIIsTDZU0LLpI4yGue>Q!O~;x zX#nc1V0&$~a#NE%Q5sUas!c}U1(H;!tq8H8i)mSMOGwqCxb;f~49Ofvy{h|GsvbsB z7(1cX&F7r5#Gfm_c%bMkr-&~&hF)qU#!qKW3H@ah>hG`G?iYzTFp+b+jf>@DfM3?T zF=9vr(sbK}%;|G<+A<=SPb5sK(mOV$roC}%xAxlCw#m%glFUxEFms5`_)5ke>=iol z6UIANO!QOTi;N>5aSfy-TQzr z*T;DDn^5Hu!fC$_&cZ4vCf*hae|=AGm!1i^!UZP1eK@n>rUALxRs4S5o#-NPy8rqF zI`8^iVxkm8NT|BU4;NiG7B@3hH0wq=1o zBpL5pWMm{UQf9Q6B}X2;GAS!n{O5V-iCl=k=WbwOVe}r;jW%haH~pFcavWj%QIm>~ zteHpN&1dO7C2;ap!`aSz_8etA@B4Dr`{?a^;BkG){A=Qfs)VR=JWLgf7YM5m-7&GM zwjJ^39!Xlx^L*>+tnjCUb{C#rYK&4yE9G96^w(goXZO&57E#L#l^VV**Vf|!HgW}@ ztsp%5bC@`+oTdv?PP343^M7O}Sw9I0_t`%X9M!r$%HLuodA&edy27V!^QlA%{aR;X z#q4#|sFtpy%@A76vzNNjTT~@i7vLsXSyeTw=(E{gCy$^Zp=aN{K{x;cJI>IfR<7gq zAM0}b*FI#scC4MNe->B239;K`qf2%?+&y>{sp*P#V^)uW5ecIgc4ngz*>E>(I#gL9 z{xq0VYu7=aIE6f2hXt>Dn)nc8lVSB#%t^T zaLrm7^zvG7jaj_4i_7Z9@xzfDh7W*K>6JtE%VX^SJn{aE$Ibu$sR1iM_irCg8?o2K@n2lNECR)ZQ+AmWY0ib+;Y@*#5wk%$+)pumXs|Y=aRD zhOI>IY#m#xN0!;QN87uVAx2BGzeyTRe?+bBvvs0~!i@HsTWp3AP6*c|xb4h)I>Ro5lC1@5GYg1`e znVlAL0}giu1{+w443CyvSx9~mo|fHjk06i53f#><19a4veg#N}mQ0_`Z}@~79nETk z`T9`Ld}1@yA>_>Q!S`0mks*9TN>~ru{2<2+GKfi2E~{=ih`!jg<`Nhoe#S1RdngXFZ5PW;eXC zaJfw@lb?r$8z{3cJkeLPqGfzctlxQB0dZTK=WpYVMs{R5+(LH?Flq5Mu*Eu@5Su73>V)M6hKnA11qE@BH*UNA#> zrb8WB3-Udb)7JJf_3&jO{vvogwbL5B2|ajlP0#PmTHs>znv72KTJP3$p744{mY1yb zU`tGs!>vID49$+qxB(tVY&E`Wo6{zfq&ZhJ#XvAfs!%*eCl%5S|B*j|NChw!>ndSU zoB!C(am*sX`bhleJN7zq8Z5J05aGC#Z5jj<)D z8Y+r&Bqd{p{>FN0CZx{?Vp+q}jOry%<53zY-e$^(_XuDR3V(X2^vs+lIh-PtuJ^82 z6km3{;xP4UEv!)XDKVFtIdK2b6Ty|@@UMi58%2g;d^BK_3HShfjLr@lTlp=m$hfo_ z%FnV43)#W>FT|Q#Cs(JHBy*bdI*Ah{qHe>VKE%MPdEjNE4fw0>M>bE{;A2s2ki=zBE0$?l-Qv118lYB8JZK85Dr7Sx zOA;f_yb`l4PKg^DY1y0EEfEu!0n~x(MQj$zLjJXv&fF0{A}ZCTSJ?2*?)6)>w)aNv zXU8WEb3h0fe+>0Vrr!8&J$M0R2p^qGT0BYd5te8Bq)l{0cjK*RG=2^7 z8KnX4n?tJ756%{!>^o-S*OLLNJa8qm6;DITfGFq8b=Hwt=5lxDoP^nIoue!`|H;&| zHs?+$_^OQ3;ImJD!0@cFIWe@%>h0E;ZYL3$ZtDMR)U@;hm|M0Tr?j7apl?Z>o6aB|YztNYc`hG#Bp=YB7>5LrhSP2bp(!G- zQxAT*UO1oF@*mOp0+NLVy|doilg*KQX8FQJmq&VB`nI+!dRfow85-+!@YpXr897IG zk=wQDzn_+AG3gLPbZ)jb_&7vez;#vZBn%t`U6ex=+7W;19-k#Ni3S|c0rWn3&{cd;JX%xG=9KO=Vhe5?h5D%|9+p(BXCpP+T&u4-Ag z?FptC^y}1_s){K0eps8z?ntGsvz`sb7s!u+=l4IGkHDDQQVZfgzZfNMuHSbAkfHN~SgrgF)KXzexiA94X{C9Y;rs7I&eXyhx$k zHfhz?mT<3?l63rN+>5Z485Xjh+&yoget=&yLh2Vv8jY^b7Xkt%f-a!3$FKK!V``H% z>j%%pisLrlSg8=)EC{{E?+?v$eW&Eg&9J&|Mn%i#@u9rND8OZLKSyWB$z9s`RC6d! zAEeKKXBrY5ytedpVRbR1zqcYu7h=3Zj&RMF5Q}0hWh;f{!N*u~7MW1@YCn!5@26qx z=#zr1*8!jR%i^a)`!~w#+o~l`$LYaA4D$*;sTF&auPHbWjoJka?@0NOTHb(9QCN%JhP=DG#-}Yh z`W>tG3P`Fww%h>YN`fX9g?TPJVt?)M1de!;pbp3*el&Urd%q&3gOR;Z#7fs>Z*PT# z&YCr+0tk8h3yhn*sr++wq_HEDpy%n>kVG#&Hq6kB$4e?myG3QLvpxQce$!f2=;{e$ z+~&sFh@^{t>(cL|^+}|@KI&#xM?rBczIdv&-y%y!8H#dBOzyDGD0(<(;drsS`vc6T z0H7{zR5Zux^VcM>73G`7sR4Y|ioS18Tbq25Or#2Ai7FA5r{R= z7V|1mBmE|DTrovH3UlmZ%&mCl8NU?|oyarsAKPx!UJM=c4PA2~rzh$9l`;z|S|~I; z#}-&=*%EMYoyZ}2Tf`|sLfO(wZz?jBUZ|)41GtjEzjKuuS}56XK+UR3#4Pjmnb&kM zwz(M@^Yk=Y$Rdvyqe5p_qhhlMI~!@DJMm1F@D&BMnIsd*mxP{Y>=7A?S1Q#W@X1pp^v5Dw1t6UuKQ2Yy|nB;{(4CBJs zn}2R)=!1eWKa$6u$wM+P3~E^v3+=SQU2q3QkhPvs`vK|OX$p2~2a8r{+t`bMD#P}A z47gT271e5&O1o_9L(5IH6YLtg)79`k+AZF5OH|w{kmmhBmMMXnYtg)bpDlUFE?vGX z0D-9%?;$P6y4;>-KIzb{)Q`9MTdi8_W_kK*hEUvH{4Z468AM=O#A=qR?2IniFWT>l zErDjv&Laz&M1ZO4*vY&DAyB#1@@Q&V$7=Cdee|g0qH7du6^i5>-L?D{&eVSJb)E;1 z2_7awUP{7xuSgU7ur|d#<^!$$E~b5Y%Ch+zS%5fR&)ozXsMLmpkd>b+i;j)IGx?W^ zP|~|tgG`}00=mcVo}UkI{WQp8PHgN|erI{eG{J{lA*uu!S-E!Bx;oPiyjIE4mX*Ht zwbUlcpbLX>DJ?Az#2`8#)0iVVYJ1kztlcBr7Qo$)vTybBZH_UpQ3>%8u-J(&m>E=z zs7N!zm&sKsBiNNQk{fDl&T4i1?!2X|2w#X^aBav4V`IA@f)&fqIlonVSKD#xWqq=^ zdg`OOMVUPZZt>J7yE;lm2~(uG+3f@Yuz*K9IA`ngR>W0%!nm7wYV&P)O}-o%TY_6| zT`y7q&rKbaTrra%x`7_ z>Xrz22`EaIf?&&HP5P3L9))3ApFtz{`)i-9+y=$W7oFI85mwdVXn1qf;V9w;n5Q$9 zK)79#I-R+Z>IqO^jQ$ai1Hn4S*yz{y50RD2IXfPSx?7D~WRIPIoJAlV_7~?f-qPW^ z8;1FOlVGrs`%Ya4eNBiEhPmjNb;7Ldu{``Ke-F;wRA65BjphV0ukUdpif?ZcGB$m= zorQSW@~SOpeY7GQk#gk(&CZ-4lhjkHI3X__kv$sJAjfnY4egUy#$}bM;~p-us<9hm zLga7c&`fnC>$B?QcfDW6j=z)V{ps2q791_tw<^=_rlD4yh_`h}a?JPergHaa%^}EL zPwZ0jMx(-Zs%|f&ClD%t3NTlBq71z_N3JK;Z)02W4$kGfLMqlFZEQ%(h$W-g$N9_~ znj)gM5$!d(L(2KHx_vT$jdz&_-E3;9KR_My)v2x49z2I;%oklH+Kt2&E3lqGt<0BI z7dd69>Aa^URDyI&;=&BGZqK8ch=r4hh+^@(5G(bcJJlt_z-X*?)!y)b0PSTy0Vzhk zI7+N7^V_15Kc^YV6MK;7d;j;k-<%%cwb7uW-QdTsEoObHsNDBfcZvy_^KV@$YEvt{ zQ|+2BzO?8xa-ttK7s+8k@>}CttHyQV|`I~OS3Bbfgc)dB&Ra%$_T+Wn^=$t`sY%r7z zX_Y2M(N`q%!hDir+UVagGTM=}*@YlNg<*x{l>wdIt(3YN&jxnvh&Z}iutgybh#ddh?e)F$>nwM-QF<0^S z!_+f*qpKDQM$1(z&k|uA{1%QZzC}I#3uLEYvcI`!)9#(xc(U#@L{ZNqpro&xV|tby1O|I4DaK=a&~5NM{n={ zW+!6A#>CbO*Y>cYHs`aS1Bq2j<`}ni9N?|Tc)_k}dZH{o6YLFGLo z{c1l2?EIrG2wqMEj5(H_hG?^ACMGp>fN!!FdI|9@j>--Gm*t}&c|43p&n9-8=uPo1I z2lbM=qTH*=zw&mq$a@wVb_ZfU$4g;l>(&0isWa!mi{wrDGl}S0k0CW-V|@(h;n7(# z9*&EBaP9Zu4~JKC;QtV=$|!dIeEapw86V>4ERX+5;Y5M)+~Fp|Dwqdn9(Y{%QyZuI z-yf6upBAPQJ_vMJo3dsL*B;uFI<+7;u`b>9pOsGPa%0R;zGACbhB%L;<2T-}f5|1D zBB&w@r{^^A2`S4GYUXP|kI0exNBECIfBk z^5vapWv36r8MjUyuC5dkKx&UW)PdG4H5INxYq9E!6V_CQAVOqkSW6%yIfn%^+*X;f zrwW#E4A0g!3_mF^4~eOuLi=hAa)(d%FT)a&)I>Y7*1}+}^7r9xG&NYX@MMSWHB%hT z-C$l`{pmtR8+*sD*brZPv7W#9>+crDFo?m{Cfm2Ruz2^>I&IRLL`=t9j z#eO)0wbrl9;cCZG*%lF=#@F0xiw;CC*M%h-jH=GFawmf5SQ(C`CZJuj`{VeSxKEdD zR9a&5TSmTt=vBz`CkOAwWOkQFVeEBk`l1M)PHpcL-2e&C(`WjXa&%#Rw!RfwJWTL9 z!6G#kQ{Q^mX8o~W^0o#`d9aIgRnLdB7GU+aN9iGp9Fh>rhOt<1qJH&vTQ>mqnK812 z?ODs06G%foKli=q!7CesrRtImcQE_o)O3VzJ^wpOBh)hmkOKOwaUoPzYWQfCam1Mj zF1aWS;tJ78VB7xf5~IW(=4b?%|Gj%7jjXwf1*!_rD6MVC+)K!Pic-`j{^J1j_6D@9 zVTq3n7ufsoakOsqQ)2&od4^S6de&flWW3}2$uIsF!37)+x(5`KLgs#zVh977WxvU) zsxaqSU7Z&tZzQlN%2Xn=$U2FvG?0PWHNk4`oov#E{*0)XOIS?s{zx_~%yVSo!fFV) zX&3R4nXzDX0!X6Ek`NESy*orGd}0Rvkmxe)t-CA}>c{MA4oI&D^}%`Q zYpo193-QdnJT$ck`oiC?)uT9;HyQ%|u!MTo`gJXg(St*Ham>zY}UzTzQdQfLx!x=H+P3xT9Y3jK#!AFUF@}nU1+VoqLH?Z z2$8#GiDk!bm80OK)njW7sbW(8g?mUeL;hlfSUY5=0jUw=rqKHc<8_W6v33 z%I-aqM%38Pw_@Ivh~diOeIHuFn%s$Z#m|*o95md&h6& zq~Kn@dwPLWMW1hq8vikY7!p8q%Qex})xVewj6A5^!s)S{$aw;5Dyr^@YAZ5@#AI(x z2ex^F&sNIk3Jc~q`U}1@+5inayzo$Bql1()Y^QEb`(g;K&EMocsH^+oMsxybw1PGc z#<87SNbPGlhA;lReizq`h}B5>I}kNfqV~#3juWGYn(o|%cVOEam}FV5j!((xp1_vQ zB3yBfp^ReR(m8a=!a|NC=q+I%;1ZSwE2|GEK_!NFo3Ohs3Uz*_isdxqwhW+JnV%Bdls-LQn=$}Qj~$+( z?9W)hKb{XLO}ChKcFME(k|xFLZmO%GPKJLHu$RiP-GL+YzIop9q{Q<9b>-CBhfCyFN)shg zGwS7><$kiCN|AP7o<`WWzDcN8Bh)K++D(Cxcc>sCPv@4V_f)u!Z2b>X06BE`zSW|+FG+DEE0gd#>uAt$|! z)l1UbhA{hFb%o(Z%io5Q4dtjZ(FVYncZae*hO8y|xV7khU|gO46M(&vjJeZ&Q7)!A z{cG~fo7=-4+i%<6-dEYg=OE8SZK@Ap@;+MaJY7;e-PY3w{*Z9;lC`1aFq8FXG1HxP ztorIXF3GraYZF1nI$jX*(HMNdxh&OP{rc|R#?=2mPE=U%*PNPj-mIN< z4l$Fji$HxoCG}BJTcdZ|@;V=B_7Z~2RbeAeDvq}BM?>BAr)Z|YWKl8bOwsUQr>Ye1 zOIvJIX0ZP_owM16ap{u4VS5A1EvI{4EVOy|=>169p3n*NvVd%xg}CQhW8e4JU+x!` z$y}Xt9HI@IwK%JF*M~LVkiorPB`)dQ#yiF8>oan3$e@UQ>FaFS z^u6#@+V$>-$>Xdd1%oSd(O|1SB=2PN<2IXCvw;pUn`dyB=@9fDl!uleU{aKC@gxOo z0DTWR9rk(u1GsOvq0hUdl!o|=?(N~6R05sG_q}iC+gA!1he1ye*_Ye(G`^42F%D3A z>(n+lY|WI5ELeParCj}%-Ul(ZKdvur(2MC88RLxKn4ksH8k8V6w{Tls(N5+~vhs5{ zSD-T)B8C%xz#TeYTaNO{wl zN&h7$N=DA8nkiO<|EIa*%RbJBP?0ff4QeaVfeBaShA^xO5c1<+ zdDnX^?7Vck+}5q z!&YDheG8UA7D}hF(goQ<%>%cMA{?Q*1c{DhotbYG-UO@qXL%om&_bS0d47eXi52H( zSOpzTYdPMa=Wc=x$4T0j(Fa@osv;Z(i(jsdOR7jr`+}sksawewx7%kE zUxc-4L!<)(0|qz(&pghzu&63_l#S=g@=e8n8b9_aC3~UKumh4=gTFtz7>(oa5g9 zJqt6;b=A0Yq-|Quk_x)xs@m-NljRD0z2wVX!?_by!$N9qJUfurfy02bc+ed+_aqa2 zY3{FdJS3r*em;n3U|g~uRKcLtf(AX~Ymik~kO%-3@i$jTvcN-eWesy*PG9Aj&r zzMkKqq&b&_vJIMywx_0(1JTMxP)cfa3BBc%)Af|kY}C`Jw-Qz9XRebx+!uiFH+H5ySg7moKJg!2cKW+#>SgriN)#G5u(WoTC-zIgc8cm5oRJ>7QlIj&g9ArO0eQXX^Q2n zV#WF6D;Ig`A~)SNw)OHcjH6?*_qX841QB>i6!rgZ}`Hp?^wQrVrD`IL4 zP%u6jaPicx*~quzfJG7)qN(yK2qxErKQnLGHiyV7sBoGh1kc!G^Ro0D4JjTk9KXyL zkT2CS#dVVeYE3$)vjNhm2K@qdNLlB?W%x}}(2h$^( zJCQPOlgZA;WMg}kkiy+;IfYC28}<@UHlJq1Mo>#ye&P5!=*E-n^rp#$sLbbSHGSaX zBGPD7P~EclxtyRTwE^L zZa!OjH;B~%f%&7BkMX1FW1P^E1+LUKWhxM<< zv_!ncNi$4zoJU!4DN+q%7(U`$oASo1FPek@m~+vzdo*dV)MoRaTJrW_!1eS;7ihz- zz3_NeIJW6Ug#ESeH_xA18?rB6O^~v8udF{S}~B|MSEDi{Ik^iYAmU+~q&5k{wkA|GP?V|KY_v1CPsvRSAKQDsEj-vGY$l zJ3AQlQPv=BRL?zJLrmc}_P(eHhK2UiCEH?B5pp(U_j+BH%)_XzG2VOEwAB2^Wdp97l6C`9dp} z#JN90|Db$ab6qt{)>%=7&3^h!it%6Owb57m4;2OfS9jkP&{Wg4Ye!K~z=kxXccg_5 zDxFXy^sdqjy+cA(lqyYn3nB!h_t1-i^dg}I2u&cgPy|A6{|4XhKkvCY=i)zCXD&iE zyJYt4*|XNHdDim)D;y629@6Ds&6ME6sZH;xyxN9nQ4vp-AuEHv1TrBiXw9p!o{8UTsb@F*VWz#Knwz}5g_4*pp`d%~u3GD8b`tCn$T zO$k3!uN6}fUSyS7t5^Uo%B9=wF86!sMms&PryVv`iB(+p_v^K;*MVS(wa*}cAyl6=U~PDqh9s&;X9$oZMcKk8 z;ylFYscznb?&X>%UDnvC)EpJ_`E_4RFsk5pO;@Q7dos#(nQKWC?le@c@lvjDOL>>? z!Ua{0m7251M8U<)jX0qYKZE0uqXzz;?|IY1M@_;)UzV98%|t{@DqH z?H6M%e-QwTXb*HrYS}6O(!cR?fKYf9i^R1EXFcMXj?l#c;fcO;QkXf1>bB+n((RYZ z#;}~F?8qM`W6OhsF${C}aCN--p_BO8M-XnUpLzMcw@L9{^g_1Om9WIso-Hjw6>~I zT}j>iEwl62+fQftlUx58?B}zEBj(m0s;r5bfI2Ox!qXl5KhCrJMYqkS*E=^uv&wsF z(i;>UCvM$cIb*ov5^HjLi1NspZ{#`j?>}PBt;9n0YIcJY z9a|$UgKc`-A*0w>3w5{VI(On3t**_-^s{rizvqkQkC1L#T$$`2F$#0HQs7x}-#(5Ra#01m(4$C+`KqSUnVA4)a{(*N7y z$PNGRO}8$o(x+Ae+HouDXZ*m^bpVfBrmn8;Q=w)?G)z(S+@?<-o#z|@`~RO?1V4(o zDpx41VXr|I;lZUtEyh!OPJ67Js<|l+t!C;NtxlWEuQ07VIl-`@WO)$loF1{#5V6q?A3~i-XnuE3*rX_{4bUtQ9ZlynMPVdTO>43 zf7PI?Dw&Rv+qa}D9A!iH<4au|pBPbPEV@xas)ynLehNw-(T-T{Z06F6H}6Hy9(JVQ z6%W7YX~SrxlbjX7mBW|rTEsgYk$-}dwYw;$>=gyG(|8@tG~9hR_0gM<8W)j%ZWHz# z-1}?|LbM!eE=KQxhD>16;#2R_I!)0YG53wdwa1%g8jHvM3 zEq`>8b~+XgD54pO{R-t+=a!ucb)gePHkR95=7Jk0q{IXoH4GlLSvBapi97u6+=K`t zlpi+~uu5=uzXxQRn^zOeSMj_Pf;o4cKXYgy$8170tx5+dgM_voiu0J`TayI3g$0bD z`QDFL!S|{qKgAKuthcM3%@%Tv=d8OZ05gS@ z4?tXUXDSY7*3z64YT4#SX?p2ijadJW;ylerIn$kTQ8CE4K~$`Rv7$W>?gnBl^p!ye ziz39AQi(_ub;bi0WTSKXRg<`q>9YNxkyZPZa#9MjL=DCSe$MBNi~P4MtGU2xQ=y+~ zw}@4+CZda`56*^5KgF|`^eYFDXJ!s6pLvBTRt4Wv}VG@7! zifDpcJ*bVsv-{yVq=)Qj9!l%nWZtF8)a${#i;GvG+*a)bf+n~9#_g4UIdhH5 zS)I^KWO)*~l!O3S(^4ZJ_H``_Bm5UWI<3wVh`BOJ*4Yz#MtnB9K{YcqZIvABO=~9r zw0JHgi7&w(V0g9LH;GjvTxhjQRs9*gth9&M{0B7NTE@{;w2MO~QHcNEFodsyvqIx( zovQ$oI6jOttvza~yf^e8^v9ztl)+$MbY}nTwqb0lpn+|w~p)p{b;jOL$tPNP{qt=%3fNeQ)jJ4)u4m4y- z?&4{!?F_mz-(I0)TyOk&_4_khX?vE>5TdV=-@4_6P>p}*>;cppj=I$ zdN|Gb=v(p$#@I8=lpwR1cEbcf>?$@|A$<{EMsQ@Y!I+-I%fzyGvyb%7$*e|wBJKbd z?JF>un>)+>J-co`!+%dwUHUJPFLu7)3IdLoK1(U~8}0uGkuXjDKbp(3UGskjNV3wW zCZE~WeiGn^r^Nva%E-ydnUMS%5LRHKSv-53|70%$-~LDVg}!Qlz!k{ek1tyn)X{H9 zvY4U?)_BmD7iv1yyZQ}3JMLtF*lXY^`18yagv8{5+1xm13BohO1`stL-HDp=<+ah{ zTh8G?jhe1L_aoX$#sw^8+O=lD=rCc)W2Eo=rIReB`i6P|2|pM_t1B*z=nz(T>}=T9 z3UjbY`&lSJyPb&+z7}W%UDeFo{gytDcyi_P#iLWKSn@O|oFhWYZ?FuCb z4pHqn@@u`K!Hwn}rJQ(wdfvlHJmP!zg~wlRD}C5MRp;s@5ZdsVBBI4M#MzU6MRJMg zwk~BZ5o>HxCJa+S_NqrCb!CDXEgh4OSuCe^ZZIQ9m9tMbJmg@8%EfCTbEdmrmI}*7 z=XKWp^{Sd4nJ@IF@>$ndryCd5mgwfM3Vw*a4yzphR<$45yJh#$*CS*;>t?vM!?@BD z+rsRdcGdH;I^!>x=Ub2Jpp}Wp=`4`~1}OVGr&bYf_*lUZv0VUOMGZ3^;NFwhd=upR zv#YOdmfretqoR;4dVlCjgdS-!Gpl=9N|4w7v*W0px86}sGHN{p<`3I(uaoEZyhaNW z1Nh`_%VEL|6tHz@}OFf0+r9@g*rwu?PkL&%ikag-#%48&iyVn&94{|% z8)h$aYg*>{{P@0z`CYF1%n~BkSF_o*xrthqZ+qdQJSs`1XRs#X1B1Gcb=_TzNA3Cr zb&Fmrm=vAjzq6(txqfqXhV0HiMc;qVt@ypAN_4g~#XN6to(qV+CCe$fkVH+OB*P*zjD@U)G6K#4onlMYsWK5DZ1ujwxQ`Gp)DX=rRJzo5wmrGlDn_~#! z&GLnwTAuP4Q*DkbH}G5~r-F7&7>!PK_Fl(FrywSu4)_=H)D-YbyTQQ(+8*^cYm9Af z17*kqqkkn@^5&Iaf6oqF!-@{~TKkn%#Y<$A@bo4jaAkHRsb36_q`jC1>Y8 zo|R%SbzCPYrc`cCxkNS77UWLLq?;C-p%`3hSh!=$nYaI=?%7Av*AqAkgTwMX+baZ3 z3FEATKS32LFmao3)i~ut?3gBt43Cxd^J?UY5SunEc;*dVBAe5cu-r!%&trB-Z`56U z<+HUDonV5ljg=5K$WZ8bL}pDEksI9($Yo;lb2ciQdva&RYG>#rOc4q)vE2 z-BqJ~g~`PG$I6y_!U9>BcIYSvetW9Ml3p1bU!yhejDm}Odaignj8K3BZyr#zg&h9m zLsc~jB$fHYrDOZ~1>$}yLg6t^!B zGI3cx-g=_yMg5N2vU%ZFEXQ17mD`4U(6y;Bi%!*0cx} znrWx;I@JDnJkDA^S|#PQ`ObgAGeYddr~!(>e;ADeGA;;a7hL_=?ohmN@~z?izVc;T z@wn{H9HY4-s|Y=kNVdpXwtRR>r}#&jpwTSBOed?jCmCnn0LvM-%a?tOB ze9X=Jmz(mJ9a^!%+jhyInyqcPb&P6n{~ra!CWGSahr`Jq!2c{<0c~z=3K%<*RV!K*#Pc0F*|~kymgv_HUuIX(wZA&N&d=T`?J}0Bylz2r$exGZ;8V8)$!kj5 zb&|t8(avAG)wwky-nU!-Nj}ihYhUceKwr9p8f4|48+DnQp)H1%uF!NQzdzcebxq># zMt|T}?f)sJR4l1R>WmcQ)IpvoDY*AK*>^9SQK`q9FEREoS-xe4raGXGx%Mxi*jy@A ztTh_yP<>|k6$3>G*C!*5KE8s7MtNk_bB}}C>D?CU@kgrlwkvKfI9%8=3&V_i*(vtf za(%|``MmJLg*Dz0GZ@#0axtUA>hRfwmry&WByItr4c8-;xXV-sI90@fxnet3#U`0* z8jkD8Le}J1y^K$GF=4p2ZFUZZ%9-^)>`?h z*W_LCFBuMAFW2Hc@-zn2$R=R>@2O}w#&_!a>r28wPJ1w9_%o@|*+0x(WD_4jdU3z} zZ9kxsA18AJ+Qi`P;)@DwubGDjAV7NI@k-|}Mp zqJ2Mr)O}*|1e2O>w*QBC<-xg91<-dn)RgPQ*Xwr?5=OA)ZBeFZMQ;w`vrhd?Z0_&{ zy`#Ll@p(So-ejrsf~rmFt+RdS<=1-C_sccT*^}G@tG4n>KWs74JeY64Ycwe%5+7XG z8xye#s@nV^DbIG1eDF00G|5T6eK&-!4DHN>PMN^91uy93WU)U2?t-?@R6xY1-C(8Hv>sRGUtSTH(Dh*o`SVT~;`H9$ZJe$f#f5qIDj{g3A3yGo2A|aOG zIc*lU#FgiE7n&xXNM!B?4LI4fEp$#YoHxornn&G!o6QFYUE8MbW%q+6xykgQkn|AK z_@s@JBc#}s1rp=kG^ci*_9$Tz)kU%#r=AwEvRc+UBa0;BGKv@leE*BdworcOTe5XZc1@2Tp<7r##*-f9VXW7sSeRRYU zq34x#Px)vsz3@DU=cQQb%j&*JH3+8%L9tZJTYh2X?YSE?1nS6i*A@Qya(;C9V#4+s zU23b1?vyy`{HkubcNT}o-sDi^6e9eH_irzG=6jLo_Vwnn;xXM%GvePn&U~Rcbp~Ih z{Y&@4Rqm*4%z+EzqXlMFxWRf#PAPCcetV6X_<@-4jVqr9+KheGyQq?L6U!yFlBhW# zK-Bb8C7LNJbI`yO@Sp1Bf_0G8MJM7kNlznmTKLSBRH=!TGr=*QCG8X_`uc}`{hyTo ztlaZgzUDjzignDFs~(-6Ln#sMj2z`$7Qg8AoJNw~6Ko(B#iP;e{LF(wF1P>pTdJ$6 zW@F{#^DKJ4JNhiTLM~3-@$!ev3EA-Xo!eJP6f-s%1iGad=$#yf-Y>>?UB~Mju*vuG z%rHxSqe?b*1+Bf@eB4IFUVvcLIF2PF=ZHF?q(o#yGx2ZOS+mstDpU>T!Li<35Dwn8 zU16;k+%@eCOF}3|%(L>ke=c}3Hg)D@e&N!q>du-dRe`x)jp8k7TVxhs*6mH|ge3%s zR_Gjbk2&K#^jn#cD-3KQmc(;wzOf1s$e!Bf1F7BvI@*%iFFC$_ZdeTVYQJySLje$) z-I_%Le1L0hkR5{wchvBppxHSZE2XkhN?RvnG-co2gxJ*M@cktZyFey^z5?=xR)_?WAQ@K^Am{CSercpRNG2CHaw0?&0nx_YvI}`{Fz~_8Iq?aha`aDdc zXB(~XtEFz?WmMzbLi@p0eZ}>xlvtzd6%`an>YqO^KFJHL>ACIt8OrjL9NwuxiZ?!B z7JwF^iB#W1`a*nJ6oKXK&ojSa+_HdiO#!1mMfxDqJibae=B86=9@fAL6OE$?>bXRV z+toS%{dj-LQ6E${g`=i4XJk?pp01HvBg*i`RC!4uidCo+mkkw=*A(y8?nh5;3af^@ zmECzFL=-<-ZeUj#M*7|KhXL~5BMQz1$0+CO9j8Zq2y9q33IyF=E4p=)Rz61+J(%J; z7p&2@EG4k^b=!^Mv2$pcjCqgyudH@Iu5QNZ%b>+XOtTL1;fRvBS+ zIQ8Ymf@>!YuEyq{6!POM)Z){mk0T`Kz5xL?Bf?C66;rN2N7=#1$lW0b5!6R=k5!qc zJ8?+LM**EFR9$y3w=Jhzqw{|DcZp2GFf~&^7L>7rVxfb7jxq4t(-_7D<;s9kyBB@K zrFJeIYVMi6I&wP@A4c;O4vzQY?<+%7Oh#jwo>N7~g2!)XEWf=Wd~0mGQkZ^4s|e_f z_iM!-uM69nt*EclBBPxJ#6JtE*54aw{G~Vy+E@>5mgk>fwq4nDYqeo9JLRVQ*XV3ys2A%8;NOpFnU_lTanoBf$pfyRWQz>WNEvNnTl zEt^C|2`^HqtxKkQ)X*6T0sFd-t+TwGXN}L1CwtE)-}d2GPQ6p9;bd|}hiZ%}+R!P$ z;>AJ4C$SvNa^q^%`nC8R5P57xG-67^@z8WCFM1VH9n4E*RasqgYjY7AzIBs_Z zt8@JO)@k40_hI3vsJ}Dbw_#B{MPbm0FOry^){Bl=bm;dS|B)`u0Mh@)!X}7c&Jf+I zWhVgK%8u-w8%9av8jPaCMVB2Ub+VMT#fc!aYQ?LjkIHHxZZDGv!9r?KSeaUzzK+75 zObzC?nkBY0ZYf42ZQC%vTJ`3L%8{VS4*ubTCp|r;AX!{VJ5^yW-QpE>A!vAgp66y& z5hA2q@C6&#Gs_UZO>_9LW97QYp%0CnWoB5Hb4>VMigFV=a4>;{iLK3hwj;xvVq-m0 zvQ_RRBo(a~sAi^?gp2eUlegQUDGPilHo*xFo}95-#!-MGMyZggsUEi0Z?Sgs^IR~a z&at-kB#=d9+t(KVmpk$6GKYuI+@qNbTGGV)<_B)c;IX~ye9YmAaD(%fzqG5@RwprH zrWVAYMzBvcIBK-4O@|w0oT6qMI9lcO%~vxm!`DGOwdnG$@PiUl4p9sL)wR~LfwJ;O z?g)#XEeD@etHX$XmxKEay5~>8&){+KBd=UJAm@3f=SqDU;AbV;j#s=a!Wga9p)hyW z92FiIwy{+$xnb_y5e=v_DAXE1+I2MCO85o@VJx&Nxz@F*hkdcu*RLN_0Zv=3$CdN) zp_bxNSO7=<$dS=}n%y5y&OVMul~0R`w?;fSQYTCW_k>$2{qKoi@H3E~q6SIlbdr6p zV4LQSF8Y(*d5ftl5W26W|F?_eJ8eqG92Lv?qG$Pr>V)prl4`ZC<|14W?5cqLYxFP1 zA|8vJIeu$rS&;Uh$A3#c%I}`|_4Bd|8c)3^{+zm!kJj0gYbncB%R32e_l{qa7)q7q z&XJNGS;^tSw`q1U&2lWJP9RFZXfL|{TxUup*noVOSjBhno!UH`}L*5n}E4mdu z&jdOc9;c_-0lg`RW5w5x3Pxp^wpp+m_@-Pa@&m1SK z2O^DQ(vGf2?O2peQn;`{1&j307AnojE||@V{$~kEIjN)b9-{eM(1L|^XY%`w}8`|Bwi(0xHOx= z?sCX)`}Xy#SIPv2a+|9Oe*3<0_L9h|#xl3H20Lwmj-P+s;N1#}li$9u%Er9dGbUg@ z{3V)&nQEhMchYmm1($=t$0##bNT1)!*psOT0t zB%)*0&MeyJ?3U+8Um%D%{Ci8}|FpGh7HxiZmY?0L^Donrzimrz)s*Rj^cwL0YMFey z>FFh!y8q<60cYfqJL(7d6Qz6Vaur1d{;TD`^Z_3B-+ zE-XH1$#$M?B?&R9cDnknrt*`N@e-ZE2AkBwV?nlKW*L8D24^QeYkVw8v$5LJcyeGp zhO(uaaG&ztIm^%fr|7QQjF!rJi$35n&fMF^W0rn=yh-@ed>h;KpCf?4upmX~&&4Qt zTJ^N>JvRcEJ`m((z_>02vmlz3{#RG_)B2P@4m;Xt8;ai=(lLP=e)7*FDtRbD_$6KQ zdEsb(tLAycmC@k8+&Je~9~T=gFpy6cvL7z?K6E>n3FR5AW>BU5?*7NaW~BHXt;h7m ziA;Gu5>nDJjtlvAEzc?G#+6GvQVPb9av9GrU-rKn@e}F@?bn6dL=_s>%YngQ8?0kJ zYEbv<#a{lWPn+6EdMyK5rl&9boV^U^Trvue_-U%2l>$BxPUD%>%>;M?xhIDR8xL=D zke14*k`i509wn)K4i1H^f9V`9HgA6w^R(UHHL3{gLsZz_O;O@%*G`xY zVx75~TN6#Znoec1q>|G6>8q8Pqn)JxZF{Nar)RUa{U-?UD%ET-`wuu3Co?yZ%ZoR63gr0HNR~qLm(g)|>TCU(AY=69IH3ezJMjjwn?}tT$6sWt9 zj@nY7R8-%xPfm%#ZQClfJ|4~uVeZco4C%7vSFerF0iB@uxlc-Aw40r|bV2YEs56+qzCTVOB_^B-^i) z9pi8c;gk~?uqU5GRJH8BWylVWu0u?GBwK~q4w&c{2C@wd;zlcuMnau(gTg;XO6Um$ zGvbP?Jp8eZQM8@}bvPk7dk}%!lGzOPA}{AV5o$73?L~5tGr^-gBNz3f|5WE-${1!2 zTPj@=+dA&i%1`+?KR;AOOYDr8TG1^u96&@vPe~v)(C1sr$APmhHclc=g*eB^!FqW zlh~dkJs9mf(OajyDRjRo)yww{Wj*h-_izw3qEL%gGDaZRwQ#G8r!n(%f7N~|aUp

    =#hq+r0ng@W87AsRC>h8rcO_pD;C5h-5Gtd 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 z zQ$gNfAP>g*GU1G|q7*@as1<+S`M;A^^o&Bxv=7PQr-w9;aJ8(a24q$rwpUpbTm5|x zsrIVv5xQln=dwd%(%R@i7Q^w>a%VjUemAWI}d#=W|F|tY* z?8PaLf(G)Tg+7}YUwv{+=xc@E?~OWB6?ukQ;h;QHu&riL9b)*nT|2Sz^ki9%py1|*R>}|GMwS#+qTa+c zK=&d?gQz$d6N*}ZJi@nZ;xg~$Br&%*8#!lg6?-uJbB{ydxm}%`JeoEz+}a45TEwFR zofwtGn7Z6sLfVJ1_8|$vL?ysygp`vKi7UpCb zFf&aTdYG28yPq~Q^{;t6rUM*1C_Z*88XTL5?~b|{3-9hp?0xSCZOGw}HrB1hNP^Ea zKxwA1K2RRuRc4xqjlnA_3is*ga5OPc;r{^T0LubBnFd)DUd0De)FkT@>g=CC61j{$ z4@{sLX_4<`%W@rhA@0-I+-Yzr<9W~Tli}L2q=?1K62Uz^$*|zjjdg|2K`c)j^8r#4k9lF>3Y~rNima@1Ac0q z1PCgdUsg?$60BoA;0ASp)zkGWq9ruG%jns)>h9j0=V->?3)x~7Erx1HxFM){fiF08 z?Hd1*n?|?X-%J}54;XkcI)E5{dsk`M$63xZSp62~v-l98W z6_ZtbwIZP>(%q&4Pb~Tya??JVI4Zvtc^{$)b64@%eFr~{V?P<04z9BMn+36p7%V*r zNND*Y0L@0s`G$r^sQB+HLC4m*th$#+S2Q-LTSIYpZN8-D3N>mK_gLnE$l{;!T3X`T z>p=*4b_E@EMw0SypM4GJ4#efZh@TZs7*V(RbgU(EImxBO?^XkT?5+9aBre#Die18T z^e0Hi?7if+7ShZ<=HW!8EjmBkiEK+|qkI3QR8gIaSu#IxJ{5b?C4xw8q5^J?M^=Mb zqoO@4i@m^oKAR94hWhH$*oaC>Mz4DEv_VE6c#jtWc`$xPb_jV?l*-$JCx;DwRtzDx% zhtqWj1@QBlM4A(k!D_C@P;Wv^H+mDP`npRa)v|-4N(6N-j{KY^O`V=Dx5P)#Z4-N3 zaoJ22m$;9DJ~eimpR~iZ*m}ssFq^6Rx2eY~>;b%DhX><3@~(iW@7~ue_DDH6D^t;8 zVDv|o-EWV(%^s^Hg@{KygpJGG8&T-^b9Z~y=AUnHaVFi8^MPC*i{Pr2B4zTmE`+=O z4BV|fyXJ<@3&hbEi2k}SezAh^D^?m!BtYO?DFx!5P}8BCu2MbMXqgsHOO(++iF-5K zDzoz53nB4RDno%SIt>Ze-8csqi1o5yxy{grTDvnwnq>Nf>Cx~VYPz^wChtn6{32ev zIt8sU`4w0f@_8Fb$tAS1EF=_}^cT#y#MLCOHfAhjsh1@=6>uDNzjf#RCO@D!4u?=0 z%=@Mzi4AMt#g}MPLXt06svL-gn7WBQx9HBEZ!<p zpq3bcO5b3RoQMHl&5y`DRFzo!3$Z9UeGWv(wI%SuikXX+K+R4Wb zhSFQXyhZU6r^RCr{+kYp0!N~&wS!(?CoQT>*OhCRPbFS?c2YV$@5XOV<<4HhoL3l` z<5z_$5A(>KU$;M;=2(!$%ZF3_ypS&fSP-7A&w$Nr#H%}b$ff2=`9xaT!llvT(SAN? z$#TsM6YmghJS6-dr1-!-@b*U|J&B6cVolk-_S4DVK1#?(!$&SsdU&FY=jddV>3LIQ zDF5t6jct){!eN?&pLdD?_5q1ug1(^|OZYb5`ez@(iYT}Ls_hn7*pbee;3mggE%hAm zXZMF!cu_KRil)7^q%_aij`W`+sAD;bs8_oBtpVqH&dI8h7N7$q{1%5({cPxOEsln= z1erXx`CX>)*Wkd`Dq*2&S5;CxES*dB6<=jqTE|J1VAhrqZK(=*YC=589dZ9Cb~+(@ zHVd}x=0B>^>zk63)hjGnp#ILhHNc^qtfn(UM!A zxC_JcSj*%(Ik&X)Q?n-MIp|z%5MA8kZwm|nr+tH|-{#5CEB}#|(om7p9