From 75cb72964d1fc4b028ee3787e1ef870377ebe7f1 Mon Sep 17 00:00:00 2001 From: Bruce Date: Tue, 20 Jan 2026 22:34:22 +0800 Subject: [PATCH] Coding for Package Manager. --- AppInstallerReset.sln | 40 + AppxPackage/AppxPackage.csproj | 16 + AppxPackage/DataInterface.cs | 232 + AppxPackage/PackageManager.cs | 603 ++ AppxPackage/PackageReader.cs | 1197 +++ AppxPackage/PkgMgrNative.cs | 39 + AppxPackage/PkgReadNative.cs | 6 + AppxPackage/PriFileNative.cs | 48 +- AppxPackage/PriReader.cs | 243 +- AppxPackage/packages.config | 4 + Bridge/Bridge.csproj | 4 + Bridge/SysInit.cs | 378 +- DataUtils/DataUtils.csproj | 6 + DataUtils/Taskbar.cs | 58 +- DataUtils/Utils.cs | 4 + DataUtils/Version.cs | 15 +- DataUtils/WebBrowser.cs | 21 +- Generated/InstallerSetup.exe | Bin 42882441 -> 43100567 bytes IEHelper/AssemblyInfo.cpp | 38 + IEHelper/IEHelper.cpp | 43 + IEHelper/IEHelper.h | 14 + IEHelper/IEHelper.vcxproj | 162 + IEHelper/IEHelper.vcxproj.filters | 52 + IEHelper/ReadMe.txt | 38 + IEHelper/Stdafx.cpp | 5 + IEHelper/Stdafx.h | 9 + IEHelper/app.ico | Bin 0 -> 41395 bytes IEHelper/app.rc | Bin 0 -> 2358 bytes IEHelper/resource.h | 3 + LICENSE.Newtonsoft.Json | 63 + Manager/Manager.csproj | 115 + Manager/ManagerShell.Designer.cs | 50 + Manager/ManagerShell.cs | 25 + Manager/ManagerShell.resx | 120 + Manager/Program.cs | 22 + Manager/Properties/AssemblyInfo.cs | 36 + Manager/Properties/Resources.Designer.cs | 71 + Manager/Properties/Resources.resx | 117 + Manager/Properties/Settings.Designer.cs | 30 + Manager/Properties/Settings.settings | 7 + Manager/app.manifest | 75 + ModernNotice/ModernNotice.csproj | 62 + ModernNotice/Notice.cs | 120 + ModernNotice/NoticeNative.cs | 122 + ModernNotice/Properties/AssemblyInfo.cs | 36 + Update/Program.cs | 42 +- WAShell/SplashForm.cs | 34 +- WAShell/WAShell.csproj | 4 + WAShell/WebAppForm.Designer.cs | 3 + WAShell/WebAppForm.cs | 110 +- .../Autosave/autosave_2025-12-14_01-54-39.suf | 6604 ---------------- .../Autosave/autosave_2025-12-14_02-00-12.suf | 6639 ----------------- others/buildsetup.suf | 442 +- pkgread/pkgread.h | 6 + settings/main.cpp | 2 +- shared/html/fonts/segx.css | 13 + shared/html/fonts/segxmvr.ttf | Bin 0 -> 39288 bytes shared/html/fonts/segxmvr.woff | Bin 0 -> 26966 bytes shared/html/fonts/segxsym.ttf | Bin 0 -> 103508 bytes shared/html/fonts/segxsym.woff | Bin 0 -> 56762 bytes shared/html/js/bridge.js | 18 +- shared/html/js/pages.js | 2 +- shared/html/js/resources.js | 4 +- shared/html/manager.html | 93 + shared/html/manager/appitem.css | 118 + shared/html/manager/page.css | 318 + shared/html/settings/appinstaller/about.html | 1 + shared/license/LICENSE.Newtonsoft.Json | 63 + shared/license/license_cn.html | 1 + shared/license/license_en.html | 1 + shared/version | 2 +- 71 files changed, 5518 insertions(+), 13351 deletions(-) create mode 100644 AppxPackage/DataInterface.cs create mode 100644 AppxPackage/PackageManager.cs create mode 100644 AppxPackage/PackageReader.cs create mode 100644 AppxPackage/packages.config create mode 100644 IEHelper/AssemblyInfo.cpp create mode 100644 IEHelper/IEHelper.cpp create mode 100644 IEHelper/IEHelper.h create mode 100644 IEHelper/IEHelper.vcxproj create mode 100644 IEHelper/IEHelper.vcxproj.filters create mode 100644 IEHelper/ReadMe.txt create mode 100644 IEHelper/Stdafx.cpp create mode 100644 IEHelper/Stdafx.h create mode 100644 IEHelper/app.ico create mode 100644 IEHelper/app.rc create mode 100644 IEHelper/resource.h create mode 100644 LICENSE.Newtonsoft.Json create mode 100644 Manager/Manager.csproj create mode 100644 Manager/ManagerShell.Designer.cs create mode 100644 Manager/ManagerShell.cs create mode 100644 Manager/ManagerShell.resx create mode 100644 Manager/Program.cs create mode 100644 Manager/Properties/AssemblyInfo.cs create mode 100644 Manager/Properties/Resources.Designer.cs create mode 100644 Manager/Properties/Resources.resx create mode 100644 Manager/Properties/Settings.Designer.cs create mode 100644 Manager/Properties/Settings.settings create mode 100644 Manager/app.manifest create mode 100644 ModernNotice/ModernNotice.csproj create mode 100644 ModernNotice/Notice.cs create mode 100644 ModernNotice/NoticeNative.cs create mode 100644 ModernNotice/Properties/AssemblyInfo.cs delete mode 100644 others/Autosave/autosave_2025-12-14_01-54-39.suf delete mode 100644 others/Autosave/autosave_2025-12-14_02-00-12.suf create mode 100644 shared/html/fonts/segx.css create mode 100644 shared/html/fonts/segxmvr.ttf create mode 100644 shared/html/fonts/segxmvr.woff create mode 100644 shared/html/fonts/segxsym.ttf create mode 100644 shared/html/fonts/segxsym.woff create mode 100644 shared/html/manager.html create mode 100644 shared/html/manager/appitem.css create mode 100644 shared/html/manager/page.css create mode 100644 shared/license/LICENSE.Newtonsoft.Json diff --git a/AppInstallerReset.sln b/AppInstallerReset.sln index 1f577f1..806d252 100644 --- a/AppInstallerReset.sln +++ b/AppInstallerReset.sln @@ -60,6 +60,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bridge", "Bridge\Bridge.csp EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WAShell", "WAShell\WAShell.csproj", "{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Manager", "Manager\Manager.csproj", "{DC074727-72E4-43C5-BAAF-E0D548104797}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IEHelper", "IEHelper\IEHelper.vcxproj", "{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModernNotice", "ModernNotice\ModernNotice.csproj", "{C5587B6E-19C4-4484-AA97-5C20FBB07E43}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -250,6 +256,40 @@ Global {4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|x64.Build.0 = Release|Any CPU {4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|x86.ActiveCfg = Release|Any CPU {4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|x86.Build.0 = Release|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x64.ActiveCfg = Debug|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x64.Build.0 = Debug|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x86.ActiveCfg = Debug|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x86.Build.0 = Debug|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Release|Any CPU.Build.0 = Release|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x64.ActiveCfg = Release|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x64.Build.0 = Release|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x86.ActiveCfg = Release|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x86.Build.0 = Release|Any CPU + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|x64.ActiveCfg = Debug|x64 + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|x64.Build.0 = Debug|x64 + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|x86.ActiveCfg = Debug|Win32 + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|x86.Build.0 = Debug|Win32 + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|Any CPU.ActiveCfg = Release|Win32 + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|x64.ActiveCfg = Release|x64 + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|x64.Build.0 = Release|x64 + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|x86.ActiveCfg = Release|Win32 + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|x86.Build.0 = Release|Win32 + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|x64.ActiveCfg = Debug|Any CPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|x64.Build.0 = Debug|Any CPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|x86.ActiveCfg = Debug|Any CPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|x86.Build.0 = Debug|Any CPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|Any CPU.Build.0 = Release|Any CPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|x64.ActiveCfg = Release|Any CPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|x64.Build.0 = Release|Any CPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|x86.ActiveCfg = Release|Any CPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/AppxPackage/AppxPackage.csproj b/AppxPackage/AppxPackage.csproj index ffec87e..c008200 100644 --- a/AppxPackage/AppxPackage.csproj +++ b/AppxPackage/AppxPackage.csproj @@ -48,6 +48,10 @@ MinimumRecommendedRules.ruleset + + ..\packages\Newtonsoft.Json.13.0.4\lib\net40\Newtonsoft.Json.dll + True + @@ -57,12 +61,24 @@ + + + + + + {ffd3fd52-37a8-4f43-883c-de8d996cb0e0} + DataUtils + + + + + + \ No newline at end of file diff --git a/Manager/ManagerShell.Designer.cs b/Manager/ManagerShell.Designer.cs new file mode 100644 index 0000000..2f08544 --- /dev/null +++ b/Manager/ManagerShell.Designer.cs @@ -0,0 +1,50 @@ +namespace Manager +{ + partial class ManagerShell + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose (bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose (); + } + base.Dispose (disposing); + } + + #region Windows 窗体设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent () + { + this.SuspendLayout(); + // + // ManagerShell + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(661, 416); + this.Location = new System.Drawing.Point(0, 0); + this.Name = "ManagerShell"; + this.PageScale = 125; + this.Text = "Form1"; + this.Load += new System.EventHandler(this.ManagerShell_Load); + this.ResumeLayout(false); + + } + + #endregion + } +} + diff --git a/Manager/ManagerShell.cs b/Manager/ManagerShell.cs new file mode 100644 index 0000000..4fb81bd --- /dev/null +++ b/Manager/ManagerShell.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.IO; +namespace Manager +{ + public partial class ManagerShell: WAShell.WebAppForm + { + public ManagerShell () + { + InitializeComponent (); + SplashScreen.SplashBackgroundColor = Color.Honeydew; + } + private void ManagerShell_Load (object sender, EventArgs e) + { + var root = Path.GetDirectoryName (DataUtils.Utilities.GetCurrentProgramPath ()); + WebUI.Navigate (Path.Combine (root, "html\\manager.html")); + } + } +} diff --git a/Manager/ManagerShell.resx b/Manager/ManagerShell.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Manager/ManagerShell.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Manager/Program.cs b/Manager/Program.cs new file mode 100644 index 0000000..25ccbad --- /dev/null +++ b/Manager/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace Manager +{ + static class Program + { + /// + /// 应用程序的主入口点。 + /// + [STAThread] + static void Main () + { + DataUtils.BrowserEmulation.SetWebBrowserEmulation (); + Application.EnableVisualStyles (); + Application.SetCompatibleTextRenderingDefault (false); + Application.Run (new ManagerShell ()); + } + } +} diff --git a/Manager/Properties/AssemblyInfo.cs b/Manager/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..cbf6e89 --- /dev/null +++ b/Manager/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle ("Manager")] +[assembly: AssemblyDescription ("")] +[assembly: AssemblyConfiguration ("")] +[assembly: AssemblyCompany ("")] +[assembly: AssemblyProduct ("Manager")] +[assembly: AssemblyCopyright ("Copyright © 2026")] +[assembly: AssemblyTrademark ("")] +[assembly: AssemblyCulture ("")] + +//将 ComVisible 设置为 false 将使此程序集中的类型 +//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型, +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible (false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid ("dc074727-72e4-43c5-baaf-e0d548104797")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, +// 方法是按如下所示使用“*”: : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion ("1.0.0.0")] +[assembly: AssemblyFileVersion ("1.0.0.0")] diff --git a/Manager/Properties/Resources.Designer.cs b/Manager/Properties/Resources.Designer.cs new file mode 100644 index 0000000..d0cd4f2 --- /dev/null +++ b/Manager/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本: 4.0.30319.42000 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace Manager.Properties +{ + + + /// + /// 强类型资源类,用于查找本地化字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute ("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute ()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute ()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute ("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources () + { + } + + /// + /// 返回此类使用的缓存 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute (global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager ("Manager.Properties.Resources", typeof (Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 覆盖当前线程的 CurrentUICulture 属性 + /// 使用此强类型的资源类的资源查找。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute (global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Manager/Properties/Resources.resx b/Manager/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Manager/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Manager/Properties/Settings.Designer.cs b/Manager/Properties/Settings.Designer.cs new file mode 100644 index 0000000..edcea2d --- /dev/null +++ b/Manager/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Manager.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute ()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute ("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings: global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized (new Settings ()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Manager/Properties/Settings.settings b/Manager/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Manager/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Manager/app.manifest b/Manager/app.manifest new file mode 100644 index 0000000..7db33c3 --- /dev/null +++ b/Manager/app.manifest @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + diff --git a/ModernNotice/ModernNotice.csproj b/ModernNotice/ModernNotice.csproj new file mode 100644 index 0000000..f861f83 --- /dev/null +++ b/ModernNotice/ModernNotice.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43} + Library + Properties + ModernNotice + ModernNotice + v4.0 + 512 + + + true + full + false + ..\Debug\ + DEBUG;TRACE + prompt + 4 + x86 + + + pdbonly + true + ..\Release\ + TRACE + prompt + 4 + x86 + + + + + + + + + + + + + + + + + + {ffd3fd52-37a8-4f43-883c-de8d996cb0e0} + DataUtils + + + + + \ No newline at end of file diff --git a/ModernNotice/Notice.cs b/ModernNotice/Notice.cs new file mode 100644 index 0000000..f40de8e --- /dev/null +++ b/ModernNotice/Notice.cs @@ -0,0 +1,120 @@ +using System.Xml; +using System.Runtime.InteropServices; +using HResult = DataUtils._I_HResult; +using System; + +namespace ModernNotice +{ + public static class Notice + { + private static XmlDocument XmlStringToDom (string xmlContent) + { + var ret = new XmlDocument (); + ret.LoadXml (xmlContent); + return ret; + } + private static string XmlDomToString (XmlDocument xmlDom) { return xmlDom.OuterXml; } + private static HResult BuildHResult (int hr, IntPtr err, IntPtr msg) { return new HResult (hr, Marshal.PtrToStringUni (err), Marshal.PtrToStringUni (msg)); } + private static HResult BuildHResult (HRESULT hr, IntPtr err, IntPtr msg) { return BuildHResult (hr.Value, err, msg); } + private static HResult BuildHResult (int hr, IntPtr msg) { return new HResult (hr, "", Marshal.PtrToStringUni (msg)); } + private static HResult BuildHResult (HRESULT hr, IntPtr msg) { return BuildHResult (hr.Value, msg); } + private static HResult BuildHResult (int hr) { return new HResult (hr); } + private static HResult BuildHResult (HRESULT hr) { return BuildHResult (hr.Value); } + public static string GetTemplateString (string templateName) + { + var ptr = Native.GetToastNoticeXml (templateName); + try { var ret = Marshal.PtrToStringUni (ptr) ?? ""; return ret; } + finally { Native.NoticeApiFreeString (ptr); } + } + public static XmlDocument GetTemplate (string templateName) { return XmlStringToDom (GetTemplateString (templateName)); } + public static string GetSimpleTemplateString (string content, string imagePath) + { + var ptr = Native.GenerateSimpleToastNoticeXml (content, imagePath); + try { var ret = Marshal.PtrToStringUni (ptr) ?? ""; return ret; } + finally { Native.NoticeApiFreeString (ptr); } + } + public static XmlDocument GetSimpleTemplate (string content, string imagePath = null) { return XmlStringToDom (GetSimpleTemplateString (content, imagePath)); } + public static string GetSimpleTemplateString2 (string title, string content = null, string imagePath = null) + { + var ptr = Native.GenerateSimpleToastNoticeXml2 (title, content, imagePath); + try { var ret = Marshal.PtrToStringUni (ptr) ?? ""; return ret; } + finally { Native.NoticeApiFreeString (ptr); } + } + public static XmlDocument GetSimpleTemplate2 (string title, string content = null, string imagePath = null) { return XmlStringToDom (GetSimpleTemplateString2 (title, content, imagePath)); } + public static HResult Create (string appUserId, XmlDocument xml) + { + IntPtr dt = IntPtr.Zero; + try + { + var hr = Native.CreateToastNoticeFromXmlDocument (appUserId, XmlDomToString (xml), null, IntPtr.Zero, out dt); + return BuildHResult (hr, dt); + } + finally + { + if (dt != IntPtr.Zero) Native.NoticeApiFreeString (dt); + } + } + public static HResult Create (string appUserId, string content, string imagePath = null) + { + var xml = GetSimpleTemplate (content, imagePath); + return Create (appUserId, xml); + } + public static HResult Create (string appUserId, string title, string content, string imagePath = null) + { + var xml = GetSimpleTemplate2 (title, content, imagePath); + return Create (appUserId, xml); + } + public static HResult Create (string appUserId, string content, IntPtr img) + { + IntPtr dt = IntPtr.Zero; + try + { + var hr = Native.CreateToastNoticeWithIStream (appUserId, content, img, null, IntPtr.Zero, out dt); + return BuildHResult (hr, dt); + } + finally + { + if (dt != IntPtr.Zero) Native.NoticeApiFreeString (dt); + } + } + public static HResult Create (string appUserId, string title, string content, IntPtr img) + { + IntPtr dt = IntPtr.Zero; + try + { + var hr = Native.CreateToastNoticeWithIStream2 (appUserId, title, content, img, null, IntPtr.Zero, out dt); + return BuildHResult (hr, dt); + } + finally + { + if (dt != IntPtr.Zero) Native.NoticeApiFreeString (dt); + } + } + public static HResult CreateWithImgBase64 (string appUserId, string content, string imageBase64) + { + IntPtr dt = IntPtr.Zero; + try + { + var hr = Native.CreateToastNoticeWithImgBase64 (appUserId, content, imageBase64, null, IntPtr.Zero, out dt); + return BuildHResult (hr, dt); + } + finally + { + if (dt != IntPtr.Zero) Native.NoticeApiFreeString (dt); + } + } + public static HResult CreateWithImgBase64 (string appUserId, string title, string content, string imageBase64) + { + IntPtr dt = IntPtr.Zero; + try + { + var hr = Native.CreateToastNotice2WithImgBase64 (appUserId, title, content, imageBase64, null, IntPtr.Zero, out dt); + return BuildHResult (hr, dt); + } + finally + { + if (dt != IntPtr.Zero) Native.NoticeApiFreeString (dt); + } + } + } +} diff --git a/ModernNotice/NoticeNative.cs b/ModernNotice/NoticeNative.cs new file mode 100644 index 0000000..6b2a117 --- /dev/null +++ b/ModernNotice/NoticeNative.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; + +namespace ModernNotice +{ + // HRESULT = int + [StructLayout (LayoutKind.Sequential)] + public struct HRESULT + { + public int Value; + } + + // Callback delegate + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + public delegate void NOTICE_ACTIVECALLBACK (IntPtr pCustom); + + public static class Native + { + private const string DLL = "notice.dll"; // 改成你的 dll 名称 + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern IntPtr GetToastNoticeXml (string lpTemplateName); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern IntPtr GenerateSimpleToastNoticeXml (string lpText, string lpImagePath); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern IntPtr GenerateSimpleToastNoticeXml2 (string lpTitle, string lpText, string lpImagePath); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNoticeFromXmlDocument ( + string lpIdName, + string lpXmlString, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNotice ( + string lpIdName, + string lpText, + string lpImgPath, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNotice2 ( + string lpIdName, + string lpTitle, + string lpText, + string lpImgPath, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNoticeWithIStream2 ( + string lpIdName, + string lpTitle, + string lpText, + IntPtr pIImgStream, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNoticeWithIStream ( + string lpIdName, + string lpText, + IntPtr pIImgStream, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + + [DllImport (DLL, CallingConvention = CallingConvention.Cdecl)] + public static extern int NoticeGetLastHResult (); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern IntPtr NoticeGetLastDetailMessage (); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateShortcutWithAppIdW ( + string pszShortcutPath, + string pszTargetPath, + string pszAppId, + out IntPtr lpException + ); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern void NoticeApiFreeString (IntPtr lpstr); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNoticeWithImgBase64 ( + string lpIdName, + string lpText, + string lpImgBase64, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNotice2WithImgBase64 ( + string lpIdName, + string lpTitle, + string lpText, + string lpImgBase64, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + } +} diff --git a/ModernNotice/Properties/AssemblyInfo.cs b/ModernNotice/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..4b67f08 --- /dev/null +++ b/ModernNotice/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("ModernNotice")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ModernNotice")] +[assembly: AssemblyCopyright("Copyright © 2026")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +//将 ComVisible 设置为 false 将使此程序集中的类型 +//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型, +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible (true)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("c5587b6e-19c4-4484-aa97-5c20fbb07e43")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, +// 方法是按如下所示使用“*”: : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Update/Program.cs b/Update/Program.cs index 6a6d5a3..382fdb2 100644 --- a/Update/Program.cs +++ b/Update/Program.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Windows.Forms; using System.Diagnostics; using System.IO; using System.Text; +using System.Threading; namespace Update { @@ -47,18 +47,36 @@ namespace Update [STAThread] static void Main (string [] args) { - Process p = new Process (); - p.StartInfo.FileName = Path.Combine (AppDomain.CurrentDomain.BaseDirectory, "settings.exe"); - var arguments = new List + bool createdNew = false; + Mutex mutex = new Mutex (true, "WindowsModern.PracticalToolsProject!Settings.Update", out createdNew); + if (!createdNew) { - "appinstaller", - "update" - }; - arguments.AddRange (args); - p.StartInfo.Arguments = string.Join (" ", arguments.Select (EscapeArgument)); - p.Start (); - p.WaitForExit (); - int exitCode = p.ExitCode; + return; + } + try + { + Process p = new Process (); + p.StartInfo.FileName = Path.Combine (AppDomain.CurrentDomain.BaseDirectory, "settings.exe"); + List arguments = new List (); + arguments.Add ("appinstaller"); + arguments.Add ("update"); + arguments.AddRange (args); + StringBuilder argBuilder = new StringBuilder (); + foreach (string a in arguments) + { + if (argBuilder.Length > 0) + argBuilder.Append (" "); + argBuilder.Append (EscapeArgument (a)); + } + p.StartInfo.Arguments = argBuilder.ToString (); + p.Start (); + p.WaitForExit (); + int exitCode = p.ExitCode; + } + finally + { + mutex.ReleaseMutex (); + } } } } diff --git a/WAShell/SplashForm.cs b/WAShell/SplashForm.cs index b983d14..e3b911e 100644 --- a/WAShell/SplashForm.cs +++ b/WAShell/SplashForm.cs @@ -32,6 +32,7 @@ namespace WAShell if (ReferenceEquals (_host, value)) return; DetachHostEvents (_host); _host = value; + this.Owner = _host as Form; AttachHostEvents (_host); if (this.Visible) { @@ -44,19 +45,27 @@ namespace WAShell if (host == null) return; host.Resize += Host_Changed; host.LocationChanged += Host_Changed; + host.Disposed += Host_Disposed; } private void DetachHostEvents (Control host) { if (host == null) return; - host.Resize -= Host_Changed; host.LocationChanged -= Host_Changed; + host.Disposed -= Host_Disposed; } private void Host_Changed (object sender, EventArgs e) { - if (!this.IsHandleCreated) return; + if (this.IsDisposed || !this.IsHandleCreated) return; + if (this.Owner == null || this.Owner.IsDisposed) return; ResizeSplashScreen (); } + private void Host_Disposed (object sender, EventArgs e) + { + DetachHostEvents (_host); + _host = null; + if (!this.IsDisposed) this.Hide (); // 或 Hide() + } public SplashForm () { InitializeComponent (); @@ -80,7 +89,7 @@ namespace WAShell splashImage = value; if (picbox != null && picbox.IsHandleCreated) { - splashImage = picbox.Image; + picbox.Image = splashImage; } } } @@ -98,15 +107,14 @@ namespace WAShell { ResizeSplashScreen (); } - private void ResizeSplashScreen () + public void ResizeSplashScreen () { - Control owner = this.Owner; - if (owner == null) owner = this.Parent; - if (owner == null) return; - owner.Update (); - var pt = owner.PointToScreen (owner.ClientRectangle.Location); - Location = pt; - Size = owner.ClientSize; + if (this.IsDisposed || !this.IsHandleCreated) return; + Control owner = this.Owner ?? this.Parent; + if (owner == null || owner.IsDisposed || !owner.IsHandleCreated) return; + var pt = owner.PointToScreen (Point.Empty); + this.Location = pt; + this.Size = owner.ClientSize; ResizeSplashImage (); } private void ResizeSplashImage () @@ -213,13 +221,13 @@ namespace WAShell { DetachHostEvents (_host); _host = null; - base.OnFormClosed (e); + // base.OnFormClosed (e); } catch (Exception) { } } private void SplashForm_Shown (object sender, EventArgs e) { - base.OnShown (e); + //base.OnShown (e); this.Opacity = 1.0; this.Visible = true; this.Enabled = true; diff --git a/WAShell/WAShell.csproj b/WAShell/WAShell.csproj index f19c040..5c4b0a2 100644 --- a/WAShell/WAShell.csproj +++ b/WAShell/WAShell.csproj @@ -68,6 +68,10 @@ {ffd3fd52-37a8-4f43-883c-de8d996cb0e0} DataUtils + + {e4ca78a9-9408-4f5f-add6-730fd501ff8e} + IEHelper + {8e708d9a-6325-4aa9-b5a5-d1b5eca8eef7} PrivateInit diff --git a/WAShell/WebAppForm.Designer.cs b/WAShell/WebAppForm.Designer.cs index 216bd03..5bbc8e8 100644 --- a/WAShell/WebAppForm.Designer.cs +++ b/WAShell/WebAppForm.Designer.cs @@ -39,6 +39,7 @@ this.webui.Name = "webui"; this.webui.Size = new System.Drawing.Size(661, 416); this.webui.TabIndex = 0; + this.webui.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(this.webui_DocumentCompleted); // // WebAppForm // @@ -49,6 +50,8 @@ this.Controls.Add(this.webui); this.Name = "WebAppForm"; this.Text = "Main Web App Form"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.WebAppForm_FormClosing); + this.Load += new System.EventHandler(this.WebAppForm_Load); this.ResumeLayout(false); } diff --git a/WAShell/WebAppForm.cs b/WAShell/WebAppForm.cs index 6eeca50..b474de4 100644 --- a/WAShell/WebAppForm.cs +++ b/WAShell/WebAppForm.cs @@ -12,56 +12,90 @@ namespace WAShell { [ComVisible (true)] [ClassInterface (ClassInterfaceType.AutoDual)] - public partial class WebAppForm: Form, IScriptBridge, IWebBrowserPageScale + public partial class WebAppForm: Form, IScriptBridge, IWebBrowserPageScale, ITaskbarProgress { - SplashForm splash; - ITaskbarList3 taskbar = null; + SplashForm splash = new SplashForm (); + TaskbarProgress taskbar = null; + public WebBrowser WebUI => webui; + public SplashForm SplashScreen => splash; + public object PublicObjectForScripting { get { return webui?.ObjectForScripting; } set { webui.ObjectForScripting = null; webui.ObjectForScripting = value; } } + protected Bridge._I_BridgeBase NowObject { get { return webui?.ObjectForScripting as Bridge._I_BridgeBase; } } public WebAppForm () { + splash.Host = this; InitializeComponent (); + webui.ObjectForScripting = new Bridge._I_BridgeBase (this, this, this, this); + taskbar = new TaskbarProgress (Handle); } - public int PageScale + public virtual int PageScale + { + get { return IEHelper.WebBrowserHelper.GetPageScale (webui); } + set { IEHelper.WebBrowserHelper.SetPageScale (webui, value); } + } + public double ProgressValue { - get - { - var web2 = WebBrowserHelper.GetWebBrowser2 (webui); - if (web2 == null) return 0; - object inArg = null; - object outArg = null; - try - { - web2.ExecWB ( - OLECMDID.OLECMDID_OPTICAL_ZOOM, - OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, - ref inArg, - ref outArg - ); - if (outArg is int) return (int)outArg; - } - catch { } - return 0; - } set { - var web2 = WebBrowserHelper.GetWebBrowser2 (webui); - if (web2 == null) return; - object inArg = value; - object outArg = null; - try - { - web2.ExecWB ( - OLECMDID.OLECMDID_OPTICAL_ZOOM, - OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, - ref inArg, - ref outArg - ); - } - catch { } + if (taskbar == null) return; + double total = 1000000; + taskbar.SetValue ((ulong)(value * total), (ulong)total); } } - public object CallEvent (string funcName, object e) + public TBPFLAG ProgressStatus { set { taskbar.SetState (value); } } + public virtual object CallEvent (string funcName, object e) { return null; } + private void WebAppForm_Load (object sender, EventArgs e) + { + // splash.SplashBackgroundColor = Color.Green; + splash.ResizeSplashScreen (); + splash.Show (); + splash.Update (); + // splash.FadeOut (); + } + private bool issetdpi = false; + protected virtual void webui_DocumentCompleted (object sender, WebBrowserDocumentCompletedEventArgs e) + { + if (!issetdpi) + { + issetdpi = true; + ExecScript ("Bridge.Frame.scale = Bridge.Frame.scale * Bridge.UI.dpi"); + } + ExecScript ("Windows.UI.DPI.mode = 1"); + if (e.Url.ToString () == webui.Url.ToString ()) + { + splash.FadeOut (); + } + } + protected object CallScriptFunction (string funcName, params object [] args) { return webui.Document.InvokeScript (funcName, args); } + protected object CallScriptFunction (string funcName) { return webui.Document.InvokeScript (funcName); } + public object InvokeCallScript (string funcName, params object [] args) + { + if (this.InvokeRequired) + { + return this.Invoke ( + new Func (CallScriptFunction), + funcName, args + ); + } + else return CallScriptFunction (funcName, args); + } + public object InvokeCallScript (string funcName) + { + if (this.InvokeRequired) + { + return this.Invoke ( + new Func (CallScriptFunction), + funcName + ); + } + else return CallScriptFunction (funcName); + } + public object ExecScript (params object [] cmdline) { return InvokeCallScript ("eval", cmdline); } + private void WebAppForm_FormClosing (object sender, FormClosingEventArgs e) + { + webui.ObjectForScripting = null; + } } } diff --git a/others/Autosave/autosave_2025-12-14_01-54-39.suf b/others/Autosave/autosave_2025-12-14_01-54-39.suf deleted file mode 100644 index 4b4d402..0000000 --- a/others/Autosave/autosave_2025-12-14_01-54-39.suf +++ /dev/null @@ -1,6604 +0,0 @@ - - -{AFB904C4-C255-4540-B97E-A75A34F1FFB0} -9.5.3.0 - - - -1 - -*.* -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\shared -* - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -1 - -1 -1 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\appinstaller.exe -appinstaller.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - -App Installer - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\certmgr.dll -certmgr.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\notice.dll -notice.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\pkgmgr.dll -pkgmgr.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\pkgread.dll -pkgread.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\PriFileFormat.dll -PriFileFormat.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\priformatcli.dll -priformatcli.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\reslib.dll -reslib.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\settings.exe -settings.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -1 -%StartProgramsFolderCommon%\\%AppShortcutFolderName% -Update - -appinstaller update /checkupdate - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others\uninstall_icon.ico -uninstall_icon.ico -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others -ico - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\shortcut.exe -shortcut.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - -shortcut - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\desktopini.exe -desktopini.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - -desktopini - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\PriFileFormat.dll.config -PriFileFormat.dll.config -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -config - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\priformatcli.dll.metagen -priformatcli.dll.metagen -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -metagen - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - - - - -100 -Welcome to Setup -1 -Welcome to Setup -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 -77 -1 - - -1 -102 -1 -1 -78 -1 - - -2 -200 -1 -1 -1 -0 - - -2 -300 -1 -1 -0 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Welcome -Welcome to the installer for %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -Welcome to the installer for %ProductName% %ProductVer%. - -It is strongly recommended that you exit all Windows programs before continuing with this installation. - -If you have any other programs running, please click Cancel, close the programs, and run this setup again. - -Otherwise, click Next to continue. - -Welcome - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ӭ -ӭʹ %ProductName% %ProductVer% װ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ӭʹ %ProductName% %ProductVer% װ - -ǿҽڼðװ֮ǰ˳ Windows - -κУ뵥ȡرճȻٴиðװ - -뵥һ - -ӭ - - - - - -100 -Welcome to Update Setup -1 -Welcome to Setup -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 -77 -1 - - -1 -102 -1 -1 -78 -1 - - -2 -200 -1 -1 -1 -0 - - -2 -300 -1 -1 -0 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Update -Welcome -Welcome to the installer for %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -Welcome to the %ProductName% %ProductVer% upgrade program. - -It is strongly recommended that you exit all programs related to %ProductName% before continuing this installation. - -If you have any other programs running, please click "Cancel" to close the program, and then run the installer again. - -Otherwise, please click "Next" to continue. -Welcome - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% -ӭ -ӭʹ %ProductName% %ProductVer% װ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ӭʹ %ProductName% %ProductVer% - -ǿҽڼðװ֮ǰ˳ %ProductName% صг - -κУ뵥ȡرճȻٴиðװ - -뵥һ - -ӭ - - - - - -125 -License Agreement -2 -License Agreement -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -1 - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -3 -400 -1 -1 -0 -1 -0 -1 -0 -0 - -1 -1 - - - -5 -602 -1 -1 -35 -1 -602 -603 - - -5 -603 -1 -1 -40 -0 -602 -603 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -License Agreement -Please read the following license agreement carefully. -&Next > -< &Back -&Cancel -&Help -<!DOCTYPE html> -<html> - -<head> - <meta charset="UTF-8"> - <title>End User License Agreement</title> - <style> - body { - /*font-family: "Segoe UI", "Microsoft YaHei", Arial, sans-serif;*/ - font-size: 9pt; - /*color: #333333; - background-color: #ffffff;*/ --ms-overflow-style: -ms-autohiding-scrollbar; -box-sizing: border-box; - } - - h1 { - font-size: 12.5pt; - font-weight: bold; - margin-bottom: 5px; -text-align: center; - } - - h2 { - font-size: 10.75pt; - font-weight: bold; - margin-top: 5px; - margin-bottom: 5px; - } - - p { - margin: 5px 0; - } - - ul, - ol { - margin: 5px 0; - padding: 0; - } - - a { - color: #1a73e8; - text-decoration: underline; - } - - a:hover { - color: #0b59d1; - text-decoration: none; - } - - strong { - font-weight: bold; - } - - em { - font-style: italic; - } - </style> -</head> - -<body> - <h1>End User License Agreement</h1> - - <p>Please read this license agreement carefully before installing or using this software.</p> - - <h2>1. Copyright</h2> - <p>Copyright © 2025 Windows Modern. This software and its source code are protected by copyright law.</p> - - <h2>2. License</h2> - <p>This software is licensed under the MIT License. You are free to use, copy, modify, and distribute this software and its source code, including for commercial purposes, subject to the terms of the MIT License.</p> - - <h2>3. Third-Party Components</h2> - <p>This software includes the following third-party open source components, which are subject to their original licenses:</p> - <ul> - <li>PriTools (Apache License 2.0) - <a href="https://github.com/chausner/PriTools" target="_blank">https://github.com/chausner/PriTools</a></li> - <li>pugixml (MIT License) - <a href="https://pugixml.org/" target="_blank">https://pugixml.org/</a></li> - <li>RapidJSON (MIT License) - <a href="https://rapidjson.org/" target="_blank">https://rapidjson.org/</a></li> - <li>WinJS (MIT License) - <a href="https://github.com/winjs/winjs" target="_blank">https://github.com/winjs/winjs</a></li> - <li>markdown.js (MIT License) - <a href="https://github.com/evilstreak/markdown-js" target="_blank">https://github.com/evilstreak/markdown-js</a></li> -<li>CodeMirror (MIT License) - <a href="https://codemirror.net/" target="_blank">https://codemirror.net/</a></li> - </ul> - - <h2>4. Disclaimer</h2> - <p>This software is provided "as is", without any express or implied warranties, including but not limited to warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall the authors or copyright holders be - liable for any damages arising from the use of this software, whether direct, indirect, incidental, or consequential.</p> - - <h2>5. Acceptance</h2> - <p>By installing or using this software, you agree to this license agreement. If you do not agree, do not install or use the software.</p> -<br> -</body> - -</html> -I agree to the terms of this license agreement -I do not agree to the terms of this license agreement - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -Э -ϸĶЭ顣 -һ(&N) > -< (&B) -ȡ(&C) -(&H) -<!DOCTYPE html> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=GB2312"> - <title>ûЭ</title> - <style> - body { - /*font-family: "Microsoft YaHei", "Segoe UI", Arial, sans-serif;*/ - font-size: 9pt; - /*color: #333333; - background-color: #ffffff;*/ --ms-overflow-style: -ms-autohiding-scrollbar; -box-sizing: border-box; - } - - h1 { - font-size: 12.5pt; - font-weight: bold; - margin-bottom: 5px; -text-align: center; - } - - h2 { - font-size: 10.75pt; - font-weight: bold; - margin-top: 5px; - margin-bottom: 5px; - } - - p { - margin: 5px 0; - } - - ul, - ol { - margin: 5px 0; - padding: 0; - } - - a { - color: #1a73e8; - text-decoration: underline; - } - - a:hover { - color: #0b59d1; - text-decoration: none; - } - - strong { - font-weight: bold; - } - - em { - font-style: italic; - } - </style> -</head> -<body> -<h1>ûЭ</h1> - -<p>ڰװʹñǰϸĶЭ顣</p> - -<h2>һȨ</h2> -<p>Copyright &#169; 2025 Windows Modern. ԴܰȨ</p> - -<h2>ɷΧ</h2> -<p>ѭ MIT Э顣ڷ MIT ʹáơ޸ġַԴ룬ҵ;</p> - -<h2></h2> -<p>µԴʹЩԭʼ֤Լ</p> -<ul> - <li>PriTools (Apache License 2.0) - <a href="https://github.com/chausner/PriTools" target="_blank">https://github.com/chausner/PriTools</a></li> - <li>pugixml (MIT License) - <a href="https://pugixml.org/" target="_blank">https://pugixml.org/</a></li> - <li>RapidJSON (MIT License) - <a href="https://rapidjson.org/" target="_blank">https://rapidjson.org/</a></li> - <li>WinJS (MIT License) - <a href="https://github.com/winjs/winjs" target="_blank">https://github.com/winjs/winjs</a></li> - <li>markdown.js (MIT License) - <a href="https://github.com/evilstreak/markdown-js" target="_blank">https://github.com/evilstreak/markdown-js</a></li> -<li>CodeMirror (MIT License) - <a href="https://codemirror.net/" target="_blank">https://codemirror.net/</a></li> -</ul> - -<h2>ġ</h2> -<p>ԭṩκʾʾĵԡض;ԺͷȨı֤ں£߻Ȩ˾ʹñκֱӡӡżȻ𺦸</p> - -<h2>塢</h2> -<p>װʹñʾܱЭ顣ͬⱾЭ飬벻Ҫװʹñ</p> -<br> -</body> -</html> - -ͬЭ -ҲͬЭ - - - - - - -105 -Scrolling Text -2 -Scrolling Text -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -3 -400 -1 -1 -0 -0 -0 -1 -0 -0 - -1 -1 - - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Important Information -Please read the following information. -&Next > -< &Back -&Cancel -&Help -This is currently in test mode, and this release is solely for testing the program's update features. While this version is available, the official release is still recommended. - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ҪϢ -ĶϢ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ǰDzģʽд˰汾ڴ˳ĸ¹ܲԡȻ˰汾ãԽʹʽ汾 - - - - - - -110 -Select Install Folder -2 -Select Install Folder -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -%AppFolder% - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -211 -1 -1 -2 -0 - - -6 -801 -1 -1 -3 -0 -0 -0 -0 - -0 -1 -0 -1 -4 -%AppFolder% - - -1 -110 -1 -1 -4 -0 - - -2 -208 -1 -1 -5 -0 - - -2 -207 -1 -1 -6 -0 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Installation Folder -Where would you like %ProductName% to be installed? -&Next > -< &Back -&Cancel -&Help -C&hange... -%AppFolder% -The software will be installed in the folder listed below. To select a different location, either type in a new path, or click Change to browse for an existing folder. -Install %ProductName% to: -Space required: %SpaceRequired% -Space available on selected drive: %SpaceAvailable% - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -װļ -뽫 %ProductName% װδ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -(&H)... -%AppFolder% -װгļСҪѡͬλãµ·򵥻ġеļС - %ProductName% װ: -ռ: %SpaceRequired% -ѡĿÿռ: %SpaceAvailable% - - - - - -115 -Select Shortcut Folder -2 -Select Shortcut Folder -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -%AppShortcutFolderName% - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -203 -1 -1 -0 -0 - - -2 -211 -1 -1 -1 -0 - - -4 -501 -1 -1 -2 -0 -1 -1 - -4 -1 - - -5 -600 -0 -0 -35 -1 -600 -601 - - -5 -601 -0 -0 -40 -0 -600 -601 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Shortcut Folder -Where would you like the shortcuts to be installed? -&Next > -< &Back -&Cancel -&Help -The shortcut icons will be created in the folder indicated below. If you don't want to use the default folder, you can either type a new name, or select an existing folder from the list. -Shortcut Folder: -Install shortcuts for current user only -Make shortcuts available to all users -%AppShortcutFolderName% - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ݷʽļ -뽫ݷʽװδ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ݷʽͼ꽫ָļдʹĬļУԼµƣбѡеļС -ݷʽļ: -ֻԵǰûװݷʽ -ʹݷʽû -%AppShortcutFolderName% - - - - - -100 -Ready to Install -2 -Ready to Install -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -200 -1 -1 -0 -0 - - -2 -300 -0 -1 -1 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Ready to Install -You are now ready to install %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -The installer now has enough information to install %ProductName% on your computer. - - -The following settings will be used: - -Install folder: %AppFolder% - -Shortcut folder: %AppShortcutFolderName% - - -Please click Next to proceed with the installation. -Title - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -׼װ -׼װ %ProductName% %ProductVer% -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ڰװ㹻Ϣ %ProductName% װļС - - -ʹ: - -װļ: %AppFolder% - -ݷʽļ: %AppShortcutFolderName% - - -뵥һװ - - - - - - - -1 - - -130 -One Progress Bar (While Installing) -2 -One Progress Bar (While Installing) -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -1 - - -On Preload - - - - - - -On Progress -number e_Stage, string e_CurrentItemText, number e_CurrentItemPct, number e_StagePct - - - - - -On Cancel - - - - - - - - -1 -102 -1 -1 -78 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -211 -1 -1 -2 -0 - - -2 -212 -1 -1 -3 -0 - - -7 -900 -1 -1 -4 - -0 -100 -1 - - -2 -213 -0 -1 -2 -0 - - -2 -214 -0 -1 -3 -0 - - -7 -901 -0 -1 -4 - -0 -100 -0 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Installing %ProductName% -Please wait... -&Cancel - - - - -Progress Two -Performing Actions... - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ڰװ %ProductName% -Ժ... -ȡ(&C) - - - - -̶ -ִж... - - - - - - - - - -155 -Scrolling Text Progress -2 -Scrolling Text Progress -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -0 - - -On Preload - - - - - - -On Start - - - - - - -On Finish - - - - - - -On Cancel - - - - - - - - -1 -102 -1 -0 --10 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -204 -1 -1 -3 -0 - - -3 -400 -1 -1 -2 -0 -0 -1 -0 -0 - -1 -1 - - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Performing Actions -Please wait... -&Cancel -Please wait while the following actions are performed: - - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ִж -Ժ... -ȡ(&C) -Ժִ¶: - - - - - - - -100 -Finished Install -1 -Finished Install -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -0 --9 -1 - - -2 -200 -1 -1 -0 -0 - - -2 -300 -1 -1 -1 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Installation Finished -The installation has completed successfully. -&Finish -< &Back -&Cancel -&Help -The %ProductName% %ProductVer% installation is complete. - -Thank you for choosing %ProductName%! - -Please click Finish to exit this installer. - -Installation Successful - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -װ -װѳɹɡ -(&F) -< (&B) -ȡ(&C) -(&H) -%ProductName% %ProductVer% װɡ - -лѡ %ProductName% - -뵥ɡ˳ðװ - -װɹ - - - - - - - - -List 1 - -All - - - - - -1 -uninstall.xml -%AppFolder%\Uninstall -%AppFolder%\uninstall.exe -1 -0 -0 - -0 -0 -1 -008080 -b4c2e3 -5971b6 - -0 - -0 -0 -%ProductName% Uninstall - - -Arial -0 --37 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -v%ProductVer% - - -Arial -0 --18 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -
%Copyright% %CompanyName%. All rights reserved. %CompanyURL%
- - -Arial -0 --16 -400 -0 -0 -0 -1 - - -ffffff -000000 -0 -1 -
-1 -1 -1 -1 -Microsoft.DesktopAppInstaller -%ProductName% -1 -%AppFolder%\appinstaller.exe -1 -%CompanyName% -%CompanyURL% -%CompanyName% Support Department -%CompanyURL% -%ProductVer% - - - - - -%AppFolder% -0 -1 -1 -Uninstall -Removes %ProductName% from your computer. -1 -%AppFolder%\uninstall_icon.ico -0 -1 -%TempFolder%\%ProductName% Uninstall Log.txt -0 -0 -1 - - -100 -Welcome to Uninstall -1 -Welcome to Uninstall -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -200 -1 -1 -1 -0 - - -2 -300 -1 -1 -0 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Uninstaller -Welcome -Welcome to the uninstaller for %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -This program will uninstall %ProductName% %ProductVer%. - -If %ProductName% is currently running, please close it before proceeding with the uninstallation. - -Otherwise, click Next to continue. - -Uninstall %ProductName% - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% жس -ӭ -ӭʹ %ProductName% %ProductVer% жس -һ(&N) > -< (&B) -ȡ(&C) -(&H) -óж %ProductName% %ProductVer% - - %ProductName% ǰУж֮ǰ뽫رա - -뵥һ - -ж %ProductName% - - - - - - -1 - - -130 -One Progress Bar (While Uninstalling) -2 -One Progress Bar (While Uninstalling) -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -1 - - -On Preload - - - - - - -On Progress -number e_Stage, string e_CurrentItemText, number e_CurrentItemPct, number e_StagePct - - - - - -On Cancel - - - - - - - - -1 -102 -1 -1 -78 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -211 -1 -1 -2 -0 - - -2 -212 -1 -1 -3 -0 - - -7 -900 -1 -1 -4 - -0 -100 -1 - - -2 -213 -0 -1 -2 -0 - - -2 -214 -0 -1 -3 -0 - - -7 -901 -0 -1 -4 - -0 -100 -0 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Uninstaller -Removing %ProductName% -Please wait... -&Cancel - - - - -Progress Two -Performing Actions... - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% жس -Ƴ %ProductName% -Ժ... -ȡ(&C) - - - - -̶ -ִж... - - - - - - - - - -100 -Finished Uninstall -1 -Finished Uninstall -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -0 --9 -1 - - -2 -200 -1 -1 -0 -0 - - -2 -300 -1 -1 -1 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Uninstaller -Uninstallation Finished -The uninstallation has completed successfully. -&Finish -< &Back -&Cancel -&Help -%ProductName% %ProductVer% has been uninstalled. - -Please click Finish to exit. - -Uninstallation Successful - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% жس -ж -жѳɹɡ -(&F) -< (&B) -ȡ(&C) -(&H) -%ProductName% %ProductVer% ѱжء - -뵥ɡ˳ - -жسɹ - - - - - - - -ʱ - - - - - - -On Uninstall Error -number e_ErrorCode, string e_ErrorMsgID - - - - - -On Post Uninstall - - - - - - -
- - -1 -%TempFolder%\%ProductName% Setup Log.txt -0 -1 - -0 -0 -0 -1 -2 - -0 -0 -1 -008080 -b4c2e3 -5971b6 - -1 -%TempLaunchFolder%\main.ico -0 -0 -%ProductName% - - -Arial -0 --37 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -v%ProductVer% - - -Arial -0 --18 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -
%Copyright%. All rights reserved. %CompanyURL%
- - -Arial -0 --16 -400 -0 -0 -0 -1 - - -ffffff -000000 -0 -1 -
- -0 -0 -30 -30 -1 -1767105338 -0 -0 -1 -1 -2 -1 -0 -03F9811E-4657-4757-A24D-570C64F8ABB6 -0 -%CompanyName% -%CompanyURL% - - - - - -32768 -65535 -65535 -65535 -0 -0 -0 -0 -0 -0 -65535 -65535 -65535 -65535 -65535 -65535 - -0 -0 -0 -0 -1 -0 - - -Developer -New Project - - - -Copyright 2025 - - -9.5.3.0 -9.5.3.0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\shared - -0 - - - - - - -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\appinstaller\res\icons\main.ico -1 -0 - -All - - - -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others\runtime.exe -1 -0 - -All - - - - - -ȫֺ - - - - - - -ʱ - - - - - - -ڰװ - - - - - - -ڹرʱ - - - - - - -
- - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - - - -%ProductName% -Desktop App Installer -1 - - -%CompanyName% -Windows Modern -1 - - -%ProductVer% -0.2.2.0 -1 - - -%Copyright% -Copyright (C)2025 %CompanyName% -1 - - -%CompanyURL% - -1 - - -%WindowTitle% -%ProductName% Setup -1 - - -%WindowTitleUninstall% -%ProductName% Uninstaller -1 - - -%AppFolder% -%ProgramFilesFolder%\%ProductName% -2 - - -%AppShortcutFolderName% -%ProductName% -2 - - - - -Default - - -0 - - -0 -InstallerSetup.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Generated -0 -0 -0 -0 -0 -0 - -1 - - - - - -1 - - -0 - - - - - -1 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\appinstaller\res\icons\main.ico -9.5.3.0 -9.5.3.0 -Indigo Rose Corporation -Setup Factory Runtime -Created with Setup Factory -sf_rt -Setup Application -Setup Engine Copyright ?1992-2019 Indigo Rose Corporation -Setup Factory is a trademark of Indigo Rose Corporation - - -0 - - - - - - -#SUFDIR#\Includes\Scripts\_SUF70_Global_Functions.lua -1 - -All - - - -
\ No newline at end of file diff --git a/others/Autosave/autosave_2025-12-14_02-00-12.suf b/others/Autosave/autosave_2025-12-14_02-00-12.suf deleted file mode 100644 index 4583655..0000000 --- a/others/Autosave/autosave_2025-12-14_02-00-12.suf +++ /dev/null @@ -1,6639 +0,0 @@ - - -{AFB904C4-C255-4540-B97E-A75A34F1FFB0} -9.5.3.0 - - - -1 - -*.* -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\shared -* - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -1 - -1 -1 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\appinstaller.exe -appinstaller.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - -App Installer - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\certmgr.dll -certmgr.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\notice.dll -notice.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\pkgmgr.dll -pkgmgr.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\pkgread.dll -pkgread.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\PriFileFormat.dll -PriFileFormat.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\priformatcli.dll -priformatcli.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\reslib.dll -reslib.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\settings.exe -settings.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -1 -%StartProgramsFolderCommon%\\%AppShortcutFolderName% -Update - -appinstaller update /checkupdate - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others\uninstall_icon.ico -uninstall_icon.ico -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others -ico - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\shortcut.exe -shortcut.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - -shortcut - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\desktopini.exe -desktopini.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - -desktopini - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\PriFileFormat.dll.config -PriFileFormat.dll.config -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -config - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\priformatcli.dll.metagen -priformatcli.dll.metagen -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -metagen - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - - - - -100 -Welcome to Setup -1 -Welcome to Setup -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 -77 -1 - - -1 -102 -1 -1 -78 -1 - - -2 -200 -1 -1 -1 -0 - - -2 -300 -1 -1 -0 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Welcome -Welcome to the installer for %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -Welcome to the installer for %ProductName% %ProductVer%. - -It is strongly recommended that you exit all Windows programs before continuing with this installation. - -If you have any other programs running, please click Cancel, close the programs, and run this setup again. - -Otherwise, click Next to continue. - -Welcome - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ӭ -ӭʹ %ProductName% %ProductVer% װ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ӭʹ %ProductName% %ProductVer% װ - -ǿҽڼðװ֮ǰ˳ Windows - -κУ뵥ȡرճȻٴиðװ - -뵥һ - -ӭ - - - - - -100 -Welcome to Update Setup -1 -Welcome to Setup -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 -77 -1 - - -1 -102 -1 -1 -78 -1 - - -2 -200 -1 -1 -1 -0 - - -2 -300 -1 -1 -0 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Update -Welcome -Welcome to the installer for %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -Welcome to the %ProductName% %ProductVer% upgrade program. - -It is strongly recommended that you exit all programs related to %ProductName% before continuing this installation. - -If you have any other programs running, please click "Cancel" to close the program, and then run the installer again. - -Otherwise, please click "Next" to continue. -Welcome - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% -ӭ -ӭʹ %ProductName% %ProductVer% װ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ӭʹ %ProductName% %ProductVer% - -ǿҽڼðװ֮ǰ˳ %ProductName% صг - -κУ뵥ȡرճȻٴиðװ - -뵥һ - -ӭ - - - - - -125 -License Agreement -2 -License Agreement -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -1 - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -3 -400 -1 -1 -0 -1 -0 -1 -0 -0 - -1 -1 - - - -5 -602 -1 -1 -35 -1 -602 -603 - - -5 -603 -1 -1 -40 -0 -602 -603 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -License Agreement -Please read the following license agreement carefully. -&Next > -< &Back -&Cancel -&Help -<!DOCTYPE html> -<html> - -<head> - <meta charset="UTF-8"> - <title>End User License Agreement</title> - <style> - body { - /*font-family: "Segoe UI", "Microsoft YaHei", Arial, sans-serif;*/ - font-size: 9pt; - /*color: #333333; - background-color: #ffffff;*/ --ms-overflow-style: -ms-autohiding-scrollbar; -box-sizing: border-box; - } - - h1 { - font-size: 12.5pt; - font-weight: bold; - margin-bottom: 5px; -text-align: center; - } - - h2 { - font-size: 10.75pt; - font-weight: bold; - margin-top: 5px; - margin-bottom: 5px; - } - - p { - margin: 5px 0; - } - - ul, - ol { - margin: 5px 0; - padding: 0; - } - - a { - color: #1a73e8; - text-decoration: underline; - } - - a:hover { - color: #0b59d1; - text-decoration: none; - } - - strong { - font-weight: bold; - } - - em { - font-style: italic; - } - </style> -</head> - -<body> - <h1>End User License Agreement</h1> - - <p>Please read this license agreement carefully before installing or using this software.</p> - - <h2>1. Copyright</h2> - <p>Copyright © 2025 Windows Modern. This software and its source code are protected by copyright law.</p> - - <h2>2. License</h2> - <p>This software is licensed under the MIT License. You are free to use, copy, modify, and distribute this software and its source code, including for commercial purposes, subject to the terms of the MIT License.</p> - - <h2>3. Third-Party Components</h2> - <p>This software includes the following third-party open source components, which are subject to their original licenses:</p> - <ul> - <li>PriTools (Apache License 2.0) - <a href="https://github.com/chausner/PriTools" target="_blank">https://github.com/chausner/PriTools</a></li> - <li>pugixml (MIT License) - <a href="https://pugixml.org/" target="_blank">https://pugixml.org/</a></li> - <li>RapidJSON (MIT License) - <a href="https://rapidjson.org/" target="_blank">https://rapidjson.org/</a></li> - <li>WinJS (MIT License) - <a href="https://github.com/winjs/winjs" target="_blank">https://github.com/winjs/winjs</a></li> - <li>markdown.js (MIT License) - <a href="https://github.com/evilstreak/markdown-js" target="_blank">https://github.com/evilstreak/markdown-js</a></li> -<li>CodeMirror (MIT License) - <a href="https://codemirror.net/" target="_blank">https://codemirror.net/</a></li> - </ul> - - <h2>4. Disclaimer</h2> - <p>This software is provided "as is", without any express or implied warranties, including but not limited to warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall the authors or copyright holders be - liable for any damages arising from the use of this software, whether direct, indirect, incidental, or consequential.</p> - - <h2>5. Acceptance</h2> - <p>By installing or using this software, you agree to this license agreement. If you do not agree, do not install or use the software.</p> -<br> -</body> - -</html> -I agree to the terms of this license agreement -I do not agree to the terms of this license agreement - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -Э -ϸĶЭ顣 -һ(&N) > -< (&B) -ȡ(&C) -(&H) -<!DOCTYPE html> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=GB2312"> - <title>ûЭ</title> - <style> - body { - /*font-family: "Microsoft YaHei", "Segoe UI", Arial, sans-serif;*/ - font-size: 9pt; - /*color: #333333; - background-color: #ffffff;*/ --ms-overflow-style: -ms-autohiding-scrollbar; -box-sizing: border-box; - } - - h1 { - font-size: 12.5pt; - font-weight: bold; - margin-bottom: 5px; -text-align: center; - } - - h2 { - font-size: 10.75pt; - font-weight: bold; - margin-top: 5px; - margin-bottom: 5px; - } - - p { - margin: 5px 0; - } - - ul, - ol { - margin: 5px 0; - padding: 0; - } - - a { - color: #1a73e8; - text-decoration: underline; - } - - a:hover { - color: #0b59d1; - text-decoration: none; - } - - strong { - font-weight: bold; - } - - em { - font-style: italic; - } - </style> -</head> -<body> -<h1>ûЭ</h1> - -<p>ڰװʹñǰϸĶЭ顣</p> - -<h2>һȨ</h2> -<p>Copyright &#169; 2025 Windows Modern. ԴܰȨ</p> - -<h2>ɷΧ</h2> -<p>ѭ MIT Э顣ڷ MIT ʹáơ޸ġַԴ룬ҵ;</p> - -<h2></h2> -<p>µԴʹЩԭʼ֤Լ</p> -<ul> - <li>PriTools (Apache License 2.0) - <a href="https://github.com/chausner/PriTools" target="_blank">https://github.com/chausner/PriTools</a></li> - <li>pugixml (MIT License) - <a href="https://pugixml.org/" target="_blank">https://pugixml.org/</a></li> - <li>RapidJSON (MIT License) - <a href="https://rapidjson.org/" target="_blank">https://rapidjson.org/</a></li> - <li>WinJS (MIT License) - <a href="https://github.com/winjs/winjs" target="_blank">https://github.com/winjs/winjs</a></li> - <li>markdown.js (MIT License) - <a href="https://github.com/evilstreak/markdown-js" target="_blank">https://github.com/evilstreak/markdown-js</a></li> -<li>CodeMirror (MIT License) - <a href="https://codemirror.net/" target="_blank">https://codemirror.net/</a></li> -</ul> - -<h2>ġ</h2> -<p>ԭṩκʾʾĵԡض;ԺͷȨı֤ں£߻Ȩ˾ʹñκֱӡӡżȻ𺦸</p> - -<h2>塢</h2> -<p>װʹñʾܱЭ顣ͬⱾЭ飬벻Ҫװʹñ</p> -<br> -</body> -</html> - -ͬЭ -ҲͬЭ - - - - - - -105 -Scrolling Text -2 -Scrolling Text -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -3 -400 -1 -1 -0 -0 -0 -1 -0 -0 - -1 -1 - - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Important Information -Please read the following information. -&Next > -< &Back -&Cancel -&Help -This is currently in test mode, and this release is solely for testing the program's update features. While this version is available, the official release is still recommended. -Before continuing with the installation, please read the following information carefully: - - -File Association Changes - -This installer will modify system file association settings to associate .appx and .appxbundle files. After installation, this application will be set as the default handler for these file types. - - -Automatic Installation of Required Runtimes - -To ensure proper operation, the installer may automatically download and install required runtime components. - - -Internet Connection and Data Usage - -An internet connection is required to download runtime components and related files. This may result in data usage and could increase network charges. -It is recommended to perform the installation on a non-metered or sufficient data network. - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ҪϢ -ĶϢ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ǰDzģʽд˰汾ڴ˳ĸ¹ܲԡȻ˰汾ãԽʹʽ汾 -ڼװ֮ǰϸĶݣ - - -ļ -޸ -װϵͳ޸ļãڹ .appx .appxbundle ļ -װɺϵͳʹñΪļ͵Ĭϴʽ - - -Զװп - -ΪȷУװпܻԶزװп - - - - -װп⼰ʱҪӻܻһģƷѡ - ǼƷѻ绷 ½аװ - - - - - - -110 -Select Install Folder -2 -Select Install Folder -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -%AppFolder% - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -211 -1 -1 -2 -0 - - -6 -801 -1 -1 -3 -0 -0 -0 -0 - -0 -1 -0 -1 -4 -%AppFolder% - - -1 -110 -1 -1 -4 -0 - - -2 -208 -1 -1 -5 -0 - - -2 -207 -1 -1 -6 -0 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Installation Folder -Where would you like %ProductName% to be installed? -&Next > -< &Back -&Cancel -&Help -C&hange... -%AppFolder% -The software will be installed in the folder listed below. To select a different location, either type in a new path, or click Change to browse for an existing folder. -Install %ProductName% to: -Space required: %SpaceRequired% -Space available on selected drive: %SpaceAvailable% - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -װļ -뽫 %ProductName% װδ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -(&H)... -%AppFolder% -װгļСҪѡͬλãµ·򵥻ġеļС - %ProductName% װ: -ռ: %SpaceRequired% -ѡĿÿռ: %SpaceAvailable% - - - - - -115 -Select Shortcut Folder -2 -Select Shortcut Folder -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -%AppShortcutFolderName% - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -203 -1 -1 -0 -0 - - -2 -211 -1 -1 -1 -0 - - -4 -501 -1 -1 -2 -0 -1 -1 - -4 -1 - - -5 -600 -0 -0 -35 -1 -600 -601 - - -5 -601 -0 -0 -40 -0 -600 -601 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Shortcut Folder -Where would you like the shortcuts to be installed? -&Next > -< &Back -&Cancel -&Help -The shortcut icons will be created in the folder indicated below. If you don't want to use the default folder, you can either type a new name, or select an existing folder from the list. -Shortcut Folder: -Install shortcuts for current user only -Make shortcuts available to all users -%AppShortcutFolderName% - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ݷʽļ -뽫ݷʽװδ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ݷʽͼ꽫ָļдʹĬļУԼµƣбѡеļС -ݷʽļ: -ֻԵǰûװݷʽ -ʹݷʽû -%AppShortcutFolderName% - - - - - -100 -Ready to Install -2 -Ready to Install -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -200 -1 -1 -0 -0 - - -2 -300 -0 -1 -1 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Ready to Install -You are now ready to install %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -The installer now has enough information to install %ProductName% on your computer. - - -The following settings will be used: - -Install folder: %AppFolder% - -Shortcut folder: %AppShortcutFolderName% - - -Please click Next to proceed with the installation. -Title - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -׼װ -׼װ %ProductName% %ProductVer% -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ڰװ㹻Ϣ %ProductName% װļС - - -ʹ: - -װļ: %AppFolder% - -ݷʽļ: %AppShortcutFolderName% - - -뵥һװ - - - - - - - -1 - - -130 -One Progress Bar (While Installing) -2 -One Progress Bar (While Installing) -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -1 - - -On Preload - - - - - - -On Progress -number e_Stage, string e_CurrentItemText, number e_CurrentItemPct, number e_StagePct - - - - - -On Cancel - - - - - - - - -1 -102 -1 -1 -78 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -211 -1 -1 -2 -0 - - -2 -212 -1 -1 -3 -0 - - -7 -900 -1 -1 -4 - -0 -100 -1 - - -2 -213 -0 -1 -2 -0 - - -2 -214 -0 -1 -3 -0 - - -7 -901 -0 -1 -4 - -0 -100 -0 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Installing %ProductName% -Please wait... -&Cancel - - - - -Progress Two -Performing Actions... - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ڰװ %ProductName% -Ժ... -ȡ(&C) - - - - -̶ -ִж... - - - - - - - - - -155 -Scrolling Text Progress -2 -Scrolling Text Progress -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -0 - - -On Preload - - - - - - -On Start - - - - - - -On Finish - - - - - - -On Cancel - - - - - - - - -1 -102 -1 -0 --10 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -204 -1 -1 -3 -0 - - -3 -400 -1 -1 -2 -0 -0 -1 -0 -0 - -1 -1 - - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Performing Actions -Please wait... -&Cancel -Please wait while the following actions are performed: - - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ִж -Ժ... -ȡ(&C) -Ժִ¶: - - - - - - - -100 -Finished Install -1 -Finished Install -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -0 --9 -1 - - -2 -200 -1 -1 -0 -0 - - -2 -300 -1 -1 -1 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Installation Finished -The installation has completed successfully. -&Finish -< &Back -&Cancel -&Help -The %ProductName% %ProductVer% installation is complete. - -Thank you for choosing %ProductName%! - -Please click Finish to exit this installer. - -Installation Successful - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -װ -װѳɹɡ -(&F) -< (&B) -ȡ(&C) -(&H) -%ProductName% %ProductVer% װɡ - -лѡ %ProductName% - -뵥ɡ˳ðװ - -װɹ - - - - - - - - -List 1 - -All - - - - - -1 -uninstall.xml -%AppFolder%\Uninstall -%AppFolder%\uninstall.exe -1 -0 -0 - -0 -0 -1 -008080 -b4c2e3 -5971b6 - -0 - -0 -0 -%ProductName% Uninstall - - -Arial -0 --37 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -v%ProductVer% - - -Arial -0 --18 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -
%Copyright% %CompanyName%. All rights reserved. %CompanyURL%
- - -Arial -0 --16 -400 -0 -0 -0 -1 - - -ffffff -000000 -0 -1 -
-1 -1 -1 -1 -Microsoft.DesktopAppInstaller -%ProductName% -1 -%AppFolder%\appinstaller.exe -1 -%CompanyName% -%CompanyURL% -%CompanyName% Support Department -%CompanyURL% -%ProductVer% - - - - - -%AppFolder% -0 -1 -1 -Uninstall -Removes %ProductName% from your computer. -1 -%AppFolder%\uninstall_icon.ico -0 -1 -%TempFolder%\%ProductName% Uninstall Log.txt -0 -0 -1 - - -100 -Welcome to Uninstall -1 -Welcome to Uninstall -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -200 -1 -1 -1 -0 - - -2 -300 -1 -1 -0 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Uninstaller -Welcome -Welcome to the uninstaller for %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -This program will uninstall %ProductName% %ProductVer%. - -If %ProductName% is currently running, please close it before proceeding with the uninstallation. - -Otherwise, click Next to continue. - -Uninstall %ProductName% - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% жس -ӭ -ӭʹ %ProductName% %ProductVer% жس -һ(&N) > -< (&B) -ȡ(&C) -(&H) -óж %ProductName% %ProductVer% - - %ProductName% ǰУж֮ǰ뽫رա - -뵥һ - -ж %ProductName% - - - - - - -1 - - -130 -One Progress Bar (While Uninstalling) -2 -One Progress Bar (While Uninstalling) -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -1 - - -On Preload - - - - - - -On Progress -number e_Stage, string e_CurrentItemText, number e_CurrentItemPct, number e_StagePct - - - - - -On Cancel - - - - - - - - -1 -102 -1 -1 -78 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -211 -1 -1 -2 -0 - - -2 -212 -1 -1 -3 -0 - - -7 -900 -1 -1 -4 - -0 -100 -1 - - -2 -213 -0 -1 -2 -0 - - -2 -214 -0 -1 -3 -0 - - -7 -901 -0 -1 -4 - -0 -100 -0 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Uninstaller -Removing %ProductName% -Please wait... -&Cancel - - - - -Progress Two -Performing Actions... - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% жس -Ƴ %ProductName% -Ժ... -ȡ(&C) - - - - -̶ -ִж... - - - - - - - - - -100 -Finished Uninstall -1 -Finished Uninstall -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -0 --9 -1 - - -2 -200 -1 -1 -0 -0 - - -2 -300 -1 -1 -1 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Uninstaller -Uninstallation Finished -The uninstallation has completed successfully. -&Finish -< &Back -&Cancel -&Help -%ProductName% %ProductVer% has been uninstalled. - -Please click Finish to exit. - -Uninstallation Successful - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% жس -ж -жѳɹɡ -(&F) -< (&B) -ȡ(&C) -(&H) -%ProductName% %ProductVer% ѱжء - -뵥ɡ˳ - -жسɹ - - - - - - - -ʱ - - - - - - -On Uninstall Error -number e_ErrorCode, string e_ErrorMsgID - - - - - -On Post Uninstall - - - - - - -
- - -1 -%TempFolder%\%ProductName% Setup Log.txt -0 -1 - -0 -0 -0 -1 -2 - -0 -0 -1 -008080 -b4c2e3 -5971b6 - -1 -%TempLaunchFolder%\main.ico -0 -0 -%ProductName% - - -Arial -0 --37 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -v%ProductVer% - - -Arial -0 --18 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -
%Copyright%. All rights reserved. %CompanyURL%
- - -Arial -0 --16 -400 -0 -0 -0 -1 - - -ffffff -000000 -0 -1 -
- -0 -0 -30 -30 -1 -1767105338 -0 -0 -1 -1 -2 -1 -0 -03F9811E-4657-4757-A24D-570C64F8ABB6 -0 -%CompanyName% -%CompanyURL% - - - - - -32768 -65535 -65535 -65535 -0 -0 -0 -0 -0 -0 -65535 -65535 -65535 -65535 -65535 -65535 - -0 -0 -0 -0 -1 -0 - - -Developer -New Project - - - -Copyright 2025 - - -9.5.3.0 -9.5.3.0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\shared - -0 - - - - - - -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\appinstaller\res\icons\main.ico -1 -0 - -All - - - -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others\runtime.exe -1 -0 - -All - - - - - -ȫֺ - - - - - - -ʱ - - - - - - -ڰװ - - - - - - -ڹرʱ - - - - - - -
- - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - - - -%ProductName% -Desktop App Installer -1 - - -%CompanyName% -Windows Modern -1 - - -%ProductVer% -0.2.2.0 -1 - - -%Copyright% -Copyright (C)2025 %CompanyName% -1 - - -%CompanyURL% - -1 - - -%WindowTitle% -%ProductName% Setup -1 - - -%WindowTitleUninstall% -%ProductName% Uninstaller -1 - - -%AppFolder% -%ProgramFilesFolder%\%ProductName% -2 - - -%AppShortcutFolderName% -%ProductName% -2 - - - - -Default - - -0 - - -0 -InstallerSetup.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Generated -0 -0 -0 -0 -0 -0 - -1 - - - - - -1 - - -0 - - - - - -1 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\appinstaller\res\icons\main.ico -9.5.3.0 -9.5.3.0 -Indigo Rose Corporation -Setup Factory Runtime -Created with Setup Factory -sf_rt -Setup Application -Setup Engine Copyright ?1992-2019 Indigo Rose Corporation -Setup Factory is a trademark of Indigo Rose Corporation - - -0 - - - - - - -#SUFDIR#\Includes\Scripts\_SUF70_Global_Functions.lua -1 - -All - - - -
\ No newline at end of file diff --git a/others/buildsetup.suf b/others/buildsetup.suf index 159e804..7dbc1d3 100644 --- a/others/buildsetup.suf +++ b/others/buildsetup.suf @@ -1172,6 +1172,444 @@ 0 0 + +0 +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\AppxPackage.dll +AppxPackage.dll +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release +dll + + +1 +0 +%AppFolder% +1 +0 +0 +1000 +0 +0 +0 +0 +0 +0 +0 +0 + + + + + +0 + +0 +0 +0 +0 + +0 +0 +0 +1 +1 +0 +0 +0 +0 + +32768 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 + + + +All + +None + + +0 +0 +0 + + +0 +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\Bridge.dll +Bridge.dll +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release +dll + + +1 +0 +%AppFolder% +1 +0 +0 +1000 +0 +0 +0 +0 +0 +0 +0 +0 + + + + + +0 + +0 +0 +0 +0 + +0 +0 +0 +1 +1 +0 +0 +0 +0 + +32768 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 + + + +All + +None + + +0 +0 +0 + + +0 +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\DataUtils.dll +DataUtils.dll +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release +dll + + +1 +0 +%AppFolder% +1 +0 +0 +1000 +0 +0 +0 +0 +0 +0 +0 +0 + + + + + +0 + +0 +0 +0 +0 + +0 +0 +0 +1 +1 +0 +0 +0 +0 + +32768 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 + + + +All + +None + + +0 +0 +0 + + +0 +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\Newtonsoft.Json.dll +Newtonsoft.Json.dll +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release +dll + + +1 +0 +%AppFolder% +1 +0 +0 +1000 +0 +0 +0 +0 +0 +0 +0 +0 + + + + + +0 + +0 +0 +0 +0 + +0 +0 +0 +1 +1 +0 +0 +0 +0 + +32768 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 + + + +All + +None + + +0 +0 +0 + + +0 +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\PrivateInit.dll +PrivateInit.dll +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release +dll + + +1 +0 +%AppFolder% +1 +0 +0 +1000 +0 +0 +0 +0 +0 +0 +0 +0 + + + + + +0 + +0 +0 +0 +0 + +0 +0 +0 +1 +1 +0 +0 +0 +0 + +32768 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 + + + +All + +None + + +0 +0 +0 + + +0 +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\WAShell.dll +WAShell.dll +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release +dll + + +1 +0 +%AppFolder% +1 +0 +0 +1000 +0 +0 +0 +0 +0 +0 +0 +0 + + + + + +0 + +0 +0 +0 +0 + +0 +0 +0 +1 +1 +0 +0 +0 +0 + +32768 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 + + + +All + +None + + +0 +0 +0 + @@ -2479,6 +2917,7 @@ text-align: center; <li>WinJS (MIT License) - <a href="https://github.com/winjs/winjs" target="_blank">https://github.com/winjs/winjs</a></li> <li>markdown.js (MIT License) - <a href="https://github.com/evilstreak/markdown-js" target="_blank">https://github.com/evilstreak/markdown-js</a></li> <li>CodeMirror (MIT License) - <a href="https://codemirror.net/" target="_blank">https://codemirror.net/</a></li> +<li>Json.NET (MIT License) - <a href="https://www.newtonsoft.com/json" target="_blank">https://www.newtonsoft.com/json</a></li> </ul> <h2>4. Disclaimer</h2> @@ -2594,6 +3033,7 @@ text-align: center; <li>WinJS (MIT License) - <a href="https://github.com/winjs/winjs" target="_blank">https://github.com/winjs/winjs</a></li> <li>markdown.js (MIT License) - <a href="https://github.com/evilstreak/markdown-js" target="_blank">https://github.com/evilstreak/markdown-js</a></li> <li>CodeMirror (MIT License) - <a href="https://codemirror.net/" target="_blank">https://codemirror.net/</a></li> +<li>Json.NET (MIT License) - <a href="https://www.newtonsoft.com/json" target="_blank">https://www.newtonsoft.com/json</a></li> </ul> <h2>ġ</h2> @@ -6615,7 +7055,7 @@ g_HandleSystemReboot(); %ProductVer% -0.2.2.2 +0.2.2.3 1 diff --git a/pkgread/pkgread.h b/pkgread/pkgread.h index 39085cf..f5d4df7 100644 --- a/pkgread/pkgread.h +++ b/pkgread/pkgread.h @@ -364,6 +364,7 @@ class package_reader prifilebundle pribundlereader; std::vector prifilestreams; #endif + void initpri () { #ifdef _PRI_READER_CLI_HEADER_ @@ -404,16 +405,21 @@ class package_reader case 0b10: { if (hlpri) pribundlereader.set (1, (IStream *)hlpri); if (hspri) pribundlereader.set (2, (IStream *)hspri); + if (hlpri) prifilestreams.push_back ((IStream *)hlpri); + if (hspri) prifilestreams.push_back ((IStream *)hspri); HANDLE hd = GetAppxBundleApplicationPackageFile (hReader); destruct relthd ([&hd] () { if (hd) DestroyAppxFileStream (hd); }); HANDLE hdpri = GetPriFileFromPayloadPackage (hd); if (hd) pribundlereader.set (3, (IStream *)hd); + if (hd) prifilestreams.push_back ((IStream *)hdpri); } break; case 0b11: { if (ls) pribundlereader.set (1, (IStream *)hlpri); if (ss) pribundlereader.set (2, (IStream *)hspri); + if (ls && hlpri) prifilestreams.push_back ((IStream *)hlpri); + if (ss && hspri) prifilestreams.push_back ((IStream *)hspri); } break; default: case 0b00: { diff --git a/settings/main.cpp b/settings/main.cpp index 54b4691..a64d494 100644 --- a/settings/main.cpp +++ b/settings/main.cpp @@ -56,7 +56,7 @@ struct iconhandle LPCWSTR g_lpAppId = L"WindowsModern.PracticalToolsProject!Settings"; LPCWSTR g_idInVe = L"Settings"; -LPCWSTR g_wndclass = L"Win32_WebUI_WindowsModern"; +LPCWSTR g_wndclass = L"Win32_WebUI_WindowsModern_Settings"; iconhandle g_hIconMain (LoadRCIcon (IDI_ICON_MAIN)); initfile g_initfile (CombinePath (GetProgramRootDirectoryW (), L"config.ini")); vemanifest g_vemani ( diff --git a/shared/html/fonts/segx.css b/shared/html/fonts/segx.css new file mode 100644 index 0000000..ea73be9 --- /dev/null +++ b/shared/html/fonts/segx.css @@ -0,0 +1,13 @@ +@font-face { + font-family: "segxmvr"; + src: url('segxmvr.woff') format('woff'), url('segxmvr.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: "Segoe Xbox Symbol"; + src: url('segxsym.woff') format('woff'), url('segxsym.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +} \ No newline at end of file diff --git a/shared/html/fonts/segxmvr.ttf b/shared/html/fonts/segxmvr.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1338581e1bc4328cfb43533ce5d286b4c453bcb3 GIT binary patch literal 39288 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 XC}-dO>mSJB#lTCq(e;hWefRt?&6S5* literal 0 HcmV?d00001 diff --git a/shared/html/fonts/segxmvr.woff b/shared/html/fonts/segxmvr.woff new file mode 100644 index 0000000000000000000000000000000000000000..7aa2cfef2f5c501b8fcc663fd1633be44d5bd23d GIT binary patch literal 26966 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

oQjy1pWcP9Zg4B5jULW=R@bLM}XYq@Gcdwe&% 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 literal 0 HcmV?d00001 diff --git a/shared/html/fonts/segxsym.woff b/shared/html/fonts/segxsym.woff new file mode 100644 index 0000000000000000000000000000000000000000..847fa0805e711e773edbb01a9a07193b5e3eb132 GIT binary patch literal 56762 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 z zv53h9<;*!{Px(bEq%yA=Ma9Iq-P{%odRuoa;*r=R^?kVmN-4{#bhv8r^tJ{rmkktq zAQlOdiR$|Y22Drro<(RMGbZ9N;{8-4)#af5y6lPGg17L`P$kvvLo`EMLxXWfCdg1j zbYlg?6O>_nj6?-Um-FUyhw`w=w_u+hi*9)k(8_7he+2U2`6(6SNOS*z5(({WH8Ajc zxq2U@G2Hb8XE9W|8A(l!Y-^M^e%BbHK-p6|&U}+t% zOy{a=Tr6AZ1gO(vPB$jx@Ri@Rb9c+~l0jSQ4l^C8qpaw+pFc-j-clnWrj zDn?enzh$ygKaP~JC1=RM<7p}C5FLWufvTR+r%Pp)@QKyn-|-yl_zu#j^hIBPxk=)L zrBD{R>w7CjPhTh=wPIK%o%Fy#7w-h__(Hi#SoQwd+>>sQy7h$)A~a-hz`sRx0CfnR zG(a+-w*=CJp1z$VL_su&L!jFw7+DaX6l{$fgxp3_N6ell_W^qWt1NDI80R~`Ix2MM zZNGx9uWFg&aT9QHl-nAy%+Du}7CzVw4k~LET%uBs01g?#0Qt)m^%ROR?QQ(rahgB8 z^IcSWl6XxAFQeD`9#7TxuGZ{OcMjWL=Y8F1r>!@4+=~pXzr5g*%iG;&Y%fA%abb!g zPHlG@GQH}y!H;*gF)*k_CcEkBPIzX;9o4~#;)3jg?#3mJIECoh7V%f8%TuJueps1b z7Ya$gs1dgdc-|jl@ekTI?GQ7;F~Xm6DiW|$;{z6ypg@k>1vJHgPXBH911h}>^G>rU zBk$p4B%s8qoG!2X<%2+-#Fph)F<3l?r<&Vs3PO1@yi-g**Uu<%`^|*u&RT!OnOeH7 zhUfX3H@IarL10aV^{>-s^oU=6g$E5J_R!A;cO57w7^>Sl+3375zbc(UUwnLgAeLYE z7dC#S!H+f=Ya`x2!CV0B^dz|vKzF;j?I14DkOBcF9J@`hV}lT>M39pHe6RD@X?w(P z@!wuBKoD|(CD1-U)E@k8WVCwVKxgO&NdIrlHW6d6jY*irn;D`Z8-22_wpVozF!IW{ zWfb-hDnh!TKsAyU9YUMeNm$qBk+J*0$s_t8rW$mzLc^@ZOj-%kzziiJ2BQfjOPdL8 zi1QnCs2J5$QgV7`k;GkHshkx`(Be?c#AypAh9m`@d?RZI@ z_Bwzdma0q&Ad z5zFE6ki|HRtilWxA^iP36;V{f$mtRPy?R+=_ppnCC1$~uxYc_fa@`^9$ee}wEdlH_ zK@H&(5=4m67&Bmck_enJ#^42Y@#0^>KSh2eF(5-?{c@Q(oIkb2zC`wo_6;EC_Bv+Z z!wZ&f9%A<<^dpq)DM=B<-i}N!{1b9dutF;ytkLOI%X~)L#W=Qs4Z(h{X+&Oy^7>`! z?PXG3)*Pt&!T!-o~res4f!~;1Dowz zAZZ&at&HCdF9mYwEhm+mru9zq6A}B<2Yt5VFb>@wg9&?Ws!v{XT^-mnRCQR6J=vS= zVfX>d*?>TFXZVdh96+mY>H;PJqq@d4^61q^h<{LQEpbLu?9UUivY6}hp`gie~A z;AT*RLNHrLo*xVrrOj>qA4-bM$c2Id3^%=d;Suw#*RSPJ@PS?y{9iw_hDS`9E_dn2b_O!J~O!TLoUhM@6mWTyGQi{;CfM zIOo+vG3G)HW|=sLV8iaxm&cP0xK2RHN^B2Vba26xFDYSzNh$Gj1{x3F4IvcMkQB<_ zV!t09_d|IsK{Mh6pPZ_+ZuVI8F!4A#Ha3-54nE#@r)EH57M7y1U>2h6P2mF-f)-fa zHZ=Z%7I9#g#p(@_@Q&wxWijKjC%r06LC8D_x9Vk4(7b0c^>lTU?I~Ldok(G zxt++=P{Qx1RB`~^-0+oHz53;N{F_iLaXhyFiZ?KiL1wIRQ-B$%npgphc-BzA4V0gq zoKBP={M`gOWrg(1`;<_wyBxHMnsi4z1)=cI+IXV*enP%5%%+~Dx^5`*?_XrbSg8ep zo`xLtIc+Y&mZ3}D;S3tycfmj@jr{G1&0+QA%Cd&?I>z&tg+QpD4DO`&IW)x3;piO82fX zmnXzXch-Dq*<4=QECl6?pxGqHw_wxJH>*%X$8Tq}jLAc?3Bq^yw>b&Z2<`&Qs|0Ou z`}xBt@5B8u$Wx4KH4!ZC6WAT7PKSeqH1r^St42)Q=H_cUEqqN)k00EduGwMOa|l|U z+F@D4a-r^RULoebjs?lt;kb41=?Q;#&7^Ddv8vuK_oYQt+dQ#L`&Slj(}At8#` zt4rJDb`>yNaKTFNs&a3$UT?6rs-7wKh*sv56xSjZ3Xv>1b+nbTbU1&1K-0qVHC6a_^zieU~HOi8RTg>`_zn@UERe( zPMuOv2$5u=yxzqkP&*3qN&_pTDss}u6g1m2%UVJ=|CO6O674TM-bnY1)k4>~RoEVY zl^;q_N?GbX&-x8?;fQnJZ0LLlYM*V$YY0DVamZ}Q57`U~sxB;%NvM!DNo^`(U0D!Q z*?8D*qKYN2iilGYbu1O>5a`92_67r_7nyewh%#aiWy!u_PxPowS)@3uD}>?<9quL) zx2J%;Z1@BK{VUQ1FxDw~fs0;E`eNP-& z36kgH>0Y&x3Ze1(5!E=eqANtU=ThO1qcvTB7#-CH^Vd#apy@yDzyg`yhs?))L#F8x^5FH2o&QEJY z9H3YjKo3kZ*$C*9p}Z;tEs`0wQ0KV1*TV#FZx>ncc|xw_&<9CpL7P- z`@e}Ju@h3wTF#CSozqh*1kp_VY!8JMv;AYR>2Q-( zyi0I=Ha^zxbu#4I8g5RnD+O~hydc+w=r{~>D3GLUydmtsoAAHWz_8R1$*A%5!axP? zR+J6l(m4P|PfT+Z!i{h|<~)M%ewr+rAoL_OEIE6Syk(6TQ`KLg`!DWa%5k%a2#0dA zH%$rDJx6bc32utB)-k0%tpz8@jGk6r~yZ(_j$t2N){cEWDmn7 ziX{(8LAx^-IuD2#=}I9tX%IF7{7Pr!1sTD3#KhwK2L8Ti@k`$p>%Cj-xqo81c|NfP4Sc|;dxvE# z%+sml=TQbXK;RJH;l!nv^?kgf%qKy zrF98udgUQx0mlwlwLN|w6thT^U2JQ&|$qHSrHR4634*AiM$wpGxEgw#-oo5CZ`OZVxZcOEu{U7kPxW@zO&6hQQ|fi z&Q_Je`i|M?{oLRL5p!DR*2@2H!_u;HS4 zLV%T|bcMQVGIF9S0ech$!&<-)N$s&QM|lY*d|Vba83(d`kfY)>F~=GMRvlLMV*U){ z^E01dL(xoSo`>W(`KP4M9I)6XyU})*YiOhNO_bvk-0whMVGJMlFM@3t3Vq`GpuaNS zp>45$b7N+StMqX-ry9tEUIr{xM;HzX)dvU}`&h+B7)TOOX#fU&u;VX8>PitLwxC7o z2`Qq?Lv%gj%@JTM+?Wyhbb-I9I<|` z+Fe#(PPaK840iVgqHz#r2)TmySU0eC!p{TfI6OU`jqux*N}bJhUghXGj!iZF=r~)H zTxX^6VxNC#R?Hrh&Mp4X?9a1!C>AcJpZnD1+B>fd9L}~sj#qr>zp89_`gQ5A2f5i$ zm_0o{x@8lxJ;!Uk?WPczm-X*NvbZ0PcZ2LZw7GZ`>w@H_)E`Ed{Yk`C?L2y&a!eND z?nX`ssT0+ymTuz&8GH={jVGshSlPCquhKAnQ3(!Dc!w=>EVyFad zBrjCVm%-CqR`_BVceGZ?+uQvm~@A#T{j1=frl$qU8YOs18F8iDlOSjkT`@f zNkH9B&L`L}JspgKaTZan!~njl)&yIRhy}Um((o_I=SXptAY9%fjmXc!46Aub6h0uN z0E@89CAv8g6)VD&h_MtK+e_S?W6PBZRd;5=+U41c7)pIBIkT$|ez@w3XoVKUq(PZe z|NOEuDjq_-SgxPk0&N#aBq1q6m60UOCOb}oN;0Q7Pue<-!OpdFP{p>gBf`N%Nw)W_ z*Q7yEAqwmk61);5(mgIoOi@@K^L_%ICh5rhdp`k^oGZ!B^MRskMGXk1br- zvXy0H>8%j~@XPbBGa{6025r(~3?5aM9;%$^OPouQAauwku^YKySFb(t+j?`i9?5JT z8?%e=Y-icG=|VNF$Y5#eDcoG?;~mLV6CqvBge)Vfr!?st!_01R=70hHyTpE!UnuQI z-?u|{f5;dyo`kdx!Jm8#f$DSqN(|-q#GYeu_~odXs)&#y2QzaPA@i&74%hITV3|r& zzz6SAJ2AKmD4S}k0y)%aBZ3>I^vuEzLuA{iXB3n<2R}c4JTBw4Kb3iX=2xqUbvdO} zsdF=>*5n}8*Q*9?*eOH=8{``{?Y6K%6y8sIY_b5 zY4Xgb&c=d|{@oh*2TiC=PTB0VEz@M0AE605J=yLQikW30<~m{Qb5{1CpT)Uce?5&8 zuz&@3EPZ}qPK!Eed7(2o!t?O*Y>G~+)mm@4A)BpxK93z8C*(k#c@AUlf*!GI?mkhl z4CdWll|e*Nh@@M%dbz3E?6B1^u>OW_eOFq7o#F4Wlsw(=*yXVfGUj>3$3<##Ut+z> zK;i?qAS#1FFqHlk$awQL?GgA3Z15Q;;;0#4H`kgUzR)G+Wgfdg)2 z@}6k-uvT^}STGC{3DtOV5 z|D5s(Rd)wXb6dIL@e1VqT9a)$&+SwPX=I&2_7- z_F3U(-rrBe7FytX0B`P$1JvWm8dwGvvb}FLD7~2)j#ah}9z@$ z6ylu%`A0fgCFzVnL7&^bKFwt`%@jClAAuep$U17nfM8I@HrU0Lt>*8(EiEa^viUWF zLDW!hiBQOde?+SMJqGfCvNCmlffYw~J7`-Bh>g66#7pE|cqLg1xjm>5VgsiJZU?z% zmPg;rjw%ny_o6pLSuJ%%Q&*2_MC){CQ>`vvApzEGjZYZCcB6A*T+-$*7>z_-PMK~J zkJH7FnCKmkmrfMU{ypQ?k^P1HV3z7?nR#u{&dmW9oh>cNmTf2f?<kznHkSQ z{AKeGv)XB6C|ypq7ee+tc>~oe75^Y+LNy1#joqiHLNo%YI6%o80HX+txSHb7Q}|!> z8J3dK6mC>PQ?Haqrp#KX>Vj(eqo34v)f_I|>?L#G#7=k$td!c;Ao>8s)2RqVZL z#kAuG9h8AS#WQH5d)J1Y=1=$=SkrlQHg!D1zR+uYl^(vW1Rof>4jPZ$X`0M&-iJDL zAyLdDxBrsWM;jHWs~~2Hwk@Y!OXOj_k#@xS3x>m0%u`6u&(i5}4D11Zf?jh4OJmoC zi=}x7Jth4YB%gfqD{+T5@vK}%gIr31C=g@c^)_ir?v{%rIW)*BOo%R%KmjU^Zll~y zgyQeVA)a2BW1*}gLNdvE!NNj(--O87=y3@8Td2TFFMXnEazKLQ$xtcs@><7V7$GZw z1F&27!}^0nHG9DO+4O%W2Z6JtfzoeBF;ax(4!S_VO!9$Yas(l}Jf(&^tH{)`$ul=o zXVi-724U5v;V(1Vh^v z#SsmAG>MgY%$G|u^uzTLq!sdC3V3WSkk_TNWh!ecVX5^L;(Ghk#b+ou+NTq z2n-7lz0_*sO3;XB1=va+qNiC@Vx)Lq#i*h8Uh7yTcnvS+Y(IFgPX36rC5197>8hZP z0l(PPKOUkC2|WNmZeBf+5xUOvme<=uhWVoG+UtUWbmVQAL zenS|XW)7n80p|z~WwXOvM=%8Qme`?c*>o#?iRGVX3SkNq{wvz|vBlLzlSil*%_Aoa zQnD3}A_i&FkGF-2FLvjlgo)pI78-zT@Y)K!I%^^h#<5T<%m)V@=k z5vFRCi^_w|&~+hK#c~W)vf2A^Vo{K8LSgG~0skdKh-Z#C3OMEd`^R515&h+maYZ?F zLEw)vH4a9HV!2@>D$>|hBeMWK@VC9Gm`JdK26r<<5dlT$G(*prc|vb|am;PP&$}P_ zO;--jH#4@uD-8{}0^99z+>YFQlx}go99Wj*po3?n7-aIf3u*9g+;H`X&WL8y?0jw# z_bSd9)jMt}peJq5my_qjKCKa76AtX2U#nXtVF9wBHF3yqM^;*h=RakOK zZ&khuzNo&{*V@$`;@`S@GM~iM5krb$V0%Eo%<59d zH|->nq=M{5kU4a8B!XMPsVnkZ@s#D z4%rQwG3E-`5+KlH2_1Bk8GWP^tD>k3krMCQ){;GL&_blUaLNqL~~g>2Jn2ubweIJ;muz7&+pAm4TU= z7^f*G5`;9SIO7b(2;ks2az&4Yg!YKKNxOYfmyXm0>qi9ZmrWMU?}i6Nm@3pew}hJ| z#Ma4m)ils#6CBce-L)L0Mmm5KH@Csx2|#-^;m=|O^6l-Gqk@AyUa_O6mnqR%lS8Sk z+bR@Cm2C2Aq8ZmN7a$zCyK>J2+l!@yJR^C6DzAw_3&JpEq9(Of`tSij{(mp*MR!54 zl<>0$<_M9TUmj6xwbWIbZ(5-0J%Sg!RzZ3fb(-}z{scOpwYQ@kK+AXQ*bcjwtG>1E zgpZ)>^rj)LBFw*igZ@}GPgBb)9ejXMYUdq@|)>cJbF%@@Xk~&#$dLn_q zZ%AMoeV>0zm@HYgz=)eEz)xl|k;jS(FYM|<-tdmVuuBgcezCx;+YYYT3l29PpQK=K zS*?&ASaLhT;)=UhjP_QBR;w-Km=q*buir`WN|xS@{+sI^Uxa@poD?-4UR|8nedo`> ze6_1q{%Sv`WAaZ3;UX24_#{abuEp>U2~;c`gg*6fKTZOOpX;A3NjKHO%4QcRTmBxl zuj9g(1g;pH5gE{EM#6C>L1v$Ku2h&@lxS=S(OE44;=$%<4twrCnfUxrcuo zYIk;BRN`>}3(UvKSC|vAk-upm+MU80&x8;d%&Ag+9m+! z6|)Nk6ECJb!TAd~8_G(8=nzgGVV32!RW&`uVs`2MhoY=<@^l!Vio&iaZv zrK?F0?%GdRPgm&#H!9avXl7Y@ig<j;Bc zsegM=`W}eb48;}Y=v#In@RhTzd!BT6Z*_+u0aMn}=DhEiwy~N7whV_g4Ih4K2*MMQ z*nAyn1sb<#Guf=sY7plF_62C|Gd>A<7#hdq8t@}E{zPY7G&^Jq zc9Sa}qC*M|L^U|jghGH%F*%aDl|oiqx?6vk_On#GFi#T?*rZ|h#2=PE zvK!^`>@o8}5uS)&^nh>aQ8nfb{x(duzK6>JL;cDGy z&N~(LBGAawSxKpt1tAbFo9!jt2u@su5X1B9&;+{Q7aQaKiYGTCAa^yLXv|-L%i?_J zu#J4e<+n$|2DN`EfAV(WJ48Y*`2yy(wJDucwh+YR1j{7QPAGgk{_!0IBX;=WR zsKvzKs{b1mBni@8Bh(oiCJef+Fib#bITDZlaFH({Ee!ono&3!Kio%+|$U{F=B#((a}lXJ*ovN;HzZu3|1YLbi_mKp`V458qQpU-$QuX+Ed3?L?<6sBZ~;QBH^{H?yQyT;ISxRcSdi$7eaCa_rE`j zl;z^BNAV~12PSq=Ud;&av%&L2?)m44-#whgZACYRPJ04A5S2F=VX^;=6RbcKR6x3)BwwQk5@!DBoKz;W6A?}N;hnfQ2ql7 z$PXe}l6g&O57@sjVLfRGG>UbnIVL0SBdnpX(1!y%{qF9ZypHKDE5T;^Dk`6FcWkL2 zHZH&FM9MWEm+Zcs&x-9haysnG3cpg+fZ#^(m{Qnr=Ycx~D~rk4*r}wtxNFBIt3RL0 zws(L&mE`|*Ond}x#~0RLdh5O2K$vzaTJ1Wrj>3N+q2d|9MBH%?51$R=e|`P^@@SGp zOiIdk{jB954mI}8Uqzvuo(qIH(E*yK*^g27y@5f8cT4?NdHwQH460 zA1zgfPB3`0dm2P%U{yQn!J9O~{s%{jV>QwV#0MJBHn-Ar09M_+u54Y_pu= z^sgd>;*3wGW?+^~^I&v21c5r@7Kx~(1oo=tLpy$-{q6Y7vl9qx1AQEpy6ENfpADmN zEV_5wUuBpA%WIK|^h z@oXr__oI!c77ch~xE1ZXiE&+xCzjAxMo zLWJt@bQaGLld2i*(&RmE61jNM($U>2rW+C)dMxv~A87CG z5R?BB{pKOtMU86mDDFKckt=)Gp4x2mzC0(WMbdi@E@0qs04*Q;`tZ{g9wB?n)Y&N1 zGh$|VBlbNM7p^UCvpI^zOXkb2$mGq~+7P2u?6Um_lPER`&FX$ z&F^`6V<0cL<H>^wYi(pMs!P-Wic zYGcLpf~qkZM|GR)^qyxErHVn!&*>k+G~!_O(tFYL$Mac#hT|&;8=N^!DOJ78#oYs< z$uU3{{OKstvsJX3Y^M~gQY*8P>Cn7c zHSG1{ql8EZWM>%!7h#xscK7cAYVUdocyNm2J#$M&Dle z(Tt!@%qU8XvZ^Sln3Ruh=wOX27Oa5Q*2_wQeNKPz%HJi+RMqoF*|Ax+e@?gpPCbYj zps-&W3U-M?j*7BPVXFH^r)U7^$Tz!MbL*-w78XKU_{U>xNIEbB0c~2ADMBm4dHmmA z;GU4}ej^#8`alu(B{|uty7}U!MgP{S%gr(w)pC)6eiwvDe|Re2c0pNAlXhC3FZy+7SINSQ-$BidLs*(6<#(eOFMT@cS{*w*fW%9j@>~B`2IuW8Kk-dhHx0W)0IXE$bSl z04-3f1y|!n`y-}UrsB}I@ApQzMVvIdWyVA32h<^#W8n8fu5<-mwXN_>P%&Tnzw#Cp zwx?XUw=s`;8k(`Y(#`Shztb;u0Bw}huDzV=>16D3!5g;<`rC~idu{<8a+xc|?dfkg zL4{a*P{a%Rm$=mu;Ft(t>d~%X0yok%CO|v>S`k@7#+^!`$AOjdcmmETjiT;8v!2Q3FkS`IkrX|0@;pAYmpc#vGEGbtse zxEiFk5dI{d+z0Kwfc;0V#4}}SeJCW;p|2F=0ESGkExY8QaU+0?%4_myc!E;K&;*ly z>^1qxbfB@}m2hlZiI!d-iB~?n^fwyUfzETTdgn{J1Jl9ot4O^~+nJPR(0+o0$LH4Y z?7&V@_)Y5&ht588g#N^}3Z|1(^JNIWxBWp1A9v$;L5tNf_sWBf|=Amm7J6?#I1Y(d}4!+D%iFsau)0W%}O`qJle(Sg%XEC+YLH zYc(7o4Xs;FsA>0z-xe{36bVEU9p?c%h!4T|`hI_5P!fN!?d$shs`o+ikDr0Dy(7qeI-o){e$IJv5gT~`ZmuGWwYg8nL^RWaR8GvX%{M(c) z0x+k0wPS1Z+)}SV0_S}b2}{4qN&WG<{+LiLbd# z@r1llOQ9U8+!7&UDCS;Y8HXFj3~ACnNn`PRZOa7K%|=CD<0lHtp>Gu1J%3t^5v%*j z{0N5q{tq=k%D;wIH{9xK-F>=1BXmwM=>cS5bTRTtu`CQMoum1f+=ObeezI0;6 z$~S)YL@W8HX%F9ZYsC|jPpseY>q$>s3-UIjN3a!Qqz_q5eGyUmQBhe*;fK^MT|4HN zN9S+vc%*gJl)}RH)ve89ZCAw;lV)~LdE&ZTh>^ww3?mQf8y*w$(z)YV!;-#pg`w`m4kV}+%zF4LB?%63+H%UkY+kNi%8G2U#LF#Vle(7NX0N;g^ zd>rbMWf>feNx6^$VJ1Bp6eOj9uwXx1{K%To0MHd(Yj4}$+_-W67>#b?%ATA<{Oxy$luEjIIhzDnRrw0(@*ZY+Gx0X z*P*9-Z<>g^@!eh5y4~09>Xloc{ql>?JhW|IEH-c3L(jbU^6bSg-ql&P04*rDpbF|a zKO|mOn3-20FK8u}6WgH_%u88^6~2kPJyMKc(YJ*pMZ16;NO-(i2 z2`>xqjLxlI2DlwN0JmKJCfFLjbKu~N83zx1r$MdyqgpMWuHMt$zPDOFR;g`MPOMsW zVv6mLDs}qmyBh?-o~z4IEtk&i*dd);E_mP<_yqadHh2?0Q@yvneNQ#M(uS&rFZ{b= zC;I@@!n{N^F_xH(SEx&YP(ZO%h;$Q#ALoZ$+E^*DB!gaKR+&OdppNoEWK~*?Xl08) zg>l%5iuS)yD1HH^LqJPGQ@s*40zDqD!{IOIEcN zN=H^LT#bHTy>L~se9%locHTPo)K`A{+2)%*`|Yb!*R&pd@%V}r$6q?wO1^)O)W2Z$ zCNTQPKL)j%RxOm08&({D@gRKizsQ%rGIdq!!IzG&xED|hS8tMD|M8Ed*EgMToLUi=yy&kD zZNP^I2KZzzN`(M*@i_7>rc)!(v3z#$8(QC-0`Uvq<3DHLg4R+k(T+2bEhrHgU?oup zSiBWw(^jk$DKTXjU(V&gKa8Zqv(j%!nj#re#WR$GHub+LmXwIpKMMOl>SexDLg_fQ zL!WTv4$W}NrJNaAQ}`G5t%&F;>A#0jLRFViu_XLQp+vSg<@^y;id0JS+#{JcWIq6Y zhjzxh7h?S9seIm{m?TVDu?}&B<9ER+wo>vUixWkKq4XSf%&b5L)!;{dSH!@#Kcg^k z`h)z&$E4F-5?jO?!T|Y51p7`Y5vBY>umdV;!X~%Z6isD`qtl}SLPso}B_0qhB3U0~ z_60%M)88eAsgHsOg2}g`e2NEpsgDpU&M!mG7*H1$$t@6Us5d8=kIy^cS;pRf5Rnf0 zuy=&TcAO0^hWpUIueTTbb}#f`FA7f>W$%p)8(>j@SS4~2Pfqqo-eeE8oL2UK+5aVq zLLTaWpIVW)m-dm%!0pMv>*Vi~{@0%*OQj!Xt`_9PZ&8_!-ywcczK~sgDrQ%smgQFl zSlXMHAK-E*`lHM62{M|Mb)NWn<|26Z;%cz+5NO=GdWn?WyGKeaS%m}z_euJ3kKxCq zxyRtrJc;`<9wBBu5`XVMcQzWEq8a!W5#s*Nw&4sZzn z7h37f2d5`qTOo$izXu$H$o~ZbSa%f2=iwwNJc=Mf8La~EEkl#25Y4`8a&pdB^)Z{Y zu(_OxXkH=MY4to=oS&LqY`w?jah?BGAM>wzZ4Mk)JLD|uA!pGLZpbGwXGxI_BwM^v zu!xqdHCrJKSEPQ0zwkaWBCSc>mpmC3nfoJR|F01h(q-`M5l=+=462-v7o00XT0i@a z7)ktDt`fj5$K>N-5&4@$oG~{@VU@(_OVbyWJ2a#tI<@{6jo)T!xGWt#-t&*Q4{sSW zX3OEX|IvevH;);!86K0*B+L5-$>n0g=Iq1x>Ym|Gp_P5q3KXA#Gmof)9J-DeMa;$d z1+uONpkj$KRRhovz`3|+GC=(zy?SD0MP-UT2v+p+F^g5GD2w86@B!RFU8U^rFaZ7? z6;zgzbM3jgj${+d)9lQ#kttQVC=6rTIeDt=d8k~ped?s?5s`e9*YY|QX-R%3`Kx8q zX`U7e4Mqh;15&3q6blxM-Iz<73j}f%bq!Lxa^Rx{fqa!w^Ey3vh4tB5Iu=(<*|D^S z+#&c|7j4`=p{uuNk;_3fi|DN>s-%KkMLMg2-e9yT%u0) zoOU6`t%cmYhNvSNkq-%Lp-^-|N{3)UAc_E7ISOKEU!Ss(05+ZQn!xZ2zR4G`gUSGN z5_}s@HHlT{=x64IrMsa5D^%IkYBRDLbVN^QIl4NwAi37jMQG0bT_$F3=njbaa$NGyBf7YnU=3tAoVfuVt{mx@Dr0DMwM$w)ezW z(x3P5m;U_KiM?$b-v-|A-}uHo)9P3E9{Ix!H~iuC-qrQf?s?CzWqo^GH>kz zKl|-p>7xE8aAj6E+(NAZ>Ye<<>;gCzh7h6V*@Qd;zDhws;|ekbz&e5gU={$sAteE% zt-d1pEvs^MP_(QZYNKTpCN7{L>1L=|I;Dx=`Q+PVC?Y1`M&WnJStDdPc{1W5L+~N> zWHIErN6Tt!%bX2f#@pyDt*tF}HhSTd@HSM((0*uHd5opfc#C&Wu>g;ipgup7%2{FQnU@yt@Zin=wZd^{y ztlD$OLmkZp1hcN?Sp&z-}sz z)%n1W3nvF}0Pk-Mw)?@4^Xn@@CVOG9pueb1I?_(EoQ=yu zv!{=-m{_%4uqtz6K^v%*etzZ*7%jan1Y&Nb)n*5`w84L9ZTg@ziGK)6R~4}|jTfY2 z7(fnb#NGg8J;*FLkY>K4fPfdwN;%jO6(T!Nz`70+Y>2x-vE-BM{0+#{K;}c9O)+9b zW69CSsn2%&e&1AsNoN_Y^=Nfk-Q7mDiJh$s3KU1FYS%orwE5dD%Z?x3S>$p!LUlf? zTdM{oW+dts6Q@y#DH+d<>L#&iyF`2~k?3cUv`Nh@J<}N?-15+}ao` zzsI9u+0mTA=F)0U2{zDByX=>TcfjY4My+gbN!$}0UsJ3yu{S6S;G^%hI@ufeT$8PP z{q8B$$~ixowf(*O+VW8Z5*YZ;nH5B73hM)O2bB#Zue}50SC)EHV3u}-EK2@ioy)4# zT3x!}&hNka(&M$YkH7Tl_jU$#ZgkcS&wlUKmk!pTv)|u|CTl7N8}dXTC)~|6Bk(2e zLy4@cLaAW!Mq_assO9>c%yWs;84A@Zyx<7|z%eLmlW^u(GUi|^np`QO3`Xwopp|g| z)WexyhiBn{mk=48 zj5&0sHzG=F4Q{KtO(vN(wXkLI*gPm0LpJm^XGZdj%d%ASminVJ? zOV_SlF%5!^q8KP0Ucr5pv(@0Nvmm@uY4%KE5rNX8Iw+?j*T5WLb!MAR^6CVmo{uwz zT<1}+n|=eOR<)tVljTl$6=xD1)~br}>$QCUbq zQj=#HHq86K#FTal`L>|N11Tzw=t4Sz4$;(0_K4w#m^huDfQW=-B9!+~j|k%TLG4Se z%|4H~g*b$43?D8U$$a11#ah2elu&5=K-(MvYZYVHXF1?wJjVfvZBIft5zQi z3At7sM>6Ei|K_QPqGj?On&*9ST=Qx0nz_4BS5v3`ahl$mT2x>9rLVEGthB4q=WFaL zE$eLb{Ysu{VrTC-{@H%DE1#oYIe$&nM(QS96YbK5I=q2W9_m`?t6Mu~T%e4nl5bmP zESjO@bQLKr3uo?>+)Rz4|?4hss+vCe*laY}lznoE&+s*mHzyz`D<%-7+hF*$UKR zKupeG16-zrxNdJrL78Y#S^Tl~1~gqfKD${TnP1DEi-=#{i7tVRI!sbZqs~?A)=96$ zNu|Y96=KnwFfP=>xznDpjsk%SH!K5nH-qIK6!O2K*9ynH&|dJu`D1t6Tqfu(wM=EUg~GYNE;20xQ=#I%_>GJno19L^f+ zj2ODzRodi>&9K&>I*^D+tw4eXm71WdAu0$K+V>je609rupj@jbR>^B+$X(CO=c%}O zIuE|G4#?aHy}84 zX{s)(Pp3VMDrp$ZdccW6>8yt>`4l;$ji!+kTgq`X`6(*-G$O6{cTU~AvO%R+&`5AH z*y#2*b(I3EQu$x*N@1y2dJn5?=v7yEgH$%~JXYDzSBhq-=Tm7Cjge8Q#G*+JC8HYp z&lcq4B#Crh5kB15QV4#cFUd3dt0$Xb7y7kDZC-%tZ~7Wm?w$I;Tifwzk(|74=eA|G z(wR;E;^~E_sblua-0hDbp{DHExZ~!9X7j?EcWmlVrnORK$0l@E6C2xs;@0U53ngJD z7UDIW{HYqNN(G5BC{Pj}`q7LlB`;Vnis^3WfrKrmhn3e5Awc&6hFcDSpZ5C^1gK869)W!Z|$6d0e|a@ zTc?ICGy;6SH?Je~;5$1e8PN}0f4XgIiItgfS9NtQsJkpC(AkafEL1xPa==$M8OnIV z_fLmA^YS+W+#}y43RYTb0RIeODmz#)`0BODjPFZrrpHY_-o^zZ=|X@)X-MomwaxI7^2c(BIh1 z(%;ObE;84;uwJ451|NX*HwgNFn*Q}qQk;kp^xUuTzYgUWJ}vG3R+NyD=s?`v^sJ1?osJ4Hhuafm`Yr#3s>yi$1>ijuQ%8vp zpc<8+beew{;t$1boy2&#&Qe~9i5LoIi|I<1q)HR!4-AhnI#$?K<^b-_-Q-AQa^ z3X4bK3!(Cd!Q9&A2LwU z+Sim*dL2EV`}z56$k1TrCi-M}anO?oD#f_ux#P^fex4h5_OHAN_W7%R9%^w*l4q4S z@OKb4qKv4+^KTaNy5qG3WQ$r%#iS@XS6fRDRAze(>Hl)C2VeY>q3$tTl?q88s52c! zODE8?EJmF@GVj2edh!iSoF6|`_fAN5i)hP>0vV;(QcxE+06$@{g} zmn7fIMPGrTpv_;|K;3Q1F)I}+Wsd2C!k(v&gIDDA-pRXfS~4y;n379|$YPYui1O9X zPL}e?hLUSXqio?kPcq=mB?BebkDj(?Wj(YtPey1U3w!K7-jkRXF-c z3&~$Y%dr|;nq*WEP#80h4p=NIn=U8cm}l@f?CkGptB|Toap@JDFTb(KqqnQf3S5_> zb(clQjq6@FX<|tzxsOqjiH{~hDuJwGJauQR374jjw_&5T3fZh=84hh$!cJU8mZ6p% zRj?1qU)gg#LbX~g{k@`Oa@1aA^4c{vjl<(9tsCD`QX(3h8jVeDcWZst@xFWmZ`0=F zET|aa5p99>06z?jbf4kK$Ovs{niS z?4Wf+d*IzOO4mCMF9^CXL4GH1Dx$MRTW&FznB5pY2^wx0aHTWL!afU4sdc zX)Q(zW&;2;%dm2-MelZ~l-Bf8Uv_D_RiSct^cIbrWm%ehxF<5p;ehr&Fe5UqCm02* zPb>4ok;jp8tIL<{gBL0jVlD)orznQ(+Qq+6QeIvX-WuLUePeZ*Rgrti5#&g3Tmaa~ zxnrkc7csxv-tEWGt*w0z$@CXiTOUSyyc z8Ov+bGI*I%!yA*}WrOSbt2Zc;)ods--(&(KP#SF4PsTt_fQ|?)U|S?Vir5uJ@WS~? zU*mSv6RCt-LLiLK){{i;hsz(7xQryAxPK0Si&<8R8O}!c^?3S@#%f`N&B#`CKFPn3 zcXNLvEnq@&BF91frA_2NGsRJ%LmdZGp)*(Fvpkn`%K-SW*_nQn>yI9m9*Z8d>-HPq zwxIqip)o|!ONJ7|#AojfV4~OdPE(|=gTm(&DKUys?{ZOEJ;zon3iL0x8|go zX!t#64S##-MM;oM9SI8|NwVuzB+**N*Qcf`U!lmas_ElnG!~1d_cw5$fhAV0Y3`Un zkj<*jwZXoLZVP*+Ew?(0^*an>=9;uttJW}gxWSpr*)kCIWQL8)bsC1xHE6BEQrIyI zz$Q`t=Hj$OgEkp3nYbM&Vk6;_mEs6q7H5?p+d&2xBprnQK{BYCz=Z0~euP44*-$&W zv_UKnY3rBQ@jKZIP=iItTLjRH4EKx#zN%*oBBz5>FVYj~oxQS1qq(G^0v})~r(5D9 zkd$4TeQ%M`Z&eppmg$8v!Wp$MFVB!sZdoLpNzmyzxl0QcE(%P^$s3iw7%b#ySYP;` zT*EUgCDSkr54sM35>Rrpa9e~!A!YwuyQU`?ZOz($qR-ShFxeU~D81=U_Os6zW0FJT zEKL^newI?*zgU|%z#{BL%MX~$%P5wnSW4&7$>BH%TCD*qNs-U~`Om^;;mUIHXK169 zNcc-e*xLid#AxQ_wUJdtG%P)ixWhzSy%Hs&ThxBQyG3ZEC{q&J;*8@-0;LOuWx_WL z_7}}M`sBuGA&o0fp`CX3WBVSuWiZOEsNc1&IXSs`{mzEz4=*a0^M*{SqKDx(%K3X0 zwxbso3d=#_f+s0;XzE>09-Y-#V=$wPjOUKLjx#a}C$FxlSv|QBWo$Sq93&~`puWSu z%I+r;aOPbllmv<>f=UH4Vd8BZY{;;f5zHM5Ma>)f%YH3GGDuQ*7%AiA3h-16IYS)+ zNEP!B%Wn!qKC>gR1h5C0G50l=&Cj9ob8ox<@iBV05%81^oDKit>PAbrI%=6fE%?R2 zO=ZYnaXDi0;|zoqXKSNK8<9}liys2-csQ}8QXttZ?EMCd#h^A=jgd|v3w%Vf#zdJu zd|EgVaYDO29?6IP!2{e&gQ#rhJ`!d1CQ`L>kUa5 zSb*P+GAm{eTRR~boUnG-Y?Nyu9KC6pm`E}0CgIJ>(1IbOM-N#LstgYhnI($oLK`jEdtz8(}BK(F*0)K?{ z|6D{Zla)e^HAvJFqlsy7h45m6TNmd|&Cddb`67r^G;&e$EMYa4gCi#<>>f`jGRY>6 zBbTdc+xo+yg?bVIj8a2_A)8OF5f%^qa9+W5Kgj^9Pbv9W>H1omxoz4jZEGe3>5EYe z;%L`FhO}@{vW}s#{AbB#COr<j*HV=swu3vQMhpnJ>XuZxrG739ayP-5PzO)bB z7M!rA?UiX!px~GeEzBZ4IrDKhOvRLOm6$SaeoRlyCQ69@SYwD00o2(gzZ>Q9a)I8` zGV7(RHxPvVG$`5FaQS48kz`Q``A+fXS~awA|B^9eh;YlcA75Flhx#Ragt{&7tr2b> z^2_P7rlgPX49(zGT(|{zM`Qzb;Rq^>OzswrJzXBm>As$YlUf+hHHS_|5PzgN*NO$?5ed<};d;5JC~G5=t1jZXck! z1;8DMbQyGp^b)VI==v=T|BJRU?Td8zrx%3g&79~3t=DWhTBS~)q_)G+)DjjO%2Y5D z1Pb~WbrTecsW(Qm5sGDv0q2FG&H(!{Xl?)LK)}hr;0!EASpiUiB6p(*!#0HOPN2Ba z%WL`F>?Jr3G~(WrjPe55O27=IHIfw%$KEK#?k6tMq}H0#PC$DEmN6%$p5Qw*1;*MyFu=wc5u$akrhNCA10U}3LLfLi}5xFXdWSL>!7JGH4K`k|XS8Dh9okiZ-=boCi=Eh)5j<5ND{_6wE6OiCaT(kQBP%ye2vu zB=i!b^H%`I$pI&mr>tlgImn-t7AbIN`v;9`s8mu5tYuD%-K@8y+RTA$w^Hv=C{(V1 zx2jK{G^a%m4SSyDWpYp?EH6@MHClz;uFV7Q%jI&78otQY8ev&jSaO;C%3kmPae*wK zX6d4kmQ^qpC-N^CT^9~fk5S;B&eM$6=5jfeX<1omN~gP0c`>t?xJq6z^DC4{%wD?mb_d3*mGAfnI`YI!D?kDuHggWu+i&P`E6yD)^%06F)icZ9$4 z)9Wg%d0vasl&twl?F?AFdDe0+AAu`&?W0=4+k{0$ImV2%WDf2A2Ao`ST81%);JdSn zkXNCIXo7wG3F07e7~YrBGH$IK+3#)?6ojyc;Bv-wb913i95slbO)H^o0Flc}`bGK@ z?Tw;t5C0D_P`*7V9o=0XV^oMH7yLgT4GyoTn*jqBU@}T@SQ5*a(U4~hQAWl1*MVA)SOaut`lpb3^H$Ur8cTY${`Lsx~EoS89va)|K6~ zY#0v|DPtL#TrEp5D=b+C5>Oh4+EHv#8d#EM0G-l?BOcL`SpcjD#N`_? z*6kiVfMlt83bWB{@ahIEFQ8}={&Ur5nf!_BRIOQ6RFc*_Z7r9;`Eq~J$k8;XmgzE# zBz!hQhQT*J&l0rC^$L|1>JJp-t+&*2jn06%!5nZ-=b%*>jo#N24#JOo9SOjzHy1ji zOKdX8=rIa87w(^8v$|72GCb+It3JgwV zpcFh~w$>*a>?a$Rv+9Pn6D2dy-qnnf6DOkCpv&t+lLrS_b8d3t_>w)&248)>t52ex zP+liHR6?KCOS1`x$>I%OC7U<;+b0NalUsTzi_GqbtZi@WXzSS1f$@0IA?brh$XT`r zDLT|^9Ua1=4(UH(vB-5p+0YU8I;@4-*Ci;$0mMvVHn9`VO;SF;q>Fe&E<8NgW7GY6 zevT&lUmp-4Mpc0$SC4m(uysyHp>vQLf&=(zF;6DM{iIG#fa~Z3yLLSQ*IKANj94?q z|Kd|(&OiJC0Ro_8{uH&t+-GuMN$L1IPO(=gi^|H7*Fa%`3P%0#;q{4;y;pPWDSP#Q)PaF`zeH^2WrxaEGc1F9nKu$b#H0D$>k(kXOA%8cnc zi>|D1Y~EhKGEHKtKhq~xX8t?R-#e?=hrQO9{|PPAyClmrAKB5}Mk&sMpsut`Mag?B zkipBH8@6g(PR_VhG0Fc|w@JG=>Ii!mPVQgv-N(O#=i}slWSvIbH!w#dAJZ36rXjRM z$OisA?SuWFh+@XlK4k31SSgC0>|cyEc^)M=hrfar?OAj#LS+GGQT(;!jX~Ei*k-^i zsWJ@Xi=4%35#k)21)I?7)`9MYAkEv_#jiLw@*)#tcOI$eYmSb<2F`u)4{%X@mHpu2 zA3B(Uov%u^6wd5Y5`s>S%oYXXi{*4BBvu~!qvR~!vEnmEs)=W=Lk8mm{^4(*`anJ0v`i0jF}Qi z%>C#cjkD;nIMS#>yhYoa(>xfJ1zp4wVa#4h^3Lk&nSlunEkhf2&WH zQwo#I22A~H1}2&U<@JSZsG%%iN*q|z-$dG6CI!VX$p%`ZHz^X66BTxSVzz~*DW0aZ z7OPTW~*{NU|zSdQIeYS0LbGQS$yt96$d@DhV}m zq;SMT1M<_AHnS$Pw9=@zB+zt%MQ`j=lBF>xDGh$hfZZeXd4)x`ihgQV&B-`uXi^lV z(&;!xMIn!ljN|k=6$RH50C*XvW_hk(g|#@8X9}dc0y(Lv0hDWW`5t~Z2jFa+(!H-p zN2eq`aME91BN2Bsm=!7Dz!l$1L$~uIk|5&CXS%04@jg_v{NC5%GFJ-^k|&p3D~p$r z3*?Pz56Ag6YY$ukxK8CiCx0jGx>5O*?Aqnqz~$@T0L%a=xeK%rwY;0TAMeB=p90|B z;Wxr>P*u$RLTY#$)dJ3i-@xa6$Gh2Fbe7r1|C1}6g#T7ye zi9tBAaP$DK5Y8PBP;k zanDEfUO0VH7tt;q_UlYxKfaVnu7JaMD>aAACa!S>^O1;PfY8J*Ww9S29T43tavGj= zx&88K+2`zjdmUQYER< z>(bKtB(FU5#gJ!Tdu!UX-yC^%$dH9YJnq^BwO>+`-uT<(DYIrv8xG``MZ6 zjG<}rpfW|T_nJF*eKBNVt;bWlaEMsOn@66h6=sB=7n(1xMOzCk&1k$3g~I)^R_?Dv z30m`MT|DG~4pp9VN>HLP$;Pyo`F#D4A3Sw)-%-2%AY2emVZec(K6_~7O)~=XE00q1 zgrhH2HhX-zm5cVi`S~rk{OQ=kiz@RcZFu6>v$<2rOCEdg@4^pTqSqj}0XfKh{8wPq zz5Q<~0Q&G(fGk=!r0K0WC_@=18pA^7{qE&m%NsNZYv4FqKQTjI$(6W0jJps;(;}@; z2gR$EQl@n{Lo(~O}Sj~EP0l#@O;Q#W*`kIWPHw|bfFv>*%FW?$i z^p43zwbtj+I2jdZcx!tg9!Sp2=*<-r&0>FfOc-UmR6e}hUxbUB#d?eN7<||5i*n9{ z5A8o+{rIcDr7F6gRjf8$CS8LcaD5G^K$pEdO)Mg*U`WnK`>7%A18y3cf$AN_rbtG; z8;*5-RJ3NNKMG0_%%jbEr>VR5ql!e~62+i+TX=Bma;uo3uH(K5e+{xmPN-anI>L%YCCe(J*c2;n zisUZ2HHuuZV!?STN%&~wL@_tLav9noTLOEF7ut3i#7N?{C<-w&ztKNz-{s?jP^b_p zIikzOWJ1a3NC^r_1OUytPw&=ck+yj-3EAyH0_b$KfZY z>eBbDiew^P=pF5}B8)>khVwCMV*%<3A=Kh19H{^R6)g^5l%)m_3*bNjd9(@j64YJ% zl#4sC>95Dy`e)R*WIDd+*82|5Cw-m2Em?8jvu6aMZSm_5tzJAkRJd&8!*8A6jG!T= zKX%vBIn%qQ><5}ZK3^Lgn+f&LKAWC7v*BcW>CC(8ix(EEEUMZSO}S83q;Bltr?=kJ z2UPfnFTQK{h>-^$+0;@7e}G1MMs3ULt<;)9w>>_gYC}JgA)B_}R0-ul&V;MiM9EGd z+{m*bE}Y~{v;dR8h#oteRghgn>agEj+4aD7eOP+j}mGL8p)k zyz~w@2R;(MNy<=})3qQ;@CaUzmyu|8$a>W}^V+pWb!NpXyMQ)${koDM|I1wo93@kb zJAMG!A78(AT{d#6@KCZp)yse>k)6VeVw@GO6OU2okkW}VG=h21K*N~d_<*{Wgz+Z3 z7sX`a-F5^_&J?+;CN?}oWn^X#TC#NT(CbzIR};$0W(*7Fj~e}uun)}LOTBFW)2yP) z&f+qstCMcK-m`R?YuAjaELV}{;*ue=OH0CaBEy&XG#ud~vM}$HS?@xvuD!OjL9ozi zroWNT{JuGXVy{zOa;|VNB0Tv`6=z$$6OU)%V==ITe9Re$FD*7m z2JKygc69EsS+QkCCOC7bir8<&QW5Ta@6uvyBAgn^eH>dWv1C*Wv9xHt#FDQl%^hna zA}=ESWo$Xot7>Bl>8@}9mQ{UuEx!`Zwn5B`Lk68H2DYDv^hSAYMCU!6@ZdzJ!+hU# znx`*q2EwS|_i0?6nVWdK_f^^FT&;N8aeZ9;yN< zD9uOO?iiOl?t-|Wy5jxd2pTAq2WQYG#VdJz-WNzLTPExJTV51D5530aa!PUIXG6UF`Jxu zH%5>fCU`zC9J77Qn5okqdUehE7lm*3KlRWqp#1*EuwR#!kvVUFmN;SJv-@Yvto>W= z6ORj>LUPG%}jBc%*q7eE8)B60@?%){;y;cxLZ2) z$d?Z#*z3+cID65WU08a>-KEd;%3P=8Q*u`H_HT++dGqWtv07c~Z)7^Ti&t?9mQ?DE zNw!p1#+mRBAd92qY=TZ^P`vv7gy2pOCYqrig78{8?-k znHJWBRk9?jmdh>X$N8kED68*Kb^JoivMX_)Us}G$MHf|Koil5I48z1Yv zo<0`0p0dweb82{kToL|pb4LgHPqC!fQpL|FqOy;N=Zwl81^4Z;FNAh(>wm;VZ?0KMT8%Y?#UazF@Fi6f#8Xp!(y7I$kl0gEA;nIycweemd}M884V)lJ zkRHj2sei9p1%LL_AYV>;Oud{x_gN7BrErvN>s`5@^+4#^vA1un{2x8_|G5(H{cL&^ z^Zv6W9`|H>z{}Lx8_B%481Q2WBzkVq*9!ZOtnNRnKa~H!SAVe^{9BJeJqTWoiG-;9 z_iN9eM>i5&aaDIYOHoxyo#1R-)z6~J##A~Lp#Uak!OEVCtMu7!#%mX@G_vW7piOxf z_ZMi-_a|D2Rvbky0k7diWCo{^;p`3%_Vl>L7$W#Z0aCa8bO7Xwk*d(5M%TDlmly!V z8Bo|XxOr$pv6ccPTbuG50P4}sdmwx*#H!7xO;7L1;e6{bCO)VDsTK+ z_K%HgC*-bL3>XS1E1K8bePEkk`8UHwZZe$Tc7&Q!H>7Dky7=5!s3_um2L|8B+k-ya>;`0L-FU-3KPz8!#~+`jtbzyJKbm-JnZ0=Jy${^K z@s`}=fNsFNA?c_UK9OQfcp{e=OH4&tnY0nfNQhD{rz4FZwfQ1&nuw{RqCv3RQWR~) zP&An=ss@Vz!)C-afnXEK-~PhoDjGt6;x6u6>_)(@kv|D%g$m(Ro8D&SIeXE_GWsF{ zeN`DPMpd}{?faPoj#Ke!txjV|(>hHGEzfXB%RLCS+ys?U#i%&y>Bs};o}+g(=Qy38 z9@`fAaNnx2Nhw7>+q0k)90rPYe?79=o>c5hMmJ1v7&mAAzQ~7vk!$60Ew5E3&=jLq z7;P%MR_igI4*v);IYuQnLe&+#w0X10AWIRqT;3?F<;TXdKj}rb?gD=E#V5G2uV3)9 zZCwv=doDh~n=SS@bKnDRd!(Jz zMGDYYZRj@?jMa0nmb@+eBfN9k<XKtF-@fQZGiP3(R`PUwj;Vi+8^+mRg1Q5QmC z)Ttm2QVFd63PaV@y`5ubdbt+hB#L|s-7^6Y6ZcC1!s<@}w3LL8;JBpq#p~zF5v|qy zQderKt9;Ukgd1_BxUf%Gk%&cnH z^nSwEAZvYi@~vsk;vta*)*<7YL#}}yyVt7aLl1uh5*}H4{NYiAT&MFBke}3VP@Tu30DN+x-`O~F zc&a%wD`0ak-?Zz2)qZE6yp*JzzG;cm*6eujzU7Sxz~s&F#rC3TyzaHVXWgtkPUCfZ zE@cu4xY6H@ykl)`n6R{U&mLqs6vJNAisOFtL<2F3m=o)L>ghaijxr;LuqgUBUNc4T zhEN*r1*SYPvq+q;+*j*5?9C~KL;Kw^rQGRqrIt^orX;2sc%U?*_OWn^^iY5I#jl)| zd3J@?WYjSavWdsFp_E^g`irxQp9a*24IjdPfNr?w;$C3A|r(fXL zM-zp!hR$8L1E&t-lwp)A46lRNqm*ISjtdVycwxtdu6>h6bh3yCm+2faNkmK+@tEYu zufj+X51>0aLyWR1)JEM(>`-&f#0BN$3ntc>>7vY$1F~41J@HbO)vjf;`j5(tjW6*P zjIMOKDn}Pko3eHs{_Qw(ijL=XDdus%J-j0e%$@dfG>+xvX|c>GsYDKrn~9pM5*B^b zUc~?tNU6(9D+DY?_yZ`K9PQiDT#t{W^^V#Jbq9a-yE##_(Oo^g(lf%p3*7O^K9GJ( z=ZQ%zIIxgfI%$p=ZTN)n`&)WEC7%d)>>59$a(cBpx}`klcfUGV7Z~ojqxHh>mPt(U zEy5@J#0W*O=oXOigczYXXA%lDi{inm2@iapE3jxmlzcu4*5~r#Y()gX5Q|Amj>sNd zkQ}87OUbXv>Np`B!w}=(FhYS9@s^!_DyS>18(SE`F7H#9Whti~R+0UOlx zB)oSsikg>N+~Y;DFH&EnyZdTfv=#m3y7TWH9Jp`AihTnQzIT3I@1w;hqnWwUblNzk zG`6Y#g3YxD&wYNdwsk=OS3s!0|NaYFYY%>Y?qKca1^qh@_hjE9dRtTgH8-9q4arsX zcjjWY1Z3?itS5Rn_Y9L4(2DyEWpu0a@y&xTjUUV{CXh%ILlf1Z5U3JNva-5(7Wx4t{-eZfsnNMXQqBPuP<3VGs7t3U)@GZ{+3=!?=YAm;+Ie{N z4ixP#UW<~tMU6S1{~L}_@u5sN;50f#d?Z-o*nAI>K3fDtibskh4C;Az ziTAt@J;;4h#hQx;RFV~1t+va$_?;bN#_V_}T7CMqy^lx|Pl} zF>5rkr|SXcwIl>XHxb&BH= zNPe6OKQ<1#Y~z*L@SQu;NBF@1xzgGD$$Jnqjj1U(7ED1zKsgRXy%KPCy@!B+VzGwE zlPH-qnpBG3yWSIfW?FW3nkWfwqi=Y+U~o3&H+B9pvIODTe3y=5LMw?HZUfY(D4a(j z=8bV1Pz*2mSm$AICvx4;`@4R^Ya6i`>M`xzD*%a3nUt zdrNzo(oQBek2$s{*~5q_DtZBFl>-qUQ##A&thfSinM_Nn&6~P$z=Nayc>e=UP3azw zx43wqtFPT&XtCHCVS*yVkdu^L;;+9I^yX!CYaaM z&*SOWlouS+&%@FKZpoinoSalv(KKfE?56vtOdilb#}Y`igdFxEIZN+e-{c$Oa1@!% zezQ54WUX+kH&yp{I16o+?zFnh;SYAE2F2o{#a4{hyHGzwWg3;S7qK$2xp`vX zUsSdN>_pvBil~?2>>AL{d|Qi%UU3eQq~F@&;vwOHI*Utzo4Jt zIU>@=8?sX72##-;pMjz#uE5z+C^q{vH&N2^2}VLhrhY(V?o?t&ox_GK0ycPXM5hI1?Wed1>iEN?|F#_%JaAwMl!QdzaB<|LGybR?I6?*jy z%J*@jHKCB9;Hz7I#T*#VpIk>7FPsoQO&y%!67E|0zO6y9nEE?~ZR0;I#A z(!i=aa>n{jfTqQcA`2*+)wL+94@k?$_c0{5_?=3hIQF>k}1#*z}BGDz_yx$Xli6WH|9#=V01-0{`#Bey)ClND= z`NT5fHe&4!_10&2yjIadU!z7u7XN2N4XGZ~pqcQTZ ztT+eMnJf%rF$pi`6w5w^W#%+GsC(fV!g)vIjl)R0_RT#$Zo+ZlLd)@q<4#b8^Y#Td z{JM6@%e4@Pc*e{d(-856CR#`hsT@1UxNGQO@1t#JNLx6iN{;o zT8>W`cYJOnf8G}$JpKmts;;? zJNuCYZGbWpp``>ib##DM_y^y+#`HeMi0`N$4I%5-x zGiR2%WT8vCY$)<{0d;ND-Howz)z4m7ZG z;h!u2`1mA#-j1|yjl~0pWp{LB4;xr){5EaJJer>L_#an-1Vq9U84n82jTz;IN2t2=*U5g>4;O0-Y>E{V+0xr=||h+ zD`cXuuui@%TumKm@0=YugHlSF9Ub9nvI8afcI~5^>O1JM2ycL(FYhE=82KmK&!Z^$ z8KhVw#ZX7W)$nAv>hdq31)}4}1wb36OlJlm00V-DbKg`v_vr~QY^8a`B4Q=6fw=F= zOiKL?6ky~KM&a}lB`r<`l;%p7b0KSk^pk0>R9Z!nIKc}MKe-BATD13p+yq%bi$W>8 zT@Cb?am&K+xb4Dz@qFm!l9uhSezJViW#a5hw-1Ph0Y#^twAB5cOq9YI&3D{T!%y&c zjUn?!?;SO2FL=A?cN;fOm|pB~IGjaU^t-Xx>!>D?{OCSov<`?0rT0SBw(`3V4{e%e ze%Lbq(GPwEh6m!O>e_FrtgpFuo6 z6eX(yzO|S1S~m-qQ1UCY{oiS?Sib@q0VwC{21*Wfy?E0vZ=}hz-9V(^`5S61^qn`7 z6vh-ITID`yDH)+ggR)9I+3+cpXg@3)K8BJsLv2DDqG(S|OfU|mq4Zr2rS;OBZ0&NP zLpUwG@#K@j8}Pk-`Tl!AU(f{R9zG1_!uLM+{Pe4te*+{iZrK8ifc)Fc{UhJ{{Wmw? z{LLqCjoiNxOgMTJOxU=;S?Id&KB23b%3b!#ZGHOO_R6yT_k4Iybv1ku4$Ry=r?7C& z?wL=HT;1gNH?4u!-FxrGC!6QaZANV~SopQE75xSz_hB&7eXY+c> zffW!)MubjJo@C^SY5acRNNk}Kyk=jEzh17QD2qE_RwpYNTA8di2Rs&$*@u!MGdps!InUZIm7&l(6-lLX60!{wd#J*@5y?V*L)e= z+O=Xum$2@#*{d>m4NnTcydPH5Eo04wy_om4Bj1-<#$b4n}9lj|Zlbz*#LBEW=P38;w_=HT) zbbo41MHWLbG(*`lc;4>y!RzcFP%?$w9Vp1lR*%;uCDX}OR!_0tYorD?FU#qU)2kT0 za!Q@slu=Y)YAyx888F{Jd|tXEJ4p@f!K#7PC7Bqjj#a3&dO4R>T0O8TXa_)@lx@#k zILg=3H)quYdv>-i8LrhNX&hM`YfZ6nav4R@=0rq3o@k~SUcsk0trSq3Y$|nrqLfj_G3gyV67LFRj-b-Ic!{Gdk-muTps;FG-i!>p!C=qG@TxRch2TQJ zcC(Ygv%_Da`^Kxo6<&F~{3Bh9cC4|JpR+2C4S3Rki^ zViZ9zQ1b=SpIf9-5UIM+X7de>-J+ud6KlkMpqREcguF;*x3zU$2sop)A+yCwp)W|E zKUMrb)!%s-k*|SPDUi5iy?CXCWJ&NweJr(8Z z6fskyJYm{6&sH~zD*pnsht3J9S8-h-{sd-F*Avuh;jbfW zSqz?+-NiIv+ypd7cF(Ukpb}|kDXbJ}DNed@PN7C>lFbPTrX)?|v?j@vFzbc?gSwx2 z_0&`EzIE`vIc11pGV+mlPO_TXjI2-L7+PG^<|NhDjc0bx>6fH&6*bPe>#63gswA@- z6OLCP7Xm^}%D-&lojiwiMwHfF=#JI7M9;K@TqMyB>BXgGEswtT&a^SdPW*QAl$Um`%&uTfW`X0?yd_h6tEF}74>&Sa0d@BVj7ifI zmUyi&)n1{=p&s(8p2%b=>M>7POI{G##K7drYXr3Z^_>S;1<$E?jas8icW7)%vyx+l zuY|uom!s0Cm23jTC2-6-QrGq3%v`7QQ?UB#QLkM;eIwJ!wD$Jd%1wphu7z`EagG|lG!kHg-kO~>aCG7f=d_gz} z>d2Ww8{kJJZcfZ6p3BZG>L_E7=&g!6!2 z&#PIARw=gspYSzsfhizg<}fE_2&cfO;4|SXZMs>NkpvQjEFl$f((i`%m=5oumw2|Z zMUNx@Bu9zSK>FgmT#b#19(C#dn71^I!R_t(g5+tR9cYX=pnZr9G9{hB0hV?o* z7YNe-kTWcm(EL4^@YgEgxvFo#mse zBh@KkrHb$T`Od`1=?+lAd~@M^^o^C{EyKtew1WtL?GX0{r3@qmVIr(}Ry1`(0CR4J za={tQMY(~Sa_N~uy^Hpzr>71{Ng0xwp8iKL80?vp@9i2rbrSdi45sdHXc>3$yD{UY zv6mDwUa90|iq{S_N1p5&P46d1%@)2}6FEcnx0oYuK)rm|$h)EFQ-$ zk?8z7dU;eWk7cySdU?EhC)Z)+JD8W9AnQMQ-t>A+qNk#HY-G)_8U1{TF^YFio*~Jl zK#I37;1d;Z4t9z_i3~{aEkjk>1VPjh?B#l1$b`GD*LjXleDL1*(hbvmcd#<$zD z?3x1?ZsXT<{c7}%Mg96M+A(_cgA4ohTlkIHda&oZB>*=4D{Hi@G%MSlekYv>FSsIpDL(=F+tF@o^bcbS z9&1BvsDse1Zs%dP@WT1_NI?g?4l(wjUy$DuSs1W<8{XTE+7m8`WeB#J6WmN+M8?FR zRkH>re6OCj|C3)JV**+nv=3}TwnWaTCHhKeG>id3FKqwA_j@nCq)g)#Ci9Z=VrhQ0E$t@3(`lO=E+e1eRl>H)7& zE#JF$MO@qu_@JE)p`GoneWXt~)?iT!i&Pq(B;o0xl~*a)$muv`60KeQ zZ0EjWGxe&0IIw#B?xkm*Tj##CSH5M`Z!adr?|W{Gji^Hrc4dej$&rfbkx-P)md5g% zasz&nuLSDYXy>kiSS;HD*HJ5GGl6R{ z4ty6!V75C-=lPbn6;>M?b1cHXvX@2+0OkL>f>l8l(v++pR5E| zExy9cc69e%^?`QL7WNxSZg2!b8F6ufqrb$@Kl-Y&;n%}QoZS1NrCBetyDiYZ*1y#r z*XSVsc{|Y;uF=K*^#&AN*Y1>1SNV=`#V`h_#N0J0ugv*2Z`;(duW5W$zH|%8@yd@`CXL(y4B+(P1C_AavZ1eK4OsG!iVhU2?;KQ3VqRq_cdWq1fT>JGQ`G zIVvY-R9|;`^+YKBU9ca%jpgPe?j;^aQVVMJQa(*IoyLf`_j-Dl7u-lm$BKELsRRT| z$WSnL6CFr+?M_%G7tc(}*R|D;y04`yx^R@W+&c;-M7{z`$+~reJm=qjl!p&rFQ!WfPydd!}_iPA`i3$8egF@RjN+D*kA!;@`h# z=jJ7iP{mg#*6NbwI;y|$g3(5UO?>J0 zk>}Rr4s!^FAQgue;h>@LU)G$%Awz;br-X-JC7Og6aO9A%RCjz7yrR(o-Vx3gKR8TS zO50HMkr<2AxTBcfbVJt2?x^Fy5k{Fa1{#I&9?+LeZi{7CW95iS`>a1`AJyZ6J{i!;G&k}6T;OKkGFgxJS{~Ttpm4iI|eR* z*7+xzNT^{q9iLBTALV_*yE>Q$ zq5xcTE7Pzyat6^uAT;x9>}R&4Ko7K`38(C1B7HPNFJ^%o;Szo*EE0~PP)4*ENSnXiMg6cwEUNv6v1LC+3qe6Igp#~jxWv_S zcS%_iV&udIVi$3cc$4@&@wY3zC`|maeno`D^^gDC=TmX92%OI9a#_0`MX#j4X3dnM zqA6=?q<5j&mg6!ST{$*eAkAP%3)pUO3|eeC=mYu!{eVum?lGA2FW%vW_`8W`BjER#NnWSX6_$qR%{#5uWHU%LCv~Uzug0t<{o7VS&injI+bcqYS zw}q>(^jSd*Ukfe#IRr~sqYOy0D>fh*!~#Mkk=gM+b*(s)MoxpX`0HnpNBmj*GxC2E zZ}8`(_;*6aFspFn`vv4Tj17Co*{#R;Iw|5^jCTig6}l-c4{z-bbVuXn&C7q4Q|tp! zhRwtr;wEt=;zV88oWcY#n!1?X=V!clkCEvnF=aWrJ6YN7>82|!Oe;i@v<3Ko`pe*+ z*H0eZS0XbYj2DBfWZ%(~ukQ&4+g^M3*RkLJ`rX&sf@S;P`f$d1z?gKLTETG&HK#KP zUFTsw=q-?YEHRq3+z9o*WwL2h@}3i(UI-b7<0u#oWZW92(Y%tg$YRZerz~ zv%7O>F7HJ8F25f3?U!MxdK?Q?sPEASRDkBRl;{FPOO#1;XrxeR1%<;M`Pis@(bIrh z#w;ypB198bK|SK)hOHG?Mix?XDX~FaEN*<0SeVHy&KZ~#PG6|SKXRV59*{b@F~y!g zJuj>6HP8fn7YCt4Hb>cX-@ zwc3!t0;X@HU#mz^fW*|&y3Dk}F10E!x++~~NXRNEOUViac`8`Ozs7JfTA>6=InA?F zz>%QhNtRK_8CJu|rnKg#Yn@h&?u78dKkuCK+y#&g#@0p-QZnvk+1pbNUJy;A>b=m6YW)%a~MeYQKDk%}y1JY$-^sOiK299dQ1$aPnNEP!Ft``L@bo<;9l# z+$>Gsa)T{du4HH#uP{w0ORls7#c3gR>+;}~p?Tzi0hho~aR0fe_>ez%W@I#{mbr;T zI0{IbIJ~Tws*Hx12(_iBFs`W+jX4D(yvP#gdej^A;y~15&@Rk|f%f>k;w&VwdluRd zD>8rzr)1-zi_Ie7m(jo(Sn*2KKT<@?K7}#rG3P9&2E0b?)YGtG#Ri5=O>&y#Y!|XI4_xO~ZU@r%k6$$xboUj2Ty( z3xu5-t7$+EoC`JzTjg(KOq0RH1Y!}f9`QBeH7v;B#L#QSeTgt};{Kqx?I*FhgShPm zl!R?oiD~Xq(0H7}?TuTVWOoaT_O^FD%{Z)GcV90?3>-(l7B8z@bAFnA^z2*uMprXq zW@JE2=$HkCl94NNM%R=W8fU8wnPw@di+Z+ufs@`500au$LN1l*&wP6fw03OocWcS@ zqRCM0gyUL$!=U_;<*Cv5F`C*O8(;KeI(9{VQZYyquF2}I$EHk!1RgzQL{NXLzN`GR?AcnPJw%&K@t<};uW z$UoXPY{D}?2xo*xjvf^r5zhSZ%!Hx$p1K1OkdV_#ycrESwN(c`{O86!!0`2<75xfl z?>P3|2C5>?KR~XOmrcBV`?Hf~zPk60@wvI<@7Vk5%n46zy)EYhVX?5dJ+Hvk-_dta zcDlPyPEuM$L(|v{cjK_y%4}J$=NxtwMkgE^Q>ew035ASQvap8?)ax?JfKgNlqH>_W zjH_Jdr^B{=1mvLbnGN3^+cCSa--<(D1H+z;KYaLXRZX5JBg2zYpF>5?klA;fx_4;2 zG^i`0$d6BYcKhuU%jCjQS$1XZuts;r*rtYxw4|Iq?(}R|wZqZhWeX;@gH2%52RXNG zeQH9CP%!7Fgt0>r`9uvdS+W<9z9wlgh*1F!9lWPWM-?8oXrALm6#4Vr;#i`C9&w)# z+>Epk&VBK2k{-QoYyd@?7|aH9dS#wv(!yndz_Nvt67wp(7QNYk0#E{D*N+x<<=wva z_G#s6i$i1ZsMMjVA@0#(L2I|D%BR6!@@9)qc-86-ML25Orr^1zk!3yx4b)vsynR;@7p8BA*hR)2|H1MF?wRQE=on0 zt+No}A4u*B(Bs9xz8JT7fahs%C{6Zi#BPZv~efRZ!)#MkAyEoqv+E;gS>9SKp_RRyS%n=bZ0;TzP zplsESfN)<{UQXsY>h{rhP0kNa-Z=7+>IFkHGaD9GS2@c@hxQE_(=>G7{M!kXe}ptl z3Fo7PsDr(K6Y((dEYdb~z2QELz#I$saV4S$fQ{|(ikq8WsDm=%qvF&fk+PNr9O^-4 z4zUPxUPRdqUqgl7La1t>*F1BfnKPjmL}(kge0h2T6oOYl4*`1@MBziAkgfy>p~G_7 zfME=SutXLjbP?foU7Ep^WuoZ?Qx`7ZNQ2jE9@n}I{N_4a(AsiGnI=hb$kPTich^3y zNz-$8*1OX;t}07Oe97A;<6Gn5hfW1h@TT8MzI8Pik~w6{f_Na3kynQo5mpz>2>NV} zs#FY1vJiold`^-ynV4rqs3Z#!PKh-)Tysa6)|zn0-6rGi!WHK>*M@>E;|GN9~ z@HVP*?>Vz;*JzoMWXYC1vSiD$;!TnrJ9fyP*s-02ICeHjOcJo6iAl3i3~4rc*+SAZ zB&5YMEn7-~a!W`)!j`ZEXnWf}z-=iBPss=L!k5~&rI2{h|9?RqvGBn zl8hwNic}PWC`yc=%A1UAub`L=nHuj01|-4kP);LcR$i|$xC$nhl++e`&6eWW%=Qhl zX02a3GgfRddy8vJN+uULjSNSD<-Ea*>g3ztydX(} zV#~RD>+WqEg0(B>R*Rxr;Btyei*oRW6WpR$J$GfTt<2M_a0HxA zUf`1aJ8%T7Aa1~Z_E}t(b@ctG59G0dAf`AhH5Ms_R*a!Ar7BL?LL4utKV3UvpK^mEbw*7#lS&g38dkQCqLY1=1W(y z14ji>6yQRc+B@2A_|B%a`O$?_OKsL1fw!Ak%3EM#SzCdZVkx7I7jmq&(y0rh@|sQG zxuMO$cNwHSLCBK~WwKlbdR-n*%;_w$`0Z93WW@6df}V1JzC&l{Q9>4*R`j|3QqT;U za=lf@{@wd|ZXX1WJ_t%!0pl(1i!&i9#y~fRnlT#mp3243i|TVEztK}*8LKAWY*MT7 zp=vZNMbW>?l7)s?a01hpnd!Zwef`aw*U8aE)5>gCmx(Q{E|s95DX}J()mAobQB+>H z`R4WQ{NYTA3hgi6m9Apd!&R~CJC^utZk@j+WYA8mV(sRh_3Z?Ud=21S9)xeJmFOgH zCH@a_VIpk?aF%`bOUoqF*33X8Sc5O?9E`od)cb=kFj`p|%qI6}ZX@m+iosvrW(A9~ zpsSf5sRy&eQmKQSmSZRq^y7E66TSTbv^v1cI$LguUkzm4QbgYI^o5hib99LCf zP4(n8fvTK2_k%tCBlm(c{cLRH=N)&FcMt&k-yjQdbYkSW%4=7Q=0?Ix7y|?b(mVge z5OR!qcdq8H`yX4HiO|#eN_)fZDnLSB&bsdQ?}OHf@!)04b}aZ)%~jL=^%*!nr6qxN z^-n9OsIHSeS6_on2E^^kEX+^pvCRXi15odB0)Kw+JBkd>G6x6W9N^|$_{#uT3)aA2 zIn4ipJ&dqJ(s;}$68uVHJMjbJ5b-0(1suIB{@i$q4~23$iU|M?#!?StH7q$r^^srF zKU|KpXV|4N6ex#>iQShL`=)?kJgR<4K`{pSsKtRX7P}m>+yPpXnI{@SSw-fwm704o zMUWA-=`)wL&0#c*%U?2M^5hv2zl+ff8&IJHB14MofZK$*6c*B^3zfh^TJU+dWFG$9 zEJFnn_T7w9tiOSJv`rDjmq!fZ%Z z;&m zOdK8tV@n1NUn54tuEa89_5x$gXH!Pf%78E9m|V;7D3H8Nwgmk?gV7(EJiE1G=8dh@ zdRI$re!1+_(OL$1)hg#woSBTcH0AN4*;iN9cFZaCge$|I{SJRP;GtG{LTuUQOFYwrI68r zOc(g+l#W>eXJvD=aB3_P3Q2B%Xfj-UigQ;v3(H+YaqKOY0$xC##^4Rvftqy4={*5R ziP*?Jfvry1I>kMK{BJih2a#rD@1-7XC97bcxH3#*kp3$bHI#A(j*r2qp%BP1aQa;A zgMtvT_+MQt;oeFflkATCXb)N~xzux?FV{SM zVG92;>8CahEfn+xc2Tq!=q!R@5i};A)iE>!|8y*G((o3IM&JyCFS1t*4EGWM)Lxp; z7jOqqMuar-Xv+E+N6F6pafCY>2yzs|4mE6OC+)GBa?`6m?P7nG`yPF{59BDF-yDz1jrzVlqx!8#FK(7$r*rXk>Z?4 zOF1Csj|WjEbqN-+7Eo%E6;KR7Q1xkqFV>pY<3cG%RasYjeOgnhqhp&@c>~0)+d8hB zv~FbYzP)>s>qZ7{faFPoHb@NqU_m`Mh5bOmgw9(b}&sy>4ZXq}&R2NIfgBE4^O%`=L$W zzEAlaUcY9W1wD;r+cnp*CX#&gQIbqv@qtoj(?{B5IUhfPDY6(H{!y1}GUe)^oCTjF zUzCuaK|g#SV-m}K*mLxo$fntHhcp4-2c@~jisRs@@H*}mN|Lb$iR#c>A^0YWF3taG z!3Bs}lFQB)D3<XMbI=TS}}q-3mHxQ*~at`XTa;3_Vp`(MB-N(~T#)(R_!vTp#4`ab%7N)0MV z6>%Y#0_yw4YY3N&_|hvp4#;i}4g{MMzDROcetlaMvjp&~Xj^^$q{W+Nwj`QoZdyD^ z*{Es@eUr$R{K&{hX|93FiRAkt)Uz$fx3FboR)nsac5~;Fyuo+VCD>rzlFpl_HSO8d z=1}TeTEIz1+onAi`c;MABsKH*0gNAE!Lg3x5wp^81!^)2{yc^SIIhS82myfGlyaRo zG6`V?M3j8+e#FNd^i3K%j-sLx36)F3(x5Qv>r{Z_b&$Rey9=aZ&Jebgy&{^8@b-^6 z#&RpKeRA9EsntXG@c&%3rG8*w$T^A$_YF{SsizBe|NQMu>tAo>HjSLH+4~Su+|YI7 zk>eEk8=>B!*s~twb%ZsQL86)1P5kgO9BQ^iJH~n1?J2cHEEdn;IW?s3YqgsNl8lLl zY!AlmSYH>FH8ofV4f#zp*w8o}ek9A8h-Orl67ikyiRF2rX|YmAU6YP?`b%b}SxV)7 z#SPvc`nPYW9tB;AW+d;n3=FiOSchh|ECryO<}OFx%FveLJvgbaft=)Ph!(tNl}+|M zyMbzazEgCHqDurLYm^t@)cwbGs%HmUkl5XvNHn8Rixwgy=b8q~AsY3=pTGEP`uE_5 zky+sS;UXl3(7#vqQ_m{hA%DyIg4p3(tuDwABwIcf_ zN?uGkIGd~-XxV)Bl}C59S^sM5eBkXt<>Q0*D`zed|Jt`&_o)i3kY2=;Q(1!8hrosf zF{-Yg>KuGCzV@D{e%<|j<%^F`?4HxK=k+gu`|t`{g=pYA(o5v!g)(;3Z(hZ+u7>n) z{XdFjO(D$+3U(Az?)0O-UiC1@{^4mKdoKA6{K##aRw~>8q`!asdZRiswYW9hv!p}|E-4ytyvlv)~LK#YqW zXMz}r3$t)cib=1mD9?@`kEtX?<=GiYO=ys@jxn#YCW}owT8y%7kQLqKgCRxMqz)~ot%@3Zao!3E8S>x9l!=jX&<&uCThXQVz)$3SRr)Oz* zASA_FJ3Y)rs4IR&H>pVN~_aS3FuU@0_|o8Vg&;5xX7ScN^c(yvubc?cvf$Y$F;E3x4dZ_2UF6G8nV z%jX2cXUb^{OTEl(LpJplUG>?W%YSz8yQ`+qlkb@Kkhe&)w=t*E*|n|4oTE>h1-*s* zKegBb*4syoh4*GJ7Vl&5atsW#N;T-{7OxI3+_>jK<$UM%+C0b6K%a)gMo=5Sx4~WM zybf7Gj|LJnwY}j%!LM3O7iOtCwj(4ImBqn6*@yx$T^RTHx5ODV_JIjZ9Q^7?FCIOl z;Ms&|zZ8f9;PS^!1k6DrNIBzZI2VGJn*v}@M=R{Pz=KTGV>Q857fp=uU<(yK?9no& zb%1-O0P70Wxxx$>EIb%|OMMA?vpP>)v)sl)8)*garDlj!EIV0O9(iS!^$a`(2ep2} zwDAOUY+B9-r;VFdr;V$`XTd6JxUivxun%cuoT14$+_$`S<21e7Wn*|3oG_$W@))H` zlNL`X8aVNUBDJPU$>@>HBrM|M;Vg7HtjTk!aD4D@Iu{(6C{A%?xy78COmOCqJf18elVu#ZY|04m*P+5r2L(3Ni{;wt6Tp&&JW?R}me=x{Q2~=u;tJ;1EH!V;L%10U1(+fT|`4gxAr3 zbi`m}7X*<@RoG=KERLl6AmrezD5f&1iu>>;JB8p=;fLOj)NctW#k&=mIha7AM*?n< z>InUVX9Iox>cPlI=o{>Xg0_9gn_M}myxa%sdwY8oxsPp!m7PFPvGB4C&W_xxoP=MT z>g|W}Orn>3GXd)R`jVA!vc5bpfW@wn1F-6|=x?lQ73BaO%lH`x7D+*xniOh+ip`vg zk6_fu(NXC#?Xyh*Ndw|s66q<1j?+uYuyQID8Co}d0r`=m4{8RZDv$&lA3&%I7ygne z1iL^U=c-~>AY~*j68-Bqk6q!b}0mc zMhZtzq`yX_LnRO@)q#WpV5U8N(T){n=rfQ4fpICFviN*7G zSCcw1SW|3t8c1f!hTc=>Zod1>k)9HUWpZnxB|a;HrCNH^+&s|IzVg(%wI^4$w}8C4 zH!U@}C4RyBtoZ&FO#w$6>8b3N74m z4I*N1&CrS(OXHF?1~aoDQSs^Lhhw-`jqTCWJ?6vv_wlPMC7 z73T!5XeCYVvgrX|eLP~KtsJj0(=;S&UPwt`Z2*|i?JfRQKfMh#)v2! zVfXQOKf5JRE%LfZ8e^&Rjy_@G#CU35GY0n*-=98c2 z((6qI2|T11?1CO$LH@qTBY6Nhud-TBpfpxS>j>ovg10o+Xt5YMBgg0%^fQvX0@k*^1Nj@qL5hdHu`9vuDzd0rCO+BQoYg0zCe$ayFW z)Zz?`hU~OHIA}kOUTY0z!WO9U;r^6rmXg#N7{`+*jqNZIEM#zGL(N_H|7__oP`kAo zIZqu>lHcuaK%vqN8)ADGExLz1)4f%B2f7G4MGXiT;7y`>`u3W` z9wQU|D3@`6OCmwHM|^$ZRJhmR8_Fr>kT0T$ee3U00MZKofsi$Kj_RNDi1}l_s`&Gb ztzvdn^}wG;kORr+&@mL;#Qy7O;*bopm4MU-qLMEO=9EQBHCxq8o>?Nh;7JasOYTBM zU)@q}WLO%rIyHuq$Mm&ZPL4M)o!o-$M^NZT1|(ItGAosT3L&DeBf2l+Yw$I0>yS80 z!j~yiVrr%(bRZNk6aB;J-xbY`<>kfZ78T8jdA+eYMe}wbJI<&9T$vdPjC}ajT9PH( z%k;+n>OC#Zd#aUBl~0)IUC-aOV8LC_r_~_I(|NFF*b;03x0IL2Xks2}Qu$%y9kojC zSE@mZ+`$FP&Pmbeq~wbO1DEmDI8Jzgm z^uo%}+3-89eF->Jec%6Bn?zFCB9u0JStDBsH^P)<7{-Xkz8iakLQ0m3kZh547Lj$t zlt{9Zu^UW;u`e-}ng7WBJn!|~@B2L0|9-D`uIrrNe1G5V^Zk6!b*}5oncq1jw6O}i zDfe_xTaqxMDY5es~hgA`ws1kK10q&P=c*VKDng0`mEUQX{%jA~DX z)2CJ4C7fb&_GVCSf7+?V)M90O{~W1 z)r`<>KuL)h?DO|+eYgzhF%4YjFS`&@q{&cyh@atve@K+7xWHgh{knx-!s#P6>8Bm~ z3K}Ih4j0!xmYXtRCURW;i+Nzi&d z?fvizY*;6w6IkV>oH3ny0e6G=>`gzoYR6^>l33c1=qoEbf0yZjEc{bhksl$uKiNe7 zaJ<}m-IJ(k40=Pp9BPJhf`OsX{(9}iYr~F5X>shHhHEFRs`4$HFnns##lEu2%*LsY zAvsYNM%E}Fof{$|tsmpf(=W+QGYS6anz=(dd^We}iMCjL!5qAF`X1twdT?VW{xYmK zzzF7gqoy?Hlk7m=;XD#4R(ez}3Wa*Mctrcf8Lcd0$SqDhE>)`2NBGV9W2u?A9PUE? z73+Hs=WpAr@m?UxLQY8>Z+E6VvX2kirdTpS)R;!Ij(}GCLWgMc5Nyz^sQyH9SGW=kb7UL;UUpl{76K9 z!e(DIDY7A8o2NLckwdbBzz zld9Y@wLE<5Fx%DM0l9GYfa`kYp-P&y&Ig(-l^xxFD0DR zi_~)s;zROczURm#HL->|R@H#?wnqRj6GvEB=nHkq6MZ)EoI;Gl*RMU(ptQU=uR*z~ zj8e^UGfA$a)t9j^3g7N1?tj4E>UM~;j&^E*9dcbcJM?`?ku%XV>Fuh_H{+MrY(flc zm=Foi#-%2QfI1&pH7^?gW~aVcFuKmj?|eYF1gC^>D0MqCU%A%k zK6^QFiMnC3iH_@>30hsin^dI>Dr=5WpB9k&S@plo)$SPWIg=xbO3SEe+rHOF;rR}>wtVmpSy~yk@tkYp9$q~2dW$!_?VTgLQR9%>=K~MRnBHvh zwY5xejEPnX%^GuYo7Sl4Mcz_hJjL_Vttr@WBUl`G2xfML?aqA>>>Cjtg`HzD%6Yg8 z-)?9tKe{C4&u3_q+kfgYutq2MZK;djsV^U`&esiJQdvJ*_vuZdThm>!WOBwlR$Scw zszD4`37ow^pY6s!wblxiJ9M;SY@JbHi!lf8LiH1-*ON;(=teCJF+Eb}fOUG3WCL^-}Y z1povN#hG6B9JzTi)YVh*f!mD-JcrMG18zJsA2-Zd?=ly;VfIW!`;v3+uSflvfzd-k zuBsgb8uOXPx;va+%nz!)GSnPgkp)inZh8wlR+b;zyvvJJk@^H?usCcZ1kBSUVD&QjhBKl`fAx9_U#u)Z` zCJifhzLR&pUR#%zwPC0qhu&4S-4P<0RpOfi<5mh{v$Wn0?4XeDah_gGg)e_lufRy&Df+L?q^u9->qA@=ZjiFw&3kY!pkC;90&QmX)tW=Crd}F4<*%+D@qxJHZo7hpfSbI@y zgy<_LF`?KEdv8-m`wXFPZ}qi&B@GW>EIr}2bfx+BDIHRdJ{Oy7gN4JJpmXa_-klh1 zN#}!dcL>g+fxhQkZSCB>edW`P3a%@XSO$a!aa~UiKh;xH>8_E|<@7sW_KwF)jEkoz z-7+%o(%Y7#3Rxaf+KI86uy+a2&rcg>s$zbj zN?|<1XfUmK?EQ#}v1@4_mhDwsM(&26|*O^=eZ}mm$iKVXV{WP-o7in7Z^s*YjXvr z>8oB`=C01NE`Qj3jE5!3Bs>GzXnaMuA-Rh=XjhWhuUltt9(bA3fH81!Gv1@7% z+s(-S7uukN=*WIfMMZgMJ@*j6Y^$LtIjx)-OFLXjR&uR~Dt0v#Xxm-%a`<)fnoOzE~HSCwllHx?D*vE7!>rG8YA^3&ai?DwpR!)L1}QBt3HjFdHAt}e7R8WOaso1z z0E63IgvY)gfFU^e@)f`_0DvBW{yEt1pP%e)@7dap+jZUbvbSy1lWegc2dwg;irLxu zBl-BKG)F*-mXi)^e%be&}v{1(~rhnP+rlasw1;dhw{fK@rdLO<7y zLOr2<{EaK23}Mlt#7f?sS3$pq^Ym`Lo4c9}%eL0$Vu?9<=B9IA=#GkGJL{vT{?&SR z9s03b5?9xT9lck!x7Rj3J@ECkNd#rDnYO#0FuRIa+m_GBtgpwbBmFl5k+}L0H5>1h z=6(XD!Y{bKHfUpUW21=g^k)hmmFP;N^hSHutKpNHOO~hl7S=XMv#XTOUipPE$~s5> zni5zhD`3@ilX7t$rZE)+Exmd1=UNM;Dsi|R)7>(4-={Ru3gM%cWxeo2C}X7KVihrK z)e4GE?Al<gK+1FnsHHgg2g55+4{uOT=O| z4Zg!^bs+y6kuS6YE7OmWaDcYwq6Tqxgg#YV+CRlPG%5(8UcByCz)$`9EWxcaE~Qu%vI{>{ieMHUcJ#Y2Gv=@AX*3Fs zsIUP068cnd5DZG0>~b24A@rsDRm5Y>$u9J0x?q%_f+G}@i|WIry~h%|`&^*ymSFOX zO9gh?>uy)0?LWn2G|CTA0RbBj`V?_PXw-SKivZM}(D%ZxA`Yuac4@&4>40DRRosKR z=c3wikTPs#cb@}P$`U+0<3g_kjdDj+Sb`0zq0S%5u!KKFS3;jUZU}=?AiD@d7YKc6 zeiaE=f3izEZb%ng>sR3bUC2d^;vny_zq|8VFmt&yOg!I!cz#? z3inj#bK%R1sMeXc&WN(gN-u#7`FJDqejaRY;&gY*_D};7(W9widDp7?nNivw7hNSs zMqGRTP_cwhEZQVG^t7lPsoG4FPckxxRO9>K79q+AJsecN3HPXyz$gueKv${JiG(v_ z$y@pTnQphV>*!jXq!<|!u2s8iasyJ{za8xeUBlPZ_53pF7BJ~ z`wt7NzyM0mWmsjKsP(i#@BKl=1TlpyCZuh_XM%iZ%EB6OlhUIJtLzfBo-sIq9Mnnh z%9V**hfAn6ysVe+O<7n625k3$V3prRt>+9(kb~w4UMQKk4Y;dXLq)xOf6BrJaC5uI z7FIcsd*`m|<8H_irJWupSmltY^@72Beq@t@YRa$dFLyE*YzJF6r$&J-l15ZuM-6&R&_B@I)~zZKKs6 z8Ce_ZJRoEBi%WVZ&l&GFtXsX1@@22gPxw|==2fArcZ3EcUVb@6Y8S{$?P-Knu859o z8Hk1reoOG0l4;+CU(;yFz{{_vNbLbrs6F3dl^dcX+XnVwgF^{k3o`9{@DPoLI=uW= ziWC*dOY8XotEA-iI{L*&`=KkmHe}kV@LG+AQM~+aiWCi)LhD(FRqlz7Pz^|7gWCyS zdot}b_>M-y9-bKhXAB1c^qD~p03b(pBmmA94r0(}2TcQjr?Z(E;K#$2k+SoF@@LDP&tXf`twTs9oU zsxJ?6U;?^lM>4@x!a;}hRYB8C7Ck?YB^=_yRDgi`H$e`}z_{#4X1IPh=&=4R&@?kJ zBb%88ekUBnrf&*zU;$#XBU#{(aL^HbYtS?cur8aK6>b*}V%NV1a$p6vXGgNaUBac1 za~py4eURavpEe1HV3>+74iTmB8ipH6;Uj=)R^TYWhbdJ+1i|!`!`37GZzuJW?%Lmy$t_M*`4?=yJ@{QMp6V_h~Tn^2r1r`eXtGF!$qKPBnv%Y)H5qs0Dx3cCn zgcg*PY`5KLD_-~-hTejmgyx-gj#PDGnCiHv$H(=sFViCrKn+712Oo~%2kT|J zy}HuAXfb>3kNB!*7OrmuG(7Gk5$Yeht^B?8? zN#_5L^4|7hHEF?{0Qvh^{!#0{dirnMw2|6V|L+2J%w7visG>st&p51pyCkPE=H!8i z`q!TQYaM@S=zmgJRLDf`|!f)Kt&F~Nc?SHL*SB6QM|NAJVht`fGaA>#Ihx+c|=bJx>u7D(U^iE=egl`9_TO zLJ%)8|Kd-szAy+m(!cqi;->zY=klLicKnX*v+W z6rayV(U=xGPTQjg@&C*Iz6*XI_~qzf)05-R%jPC@Tz-!Qp%Y9SgHy0x;p zj@Xz+P*y(6XxP}K!+b;hHm6s}x^*)fRYc@ge=}^o3?H_+I=WKUSyGajDU97Hlfmy% zQiSU%%PZ@Bof;o@(M0kFEtIl6)inESv=*;U%#s!shKbi~t&7dBQ+BplI*Gzr<6Eks zVKWHY@?zfxiL|q(@qHzt3d|XXRE3U?W!ex`t?|LQpnw1zGPt_BCWJOOI@-HI%Vw*@T?N2QVEergyE5t z_ghVSpEpPwqrH6vcscdz$w?}8l+<33FfvldFWe{(`w$%BN29I`sr$ z5G+CY6AOu_gD-?C_4Di8$&FXOSDTb?yB9yE&{rGgRA7CT5#P;aQ%*P^MU$C!F18sJ zA{#om$pH=AkapOD*vYlnnp>VnEsGxG?5coE+fhHDKacp8+1rUrHl@W>iF|%B_+UU{ zG8Z!>cO{J~2BsPBk>~R<+3_z5O*7LrVvsy`?O!X>I85x7c0TPMUdnB^0{-ebKAs$_ zn3AB8Q4qYkYB|>-_#B#HjmasJ+K$-1V=@ + + + + Package Manager + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + \ No newline at end of file diff --git a/shared/html/manager/appitem.css b/shared/html/manager/appitem.css new file mode 100644 index 0000000..229eff4 --- /dev/null +++ b/shared/html/manager/appitem.css @@ -0,0 +1,118 @@ +.appitem { + padding: 10px; + box-sizing: border-box; + height: 60px; + width: 450px; + max-width: 100%; + display: -ms-flexbox; + /* IE10 */ + display: flex; + -ms-flex-direction: row; + /* IE10 */ + flex-direction: row; + -ms-flex-wrap: nowrap; + /* IE10 */ + flex-wrap: nowrap; + -ms-flex-line-pack: start; + /* IE10 -> align-content */ + align-content: flex-start; + -ms-flex-pack: start; + /* IE10 -> justify-content */ + justify-content: flex-start; + transition: all 0.3s cubic-bezier(0.1, 0.9, 0.2, 1); +} + +.appitem:hover { + background-color: rgba(242, 242, 242, 1); +} + +.appitem:active { + transform: scale(0.9695); + -ms-transform: scale(0.9695); +} + +.appitem div[role=img] { + width: 40px; + height: 40px; + background-color: #464646; + display: -ms-flexbox; + /* IE10 */ + display: flex; + -ms-flex-direction: row; + /* IE10 */ + flex-direction: row; + -ms-flex-wrap: nowrap; + /* IE10 */ + flex-wrap: nowrap; + -ms-flex-pack: center; + /* IE10 -> justify-content */ + justify-content: center; + -ms-flex-align: center; + /* IE10 -> align-items */ + align-items: center; + -ms-flex-line-pack: center; + /* IE10 -> align-content */ + align-content: center; +} + +.appitem div[role=divide] { + width: 10px; + min-width: 10px; + height: 100%; +} + +.appitem div[role=excepticon] div[role=title] { + font-weight: normal; + flex: 1; + -ms-flex: 1; +} + +.appitem div[role=excepticon] { + -ms-flex: 1; + flex: 1; + display: -ms-flexbox; + /* IE10 */ + display: flex; + -ms-flex-direction: column; + /* IE10 */ + flex-direction: column; + -ms-flex-wrap: nowrap; + /* IE10 */ + flex-wrap: nowrap; + -ms-flex-line-pack: start; + /* IE10 -> align-content */ + align-content: flex-start; + -ms-flex-pack: start; + /* IE10 -> justify-content */ + justify-content: flex-start; +} + +.appitem div[role=excepticon] div[role=control] { + display: none; + /* IE10 */ + display: flex; + -ms-flex-direction: row-reverse; + /* IE10 */ + flex-direction: row-reverse; + -ms-flex-wrap: wrap; + /* IE10 */ + flex-wrap: wrap; + -ms-flex-line-pack: end; + /* IE10 -> align-content */ + align-content: flex-end; + -ms-flex-pack: start; + /* IE10 -> justify-content */ + justify-content: flex-start; + -ms-flex-align: center; + /* IE10 -> align-items */ + align-items: center; +} + +.appitem.selected { + height: 119px; +} + +.appitem.selected div[role=excepticon] div[role=control] { + display: flex; + display: -ms-flexbox; +} \ No newline at end of file diff --git a/shared/html/manager/page.css b/shared/html/manager/page.css new file mode 100644 index 0000000..adf4c16 --- /dev/null +++ b/shared/html/manager/page.css @@ -0,0 +1,318 @@ +body { + margin: 0; + width: 100%; + height: 100%; + -ms-overflow-style: -ms-autohiding-scrollbar; + user-select: none; + -ms-user-select: none; +} + +body * { + -ms-overflow-style: -ms-autohiding-scrollbar; +} + +*, +button, +input, +select, +textarea, +a, +label, +p, +span, +h1, +h2, +h3, +h4, +h5, +h6, +ul, +ol, +li, +dl, +dt, +dd, +table, +th, +td, +tr, +img, +iframe, +object, +embed, +audio, +video, +canvas, +form, +fieldset, +legend, +.win-type-x-large, +.win-type-xx-large, +.font-fixed { + font-family: "Microsoft YaHei", "Segoe UI", "Ebrima", "Nirmala", "Gadugi", "Segoe UI Emoji", "Segoe UI Symbol", "Meiryo", "Leelawadee", "Microsoft JhengHei", "Malgun Gothic", "Estrangelo Edessa", "Microsoft Himalaya", "Microsoft New Tai Lue", "Microsoft PhagsPa", "Microsoft Tai Le", "Microsoft Yi Baiti", "Mongolian Baiti", "MV Boli", "Myanmar Text", "Javanese Text", "Cambria Math"; +} + +.pagecontainer { + padding: 0px; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: hidden; + box-sizing: border-box; + margin: 0px; + padding: 0px; + border: 0px; + /* background-color: #f3f3f3; */ + background-color: white; +} + +.pagecontainer.full { + padding: 0px; + top: 0; + left: 0; + width: 100%; + height: 100%; + max-width: 100%; + max-height: 100%; +} + +.pagecontainer>.page { + position: relative; + overflow-x: hidden; + overflow-y: hidden; + box-sizing: border-box; + top: 0px; + left: 0px; + width: 100%; + height: 100%; +} + +.page>aside { + overflow-y: auto; + overflow-x: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + transition: all 0.3s cubic-bezier(0.1, 0.9, 0.2, 1); + background-color: rgba(34, 34, 34, 1); + position: absolute; + left: 0; + top: 0; + bottom: 0; + box-sizing: border-box; + width: 300px; +} + +.page.fold>aside { + width: 90px; +} + +.page>main { + overflow-x: hidden; + overflow-y: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + transition: all 0.3s cubic-bezier(0.1, 0.9, 0.2, 1); + position: absolute; + right: 0; + top: 0; + bottom: 0; + box-sizing: border-box; + left: 300px; +} + +.page.fold>main { + left: 90px; +} + +.page>aside hr { + margin-top: 9px; + margin-bottom: 9px; + width: calc(100% - 35px * 2); + border-color: rgba(100, 100, 100, 1); +} + +.page.fold>aside hr { + width: calc(100% - 10px * 2); +} + +aside>nav { + padding-top: 40px; + box-sizing: border-box; +} + +aside>nav ul { + margin: 0px; + padding: 0px; + box-sizing: border-box; +} + +aside>nav ul li { + width: 100%; + height: 50px; + box-sizing: border-box; + transition: all 0.3s cubic-bezier(0.1, 0.9, 0.2, 1); + font-size: 13pt; + padding: 0 35px; + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-content: center; + justify-content: flex-start; + align-items: center; + display: -ms-flexbox; + -ms-flex-direction: row; + -ms-flex-pack: start; + -ms-flex-align: center; +} + +.page.fold>aside>nav ul li { + padding: 0; +} + +aside>nav ul li div[role=img] { + height: 100%; + text-align: center; + font-family: 'Segoe UI Symbol', Symbols, 'Segoe Xbox Symbol', segxmvr, 'Segoe MDL2 Assets', 'Segoe Fluent Icons'; + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-content: center; + justify-content: center; + align-items: center; + display: -ms-flexbox; + -ms-flex-direction: row; + -ms-flex-wrap: none; + -ms-flex-pack: center; + -ms-flex-align: center; + -ms-flex-line-pack: center; + text-align: center; +} + +.page.fold>aside>nav ul li div[role=img] { + min-width: 90px; + width: 90px; +} + +.page.fold>aside>nav ul li span { + display: none; + opacity: 0; +} + +.page>aside>nav ul li span { + display: block; + opacity: 1; + text-overflow: ellipsis; + transition: all 0.3s cubic-bezier(0.1, 0.9, 0.2, 1); + white-space: nowrap; + /* 不换行 */ + overflow-x: hidden; + /* 超出隐藏 */ + overflow-y: hidden; +} + +.page>aside>nav ul li div[role=img] { + font-size: 15pt; + margin-right: 5px; +} + +.page>aside>nav ul li.title div[role=img] { + font-size: 13pt; + margin: 0; +} + +.page>aside>nav ul li.title { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + -ms-flex-wrap: nowrap; + -ms-flex-pack: start; + /* justify-content: flex-start */ + -ms-flex-align: center; + /* align-items: center */ + align-content: center; +} + +.page>aside>nav ul li.title span, +.page>aside>nav ul li.title div[role=placeholder] { + flex: 1; + -ms-flex: 1; +} + +.page.fold>aside>nav ul li.title div[role=placeholder] { + display: none; +} + +.page>aside>nav ul li:hover { + background-color: rgba(58, 58, 58, 1); + position: relative; +} + +.page.fold>aside>nav ul li:hover { + width: 300px; + padding: 0 30px; +} + +.page.fold>aside>nav ul li:hover div[role=img] { + min-width: 0; + width: auto; +} + +.page.fold>aside>nav ul li:hover span { + display: block; + opacity: 1; + padding: 0 30px; +} + +.page.fold>aside>nav ul li.title:hover { + width: 90px; + padding: 0; +} + +.page.fold>aside>nav ul li.title:hover div[role=img] { + min-width: 0; + width: 90px; +} + +.page.fold>aside>nav ul li.title:hover span { + display: none; + opacity: 0; +} + +.page>aside>nav ul li:active { + background-color: rgba(100, 100, 100, 1); +} + +.page.fold aside, +.page.fold aside>nav, +.page.fold aside>nav ul, +.page.fold aside>nav ul li { + overflow-x: visible; + overflow-y: visible; +} + +.main.padding { + padding: 44px 60px; +} + +.section { + width: 100%; + height: 100%; + box-sizing: border-box; + overflow-x: hidden; + overflow-y: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + position: absolute; + top: 0px; + left: 0px; + background-color: white; +} + +.section.padding { + padding: 44px 60px; +} + +.section.padding .bottom-compensate { + padding-bottom: 44px; +} \ No newline at end of file diff --git a/shared/html/settings/appinstaller/about.html b/shared/html/settings/appinstaller/about.html index eb1ce0d..d2f243a 100644 --- a/shared/html/settings/appinstaller/about.html +++ b/shared/html/settings/appinstaller/about.html @@ -86,6 +86,7 @@
  • WinJS
  • markdown.js
  • CodeMirror
  • +
  • Newtonsoft.Json