diff --git a/build/Stride.Launcher.sln b/build/Stride.Launcher.sln index a516ce76eb..0ce5644582 100644 --- a/build/Stride.Launcher.sln +++ b/build/Stride.Launcher.sln @@ -1,4 +1,4 @@ - + Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.28803.352 @@ -111,4 +111,4 @@ Global GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {04241BED-1662-4690-BA56-15C99A840CFE} EndGlobalSection -EndGlobal +EndGlobal \ No newline at end of file diff --git a/build/Stride.sln b/build/Stride.sln index 61e5960bf2..a19953c297 100644 --- a/build/Stride.sln +++ b/build/Stride.sln @@ -1636,4 +1636,4 @@ Global ..\sources\engine\Stride.Shared\Refactor\Stride.Refactor.projitems*{fb06c76a-6bb7-40be-9afa-fec13b045fb5}*SharedItemsImports = 5 ..\sources\assets\Stride.Core.Assets.Yaml\Stride.Core.Assets.Yaml.projitems*{fb9ed2c4-94a0-4004-a498-3f29a9d5bb5d}*SharedItemsImports = 13 EndGlobalSection -EndGlobal +EndGlobal \ No newline at end of file diff --git a/sources/Directory.Packages.props b/sources/Directory.Packages.props index bf288317db..c78e92429b 100644 --- a/sources/Directory.Packages.props +++ b/sources/Directory.Packages.props @@ -1,133 +1,134 @@ - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sources/core/Stride.Core.Design/Windows/AppHelper.cs b/sources/core/Stride.Core.Design/Windows/AppHelper.cs index 64f1c254e8..1b5ee3c962 100644 --- a/sources/core/Stride.Core.Design/Windows/AppHelper.cs +++ b/sources/core/Stride.Core.Design/Windows/AppHelper.cs @@ -7,6 +7,7 @@ using System.Text; using Stride.Core.Annotations; using Stride.Core.Extensions; +using System.Runtime.InteropServices; namespace Stride.Core.Windows { @@ -29,7 +30,7 @@ public static string BuildErrorMessage([NotNull] Exception exception, string hea } body.AppendLine($"Current Directory: {Environment.CurrentDirectory}"); body.AppendLine($"Command Line Args: {string.Join(" ", GetCommandLineArgs())}"); - body.AppendLine($"OS Version: {Environment.OSVersion} ({(Environment.Is64BitOperatingSystem ? "x64" : "x86")})"); + body.AppendLine($"OS Version: {RuntimeInformation.OSDescription} ({(Environment.Is64BitOperatingSystem ? "x64" : "x86")})"); body.AppendLine($"Processor Count: {Environment.ProcessorCount}"); body.AppendLine("Video configuration:"); WriteVideoConfig(body); @@ -83,7 +84,14 @@ public static void WriteVideoConfig(StringBuilder writer) public static Dictionary GetVideoConfig() { var result = new Dictionary(); + if(OperatingSystem.IsWindows()) + GetVideoConfigWindows(result); + return result; + } + + private static void GetVideoConfigWindows(Dictionary result) + { try { var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_VideoController"); @@ -103,8 +111,6 @@ public static Dictionary GetVideoConfig() { // ignored } - - return result; } } } diff --git a/sources/editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs b/sources/editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs index e896d83c0b..cfc70e3bb0 100644 --- a/sources/editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs +++ b/sources/editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs @@ -67,11 +67,6 @@ static EditorSettings() DisplayName = $"{Interface}/{Tr._p("Settings", "Ask before saving new scripts")}", Description = Tr._p("Settings", "Ask before saving new scripts"), }; - StoreCrashEmail = new SettingsKey("Interface/StoreCrashEmail", SettingsContainer, "") - { - DisplayName = $"{Interface}/{Tr._p("Settings", "Crash report e-mail")}", - Description = Tr._p("Settings", "Crash report e-mail"), - }; Language = new SettingsKey("Interface/Language", SettingsContainer, SupportedLanguage.MachineDefault) { DisplayName = $"{Interface}/{Tr._p("Settings", "Language")}", @@ -107,8 +102,6 @@ static EditorSettings() public static SettingsKey AskBeforeSavingNewScripts { get; } - public static SettingsKey StoreCrashEmail { get; } - public static SettingsKey Language { get; } public static SettingsCommand ResetEditorLayout { get; } diff --git a/sources/editor/Stride.Editor.CrashReport/CrashReportData.cs b/sources/editor/Stride.Editor.CrashReport/CrashReportData.cs index 754ae65002..3650a8ac84 100644 --- a/sources/editor/Stride.Editor.CrashReport/CrashReportData.cs +++ b/sources/editor/Stride.Editor.CrashReport/CrashReportData.cs @@ -1,54 +1,54 @@ -using System; +// Copyright (c) .NET Foundation and Contributors (https://dotnetfoundation.org/ & https://stride3d.net) and Silicon Studio Corp. (https://www.siliconstudio.co.jp) +// Distributed under the MIT license. See the LICENSE.md file in the project root for more information. + +using System.Text; using System.Collections.Generic; using System.Linq; -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Text; +namespace Stride.Editor.CrashReport; -namespace Stride.Editor.CrashReport +public class CrashReportData { - public class CrashReportData - { - public List> Data = new List>(); + public List<(string, string)> Data = []; - public string this[string key] + public string this[string key] + { + get { - get - { - return Data.Where(p => p.Item1 == key).FirstOrDefault(); - } - set - { - int num = -1; + return Data.FirstOrDefault(p => p.Item1 == key).Item2; + } + set + { + int num = -1; - foreach(var current in Data) - { - if (current.Item1 == key) - { - num = Data.IndexOf(current); - break; - } - } - if (num != -1) - { - Data[num] = Tuple.Create(key, value); - } - else + foreach(var current in Data) + { + if (current.Item1 == key) { - Data.Add(Tuple.Create(key, value)); + num = Data.IndexOf(current); + break; } } + if(value == null) + return; + if (num != -1) + { + Data[num] = (key, value); + } + else + { + Data.Add((key, value)); + } } + } - public override string ToString() + public override string ToString() + { + StringBuilder val = new(); + foreach (var current in Data) { - StringBuilder val = new StringBuilder(); - foreach (var current in Data) - { - val.Append(String.Concat(current.Item1, ": ", current.Item2, "\r\n")); - } - return val.ToString(); + val.Append(string.Concat(current.Item1, ": ", current.Item2, "\r\n")); } + return val.ToString(); } } \ No newline at end of file diff --git a/sources/editor/Stride.Editor.CrashReport/CrashReportForm.Designer.cs b/sources/editor/Stride.Editor.CrashReport/CrashReportForm.Designer.cs index 9d44819d5f..fbca23eeba 100644 --- a/sources/editor/Stride.Editor.CrashReport/CrashReportForm.Designer.cs +++ b/sources/editor/Stride.Editor.CrashReport/CrashReportForm.Designer.cs @@ -1,219 +1,121 @@ // Copyright (c) .NET Foundation and Contributors (https://dotnetfoundation.org/ & https://stride3d.net) and Silicon Studio Corp. (https://www.siliconstudio.co.jp) // Distributed under the MIT license. See the LICENSE.md file in the project root for more information. -namespace Stride.Editor.CrashReport -{ - partial class CrashReportForm - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; +using Modern.Forms; +using SkiaSharp; - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } +namespace Stride.Editor.CrashReport; - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CrashReportForm)); - this.textBoxEmail = new System.Windows.Forms.TextBox(); - this.labelEmail = new System.Windows.Forms.Label(); - this.buttonSend = new System.Windows.Forms.Button(); - this.buttonDontSend = new System.Windows.Forms.Button(); - this.textBoxLog = new System.Windows.Forms.TextBox(); - this.pictureBoxIcon = new System.Windows.Forms.PictureBox(); - this.labelDescription = new System.Windows.Forms.Label(); - this.buttonViewLog = new System.Windows.Forms.Button(); - this.labelMainContent = new System.Windows.Forms.Label(); - this.button1 = new System.Windows.Forms.Button(); - this.emailCheckbox = new System.Windows.Forms.CheckBox(); - this.textBoxDescription = new System.Windows.Forms.RichTextBox(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).BeginInit(); - this.SuspendLayout(); - // - // textBoxEmail - // - this.textBoxEmail.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxEmail.Location = new System.Drawing.Point(12, 237); - this.textBoxEmail.Name = "textBoxEmail"; - this.textBoxEmail.Size = new System.Drawing.Size(535, 19); - this.textBoxEmail.TabIndex = 1; - this.textBoxEmail.TextChanged += new System.EventHandler(this.TextBoxText_Changed); - // - // labelEmail - // - this.labelEmail.AutoSize = true; - this.labelEmail.Location = new System.Drawing.Point(12, 220); - this.labelEmail.Name = "labelEmail"; - this.labelEmail.Size = new System.Drawing.Size(87, 12); - this.labelEmail.TabIndex = 1; - this.labelEmail.Text = "Email: (optional)"; - // - // buttonSend - // - this.buttonSend.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonSend.Location = new System.Drawing.Point(472, 323); - this.buttonSend.Name = "buttonSend"; - this.buttonSend.Size = new System.Drawing.Size(75, 23); - this.buttonSend.TabIndex = 3; - this.buttonSend.Text = "Send"; - this.buttonSend.UseVisualStyleBackColor = true; - this.buttonSend.Click += new System.EventHandler(this.ButtonSend_Click); - // - // buttonDontSend - // - this.buttonDontSend.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonDontSend.Location = new System.Drawing.Point(391, 323); - this.buttonDontSend.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.buttonDontSend.Name = "buttonDontSend"; - this.buttonDontSend.Size = new System.Drawing.Size(75, 23); - this.buttonDontSend.TabIndex = 4; - this.buttonDontSend.Text = "Don\'t Send"; - this.buttonDontSend.UseVisualStyleBackColor = true; - this.buttonDontSend.Click += new System.EventHandler(this.ButtonDontSend_Click); - // - // textBoxLog - // - this.textBoxLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxLog.Location = new System.Drawing.Point(12, 358); - this.textBoxLog.Multiline = true; - this.textBoxLog.Name = "textBoxLog"; - this.textBoxLog.ReadOnly = true; - this.textBoxLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.textBoxLog.Size = new System.Drawing.Size(535, 162); - this.textBoxLog.TabIndex = 5; - // - // pictureBoxIcon - // - this.pictureBoxIcon.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxIcon.Image"))); - this.pictureBoxIcon.Location = new System.Drawing.Point(12, 11); - this.pictureBoxIcon.Name = "pictureBoxIcon"; - this.pictureBoxIcon.Size = new System.Drawing.Size(96, 89); - this.pictureBoxIcon.TabIndex = 6; - this.pictureBoxIcon.TabStop = false; - // - // labelDescription - // - this.labelDescription.AutoSize = true; - this.labelDescription.Location = new System.Drawing.Point(9, 109); - this.labelDescription.Name = "labelDescription"; - this.labelDescription.Size = new System.Drawing.Size(372, 12); - this.labelDescription.TabIndex = 7; - this.labelDescription.Text = "If you have time, please describe what you were doing during the crash:"; - // - // buttonViewLog - // - this.buttonViewLog.Location = new System.Drawing.Point(13, 322); - this.buttonViewLog.Name = "buttonViewLog"; - this.buttonViewLog.Size = new System.Drawing.Size(75, 23); - this.buttonViewLog.TabIndex = 5; - this.buttonViewLog.Text = "View report"; - this.buttonViewLog.UseVisualStyleBackColor = true; - this.buttonViewLog.Click += new System.EventHandler(this.ButtonViewLog_Click); - // - // labelMainContent - // - this.labelMainContent.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.labelMainContent.Location = new System.Drawing.Point(114, 11); - this.labelMainContent.Name = "labelMainContent"; - this.labelMainContent.Size = new System.Drawing.Size(433, 89); - this.labelMainContent.TabIndex = 9; - this.labelMainContent.Text = resources.GetString("labelMainContent.Text"); - this.labelMainContent.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // button1 - // - this.button1.Location = new System.Drawing.Point(94, 322); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(75, 23); - this.button1.TabIndex = 6; - this.button1.Text = "Copy report"; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.button1_Click); - // - // emailCheckbox - // - this.emailCheckbox.Location = new System.Drawing.Point(11, 263); - this.emailCheckbox.Name = "emailCheckbox"; - this.emailCheckbox.Size = new System.Drawing.Size(158, 20); - this.emailCheckbox.TabIndex = 2; - this.emailCheckbox.Text = "Remember my Email"; - this.emailCheckbox.UseVisualStyleBackColor = true; - // - // textBoxDescription - // - this.textBoxDescription.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxDescription.Location = new System.Drawing.Point(12, 126); - this.textBoxDescription.Name = "textBoxDescription"; - this.textBoxDescription.Size = new System.Drawing.Size(535, 91); - this.textBoxDescription.TabIndex = 0; - this.textBoxDescription.Text = ""; - this.textBoxDescription.TextChanged += new System.EventHandler(this.TextBoxText_Changed); - // - // CrashReportForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); - this.AcceptButton = this.buttonSend; - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(559, 532); - this.CancelButton = this.buttonDontSend; - this.Controls.Add(this.textBoxDescription); - this.Controls.Add(this.emailCheckbox); - this.Controls.Add(this.button1); - this.Controls.Add(this.labelMainContent); - this.Controls.Add(this.buttonViewLog); - this.Controls.Add(this.labelDescription); - this.Controls.Add(this.pictureBoxIcon); - this.Controls.Add(this.textBoxLog); - this.Controls.Add(this.buttonDontSend); - this.Controls.Add(this.buttonSend); - this.Controls.Add(this.labelEmail); - this.Controls.Add(this.textBoxEmail); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Name = "CrashReportForm"; - this.Text = "Report your crash"; - this.TopMost = true; - this.Load += new System.EventHandler(this.CrashReportForm_Load); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); +partial class CrashReportForm +{ + #region Windows Form Designer generated code - } + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + var resources = new System.ComponentModel.ComponentResourceManager(typeof(CrashReportForm)); + var pictureimage = System.Convert.FromBase64String(resources.GetObject("pictureBoxIcon.Image").ToString()); + var icon = System.Convert.FromBase64String(resources.GetObject("$this.Icon").ToString()); + // + // openGithubBtn + // + this.openGithubBtn.Anchor = ((Modern.Forms.AnchorStyles)((Modern.Forms.AnchorStyles.Top | Modern.Forms.AnchorStyles.Right))); + this.openGithubBtn.Location = new System.Drawing.Point(447, 175); + this.openGithubBtn.Name = "openGithubBtn"; + this.openGithubBtn.Size = new System.Drawing.Size(100, 37); + this.openGithubBtn.TabIndex = 3; + this.openGithubBtn.Text = "Open Github Issues"; + this.openGithubBtn.Click += new(this.OpenGithub_Click); + // + // saveReportFileBtn + // + this.saveReportFileBtn.Anchor = ((Modern.Forms.AnchorStyles)((Modern.Forms.AnchorStyles.Top | Modern.Forms.AnchorStyles.Right))); + this.saveReportFileBtn.Location = new System.Drawing.Point(225, 180); + this.saveReportFileBtn.Name = "saveReportFileBtn"; + this.saveReportFileBtn.Size = new System.Drawing.Size(100, 23); + this.saveReportFileBtn.TabIndex = 3; + this.saveReportFileBtn.Text = "Save report"; + this.saveReportFileBtn.Click += new(this.SaveReport_Click); + // + // textBoxLog + // + this.textBoxLog.Anchor = ((Modern.Forms.AnchorStyles)((((Modern.Forms.AnchorStyles.Top | Modern.Forms.AnchorStyles.Bottom) + | Modern.Forms.AnchorStyles.Left) + | Modern.Forms.AnchorStyles.Right))); + this.textBoxLog.Location = new System.Drawing.Point(12, 230); + this.textBoxLog.MultiLine = true; + this.textBoxLog.Name = "textBoxLog"; + this.textBoxLog.ReadOnly = true; + this.textBoxLog.ScrollBars = Modern.Forms.ScrollBars.Vertical; + this.textBoxLog.Size = new System.Drawing.Size(535, 290); + this.textBoxLog.TabIndex = 5; + // + // pictureBoxIcon + // + this.pictureBoxIcon.Image = SKBitmap.Decode(pictureimage); + this.pictureBoxIcon.Location = new System.Drawing.Point(12, 45); + this.pictureBoxIcon.Name = "pictureBoxIcon"; + this.pictureBoxIcon.Size = new System.Drawing.Size(96, 89); + this.pictureBoxIcon.TabIndex = 6; + this.pictureBoxIcon.TabStop = false; + // + // buttonViewLog + // + this.buttonViewLog.Location = new System.Drawing.Point(13, 180); + this.buttonViewLog.Name = "buttonViewLog"; + this.buttonViewLog.Size = new System.Drawing.Size(100, 23); + this.buttonViewLog.TabIndex = 5; + this.buttonViewLog.Text = "View report"; + this.buttonViewLog.Click += new(this.ButtonViewLog_Click); + // + // labelMainContent + // + this.labelMainContent.Anchor = ((Modern.Forms.AnchorStyles)(((Modern.Forms.AnchorStyles.Top | Modern.Forms.AnchorStyles.Left) + | Modern.Forms.AnchorStyles.Right))); + this.labelMainContent.Location = new System.Drawing.Point(114, 30); + this.labelMainContent.Name = "labelMainContent"; + this.labelMainContent.Size = new System.Drawing.Size(433, 125); + this.labelMainContent.TabIndex = 9; + this.labelMainContent.Multiline=true; + this.labelMainContent.Text = resources.GetString("labelMainContent.Text"); + this.labelMainContent.TextAlign = Modern.Forms.ContentAlignment.MiddleLeft; + // + // copyReportBtn + // + this.copyReportBtn.Location = new System.Drawing.Point(119, 180); + this.copyReportBtn.Name = "copyReportBtn"; + this.copyReportBtn.Size = new System.Drawing.Size(100, 23); + this.copyReportBtn.TabIndex = 6; + this.copyReportBtn.Text = "Copy report"; + this.copyReportBtn.Click += new(this.copyReportBtn_Click); + // + // CrashReportForm + // + this.AllowMaximize=false; + this.Resizeable=false; + this.Size = new System.Drawing.Size(559, 532); + this.Controls.Add(this.copyReportBtn); + this.Controls.Add(this.labelMainContent); + this.Controls.Add(this.buttonViewLog); + this.Controls.Add(this.pictureBoxIcon); + this.Controls.Add(this.textBoxLog); + this.Controls.Add(this.openGithubBtn); + this.Controls.Add(this.saveReportFileBtn); + this.Image = SKBitmap.Decode(icon).Resize(new SKSizeI(24,24),SKFilterQuality.High); + this.TitleBar.Text = "CrashReportForm"; + this.Text = "Report your crash"; + this.Shown += this.CrashReportForm_Load; + } - #endregion + #endregion - private System.Windows.Forms.TextBox textBoxEmail; - private System.Windows.Forms.Label labelEmail; - private System.Windows.Forms.Button buttonSend; - private System.Windows.Forms.Button buttonDontSend; - private System.Windows.Forms.TextBox textBoxLog; - private System.Windows.Forms.PictureBox pictureBoxIcon; - private System.Windows.Forms.Label labelDescription; - private System.Windows.Forms.Button buttonViewLog; - private System.Windows.Forms.Label labelMainContent; - private System.Windows.Forms.Button button1; - private System.Windows.Forms.CheckBox emailCheckbox; - private System.Windows.Forms.RichTextBox textBoxDescription; - } + private Modern.Forms.Button openGithubBtn = new(); + private Modern.Forms.TextBox textBoxLog = new(); + private Modern.Forms.PictureBox pictureBoxIcon = new(); + private Modern.Forms.Button buttonViewLog = new(); + private Modern.Forms.Button saveReportFileBtn = new(); + private Modern.Forms.Label labelMainContent = new(); + private Modern.Forms.Button copyReportBtn = new(); } diff --git a/sources/editor/Stride.Editor.CrashReport/CrashReportForm.cs b/sources/editor/Stride.Editor.CrashReport/CrashReportForm.cs index 942bd96efb..4e679167d5 100644 --- a/sources/editor/Stride.Editor.CrashReport/CrashReportForm.cs +++ b/sources/editor/Stride.Editor.CrashReport/CrashReportForm.cs @@ -1,135 +1,92 @@ // Copyright (c) .NET Foundation and Contributors (https://dotnetfoundation.org/ & https://stride3d.net) and Silicon Studio Corp. (https://www.siliconstudio.co.jp) // Distributed under the MIT license. See the LICENSE.md file in the project root for more information. -using System; -using System.Diagnostics; using System.Drawing; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace Stride.Editor.CrashReport -{ - public partial class CrashReportForm : Form - { - private readonly CrashReportData currentData; - private int initialHeight; - private bool expanded; +using System; +using System.IO; +using Modern.Forms; - private readonly ICrashEmailSetting settings; +namespace Stride.Editor.CrashReport; - public CrashReportForm(CrashReportData crashReport, ICrashEmailSetting storeCrashEmailSetting) - { - settings = storeCrashEmailSetting; - currentData = crashReport; - InitializeComponent(); - textBoxLog.Text = crashReport.ToString(); - if (settings == null) - { - emailCheckbox.Visible = false; - } - else - { - textBoxEmail.Text = settings == null ? "" : settings.StoreCrashEmail ? settings.Email : ""; - if (!string.IsNullOrEmpty(textBoxEmail.Text)) - { - emailCheckbox.Checked = true; - } - } - } +public partial class CrashReportForm : Form +{ + private readonly CrashReportData currentData; + private int initialHeight; + private bool expanded; - public bool Expanded { get { return expanded; } set { expanded = value; RefreshSize(); } } + public CrashReportForm(CrashReportData crashReport) + { + currentData = crashReport; + InitializeComponent(); + textBoxLog.Text = crashReport.ToString(); + } + public void Run() + { + Application.Run(this); + } - private void RefreshSize() - { - if (!Expanded) - { - ClientSize = new Size(ClientSize.Width, textBoxLog.Top); - buttonViewLog.Text = @"View report"; - } - else - { - ClientSize = new Size(ClientSize.Width, initialHeight); - buttonViewLog.Text = @"Hide report"; - } - } + public bool Expanded { get { return expanded; } set { expanded = value; RefreshSize(); } } - private void RefreshReport() + private void RefreshSize() + { + if (!Expanded) { - currentData["UserEmail"] = textBoxEmail.Text ?? ""; - currentData["UserMessage"] = textBoxDescription.Text ?? ""; - textBoxLog.Text = currentData.ToString(); + Size = new Size(Size.Width, textBoxLog.Top); + buttonViewLog.Text = @"View report"; } - - private void CrashReportForm_Load(object sender, EventArgs e) + else { - initialHeight = ClientSize.Height; - Expanded = false; + Size = new Size(Size.Width, initialHeight); + buttonViewLog.Text = @"Hide report"; } + } - private void ButtonSend_Click(object sender, EventArgs e) - { - if (emailCheckbox.Checked) - { - settings.StoreCrashEmail = true; - settings.Email = textBoxEmail.Text; - settings.Save(); - } - else - { - settings.StoreCrashEmail = false; - settings.Email = ""; - settings.Save(); - } - - RefreshReport(); - MailReport(currentData); + private void RefreshReport() + { + textBoxLog.Text = currentData.ToString(); + } - DialogResult = DialogResult.Yes; + private void CrashReportForm_Load(object sender, EventArgs e) + { + initialHeight = Size.Height; + Expanded = false; + } - Close(); + private void OpenGithub_Click(object sender, EventArgs e) + { + RefreshReport(); + try{ + CrashReporter.OpenGithub(); } - - private void ButtonDontSend_Click(object sender, EventArgs e) - { - DialogResult = DialogResult.No; - - Close(); + catch{ + var mb = new MessageBoxForm("Error", "Failed to open browser"); + mb.Show(); } + } - private void ButtonViewLog_Click(object sender, EventArgs e) - { - Expanded = !Expanded; - } + private void ButtonViewLog_Click(object sender, EventArgs e) + { + Expanded = !Expanded; + } - private void TextBoxText_Changed(object sender, EventArgs e) - { - RefreshReport(); - } + private void TextBoxText_Changed(object sender, EventArgs e) + { + RefreshReport(); + } - private void button1_Click(object sender, EventArgs e) - { - RefreshReport(); - Clipboard.SetText(currentData.ToString()); - } + private async void copyReportBtn_Click(object sender, EventArgs e) + { + RefreshReport(); + await Clipboard.SetTextAsync(currentData.ToString()); + } + private async void SaveReport_Click(object sender, EventArgs e) + { + RefreshReport(); - private static void MailReport(CrashReportData report) + var fileDialog = new SaveFileDialog(); + var result = await fileDialog.ShowDialog(this); + if (result == DialogResult.OK && fileDialog.FileName != null) { - var task = Task.Run(() => - { - try - { - CrashReporter.Report(report); - return true; - } - catch (Exception) - { - return false; - } - }); - var result = task.Result; - if (!result) - { - MessageBox.Show(@"An error occurred while sending the report. Unable to contact the server.", @"Stride", MessageBoxButtons.OK, MessageBoxIcon.Error); - } + await File.WriteAllTextAsync(fileDialog.FileName, currentData.ToString()); } } } diff --git a/sources/editor/Stride.Editor.CrashReport/CrashReportForm.resx b/sources/editor/Stride.Editor.CrashReport/CrashReportForm.resx index 15cf2cdaa2..0f78c2679b 100644 --- a/sources/editor/Stride.Editor.CrashReport/CrashReportForm.resx +++ b/sources/editor/Stride.Editor.CrashReport/CrashReportForm.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADdQAAA3 UAe+RuhUAAAmXSURBVHhe7ZxbbBxXHcbnzOwuCheRUiEKKuDwgBClrVM1jmkB2VAeuIg0gqrIsZqNEJcHkB2QQKIPdiRA4gHiSCABqohD @@ -154,11 +154,9 @@ - Unfortunately, Game Studio has crashed. Please help us improve Stride by sending information about this crash. - -If you'd like to allow us to ask some questions about the crash, please enter your email (optional, we will never send you an email for any other reason) + Unfortunately, Game Studio has crashed. Please help us improve Stride by sending information about this crash through Github Issues. - + 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AAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgAAAAAAAAAAAAAAAAAAAAAAAAADAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFAAAAAAAAAAAAAAAAAAAABgEBAQEBAQEBAQEBAQEBAQEGAQEBAQEBAQEBAQEBAQEBAQcAAAAAAAAAAAAAAAcBAQEBAQEBAQEBAQEBAQEBBAAAAAUBAQEBAQEBAQEBAQEBAQECAAAAAAAAAAAAAAADAQEBAQEBAQEBAQEBAQMAAAAAAAAAAwEBAQEBAQEBAQEBAQMAAAAAAAAAAAAAAAAAAAIBAQEBAQEBAQEBCgAAAAAAAAAAAAsCAQEBAQEBAQEDAAAAAAAAAAAAAAAAAAAAAAALAgEBAQEBAQYAAAAACQAAAAkAAAAABgEBAQEBAQkAAAAABwAAAAAAAAAAAAAAAAAAAAUBAQEDAAAAAAADAQAAAAECAAAAAAAEAQEGAAAAAAABAQAAAAAAAAAAAAAAAAAAAAAABQoAAAAAAwEBAQAAAAEBAQUAAAAAAAAAAAAAAwEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAcBAQEBAQAAAAEBAQEBBwAAAAAAAAMBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAwEBAQEBAQAAAAEBAQEBAQIAAAAAAAUBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAMBAQEBAQEBAQAAAAEBAQEBAQEBAwAAAAAAAgEBAQAAAAAAAAAAAAAAAAAAAAAHAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEFAAAAAAsBAQAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQAAAAAABQAAAAAAAAAAAAAAAAADAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQECAAAAAAAAAAAAAAAAAAAABQEBAQEBAQEBAQEBAQEBAwAAAAMBAQEBAQEBAQEBAQEBAQUAAAAAAAAAAAAAAAcBAQEBAQEBAQEBAQEBAQEKAAAAAAALAgEBAQEBAQEBAQEBAQMAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBCAAAAAAAAAAAAAUBAQEBAQEBAQEBCQAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQMAAAAAAAMBAgAAAAAAAwEBAQEBAQYAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQECCgAAAAADAQEBAQEFAAAAAAsCAQEDAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQgAAAAABwEBAQEBAQEBAQcAAAAACAoAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEDAAAAAAADAQEBAQEBAQEBAQECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAwAAAAAAAwEBAQEBAQEBAQEBAQEBAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEIAAAAAAcBAQEBAQEBAQEBAQEBAQEBAQEBBQAAAAAAAAAAAAAAAAAAAAAAAAEBBAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwAAAAAAAAAAAAAAAAAAAAAAAAAGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFAAAAAAAAAAAAAAAAAAAACQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAAAAAAAAAAAAAAAAAAUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEJAAAAAAAAAAAAAAAAAAAAAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBgAAAAAAAAAAAAAAAAAAAAAAAAsCAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQEBAQEBAQEBAQEBAQEBAQEBAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwIBAQEBAQEBAQEBAQEBAQEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAQEBAQEBAQEBAQEBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUBAQEBAQEBAQEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AQEBAQEBAQEJAAAGAQEBAQEBAQEBAgAAAAAAAAAABgEBAQEBAQEDAAAAAAAAAwEBAQEBAQMAAAAAAAAAAAAAAAMBAQEDCwAAAAAAAAAADAIBAQILAAAAAAAAAAAAAAAAAAwCCQAAAAgBAAABBgAAAAkJAAAACAEAAAAAAAAAAAAAAAAAAAABAQEAAAEBAgAAAAAAAAEBAQAAAAAAAAAAAAAAAAADAQEBAQAAAQEBAQMAAAAAAgEBAAAAAAAAAAAAAAAFAQEBAQEBAAABAQEBAQEGAAAACgEAAAAAAAAAAAAIAQEBAQEBAQEAAAEBAQEBAQEBCgAAAAAAAAAAAAAAAwEBAQEBAQEBAwAAAwEBAQEBAQEBAgAAAAAAAAAAAwEBAQEBAQEBAQsAAAAADAIBAQEBAQEBCwAAAAAAAAABAQEBAQEBAQkAAAAICgAAAAYBAQEBCQAAAAAAAAAAAAEBAQEBAQMAAAAAAwEBAgAAAAADAwAAAAAAAAAAAAAAAQEBAQMAAAAAAwEBAQEBAQQAAAAAAAAAAAAAAAAAAAABAQEJAAAACAEBAQEBAQEBAQEHAAAAAAAAAAAAAAAAAAEDAAAAAAEBAQEBAQEBAQEBAQECAAAAAAAAAAAAAAAAAAAAAAMBAQEBAQEBAQEBAQEBAQEBAwAAAAAAAAAAAAAAAAYBAQEBAQEBAQEBAQEBAQEBAQEBAQYAAAAAAAAAAAAGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAgEBAQEBAQEBAQEBAQEBAQEBAQEDAAAAAAAAAAAAAAAACgEBAQEBAQEBAQEBAQEBAQEBCQAAAAAAAAAAAAAAAAAAAAYBAQEBAQEBAQEBAQEBAwAAAAAAAAAAAAAAAAAAAAAAAAADAQEBAQEBAQEBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAgEBAQEBAQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgEBAQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAD//n////w////wD///wAP//4AB//4AAH/4AAAf4AGAD/AH4B/8D/A//jmc5//xj8f/wYPH/wGA5/wBgD/4AYAf4APAD+AOcD/gPDz/4PAP/+HAA//ngAH//gAAf/gAAB/wAAAP/AAAH/4A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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaNfxgWjP731s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/WDP7n08v/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFcv/yBYM/2fWzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9XNffvWjT8fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVy//IFk1/Y9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9aM/vfWTT+PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWjX8YFoz+99bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9ZNfy/Vy/3IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXL/8gWjP731s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1c19+9aNPx/Ty//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFcv/yBYM/2fWzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1c19+9bNfxfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFw2/H9XNffvWzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWzb8/1s2/P9bNvz/Wzb8/1s2/P9bM/vfWjX5MAAAAAAAAAAAAAAAAFcv/yBYM/2fWzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1c19+9aNPx/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFs2/P9bNvz/Wzb8/1sz+99bNfxfAAAAAAAAAAAAAAAAAAAAAFo1/GBaM/vfWzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1oz+99ZNP4/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbNvz/Wzb8/1k1/Y9fN/cgAAAAAAAAAAAAAAAAXTj+P1oz+99bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1k1/L9XL/cgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWjT8r1839yAAAAAAAAAAAAAAAABXL/8gWDP9n1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/VzX371o0/H9PL/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcNvx/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/WjP731k2+1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFo1/GBaM/vfWzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/WTX8v1ov+TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFs3+0BXNffvWzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/WTX9j08v/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXzf/IFk1/L9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2+59fN/cgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWzf7QFsz+99bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/WzP731s1/F8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWzT6cFc19+9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9XNffvWTP7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfP/8QXDX7kFs2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvufXzf3IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbN/tAWTX8v1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1sz+99fN/cgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaNfxgVzX371s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/WzP731s1/F8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF8//xBbNfuAWzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/WTX9j1839yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF83/yBZNfy/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9aNPyvXzf3IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFs3+0BbM/vfWzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1sz+99bNfxfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXz//EFs1+4BXNffvWzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1kz+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXzf/IFo0/K9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb7n1839yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWzf7QFs2/M9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bM/vfVzP7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWzT6cFc19+9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1sz+99bNfxfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfP/8QXDX7kFs2/P9bNvz/Wzb8/1s2+59fN/cgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbN/tAWjT8r1839yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////4/////////+A/////////gB////////8AB////////AAB///////wAAD//////+AAAD//////gAAAD/////4AAAAH////+AAAAAH////wAAAAAH///8AAAAAAH///AAAAAAAP//4AAAAAAAP/+AAAAAAAAP/gAAAGAAAAf/AAAA+AAAD/+AAAP+AAA//+AADycAAOf/+AAcIcADx//+AHAgcAcH//+BwCA8HAf//8OAIA54B////gAgA+AH///4ACAA4Af///AAIABwB///wAAgABwH//8AACAABwf//gAAIAADx//4AAAgAADn/+AAACAAAD//gAAAIAAAH/8AAAD4AAAP/wAAA9wAAD//AAAHBwAA//8AABwBwAH//wAAeADgB///AADgADgf//8AA4AADj///wAOAAAH////ADwAAAH///8AcAAAAH///wHAAAAAP///B4AAAAAP//8OAAAAAAP//zgAAAAAAP//8AAAAAAAf//AAAAAAAAf/4AAAAAAAAf/wAAAAAAAB//wAAAAAAAf//wAAAAAAH///gAAAAAA////gAAAAAP////gAAAAD/////AAAAAf/////AAAAH//////AAAB//////+AAAf//////+AAD///////+AA////////+AP////////8B/////////8f////KAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVy//IFo2/H9PL/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcNvx/Wzb8/1s2/P9XNffvWjT8fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWjX8YFoz+99bNvz/Wzb8/1s2/P9bNvz/Wzb8/1oz+99ZNP4/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFcv/yBZNfy/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/WTX8v1cv9yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXL/8gWDP9n1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1c19+9aNPx/Ty//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9aM/vfWTT+PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVy//IFo0/K9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1k1/L9XL/cgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFcv/yBZNf2PWzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/WjT8f08v/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFo1/GBbNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1c19+9ZNvtQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfN/8gWTX8v1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1k1/Y9fN/cgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFs3+0BbM/vfWzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9aNPyvXzf3IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfP/8QWzX7gFc19+9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/WzP731s1/F8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF83/yBZNfy/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9ZM/uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWzf7QFsz+99bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb7n1839yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbNfuAVzX371s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1sz+99aM/5PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXz//EFs2/Z9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bM/vfWDT6cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbN/tAWTX8v1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2/P9bNvz/Wzb8/1s2+59fN/cgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFs0+nBXNffvWzb8/1s2/P9bNvz/Wzb8/1s2/P9bM/vfXzf3IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfP/8QXDX7kFs2/P9bNvz/WzP731s1/F8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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 diff --git a/sources/editor/Stride.Editor.CrashReport/CrashReporter.cs b/sources/editor/Stride.Editor.CrashReport/CrashReporter.cs index a05753ebaf..8476659bc0 100644 --- a/sources/editor/Stride.Editor.CrashReport/CrashReporter.cs +++ b/sources/editor/Stride.Editor.CrashReport/CrashReporter.cs @@ -1,16 +1,18 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; +// Copyright (c) .NET Foundation and Contributors (https://dotnetfoundation.org/ & https://stride3d.net) +// Distributed under the MIT license. See the LICENSE.md file in the project root for more information. +using System.Diagnostics; -namespace Stride.Editor.CrashReport +namespace Stride.Editor.CrashReport; + +internal static class CrashReporter { - public static class CrashReporter + internal static void OpenGithub() { - ///Todo: We could send report as issue to Github repo - public static Task Report(CrashReportData data) - { - return Task.CompletedTask; - } + string url = "https://github.com/stride3d/stride/issues/new?labels=bug&template=bug_report.md&"; + + Process browser = new(); + browser.StartInfo.UseShellExecute = true; + browser.StartInfo.FileName = url; + browser.Start(); } } \ No newline at end of file diff --git a/sources/editor/Stride.Editor.CrashReport/ICrashEmailSetting.cs b/sources/editor/Stride.Editor.CrashReport/ICrashEmailSetting.cs deleted file mode 100644 index 39e47aa7c3..0000000000 --- a/sources/editor/Stride.Editor.CrashReport/ICrashEmailSetting.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors (https://dotnetfoundation.org/ & https://stride3d.net) and Silicon Studio Corp. (https://www.siliconstudio.co.jp) -// Distributed under the MIT license. See the LICENSE.md file in the project root for more information. -namespace Stride.Editor.CrashReport -{ - public interface ICrashEmailSetting - { - bool StoreCrashEmail { get; set; } - - string Email { get; set; } - - void Save(); - } -} diff --git a/sources/editor/Stride.Editor.CrashReport/Stride.Editor.CrashReport.projitems b/sources/editor/Stride.Editor.CrashReport/Stride.Editor.CrashReport.projitems index 8bececf694..82b7c328d5 100644 --- a/sources/editor/Stride.Editor.CrashReport/Stride.Editor.CrashReport.projitems +++ b/sources/editor/Stride.Editor.CrashReport/Stride.Editor.CrashReport.projitems @@ -1,4 +1,3 @@ - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) @@ -10,11 +9,11 @@ - CrashReportForm.cs - + + diff --git a/sources/editor/Stride.Editor.CrashReport/Stride.Editor.CrashReport.shproj b/sources/editor/Stride.Editor.CrashReport/Stride.Editor.CrashReport.shproj index e964e2a30c..93c672ede9 100644 --- a/sources/editor/Stride.Editor.CrashReport/Stride.Editor.CrashReport.shproj +++ b/sources/editor/Stride.Editor.CrashReport/Stride.Editor.CrashReport.shproj @@ -1,8 +1,6 @@ - ab574f65-1402-4476-9314-74dcdaf19097 - WindowsTools @@ -10,4 +8,4 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/sources/editor/Stride.GameStudio/Helpers/CrashReportHelper.cs b/sources/editor/Stride.GameStudio/Helpers/CrashReportHelper.cs index e0185d8e59..a68d55cd3d 100644 --- a/sources/editor/Stride.GameStudio/Helpers/CrashReportHelper.cs +++ b/sources/editor/Stride.GameStudio/Helpers/CrashReportHelper.cs @@ -21,30 +21,12 @@ using DialogResult = System.Windows.Forms.DialogResult; using Stride.GameStudio.AssetsEditors; using Stride.Core.Assets.Editor.Services; +using Modern.Forms; namespace Stride.GameStudio.Helpers { public static class CrashReportHelper { - public class ReportSettings : ICrashEmailSetting - { - public ReportSettings() - { - Email = Core.Assets.Editor.Settings.EditorSettings.StoreCrashEmail.GetValue(); - StoreCrashEmail = !string.IsNullOrEmpty(Email); - } - - public bool StoreCrashEmail { get; set; } - - public string Email { get; set; } - - public void Save() - { - Core.Assets.Editor.Settings.EditorSettings.StoreCrashEmail.SetValue(Email); - Core.Assets.Editor.Settings.EditorSettings.Save(); - } - } - public const int DebugVersion = 4; public static void SendReport(string exceptionMessage, int crashLocation, string[] logs, string threadName) @@ -52,8 +34,6 @@ public static void SendReport(string exceptionMessage, int crashLocation, string var crashReport = new CrashReportData { ["Application"] = "GameStudio", - ["UserEmail"] = "", - ["UserMessage"] = "", ["StrideVersion"] = StrideVersion.NuGetVersion, ["GameStudioVersion"] = DebugVersion.ToString(), ["ThreadName"] = string.IsNullOrEmpty(threadName) ? "" : threadName, @@ -159,7 +139,7 @@ public static void SendReport(string exceptionMessage, int crashLocation, string var videoConfig = AppHelper.GetVideoConfig(); foreach (var conf in videoConfig) { - crashReport.Data.Add(Tuple.Create(conf.Key, conf.Value)); + crashReport.Data.Add((conf.Key, conf.Value)); } var nonFatalReport = new StringBuilder(); @@ -180,11 +160,11 @@ public static void SendReport(string exceptionMessage, int crashLocation, string data = Regex.Replace(data, Regex.Escape(Environment.GetEnvironmentVariable("USERPROFILE")), Regex.Escape("%USERPROFILE%"), RegexOptions.IgnoreCase); data = Regex.Replace(data, $@"\b{Regex.Escape(Environment.GetEnvironmentVariable("USERNAME"))}\b", Regex.Escape("%USERNAME%"), RegexOptions.IgnoreCase); - crashReport.Data[i] = Tuple.Create(crashReport.Data[i].Item1, data); + crashReport.Data[i] = (crashReport.Data[i].Item1, data); } - var reporter = new CrashReportForm(crashReport, new ReportSettings()); - var result = reporter.ShowDialog(); + var reporter = new CrashReportForm(crashReport); + reporter.Run(); } private static void ExpandAction(TransactionViewModel actionItem, StringBuilder sb, int increment) diff --git a/sources/editor/Stride.GameStudio/Stride.GameStudio.csproj b/sources/editor/Stride.GameStudio/Stride.GameStudio.csproj index 2a720dcc2f..91cf315e05 100644 --- a/sources/editor/Stride.GameStudio/Stride.GameStudio.csproj +++ b/sources/editor/Stride.GameStudio/Stride.GameStudio.csproj @@ -31,6 +31,7 @@ + ..\..\..\deps\AssemblyProcessor\netstandard2.0\Stride.Core.AssemblyProcessor.dll @@ -55,7 +56,7 @@ - + false false diff --git a/sources/launcher/Stride.Launcher/CrashReport/CrashReportHelper.cs b/sources/launcher/Stride.Launcher/CrashReport/CrashReportHelper.cs index 091d62db05..d57bf7367f 100644 --- a/sources/launcher/Stride.Launcher/CrashReport/CrashReportHelper.cs +++ b/sources/launcher/Stride.Launcher/CrashReport/CrashReportHelper.cs @@ -6,7 +6,9 @@ using System.Windows.Threading; using Stride.Core.Extensions; using Stride.Core.Windows; +using System.Runtime.InteropServices; using Stride.Editor.CrashReport; +using Modern.Forms; namespace Stride.LauncherApp.CrashReport { @@ -48,12 +50,9 @@ private static void SendReport(string exceptionMessage) var crashReport = new CrashReportData { ["Application"] = "Launcher", - ["UserEmail"] = "", - - ["UserMessage"] = "", ["CurrentDirectory"] = Environment.CurrentDirectory, ["CommandArgs"] = string.Join(" ", AppHelper.GetCommandLineArgs()), - ["OsVersion"] = $"{Environment.OSVersion} {(Environment.Is64BitOperatingSystem ? "x64" : "x86")}", + ["OSDescription"] = $"{RuntimeInformation.OSDescription} {(Environment.Is64BitOperatingSystem ? "x64" : "x86")}", ["ProcessorCount"] = Environment.ProcessorCount.ToString(), ["Exception"] = exceptionMessage }; @@ -61,11 +60,11 @@ private static void SendReport(string exceptionMessage) var videoConfig = AppHelper.GetVideoConfig(); foreach (var conf in videoConfig) { - crashReport.Data.Add(Tuple.Create(conf.Key, conf.Value)); + crashReport.Data.Add((conf.Key, conf.Value)); } - var reporter = new CrashReportForm(crashReport, new CrashReportSettings()); - reporter.ShowDialog(); + var reporter = new CrashReportForm(crashReport); + reporter.Run(); } private record CrashReportArgs(Exception Exception, Dispatcher Dispatcher); diff --git a/sources/launcher/Stride.Launcher/CrashReport/CrashReportSettings.cs b/sources/launcher/Stride.Launcher/CrashReport/CrashReportSettings.cs deleted file mode 100644 index ef49fc54e2..0000000000 --- a/sources/launcher/Stride.Launcher/CrashReport/CrashReportSettings.cs +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors (https://dotnetfoundation.org/ & https://stride3d.net) and Silicon Studio Corp. (https://www.siliconstudio.co.jp) -// Distributed under the MIT license. See the LICENSE.md file in the project root for more information. -using Stride.Editor.CrashReport; -using Stride.LauncherApp.Services; - -namespace Stride.LauncherApp -{ - internal class CrashReportSettings : ICrashEmailSetting - { - public CrashReportSettings() - { - Email = GameStudioSettings.CrashReportEmail; - StoreCrashEmail = !string.IsNullOrEmpty(Email); - } - - public bool StoreCrashEmail { get; set; } - - public string Email { get; set; } - - public void Save() - { - GameStudioSettings.CrashReportEmail = Email; - } - } -} diff --git a/sources/launcher/Stride.Launcher/Services/GameStudioSettings.cs b/sources/launcher/Stride.Launcher/Services/GameStudioSettings.cs index d960721895..4dc414bae8 100644 --- a/sources/launcher/Stride.Launcher/Services/GameStudioSettings.cs +++ b/sources/launcher/Stride.Launcher/Services/GameStudioSettings.cs @@ -23,8 +23,6 @@ public static class GameStudioSettings private static readonly SettingsKey MostRecentlyUsedSessionsKey = new SettingsKey("Internal/MostRecentlyUsedSessions", InternalSettingsContainer, () => new MRUDictionary()); - private static readonly SettingsKey StoreCrashEmail = new SettingsKey("Interface/StoreCrashEmail", GameStudioSettingsContainer, ""); - private static readonly object LockObject = new object(); private static readonly MostRecentlyUsedFileCollection MRU; @@ -46,41 +44,6 @@ static GameStudioSettings() public static event EventHandler RecentProjectsUpdated; - public static string CrashReportEmail - { - get - { - try - { - lock (LockObject) - { - GameStudioSettingsContainer.ReloadSettingsProfile(GameStudioProfile); - return StoreCrashEmail.GetValue(); - } - } - catch (Exception) - { - return ""; - } - } - set - { - try - { - lock (LockObject) - { - GameStudioSettingsContainer.ReloadSettingsProfile(GameStudioProfile); - StoreCrashEmail.SetValue(value); - GameStudioSettingsContainer.SaveSettingsProfile(GameStudioProfile, GetLatestGameStudioConfigPath()); - } - } - catch (Exception e) - { - e.Ignore(); - } - } - } - public static IReadOnlyCollection GetMostRecentlyUsed() { List result; diff --git a/sources/launcher/Stride.Launcher/Stride.Launcher.csproj b/sources/launcher/Stride.Launcher/Stride.Launcher.csproj index ccdbc69272..fca72a86f4 100644 --- a/sources/launcher/Stride.Launcher/Stride.Launcher.csproj +++ b/sources/launcher/Stride.Launcher/Stride.Launcher.csproj @@ -101,6 +101,7 @@ + diff --git a/sources/localization/Stride.Core.Assets.Editor.pot b/sources/localization/Stride.Core.Assets.Editor.pot index 5e42775dd3..da1d685f75 100644 --- a/sources/localization/Stride.Core.Assets.Editor.pot +++ b/sources/localization/Stride.Core.Assets.Editor.pot @@ -119,12 +119,6 @@ msgctxt "Settings" msgid "Ask before saving new scripts" msgstr "" -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:72 -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:73 -msgctxt "Settings" -msgid "Crash report e-mail" -msgstr "" - #: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:77 msgctxt "Settings" msgid "Language" diff --git a/sources/localization/es/Stride.Core.Assets.Editor.es.po b/sources/localization/es/Stride.Core.Assets.Editor.es.po index 0483a1e036..a851568af3 100644 --- a/sources/localization/es/Stride.Core.Assets.Editor.es.po +++ b/sources/localization/es/Stride.Core.Assets.Editor.es.po @@ -121,12 +121,6 @@ msgctxt "Settings" msgid "Ask before saving new scripts" msgstr "Preguntar antes de guardar nuevos scripts" -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:72 -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:73 -msgctxt "Settings" -msgid "Crash report e-mail" -msgstr "E-mail para informar sobre posibles errores" - #: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:77 msgctxt "Settings" msgid "Language" diff --git a/sources/localization/fr/Stride.Core.Assets.Editor.fr.po b/sources/localization/fr/Stride.Core.Assets.Editor.fr.po index 9483741eed..934d1aab1c 100644 --- a/sources/localization/fr/Stride.Core.Assets.Editor.fr.po +++ b/sources/localization/fr/Stride.Core.Assets.Editor.fr.po @@ -122,12 +122,6 @@ msgctxt "Settings" msgid "Ask before saving new scripts" msgstr "Demander avant d'enregistrer les nouveaux scripts" -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:72 -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:73 -msgctxt "Settings" -msgid "Crash report e-mail" -msgstr "Rapport de plantage par e-mail" - #: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:77 msgctxt "Settings" msgid "Language" diff --git a/sources/localization/ja/Stride.Core.Assets.Editor.ja.po b/sources/localization/ja/Stride.Core.Assets.Editor.ja.po index 88fd3319c2..73f83cd740 100644 --- a/sources/localization/ja/Stride.Core.Assets.Editor.ja.po +++ b/sources/localization/ja/Stride.Core.Assets.Editor.ja.po @@ -120,12 +120,6 @@ msgctxt "Settings" msgid "Ask before saving new scripts" msgstr "" -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:72 -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:73 -msgctxt "Settings" -msgid "Crash report e-mail" -msgstr "" - #: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:77 msgctxt "Settings" msgid "Language" diff --git a/sources/localization/mk/Stride.Core.Assets.Editor.mk.po b/sources/localization/mk/Stride.Core.Assets.Editor.mk.po index 9666d325f1..142eadad30 100644 --- a/sources/localization/mk/Stride.Core.Assets.Editor.mk.po +++ b/sources/localization/mk/Stride.Core.Assets.Editor.mk.po @@ -121,12 +121,6 @@ msgctxt "Settings" msgid "Ask before saving new scripts" msgstr "" -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:72 -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:73 -msgctxt "Settings" -msgid "Crash report e-mail" -msgstr "" - #: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:77 msgctxt "Settings" msgid "Language" diff --git a/sources/localization/nb_NO/Stride.Core.Assets.Editor.nb_NO.po b/sources/localization/nb_NO/Stride.Core.Assets.Editor.nb_NO.po index 1b74abfe50..9636393f59 100644 --- a/sources/localization/nb_NO/Stride.Core.Assets.Editor.nb_NO.po +++ b/sources/localization/nb_NO/Stride.Core.Assets.Editor.nb_NO.po @@ -122,12 +122,6 @@ msgctxt "Settings" msgid "Ask before saving new scripts" msgstr "" -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:72 -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:73 -msgctxt "Settings" -msgid "Crash report e-mail" -msgstr "" - #: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:77 msgctxt "Settings" msgid "Language" diff --git a/sources/localization/ru/Stride.Core.Assets.Editor.ru.po b/sources/localization/ru/Stride.Core.Assets.Editor.ru.po index ddcc1712e2..fedd28c7dd 100644 --- a/sources/localization/ru/Stride.Core.Assets.Editor.ru.po +++ b/sources/localization/ru/Stride.Core.Assets.Editor.ru.po @@ -122,12 +122,6 @@ msgctxt "Settings" msgid "Ask before saving new scripts" msgstr "Подтверждать сохранение новых скриптов" -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:72 -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:73 -msgctxt "Settings" -msgid "Crash report e-mail" -msgstr "Отчет о сбое на e-mail" - #: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:77 msgctxt "Settings" msgid "Language" diff --git a/sources/localization/zh_HANS-CN/Stride.Core.Assets.Editor.zh_HANS-CN.po b/sources/localization/zh_HANS-CN/Stride.Core.Assets.Editor.zh_HANS-CN.po index e18e1b6adc..c7a539aa8f 100644 --- a/sources/localization/zh_HANS-CN/Stride.Core.Assets.Editor.zh_HANS-CN.po +++ b/sources/localization/zh_HANS-CN/Stride.Core.Assets.Editor.zh_HANS-CN.po @@ -121,12 +121,6 @@ msgctxt "Settings" msgid "Ask before saving new scripts" msgstr "在保存新脚本前先询问" -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:72 -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:73 -msgctxt "Settings" -msgid "Crash report e-mail" -msgstr "Crash 报告 e-mail" - #: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:77 msgctxt "Settings" msgid "Language" diff --git a/sources/localization/zh_Hant/Stride.Core.Assets.Editor.zh_Hant.po b/sources/localization/zh_Hant/Stride.Core.Assets.Editor.zh_Hant.po index 68f894dccd..42441df527 100644 --- a/sources/localization/zh_Hant/Stride.Core.Assets.Editor.zh_Hant.po +++ b/sources/localization/zh_Hant/Stride.Core.Assets.Editor.zh_Hant.po @@ -121,12 +121,6 @@ msgctxt "Settings" msgid "Ask before saving new scripts" msgstr "" -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:72 -#: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:73 -msgctxt "Settings" -msgid "Crash report e-mail" -msgstr "" - #: ../editor/Stride.Core.Assets.Editor/Settings/EditorSettings.cs:77 msgctxt "Settings" msgid "Language"