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"