From 8f610d6d347302efeb1402a012ce8c82793b74cf Mon Sep 17 00:00:00 2001 From: Leathl Date: Tue, 20 Apr 2010 19:54:36 +0000 Subject: [PATCH] CustomizeMii 3.1 --- CustomizeMii.sln | 4 +- CustomizeMii/CustomizeMii.csproj | 29 ++- CustomizeMii/CustomizeMii.csproj.user | 3 +- CustomizeMii/CustomizeMii_BnsConvert.cs | 19 +- CustomizeMii/CustomizeMii_Main.Designer.cs | 167 ++++++------ CustomizeMii/CustomizeMii_Main.cs | 149 ++++++++--- CustomizeMii/CustomizeMii_Main.resx | 12 +- .../CustomizeMii_PaletteFormatBox.Designer.cs | 100 ++++++++ CustomizeMii/CustomizeMii_PaletteFormatBox.cs | 40 +++ .../CustomizeMii_PaletteFormatBox.resx | 120 +++++++++ CustomizeMii/CustomizeMii_Preview.Designer.cs | 240 ++++++++++++++++-- CustomizeMii/CustomizeMii_Preview.cs | 127 +++++++-- CustomizeMii/CustomizeMii_PrivateFunctions.cs | 88 +++++-- CustomizeMii/Properties/AssemblyInfo.cs | 4 +- CustomizeMii/Properties/Resources.Designer.cs | 30 +-- CustomizeMii/Properties/Resources.resx | 2 +- CustomizeMii/Properties/Settings.Designer.cs | 29 +-- CustomizeMii/Readme.txt | 9 + CustomizeMii/lControls.dll | Bin 0 -> 39936 bytes CustomizeMii/libWiiSharp.dll | Bin 159232 -> 160256 bytes .../CustomizeMiiInstaller.csproj | 8 +- ForwardMii/ForwardMii.csproj | 12 +- 22 files changed, 943 insertions(+), 249 deletions(-) create mode 100644 CustomizeMii/CustomizeMii_PaletteFormatBox.Designer.cs create mode 100644 CustomizeMii/CustomizeMii_PaletteFormatBox.cs create mode 100644 CustomizeMii/CustomizeMii_PaletteFormatBox.resx create mode 100644 CustomizeMii/lControls.dll diff --git a/CustomizeMii.sln b/CustomizeMii.sln index ff06a49..30c2e80 100644 --- a/CustomizeMii.sln +++ b/CustomizeMii.sln @@ -1,6 +1,6 @@  -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C# Express 2008 +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomizeMii", "CustomizeMii\CustomizeMii.csproj", "{46B7F0BC-101B-4167-95AD-4C5D78AA0A20}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ForwardMii", "ForwardMii\ForwardMii.csproj", "{20CB2CA7-6767-4758-97FA-97395F47CD6B}" diff --git a/CustomizeMii/CustomizeMii.csproj b/CustomizeMii/CustomizeMii.csproj index aec19f2..bcb3a9e 100644 --- a/CustomizeMii/CustomizeMii.csproj +++ b/CustomizeMii/CustomizeMii.csproj @@ -1,5 +1,5 @@  - + Debug AnyCPU @@ -12,8 +12,6 @@ CustomizeMii v2.0 512 - - Resources\CustomizeMii.ico false publish\ @@ -30,6 +28,10 @@ 2.1.0.%2a false true + + + 3.5 + true @@ -39,6 +41,7 @@ DEBUG;TRACE prompt 4 + AllRules.ruleset pdbonly @@ -47,6 +50,7 @@ TRACE prompt 4 + AllRules.ruleset true @@ -56,6 +60,7 @@ x86 prompt true + AllRules.ruleset bin\x86\Release\ @@ -64,8 +69,12 @@ pdbonly x86 prompt + AllRules.ruleset + + .\lControls.dll + False .\libWiiSharp.dll @@ -74,6 +83,7 @@ + @@ -107,16 +117,21 @@ CustomizeMii_InputBox.cs + + Form + + + CustomizeMii_PaletteFormatBox.cs + Form Form - + CustomizeMii_Transmit.cs - @@ -132,6 +147,9 @@ CustomizeMii_Main.cs + + CustomizeMii_PaletteFormatBox.cs + CustomizeMii_Transmit.cs @@ -176,7 +194,6 @@ - diff --git a/CustomizeMii/CustomizeMii.csproj.user b/CustomizeMii/CustomizeMii.csproj.user index 21068da..814c6cb 100644 --- a/CustomizeMii/CustomizeMii.csproj.user +++ b/CustomizeMii/CustomizeMii.csproj.user @@ -1,4 +1,5 @@ - + + publish\ diff --git a/CustomizeMii/CustomizeMii_BnsConvert.cs b/CustomizeMii/CustomizeMii_BnsConvert.cs index d8e8a5e..91c8ff8 100644 --- a/CustomizeMii/CustomizeMii_BnsConvert.cs +++ b/CustomizeMii/CustomizeMii_BnsConvert.cs @@ -227,7 +227,7 @@ namespace CustomizeMii else { wave = new Wave((string)e.Argument); } - try { this.sampleCount = wave.SampleCount; } + try { this.sampleCount = wave.NumSamples; } catch { } try { bitDepth = wave.BitDepth; } @@ -236,13 +236,13 @@ namespace CustomizeMii try { sampleRate = wave.SampleRate; } catch { sampleRate = -1; } - try { channelCount = wave.ChannelCount; } + try { channelCount = wave.NumChannels; } catch { channelCount = -1; } try { dataFormat = wave.DataFormat; } catch { dataFormat = -1; } - try { loopCount = wave.LoopCount; } + try { loopCount = wave.NumLoops; } catch { loopCount = -1; } try { loopStart = wave.LoopStart; } @@ -389,12 +389,17 @@ namespace CustomizeMii Wave wave; if (cbSourceSound.Checked) - { wave = new Wave(sourceSound); - } - else wave = new Wave(tbAudioFile.Text); + else + wave = new Wave(tbAudioFile.Text); - sPlayer = new SoundPlayer(wave.TrimStart(loopStart)); + wave.TrimStart(loopStart); + MemoryStream waveFile = wave.ToMemoryStream(); + wave.Dispose(); + + waveFile.Seek(0, SeekOrigin.Begin); + + sPlayer = new SoundPlayer(waveFile); sPlayer.PlayLooping(); btnPlay.Text = "Stop"; diff --git a/CustomizeMii/CustomizeMii_Main.Designer.cs b/CustomizeMii/CustomizeMii_Main.Designer.cs index 167e6c7..ae1f1f9 100644 --- a/CustomizeMii/CustomizeMii_Main.Designer.cs +++ b/CustomizeMii/CustomizeMii_Main.Designer.cs @@ -45,7 +45,6 @@ namespace CustomizeMii /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CustomizeMii_Main)); this.btnCreateWad = new System.Windows.Forms.Button(); this.tabControl = new System.Windows.Forms.TabControl(); @@ -84,10 +83,9 @@ namespace CustomizeMii this.tbAllLanguages = new System.Windows.Forms.TextBox(); this.lbAllLanguages = new System.Windows.Forms.Label(); this.tabOptions = new System.Windows.Forms.TabPage(); + this.cbSecurityChecksOff = new lControls.CheckLED(); this.btnOptionsExtract = new System.Windows.Forms.Button(); this.btnForwarder = new System.Windows.Forms.Button(); - this.cbSecurityChecksOff = new System.Windows.Forms.CheckBox(); - this.cbLz77 = new System.Windows.Forms.CheckBox(); this.lbOptionsOptional = new System.Windows.Forms.Label(); this.btnBrowseSound = new System.Windows.Forms.Button(); this.tbSound = new System.Windows.Forms.TextBox(); @@ -103,7 +101,6 @@ namespace CustomizeMii this.lbTitleID = new System.Windows.Forms.Label(); this.tabBanner = new System.Windows.Forms.TabPage(); this.llbBannerMultiReplace = new System.Windows.Forms.LinkLabel(); - this.cbBannerMakeTransparent = new System.Windows.Forms.CheckBox(); this.cmbFormatBanner = new System.Windows.Forms.ComboBox(); this.lbFormatBanner = new System.Windows.Forms.Label(); this.btnPreviewBanner = new System.Windows.Forms.Button(); @@ -114,7 +111,6 @@ namespace CustomizeMii this.lbxBannerTpls = new System.Windows.Forms.ListBox(); this.tabIcon = new System.Windows.Forms.TabPage(); this.llbIconMultiReplace = new System.Windows.Forms.LinkLabel(); - this.cbIconMakeTransparent = new System.Windows.Forms.CheckBox(); this.cmbFormatIcon = new System.Windows.Forms.ComboBox(); this.lbFormatIcon = new System.Windows.Forms.Label(); this.btnPreviewIcon = new System.Windows.Forms.Button(); @@ -154,16 +150,17 @@ namespace CustomizeMii this.llbUpdateAvailable = new System.Windows.Forms.LinkLabel(); this.llbSite = new System.Windows.Forms.LinkLabel(); this.lbCreditVersion = new System.Windows.Forms.Label(); - this.cmTpls = new System.Windows.Forms.ContextMenuStrip(this.components); + this.cmTpls = new System.Windows.Forms.ContextMenuStrip(); this.cmRename = new System.Windows.Forms.ToolStripMenuItem(); + this.cmResize = new System.Windows.Forms.ToolStripMenuItem(); this.ssMain = new System.Windows.Forms.StatusStrip(); this.lbStatus = new System.Windows.Forms.ToolStripStatusLabel(); this.lbStatusText = new System.Windows.Forms.ToolStripStatusLabel(); this.pbProgress = new System.Windows.Forms.ToolStripProgressBar(); - this.cmForwarder = new System.Windows.Forms.ContextMenuStrip(this.components); + this.cmForwarder = new System.Windows.Forms.ContextMenuStrip(); this.cmSimpleForwarder = new System.Windows.Forms.ToolStripMenuItem(); this.cmComplexForwarder = new System.Windows.Forms.ToolStripMenuItem(); - this.cmOptionsExtract = new System.Windows.Forms.ContextMenuStrip(this.components); + this.cmOptionsExtract = new System.Windows.Forms.ContextMenuStrip(); this.cmExtractWad = new System.Windows.Forms.ToolStripMenuItem(); this.cmExtractDol = new System.Windows.Forms.ToolStripMenuItem(); this.tsExtractSound = new System.Windows.Forms.ToolStripMenuItem(); @@ -177,13 +174,16 @@ namespace CustomizeMii this.cmExtractBrlyt = new System.Windows.Forms.ToolStripMenuItem(); this.cmExtractBrlan = new System.Windows.Forms.ToolStripMenuItem(); this.cmExtractBothBrl = new System.Windows.Forms.ToolStripMenuItem(); - this.cmSound = new System.Windows.Forms.ContextMenuStrip(this.components); + this.cmSound = new System.Windows.Forms.ContextMenuStrip(); this.cmLoadAudioFile = new System.Windows.Forms.ToolStripMenuItem(); this.cmConvertToBns = new System.Windows.Forms.ToolStripMenuItem(); - this.cmDol = new System.Windows.Forms.ContextMenuStrip(this.components); + this.cmMakeSilent = new System.Windows.Forms.ToolStripMenuItem(); + this.cmDol = new System.Windows.Forms.ContextMenuStrip(); this.cmLoadDol = new System.Windows.Forms.ToolStripMenuItem(); this.cmDolFromSource = new System.Windows.Forms.ToolStripMenuItem(); - this.cmResize = new System.Windows.Forms.ToolStripMenuItem(); + this.cbLz77 = new lControls.CheckLED(); + this.cbBannerMakeTransparent = new lControls.CheckLED(); + this.cbIconMakeTransparent = new lControls.CheckLED(); this.tabControl.SuspendLayout(); this.tabSource.SuspendLayout(); this.tabTitle.SuspendLayout(); @@ -597,10 +597,10 @@ namespace CustomizeMii // // tabOptions // + this.tabOptions.Controls.Add(this.cbLz77); + this.tabOptions.Controls.Add(this.cbSecurityChecksOff); this.tabOptions.Controls.Add(this.btnOptionsExtract); this.tabOptions.Controls.Add(this.btnForwarder); - this.tabOptions.Controls.Add(this.cbSecurityChecksOff); - this.tabOptions.Controls.Add(this.cbLz77); this.tabOptions.Controls.Add(this.lbOptionsOptional); this.tabOptions.Controls.Add(this.btnBrowseSound); this.tabOptions.Controls.Add(this.tbSound); @@ -622,6 +622,19 @@ namespace CustomizeMii this.tabOptions.Text = "Options"; this.tabOptions.UseVisualStyleBackColor = true; // + // cbSecurityChecksOff + // + this.cbSecurityChecksOff.AutoSize = true; + this.cbSecurityChecksOff.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.cbSecurityChecksOff.LedColor = lControls.CheckLED.LEDColor.Green; + this.cbSecurityChecksOff.Location = new System.Drawing.Point(266, 180); + this.cbSecurityChecksOff.Name = "cbSecurityChecksOff"; + this.cbSecurityChecksOff.Size = new System.Drawing.Size(169, 17); + this.cbSecurityChecksOff.TabIndex = 15; + this.cbSecurityChecksOff.Tag = "Independent"; + this.cbSecurityChecksOff.Text = "/!\\ Turn off security checks /!\\"; + this.cbSecurityChecksOff.UseVisualStyleBackColor = true; + // // btnOptionsExtract // this.btnOptionsExtract.Location = new System.Drawing.Point(360, 47); @@ -642,29 +655,6 @@ namespace CustomizeMii this.btnForwarder.UseVisualStyleBackColor = true; this.btnForwarder.Click += new System.EventHandler(this.btnForwarder_Click); // - // cbSecurityChecksOff - // - this.cbSecurityChecksOff.AutoSize = true; - this.cbSecurityChecksOff.Location = new System.Drawing.Point(263, 180); - this.cbSecurityChecksOff.Name = "cbSecurityChecksOff"; - this.cbSecurityChecksOff.Size = new System.Drawing.Size(172, 17); - this.cbSecurityChecksOff.TabIndex = 12; - this.cbSecurityChecksOff.Tag = "Independent"; - this.cbSecurityChecksOff.Text = "/!\\ Turn off security checks /!\\"; - this.cbSecurityChecksOff.UseVisualStyleBackColor = true; - // - // cbLz77 - // - this.cbLz77.AutoSize = true; - this.cbLz77.Checked = true; - this.cbLz77.CheckState = System.Windows.Forms.CheckState.Checked; - this.cbLz77.Location = new System.Drawing.Point(11, 180); - this.cbLz77.Name = "cbLz77"; - this.cbLz77.Size = new System.Drawing.Size(134, 17); - this.cbLz77.TabIndex = 11; - this.cbLz77.Text = "Use Lz77 Compression"; - this.cbLz77.UseVisualStyleBackColor = true; - // // lbOptionsOptional // this.lbOptionsOptional.Location = new System.Drawing.Point(-7, 8); @@ -797,8 +787,8 @@ namespace CustomizeMii // // tabBanner // - this.tabBanner.Controls.Add(this.llbBannerMultiReplace); this.tabBanner.Controls.Add(this.cbBannerMakeTransparent); + this.tabBanner.Controls.Add(this.llbBannerMultiReplace); this.tabBanner.Controls.Add(this.cmbFormatBanner); this.tabBanner.Controls.Add(this.lbFormatBanner); this.tabBanner.Controls.Add(this.btnPreviewBanner); @@ -826,17 +816,6 @@ namespace CustomizeMii this.llbBannerMultiReplace.Text = "Multi Replace"; this.llbBannerMultiReplace.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llbMultiReplace_LinkClicked); // - // cbBannerMakeTransparent - // - this.cbBannerMakeTransparent.AutoSize = true; - this.cbBannerMakeTransparent.Location = new System.Drawing.Point(11, 189); - this.cbBannerMakeTransparent.Name = "cbBannerMakeTransparent"; - this.cbBannerMakeTransparent.Size = new System.Drawing.Size(113, 17); - this.cbBannerMakeTransparent.TabIndex = 6; - this.cbBannerMakeTransparent.Text = "Make Transparent"; - this.cbBannerMakeTransparent.UseVisualStyleBackColor = true; - this.cbBannerMakeTransparent.CheckedChanged += new System.EventHandler(this.cbBannerMakeTransparent_CheckedChanged); - // // cmbFormatBanner // this.cmbFormatBanner.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; @@ -926,15 +905,15 @@ namespace CustomizeMii this.lbxBannerTpls.Size = new System.Drawing.Size(343, 173); this.lbxBannerTpls.Sorted = true; this.lbxBannerTpls.TabIndex = 0; - this.lbxBannerTpls.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lbxBannerTpls_MouseUp); this.lbxBannerTpls.SelectedIndexChanged += new System.EventHandler(this.lbxBannerTpls_SelectedIndexChanged); this.lbxBannerTpls.DragDrop += new System.Windows.Forms.DragEventHandler(this.lbxBannerTpls_DragDrop); this.lbxBannerTpls.DragEnter += new System.Windows.Forms.DragEventHandler(this.lbxBannerTpls_DragEnter); + this.lbxBannerTpls.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lbxBannerTpls_MouseUp); // // tabIcon // - this.tabIcon.Controls.Add(this.llbIconMultiReplace); this.tabIcon.Controls.Add(this.cbIconMakeTransparent); + this.tabIcon.Controls.Add(this.llbIconMultiReplace); this.tabIcon.Controls.Add(this.cmbFormatIcon); this.tabIcon.Controls.Add(this.lbFormatIcon); this.tabIcon.Controls.Add(this.btnPreviewIcon); @@ -962,17 +941,6 @@ namespace CustomizeMii this.llbIconMultiReplace.Text = "Multi Replace"; this.llbIconMultiReplace.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llbMultiReplace_LinkClicked); // - // cbIconMakeTransparent - // - this.cbIconMakeTransparent.AutoSize = true; - this.cbIconMakeTransparent.Location = new System.Drawing.Point(11, 189); - this.cbIconMakeTransparent.Name = "cbIconMakeTransparent"; - this.cbIconMakeTransparent.Size = new System.Drawing.Size(113, 17); - this.cbIconMakeTransparent.TabIndex = 12; - this.cbIconMakeTransparent.Text = "Make Transparent"; - this.cbIconMakeTransparent.UseVisualStyleBackColor = true; - this.cbIconMakeTransparent.CheckedChanged += new System.EventHandler(this.cbIconMakeTransparent_CheckedChanged); - // // cmbFormatIcon // this.cmbFormatIcon.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; @@ -1062,10 +1030,10 @@ namespace CustomizeMii this.lbxIconTpls.Size = new System.Drawing.Size(343, 173); this.lbxIconTpls.Sorted = true; this.lbxIconTpls.TabIndex = 6; - this.lbxIconTpls.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lbxIconTpls_MouseUp); this.lbxIconTpls.SelectedIndexChanged += new System.EventHandler(this.lbxIconTpls_SelectedIndexChanged); this.lbxIconTpls.DragDrop += new System.Windows.Forms.DragEventHandler(this.lbxIconTpls_DragDrop); this.lbxIconTpls.DragEnter += new System.Windows.Forms.DragEventHandler(this.lbxIconTpls_DragEnter); + this.lbxIconTpls.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lbxIconTpls_MouseUp); // // tabBrlyt // @@ -1405,7 +1373,7 @@ namespace CustomizeMii this.cmRename, this.cmResize}); this.cmTpls.Name = "cmTpls"; - this.cmTpls.Size = new System.Drawing.Size(153, 70); + this.cmTpls.Size = new System.Drawing.Size(118, 48); // // cmRename // @@ -1414,6 +1382,13 @@ namespace CustomizeMii this.cmRename.Text = "Rename"; this.cmRename.Click += new System.EventHandler(this.cmRename_Click); // + // cmResize + // + this.cmResize.Name = "cmResize"; + this.cmResize.Size = new System.Drawing.Size(117, 22); + this.cmResize.Text = "Resize"; + this.cmResize.Click += new System.EventHandler(this.cmResize_Click); + // // ssMain // this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -1584,9 +1559,10 @@ namespace CustomizeMii // this.cmSound.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.cmLoadAudioFile, - this.cmConvertToBns}); + this.cmConvertToBns, + this.cmMakeSilent}); this.cmSound.Name = "cmSound"; - this.cmSound.Size = new System.Drawing.Size(159, 48); + this.cmSound.Size = new System.Drawing.Size(159, 92); // // cmLoadAudioFile // @@ -1602,6 +1578,13 @@ namespace CustomizeMii this.cmConvertToBns.Text = "Convert To BNS"; this.cmConvertToBns.Click += new System.EventHandler(this.cmConvertToBns_Click); // + // cmMakeSilent + // + this.cmMakeSilent.Name = "cmMakeSilent"; + this.cmMakeSilent.Size = new System.Drawing.Size(158, 22); + this.cmMakeSilent.Text = "Make Silent"; + this.cmMakeSilent.Click += new System.EventHandler(this.cmMakeSilent_Click); + // // cmDol // this.cmDol.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -1624,12 +1607,45 @@ namespace CustomizeMii this.cmDolFromSource.Text = "Take From Source WAD"; this.cmDolFromSource.Click += new System.EventHandler(this.cmDolFromSource_Click); // - // cmResize + // cbLz77 // - this.cmResize.Name = "cmResize"; - this.cmResize.Size = new System.Drawing.Size(152, 22); - this.cmResize.Text = "Resize"; - this.cmResize.Click += new System.EventHandler(this.cmResize_Click); + this.cbLz77.AutoSize = true; + this.cbLz77.Checked = true; + this.cbLz77.CheckState = System.Windows.Forms.CheckState.Checked; + this.cbLz77.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.cbLz77.LedColor = lControls.CheckLED.LEDColor.Green; + this.cbLz77.Location = new System.Drawing.Point(11, 180); + this.cbLz77.Name = "cbLz77"; + this.cbLz77.Size = new System.Drawing.Size(131, 17); + this.cbLz77.TabIndex = 16; + this.cbLz77.Text = "Use Lz77 Compression"; + this.cbLz77.UseVisualStyleBackColor = true; + // + // cbBannerMakeTransparent + // + this.cbBannerMakeTransparent.AutoSize = true; + this.cbBannerMakeTransparent.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.cbBannerMakeTransparent.LedColor = lControls.CheckLED.LEDColor.Green; + this.cbBannerMakeTransparent.Location = new System.Drawing.Point(11, 189); + this.cbBannerMakeTransparent.Name = "cbBannerMakeTransparent"; + this.cbBannerMakeTransparent.Size = new System.Drawing.Size(110, 17); + this.cbBannerMakeTransparent.TabIndex = 8; + this.cbBannerMakeTransparent.Text = "Make Transparent"; + this.cbBannerMakeTransparent.UseVisualStyleBackColor = true; + this.cbBannerMakeTransparent.CheckedChanged += new System.EventHandler(this.cbBannerMakeTransparent_CheckedChanged); + // + // cbIconMakeTransparent + // + this.cbIconMakeTransparent.AutoSize = true; + this.cbIconMakeTransparent.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.cbIconMakeTransparent.LedColor = lControls.CheckLED.LEDColor.Green; + this.cbIconMakeTransparent.Location = new System.Drawing.Point(11, 189); + this.cbIconMakeTransparent.Name = "cbIconMakeTransparent"; + this.cbIconMakeTransparent.Size = new System.Drawing.Size(110, 17); + this.cbIconMakeTransparent.TabIndex = 14; + this.cbIconMakeTransparent.Text = "Make Transparent"; + this.cbIconMakeTransparent.UseVisualStyleBackColor = true; + this.cbIconMakeTransparent.CheckedChanged += new System.EventHandler(this.cbIconMakeTransparent_CheckedChanged); // // CustomizeMii_Main // @@ -1645,10 +1661,10 @@ namespace CustomizeMii this.Name = "CustomizeMii_Main"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "CustomizeMii X by Leathl"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.CustomizeMii_Main_FormClosing); this.Load += new System.EventHandler(this.CustomizeMii_Main_Load); this.DragDrop += new System.Windows.Forms.DragEventHandler(this.CustomizeMii_Main_DragDrop); this.DragEnter += new System.Windows.Forms.DragEventHandler(this.CustomizeMii_Main_DragEnter); - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.CustomizeMii_Main_FormClosing); this.tabControl.ResumeLayout(false); this.tabSource.ResumeLayout(false); this.tabSource.PerformLayout(); @@ -1745,7 +1761,6 @@ namespace CustomizeMii private System.Windows.Forms.ComboBox cmbReplace; private System.Windows.Forms.TextBox tbReplace; private System.Windows.Forms.Button btnBrowseReplace; - private System.Windows.Forms.CheckBox cbLz77; private System.Windows.Forms.LinkLabel llbSite; private System.Windows.Forms.TabPage tabBrlyt; private System.Windows.Forms.TabPage tabBrlan; @@ -1773,11 +1788,8 @@ namespace CustomizeMii private System.Windows.Forms.Button btnAddIcon; private System.Windows.Forms.Button btnDeleteIcon; private System.Windows.Forms.Button btnBrlytListTpls; - private System.Windows.Forms.CheckBox cbBannerMakeTransparent; - private System.Windows.Forms.CheckBox cbIconMakeTransparent; private System.Windows.Forms.TabPage tabInstructions; private System.Windows.Forms.RichTextBox rtbInstructions; - private System.Windows.Forms.CheckBox cbSecurityChecksOff; private System.Windows.Forms.Button btnForwarder; private System.Windows.Forms.ContextMenuStrip cmForwarder; private System.Windows.Forms.ToolStripMenuItem cmSimpleForwarder; @@ -1818,6 +1830,11 @@ namespace CustomizeMii private System.Windows.Forms.ContextMenuStrip cmTpls; private System.Windows.Forms.ToolStripMenuItem cmRename; private System.Windows.Forms.ToolStripMenuItem cmResize; + private System.Windows.Forms.ToolStripMenuItem cmMakeSilent; + private lControls.CheckLED cbSecurityChecksOff; + private lControls.CheckLED cbLz77; + private lControls.CheckLED cbBannerMakeTransparent; + private lControls.CheckLED cbIconMakeTransparent; } } diff --git a/CustomizeMii/CustomizeMii_Main.cs b/CustomizeMii/CustomizeMii_Main.cs index c4865ac..4c3e68d 100644 --- a/CustomizeMii/CustomizeMii_Main.cs +++ b/CustomizeMii/CustomizeMii_Main.cs @@ -31,7 +31,7 @@ namespace CustomizeMii public partial class CustomizeMii_Main : Form { #region Constants - private const string version = "3.0"; //Hint for myself: Never use a char in the Version (UpdateCheck)! + private const string version = "3.1"; //Hint for myself: Never use a char in the Version (UpdateCheck)! private const int soundMaxLength = 40; //In seconds private const int soundWarningLength = 25; //In seconds private const int bnsWarningLength = 45; //In seconds @@ -768,7 +768,7 @@ namespace CustomizeMii { int format = cmbFormatBanner.SelectedIndex; - if (format < 7) + if (format < 9) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "PNG|*.png|JPG|*.jpg|GIF|*.gif|BMP|*.bmp|TPL|*.tpl|All|*.png;*.jpg;*.gif;*.bmp;*.tpl"; @@ -797,33 +797,59 @@ namespace CustomizeMii img.Height != tmpTpl.GetTextureSize(0).Height) img = resizeImage(img, tmpTpl.GetTextureSize(0).Width, tmpTpl.GetTextureSize(0).Height); + TPL_PaletteFormat pFormat = TPL_PaletteFormat.RGB5A3; + switch (format) { - case 6: //I4 - format = 0; + case 6: + format = (int)TPL_TextureFormat.I4; break; - case 5: //I8 - format = 1; + case 5: + format = (int)TPL_TextureFormat.I8; break; - case 4: //IA4 - format = 2; + case 4: + format = (int)TPL_TextureFormat.IA4; break; - case 3: //IA8 - format = 3; + case 3: + format = (int)TPL_TextureFormat.IA8; break; case 1: - format = 4; + format = (int)TPL_TextureFormat.RGB565; break; case 2: - format = 5; + format = (int)TPL_TextureFormat.RGB5A3; + break; + case 7: + format = (int)TPL_TextureFormat.CI4; + + CustomizeMii_PaletteFormatBox pfb = new CustomizeMii_PaletteFormatBox(); + pfb.ShowDialog(); + + pFormat = pfb.PaletteFormat; + break; + case 8: + format = (int)TPL_TextureFormat.CI8; + + CustomizeMii_PaletteFormatBox pfb2 = new CustomizeMii_PaletteFormatBox(); + pfb2.ShowDialog(); + + pFormat = pfb2.PaletteFormat; + break; + case 9: + format = (int)TPL_TextureFormat.CI14X2; + + CustomizeMii_PaletteFormatBox pfb3 = new CustomizeMii_PaletteFormatBox(); + pfb3.ShowDialog(); + + pFormat = pfb3.PaletteFormat; break; default: - format = 6; + format = (int)TPL_TextureFormat.RGBA8; break; } tmpTpl.RemoveTexture(0); - tmpTpl.AddTexture(img, (TPL_Format)format); + tmpTpl.AddTexture(img, (TPL_TextureFormat)format, pFormat); if (string.IsNullOrEmpty(replacedBanner)) bannerBin.ReplaceFile(bannerBin.GetNodeIndex(tplName), tmpTpl.ToByteArray()); @@ -918,7 +944,7 @@ namespace CustomizeMii { int format = cmbFormatIcon.SelectedIndex; - if (format < 7) + if (format < 9) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "PNG|*.png|JPG|*.jpg|GIF|*.gif|BMP|*.bmp|TPL|*.tpl|All|*.png;*.jpg;*.gif;*.bmp;*.tpl"; @@ -947,33 +973,59 @@ namespace CustomizeMii img.Height != tmpTpl.GetTextureSize(0).Height) img = resizeImage(img, tmpTpl.GetTextureSize(0).Width, tmpTpl.GetTextureSize(0).Height); + TPL_PaletteFormat pFormat = TPL_PaletteFormat.RGB5A3; + switch (format) { - case 6: //I4 - format = 0; + case 6: + format = (int)TPL_TextureFormat.I4; break; - case 5: //I8 - format = 1; + case 5: + format = (int)TPL_TextureFormat.I8; break; - case 4: //IA4 - format = 2; + case 4: + format = (int)TPL_TextureFormat.IA4; break; - case 3: //IA8 - format = 3; + case 3: + format = (int)TPL_TextureFormat.IA8; break; case 1: - format = 4; + format = (int)TPL_TextureFormat.RGB565; break; case 2: - format = 5; + format = (int)TPL_TextureFormat.RGB5A3; + break; + case 7: + format = (int)TPL_TextureFormat.CI4; + + CustomizeMii_PaletteFormatBox pfb = new CustomizeMii_PaletteFormatBox(); + pfb.ShowDialog(); + + pFormat = pfb.PaletteFormat; + break; + case 8: + format = (int)TPL_TextureFormat.CI8; + + CustomizeMii_PaletteFormatBox pfb2 = new CustomizeMii_PaletteFormatBox(); + pfb2.ShowDialog(); + + pFormat = pfb2.PaletteFormat; + break; + case 9: + format = (int)TPL_TextureFormat.CI14X2; + + CustomizeMii_PaletteFormatBox pfb3 = new CustomizeMii_PaletteFormatBox(); + pfb3.ShowDialog(); + + pFormat = pfb3.PaletteFormat; break; default: - format = 6; + format = (int)TPL_TextureFormat.RGBA8; break; } tmpTpl.RemoveTexture(0); - tmpTpl.AddTexture(img, (TPL_Format)format); + tmpTpl.AddTexture(img, (TPL_TextureFormat)format, pFormat); if (string.IsNullOrEmpty(replacedIcon)) iconBin.ReplaceFile(iconBin.GetNodeIndex(tplName), tmpTpl.ToByteArray()); @@ -1902,19 +1954,19 @@ namespace CustomizeMii if (cmSender.Name.ToLower() == "cmextractsoundasbin") { sfd.Filter = "BIN|*.bin"; sfd.FileName = "sound.bin"; } else if (cmSender.Name.ToLower() == "cmextractsoundasaudio") { - if (soundFile[0] == 'R' && soundFile[1] == 'I' && soundFile[2] == 'F' && soundFile[3] == 'F') + if (soundFile[32] == 'R' && soundFile[33] == 'I' && soundFile[34] == 'F' && soundFile[35] == 'F') { sfd.Filter = "Wave|*.wav"; sfd.FileName = "sound.wav"; } - else if (soundFile[0] == 'B' && soundFile[1] == 'N' && soundFile[2] == 'S' && soundFile[3] == ' ') - { sfd.Filter = "BNS|*.bns"; sfd.FileName = "sound.bns"; } - else if (soundFile[0] == 'F' && soundFile[1] == 'O' && soundFile[2] == 'R' && soundFile[3] == 'M') + else if (soundFile[32] == 'B' && soundFile[33] == 'N' && soundFile[34] == 'S' && soundFile[35] == ' ') + { sfd.Filter = "Wave|*.wav"; sfd.FileName = "sound.wav"; } + else if (soundFile[32] == 'F' && soundFile[33] == 'O' && soundFile[34] == 'R' && soundFile[35] == 'M') { sfd.Filter = "AIFF|*.aif;*.aiff"; sfd.FileName = "sound.aif"; } - else if (soundFile[0] == 'L' && soundFile[1] == 'Z' && soundFile[2] == '7' && soundFile[3] == '7') + else if (soundFile[32] == 'L' && soundFile[33] == 'Z' && soundFile[34] == '7' && soundFile[35] == '7') { - if (soundFile[9] == 'R' && soundFile[10] == 'I' && soundFile[11] == 'F' && soundFile[12] == 'F') + if (soundFile[41] == 'R' && soundFile[42] == 'I' && soundFile[43] == 'F' && soundFile[44] == 'F') { sfd.Filter = "Wave|*.wav"; sfd.FileName = "sound.wav"; } - else if (soundFile[9] == 'B' && soundFile[10] == 'N' && soundFile[11] == 'S' && soundFile[12] == ' ') - { sfd.Filter = "BNS|*.bns"; sfd.FileName = "sound.bns"; } - else if (soundFile[9] == 'F' && soundFile[10] == 'O' && soundFile[11] == 'R' && soundFile[12] == 'M') + else if (soundFile[41] == 'B' && soundFile[42] == 'N' && soundFile[43] == 'S' && soundFile[44] == ' ') + { sfd.Filter = "Wave|*.wav"; sfd.FileName = "sound.wave"; } + else if (soundFile[41] == 'F' && soundFile[42] == 'O' && soundFile[43] == 'R' && soundFile[44] == 'M') { sfd.Filter = "AIFF|*.aif;*.aiff"; sfd.FileName = "sound.aif"; } else throw new Exception("Unsupported Audio Format!"); } @@ -1937,7 +1989,15 @@ namespace CustomizeMii if (Lz77.IsLz77Compressed(soundFile)) { Lz77 l = new Lz77(); soundFile = l.Decompress(soundFile); } - File.WriteAllBytes(sfd.FileName, soundFile); + if (soundFile[0] == 'B' && soundFile[1] == 'N' && soundFile[2] == 'S' && soundFile[3] == ' ') + { + Wave w = BNS.BnsToWave(soundFile); + w.Save(sfd.FileName); + w.Dispose(); + } + else + File.WriteAllBytes(sfd.FileName, soundFile); + infoBox(string.Format("The sound.bin was successfully converted to {0}!", Path.GetFileName(sfd.FileName))); } } @@ -2421,7 +2481,7 @@ namespace CustomizeMii else tmpTpl = TPL.Load(newIconBin.Data[newIconBin.GetNodeIndex(tplName)]); - TPL_Format tplFormat = tmpTpl.GetTextureFormat(0); + TPL_TextureFormat tplFormat = tmpTpl.GetTextureFormat(0); Image newImg = resizeImage(tmpTpl.ExtractTexture(0), newSize.Width, newSize.Height); tmpTpl.RemoveTexture(0); @@ -2446,5 +2506,18 @@ namespace CustomizeMii } catch (Exception ex) { errorBox(ex.Message); } } + + private void cmMakeSilent_Click(object sender, EventArgs e) + { + Wave w = new Wave(1, 8, 500, new byte[] { 0x80, 0x80, 0x80, 0x80, 0x80 }); + newSoundBin = Headers.IMD5.AddHeader(w.ToByteArray()); + w.Dispose(); + + replacedSound = "Silence"; + setControlText(tbSound, "Silence"); + btnBrowseSound.Text = "Clear"; + + if (cmbReplace.SelectedIndex == 2) setControlText(tbReplace, string.Empty); + } } } diff --git a/CustomizeMii/CustomizeMii_Main.resx b/CustomizeMii/CustomizeMii_Main.resx index 0fc55f9..4a4efb4 100644 --- a/CustomizeMii/CustomizeMii_Main.resx +++ b/CustomizeMii/CustomizeMii_Main.resx @@ -131,22 +131,22 @@ The USB Loader GX Team for their forwarder source wilsoff for helping me debugging 3.0 - 566, 7 + 559, 14 - 16, 7 + 17, 12 - 105, 7 + 104, 12 - 228, 7 + 230, 12 - 376, 7 + 369, 15 - 479, 7 + 474, 13 42 diff --git a/CustomizeMii/CustomizeMii_PaletteFormatBox.Designer.cs b/CustomizeMii/CustomizeMii_PaletteFormatBox.Designer.cs new file mode 100644 index 0000000..69b1f50 --- /dev/null +++ b/CustomizeMii/CustomizeMii_PaletteFormatBox.Designer.cs @@ -0,0 +1,100 @@ +namespace CustomizeMii +{ + partial class CustomizeMii_PaletteFormatBox + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 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); + } + + #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() + { + this.label1 = new System.Windows.Forms.Label(); + this.btnIA8 = new System.Windows.Forms.Button(); + this.btnRGB5A3 = new System.Windows.Forms.Button(); + this.btnRGB565 = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // label1 + // + this.label1.Location = new System.Drawing.Point(12, 9); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(307, 83); + this.label1.TabIndex = 0; + this.label1.Text = "You\'re converting to an indexed format, please choose a format\r\nfor the Palette:\r" + + "\n\r\nIA8: Black & White + Alpha\r\nRGB5A3: Color + Alpha\r\nRGB565: Color"; + // + // btnIA8 + // + this.btnIA8.Location = new System.Drawing.Point(12, 101); + this.btnIA8.Name = "btnIA8"; + this.btnIA8.Size = new System.Drawing.Size(75, 23); + this.btnIA8.TabIndex = 1; + this.btnIA8.Text = "IA8"; + this.btnIA8.UseVisualStyleBackColor = true; + this.btnIA8.Click += new System.EventHandler(this.btnIA8_Click); + // + // btnRGB5A3 + // + this.btnRGB5A3.Location = new System.Drawing.Point(128, 101); + this.btnRGB5A3.Name = "btnRGB5A3"; + this.btnRGB5A3.Size = new System.Drawing.Size(75, 23); + this.btnRGB5A3.TabIndex = 1; + this.btnRGB5A3.Text = "RGB5A3"; + this.btnRGB5A3.UseVisualStyleBackColor = true; + this.btnRGB5A3.Click += new System.EventHandler(this.btnRGB5A3_Click); + // + // btnRGB565 + // + this.btnRGB565.Location = new System.Drawing.Point(244, 101); + this.btnRGB565.Name = "btnRGB565"; + this.btnRGB565.Size = new System.Drawing.Size(75, 23); + this.btnRGB565.TabIndex = 1; + this.btnRGB565.Text = "RGB565"; + this.btnRGB565.UseVisualStyleBackColor = true; + this.btnRGB565.Click += new System.EventHandler(this.btnRGB565_Click); + // + // CustomizeMii_PaletteFormatBox + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(331, 137); + this.Controls.Add(this.btnRGB565); + this.Controls.Add(this.btnRGB5A3); + this.Controls.Add(this.btnIA8); + this.Controls.Add(this.label1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "CustomizeMii_PaletteFormatBox"; + this.Text = "CustomizeMii_PaletteFormatBox"; + this.Load += new System.EventHandler(this.CustomizeMii_PaletteFormatBox_Load); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Button btnIA8; + private System.Windows.Forms.Button btnRGB5A3; + private System.Windows.Forms.Button btnRGB565; + } +} \ No newline at end of file diff --git a/CustomizeMii/CustomizeMii_PaletteFormatBox.cs b/CustomizeMii/CustomizeMii_PaletteFormatBox.cs new file mode 100644 index 0000000..1892cbd --- /dev/null +++ b/CustomizeMii/CustomizeMii_PaletteFormatBox.cs @@ -0,0 +1,40 @@ +using System.Windows.Forms; +using libWiiSharp; + +namespace CustomizeMii +{ + public partial class CustomizeMii_PaletteFormatBox : Form + { + private TPL_PaletteFormat pFormat = TPL_PaletteFormat.RGB5A3; + + public TPL_PaletteFormat PaletteFormat { get { return pFormat; } } + + public CustomizeMii_PaletteFormatBox() + { + InitializeComponent(); + } + + private void btnIA8_Click(object sender, System.EventArgs e) + { + pFormat = TPL_PaletteFormat.IA8; + this.Close(); + } + + private void btnRGB5A3_Click(object sender, System.EventArgs e) + { + pFormat = TPL_PaletteFormat.RGB5A3; + this.Close(); + } + + private void btnRGB565_Click(object sender, System.EventArgs e) + { + pFormat = TPL_PaletteFormat.RGB565; + this.Close(); + } + + private void CustomizeMii_PaletteFormatBox_Load(object sender, System.EventArgs e) + { + CenterToParent(); + } + } +} diff --git a/CustomizeMii/CustomizeMii_PaletteFormatBox.resx b/CustomizeMii/CustomizeMii_PaletteFormatBox.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/CustomizeMii/CustomizeMii_PaletteFormatBox.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/CustomizeMii/CustomizeMii_Preview.Designer.cs b/CustomizeMii/CustomizeMii_Preview.Designer.cs index 623bf40..efc2b7e 100644 --- a/CustomizeMii/CustomizeMii_Preview.Designer.cs +++ b/CustomizeMii/CustomizeMii_Preview.Designer.cs @@ -45,7 +45,6 @@ namespace CustomizeMii /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); this.Panel = new System.Windows.Forms.Panel(); this.cbCheckerBoard = new System.Windows.Forms.CheckBox(); this.btnReplace = new System.Windows.Forms.Button(); @@ -60,7 +59,7 @@ namespace CustomizeMii this.lbSize = new System.Windows.Forms.Label(); this.lbSizeText = new System.Windows.Forms.Label(); this.pbPic = new System.Windows.Forms.PictureBox(); - this.cmFormat = new System.Windows.Forms.ContextMenuStrip(this.components); + this.cmFormat = new System.Windows.Forms.ContextMenuStrip(); this.cmRGBA8 = new System.Windows.Forms.ToolStripMenuItem(); this.cmRGB565 = new System.Windows.Forms.ToolStripMenuItem(); this.cmRGB5A3 = new System.Windows.Forms.ToolStripMenuItem(); @@ -78,6 +77,23 @@ namespace CustomizeMii this.cmToI8 = new System.Windows.Forms.ToolStripMenuItem(); this.cmToI4 = new System.Windows.Forms.ToolStripMenuItem(); this.lbNoPreview = new System.Windows.Forms.Label(); + this.cmCI8 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmCI4 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmCI8RGB5A3 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmCI8RGB565 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmCI8IA8 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmCI4RGB5A3 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmCI4RGB565 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmCI4IA8 = new System.Windows.Forms.ToolStripMenuItem(); + this.lbTip = new System.Windows.Forms.Label(); + this.cmToCI8 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmToCI4 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmToCI8RGB5A3 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmToCI8RGB565 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmToCI8IA8 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmToCI4RGB5A3 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmToCI4RGB565 = new System.Windows.Forms.ToolStripMenuItem(); + this.cmToCI4IA8 = new System.Windows.Forms.ToolStripMenuItem(); this.Panel.SuspendLayout(); this.panel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbPic)).BeginInit(); @@ -182,6 +198,7 @@ namespace CustomizeMii // // panel1 // + this.panel1.Controls.Add(this.lbTip); this.panel1.Controls.Add(this.lbFormat); this.panel1.Controls.Add(this.lbFormatText); this.panel1.Controls.Add(this.lbSize); @@ -196,7 +213,7 @@ namespace CustomizeMii // this.lbFormat.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.lbFormat.AutoSize = true; - this.lbFormat.Location = new System.Drawing.Point(756, 5); + this.lbFormat.Location = new System.Drawing.Point(729, 5); this.lbFormat.Name = "lbFormat"; this.lbFormat.Size = new System.Drawing.Size(43, 13); this.lbFormat.TabIndex = 3; @@ -205,7 +222,7 @@ namespace CustomizeMii // lbFormatText // this.lbFormatText.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.lbFormatText.Location = new System.Drawing.Point(550, 5); + this.lbFormatText.Location = new System.Drawing.Point(523, 5); this.lbFormatText.Name = "lbFormatText"; this.lbFormatText.RightToLeft = System.Windows.Forms.RightToLeft.No; this.lbFormatText.Size = new System.Drawing.Size(205, 13); @@ -252,23 +269,25 @@ namespace CustomizeMii this.cmIA4, this.cmI8, this.cmI4, + this.cmCI8, + this.cmCI4, this.toolStripSeparator1, this.cmChangeFormat}); this.cmFormat.Name = "cmFormat"; - this.cmFormat.Size = new System.Drawing.Size(234, 186); + this.cmFormat.Size = new System.Drawing.Size(267, 252); // // cmRGBA8 // this.cmRGBA8.Name = "cmRGBA8"; - this.cmRGBA8.Size = new System.Drawing.Size(233, 22); + this.cmRGBA8.Size = new System.Drawing.Size(266, 22); this.cmRGBA8.Tag = "rgba8"; - this.cmRGBA8.Text = "As RGBA8 (High Quality)"; + this.cmRGBA8.Text = "As RGBA8 (High Quality with Alpha)"; this.cmRGBA8.Click += new System.EventHandler(this.cmFormat_Click); // // cmRGB565 // this.cmRGB565.Name = "cmRGB565"; - this.cmRGB565.Size = new System.Drawing.Size(233, 22); + this.cmRGB565.Size = new System.Drawing.Size(266, 22); this.cmRGB565.Tag = "rgb565"; this.cmRGB565.Text = "As RGB565 (Moderate Quality)"; this.cmRGB565.Click += new System.EventHandler(this.cmFormat_Click); @@ -276,15 +295,15 @@ namespace CustomizeMii // cmRGB5A3 // this.cmRGB5A3.Name = "cmRGB5A3"; - this.cmRGB5A3.Size = new System.Drawing.Size(233, 22); + this.cmRGB5A3.Size = new System.Drawing.Size(266, 22); this.cmRGB5A3.Tag = "rgb5a3"; - this.cmRGB5A3.Text = "As RGB5A3 (Low Quality)"; + this.cmRGB5A3.Text = "As RGB5A3 (Low Quality with Alpha)"; this.cmRGB5A3.Click += new System.EventHandler(this.cmFormat_Click); // // cmIA8 // this.cmIA8.Name = "cmIA8"; - this.cmIA8.Size = new System.Drawing.Size(233, 22); + this.cmIA8.Size = new System.Drawing.Size(266, 22); this.cmIA8.Tag = "ia8"; this.cmIA8.Text = "As IA8 (B/W with Alpha)"; this.cmIA8.Click += new System.EventHandler(this.cmFormat_Click); @@ -292,7 +311,7 @@ namespace CustomizeMii // cmIA4 // this.cmIA4.Name = "cmIA4"; - this.cmIA4.Size = new System.Drawing.Size(233, 22); + this.cmIA4.Size = new System.Drawing.Size(266, 22); this.cmIA4.Tag = "ia4"; this.cmIA4.Text = "As IA4 (B/W with Alpha)"; this.cmIA4.Click += new System.EventHandler(this.cmFormat_Click); @@ -300,7 +319,7 @@ namespace CustomizeMii // cmI8 // this.cmI8.Name = "cmI8"; - this.cmI8.Size = new System.Drawing.Size(233, 22); + this.cmI8.Size = new System.Drawing.Size(266, 22); this.cmI8.Tag = "i8"; this.cmI8.Text = "As I8 (B/W)"; this.cmI8.Click += new System.EventHandler(this.cmFormat_Click); @@ -308,7 +327,7 @@ namespace CustomizeMii // cmI4 // this.cmI4.Name = "cmI4"; - this.cmI4.Size = new System.Drawing.Size(233, 22); + this.cmI4.Size = new System.Drawing.Size(266, 22); this.cmI4.Tag = "i4"; this.cmI4.Text = "As I4 (B/W)"; this.cmI4.Click += new System.EventHandler(this.cmFormat_Click); @@ -316,7 +335,7 @@ namespace CustomizeMii // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(230, 6); + this.toolStripSeparator1.Size = new System.Drawing.Size(263, 6); // // cmChangeFormat // @@ -327,23 +346,25 @@ namespace CustomizeMii this.cmToIA8, this.cmToIA4, this.cmToI8, - this.cmToI4}); + this.cmToI4, + this.cmToCI8, + this.cmToCI4}); this.cmChangeFormat.Name = "cmChangeFormat"; - this.cmChangeFormat.Size = new System.Drawing.Size(233, 22); + this.cmChangeFormat.Size = new System.Drawing.Size(266, 22); this.cmChangeFormat.Text = "Change Format"; // // cmToRGBA8 // this.cmToRGBA8.Name = "cmToRGBA8"; - this.cmToRGBA8.Size = new System.Drawing.Size(234, 22); + this.cmToRGBA8.Size = new System.Drawing.Size(267, 22); this.cmToRGBA8.Tag = "rgba8"; - this.cmToRGBA8.Text = "To RGBA8 (High Quality)"; + this.cmToRGBA8.Text = "To RGBA8 (High Quality with Alpha)"; this.cmToRGBA8.Click += new System.EventHandler(this.cmChangeFormat_Click); // // cmToRGB565 // this.cmToRGB565.Name = "cmToRGB565"; - this.cmToRGB565.Size = new System.Drawing.Size(234, 22); + this.cmToRGB565.Size = new System.Drawing.Size(267, 22); this.cmToRGB565.Tag = "rgb565"; this.cmToRGB565.Text = "To RGB565 (Moderate Quality)"; this.cmToRGB565.Click += new System.EventHandler(this.cmChangeFormat_Click); @@ -351,15 +372,15 @@ namespace CustomizeMii // cmToRGB5A3 // this.cmToRGB5A3.Name = "cmToRGB5A3"; - this.cmToRGB5A3.Size = new System.Drawing.Size(234, 22); + this.cmToRGB5A3.Size = new System.Drawing.Size(267, 22); this.cmToRGB5A3.Tag = "rgb5a3"; - this.cmToRGB5A3.Text = "To RGB5A3 (Low Quality)"; + this.cmToRGB5A3.Text = "To RGB5A3 (Low Quality with Alpha)"; this.cmToRGB5A3.Click += new System.EventHandler(this.cmChangeFormat_Click); // // cmToIA8 // this.cmToIA8.Name = "cmToIA8"; - this.cmToIA8.Size = new System.Drawing.Size(234, 22); + this.cmToIA8.Size = new System.Drawing.Size(267, 22); this.cmToIA8.Tag = "ia8"; this.cmToIA8.Text = "To IA8 (B/W with Alpha)"; this.cmToIA8.Click += new System.EventHandler(this.cmChangeFormat_Click); @@ -367,7 +388,7 @@ namespace CustomizeMii // cmToIA4 // this.cmToIA4.Name = "cmToIA4"; - this.cmToIA4.Size = new System.Drawing.Size(234, 22); + this.cmToIA4.Size = new System.Drawing.Size(267, 22); this.cmToIA4.Tag = "ia4"; this.cmToIA4.Text = "To IA4 (B/W with Alpha)"; this.cmToIA4.Click += new System.EventHandler(this.cmChangeFormat_Click); @@ -375,7 +396,7 @@ namespace CustomizeMii // cmToI8 // this.cmToI8.Name = "cmToI8"; - this.cmToI8.Size = new System.Drawing.Size(234, 22); + this.cmToI8.Size = new System.Drawing.Size(267, 22); this.cmToI8.Tag = "i8"; this.cmToI8.Text = "To I8 (B/W)"; this.cmToI8.Click += new System.EventHandler(this.cmChangeFormat_Click); @@ -383,7 +404,7 @@ namespace CustomizeMii // cmToI4 // this.cmToI4.Name = "cmToI4"; - this.cmToI4.Size = new System.Drawing.Size(234, 22); + this.cmToI4.Size = new System.Drawing.Size(267, 22); this.cmToI4.Tag = "i4"; this.cmToI4.Text = "To I4 (B/W)"; this.cmToI4.Click += new System.EventHandler(this.cmChangeFormat_Click); @@ -399,6 +420,154 @@ namespace CustomizeMii this.lbNoPreview.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lbNoPreview.Visible = false; // + // cmCI8 + // + this.cmCI8.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.cmCI8RGB5A3, + this.cmCI8RGB565, + this.cmCI8IA8}); + this.cmCI8.Name = "cmCI8"; + this.cmCI8.Size = new System.Drawing.Size(266, 22); + this.cmCI8.Text = "As CI8 (Indexed, max. 256 Colors)"; + // + // cmCI4 + // + this.cmCI4.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.cmCI4RGB5A3, + this.cmCI4RGB565, + this.cmCI4IA8}); + this.cmCI4.Name = "cmCI4"; + this.cmCI4.Size = new System.Drawing.Size(266, 22); + this.cmCI4.Text = "As CI4 (Indexed, max. 16 Colors)"; + // + // cmCI8RGB5A3 + // + this.cmCI8RGB5A3.Name = "cmCI8RGB5A3"; + this.cmCI8RGB5A3.Size = new System.Drawing.Size(283, 22); + this.cmCI8RGB5A3.Tag = "ci8rgb5a3"; + this.cmCI8RGB5A3.Text = "With RGB5A3 Palette (Color with Alpha)"; + this.cmCI8RGB5A3.Click += new System.EventHandler(this.cmFormat_Click); + // + // cmCI8RGB565 + // + this.cmCI8RGB565.Name = "cmCI8RGB565"; + this.cmCI8RGB565.Size = new System.Drawing.Size(283, 22); + this.cmCI8RGB565.Tag = "ci8rgb565"; + this.cmCI8RGB565.Text = "With RGB565 Palette (Color)"; + this.cmCI8RGB565.Click += new System.EventHandler(this.cmFormat_Click); + // + // cmCI8IA8 + // + this.cmCI8IA8.Name = "cmCI8IA8"; + this.cmCI8IA8.Size = new System.Drawing.Size(283, 22); + this.cmCI8IA8.Tag = "ci8ia8"; + this.cmCI8IA8.Text = "With IA8 Palette (B/W with Alpha)"; + this.cmCI8IA8.Click += new System.EventHandler(this.cmFormat_Click); + // + // cmCI4RGB5A3 + // + this.cmCI4RGB5A3.Name = "cmCI4RGB5A3"; + this.cmCI4RGB5A3.Size = new System.Drawing.Size(283, 22); + this.cmCI4RGB5A3.Tag = "ci4rgb5a3"; + this.cmCI4RGB5A3.Text = "With RGB5A3 Palette (Color with Alpha)"; + this.cmCI4RGB5A3.Click += new System.EventHandler(this.cmFormat_Click); + // + // cmCI4RGB565 + // + this.cmCI4RGB565.Name = "cmCI4RGB565"; + this.cmCI4RGB565.Size = new System.Drawing.Size(283, 22); + this.cmCI4RGB565.Tag = "ci4rgb565"; + this.cmCI4RGB565.Text = "With RGB565 Palette (Color)"; + this.cmCI4RGB565.Click += new System.EventHandler(this.cmFormat_Click); + // + // cmCI4IA8 + // + this.cmCI4IA8.Name = "cmCI4IA8"; + this.cmCI4IA8.Size = new System.Drawing.Size(283, 22); + this.cmCI4IA8.Tag = "ci4ia8"; + this.cmCI4IA8.Text = "With IA8 Palette (B/W with Alpha)"; + this.cmCI4IA8.Click += new System.EventHandler(this.cmFormat_Click); + // + // lbTip + // + this.lbTip.AutoSize = true; + this.lbTip.ForeColor = System.Drawing.Color.Red; + this.lbTip.Location = new System.Drawing.Point(149, 6); + this.lbTip.Name = "lbTip"; + this.lbTip.Size = new System.Drawing.Size(470, 13); + this.lbTip.TabIndex = 4; + this.lbTip.Text = "Tip: Reduce the colors of an image with Photoshop or GIMP to gain better results " + + "with CI formats..."; + this.lbTip.Visible = false; + // + // cmToCI8 + // + this.cmToCI8.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.cmToCI8RGB5A3, + this.cmToCI8RGB565, + this.cmToCI8IA8}); + this.cmToCI8.Name = "cmToCI8"; + this.cmToCI8.Size = new System.Drawing.Size(267, 22); + this.cmToCI8.Text = "To CI8 (Indexed, max. 256 Colors)"; + // + // cmToCI4 + // + this.cmToCI4.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.cmToCI4RGB5A3, + this.cmToCI4RGB565, + this.cmToCI4IA8}); + this.cmToCI4.Name = "cmToCI4"; + this.cmToCI4.Size = new System.Drawing.Size(267, 22); + this.cmToCI4.Text = "To CI4 (Indexed, max. 16 Colors)"; + // + // cmToCI8RGB5A3 + // + this.cmToCI8RGB5A3.Name = "cmToCI8RGB5A3"; + this.cmToCI8RGB5A3.Size = new System.Drawing.Size(283, 22); + this.cmToCI8RGB5A3.Tag = "ci8rgb5a3"; + this.cmToCI8RGB5A3.Text = "With RGB5A3 Palette (Color with Alpha)"; + this.cmToCI8RGB5A3.Click += new System.EventHandler(this.cmChangeFormat_Click); + // + // cmToCI8RGB565 + // + this.cmToCI8RGB565.Name = "cmToCI8RGB565"; + this.cmToCI8RGB565.Size = new System.Drawing.Size(283, 22); + this.cmToCI8RGB565.Tag = "ci8rgb565"; + this.cmToCI8RGB565.Text = "With RGB565 Palette (Color)"; + this.cmToCI8RGB565.Click += new System.EventHandler(this.cmChangeFormat_Click); + // + // cmToCI8IA8 + // + this.cmToCI8IA8.Name = "cmToCI8IA8"; + this.cmToCI8IA8.Size = new System.Drawing.Size(283, 22); + this.cmToCI8IA8.Tag = "ci8ia8"; + this.cmToCI8IA8.Text = "With IA8 Palette (B/W with Alpha)"; + this.cmToCI8IA8.Click += new System.EventHandler(this.cmChangeFormat_Click); + // + // cmToCI4RGB5A3 + // + this.cmToCI4RGB5A3.Name = "cmToCI4RGB5A3"; + this.cmToCI4RGB5A3.Size = new System.Drawing.Size(283, 22); + this.cmToCI4RGB5A3.Tag = "ci4rgb5a3"; + this.cmToCI4RGB5A3.Text = "With RGB5A3 Palette (Color with Alpha)"; + this.cmToCI4RGB5A3.Click += new System.EventHandler(this.cmChangeFormat_Click); + // + // cmToCI4RGB565 + // + this.cmToCI4RGB565.Name = "cmToCI4RGB565"; + this.cmToCI4RGB565.Size = new System.Drawing.Size(283, 22); + this.cmToCI4RGB565.Tag = "ci4rgb565"; + this.cmToCI4RGB565.Text = "With RGB565 Palette (Color)"; + this.cmToCI4RGB565.Click += new System.EventHandler(this.cmChangeFormat_Click); + // + // cmToCI4IA8 + // + this.cmToCI4IA8.Name = "cmToCI4IA8"; + this.cmToCI4IA8.Size = new System.Drawing.Size(283, 22); + this.cmToCI4IA8.Tag = "ci4ia8"; + this.cmToCI4IA8.Text = "With IA8 Palette (B/W with Alpha)"; + this.cmToCI4IA8.Click += new System.EventHandler(this.cmChangeFormat_Click); + // // CustomizeMii_Preview // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -414,8 +583,8 @@ namespace CustomizeMii this.MinimumSize = new System.Drawing.Size(833, 500); this.Name = "CustomizeMii_Preview"; this.Text = "Preview"; - this.Load += new System.EventHandler(this.Preview_Load); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Preview_FormClosing); + this.Load += new System.EventHandler(this.Preview_Load); this.Panel.ResumeLayout(false); this.Panel.PerformLayout(); this.panel1.ResumeLayout(false); @@ -460,5 +629,22 @@ namespace CustomizeMii private System.Windows.Forms.ToolStripMenuItem cmToI4; private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; private System.Windows.Forms.CheckBox cbCheckerBoard; + private System.Windows.Forms.ToolStripMenuItem cmCI8; + private System.Windows.Forms.ToolStripMenuItem cmCI4; + private System.Windows.Forms.ToolStripMenuItem cmCI8RGB5A3; + private System.Windows.Forms.ToolStripMenuItem cmCI8RGB565; + private System.Windows.Forms.ToolStripMenuItem cmCI8IA8; + private System.Windows.Forms.ToolStripMenuItem cmCI4RGB5A3; + private System.Windows.Forms.ToolStripMenuItem cmCI4RGB565; + private System.Windows.Forms.ToolStripMenuItem cmCI4IA8; + private System.Windows.Forms.Label lbTip; + private System.Windows.Forms.ToolStripMenuItem cmToCI8; + private System.Windows.Forms.ToolStripMenuItem cmToCI4; + private System.Windows.Forms.ToolStripMenuItem cmToCI8RGB5A3; + private System.Windows.Forms.ToolStripMenuItem cmToCI8RGB565; + private System.Windows.Forms.ToolStripMenuItem cmToCI8IA8; + private System.Windows.Forms.ToolStripMenuItem cmToCI4RGB5A3; + private System.Windows.Forms.ToolStripMenuItem cmToCI4RGB565; + private System.Windows.Forms.ToolStripMenuItem cmToCI4IA8; } } \ No newline at end of file diff --git a/CustomizeMii/CustomizeMii_Preview.cs b/CustomizeMii/CustomizeMii_Preview.cs index a1dd582..db0a4eb 100644 --- a/CustomizeMii/CustomizeMii_Preview.cs +++ b/CustomizeMii/CustomizeMii_Preview.cs @@ -30,6 +30,7 @@ namespace CustomizeMii private U8 iconBin; private string startTPL; private bool startIcon = false; + Timer tipTimer = new Timer(); public U8 BannerBin { get { return bannerBin; } set { bannerBin = value; } } public U8 IconBin { get { return iconBin; } set { iconBin = value; } } @@ -79,6 +80,9 @@ namespace CustomizeMii tmpImage.tplImage = tmpTpl.ExtractTexture(); tmpImage.checkerBoard = createCheckerBoard(tmpImage.tplImage.Width, tmpImage.tplImage.Height); + if (tmpImage.tplFormat.StartsWith("CI")) + tmpImage.tplFormat += " + " + tmpTpl.GetPaletteFormat(0); + bannerImages.Add(tmpImage); } } @@ -95,6 +99,9 @@ namespace CustomizeMii tmpImage.tplImage = tmpTpl.ExtractTexture(); tmpImage.checkerBoard = createCheckerBoard(tmpImage.tplImage.Width, tmpImage.tplImage.Height); + if (tmpImage.tplFormat.StartsWith("CI")) + tmpImage.tplFormat += " + " + tmpTpl.GetPaletteFormat(0); + iconImages.Add(tmpImage); } } @@ -130,6 +137,16 @@ namespace CustomizeMii if (cbBanner.SelectedIndex != -1) cbBanner.Select(); else if (cbIcon.SelectedIndex != -1) cbIcon.Select(); + + tipTimer.Interval = 7000; + tipTimer.Tag = 0; + tipTimer.Tick += new EventHandler(tipTimer_Tick); + } + + void tipTimer_Tick(object sender, EventArgs e) + { + lbTip.Visible = false; + tipTimer.Stop(); } private void cbBanner_SelectedIndexChanged(object sender, EventArgs e) @@ -243,40 +260,66 @@ namespace CustomizeMii } Size tplSize = tmpTpl.GetTextureSize(0); - TPL_Format tplFormat; if (newImg.Width != tplSize.Width || newImg.Height != tplSize.Height) newImg = resizeImage(newImg, tplSize.Width, tplSize.Height); ToolStripMenuItem cmSender = sender as ToolStripMenuItem; + TPL_TextureFormat tplFormat; + TPL_PaletteFormat pFormat = TPL_PaletteFormat.RGB5A3; + switch (cmSender.Tag.ToString().ToLower()) { case "i4": - tplFormat = TPL_Format.I4; + tplFormat = TPL_TextureFormat.I4; break; case "i8": - tplFormat = TPL_Format.I8; + tplFormat = TPL_TextureFormat.I8; break; case "ia4": - tplFormat = TPL_Format.IA4; + tplFormat = TPL_TextureFormat.IA4; break; case "ia8": - tplFormat = TPL_Format.IA8; + tplFormat = TPL_TextureFormat.IA8; break; case "rgb565": - tplFormat = TPL_Format.RGB565; + tplFormat = TPL_TextureFormat.RGB565; break; case "rgb5a3": - tplFormat = TPL_Format.RGB5A3; + tplFormat = TPL_TextureFormat.RGB5A3; + break; + case "ci8rgb5a3": + tplFormat = TPL_TextureFormat.CI8; + pFormat = TPL_PaletteFormat.RGB5A3; + break; + case "ci8rgb565": + tplFormat = TPL_TextureFormat.CI8; + pFormat = TPL_PaletteFormat.RGB565; + break; + case "ci8ia8": + tplFormat = TPL_TextureFormat.CI8; + pFormat = TPL_PaletteFormat.IA8; + break; + case "ci4rgb5a3": + tplFormat = TPL_TextureFormat.CI4; + pFormat = TPL_PaletteFormat.RGB5A3; + break; + case "ci4rgb565": + tplFormat = TPL_TextureFormat.CI4; + pFormat = TPL_PaletteFormat.RGB565; + break; + case "ci4ia8": + tplFormat = TPL_TextureFormat.CI4; + pFormat = TPL_PaletteFormat.IA8; break; default: - tplFormat = TPL_Format.RGBA8; + tplFormat = TPL_TextureFormat.RGBA8; break; } tmpTpl.RemoveTexture(0); - tmpTpl.AddTexture(newImg, tplFormat); + tmpTpl.AddTexture(newImg, tplFormat, pFormat); if (cbBanner.SelectedIndex != -1) { @@ -284,6 +327,9 @@ namespace CustomizeMii images[0][cbBanner.SelectedIndex].tplImage = tmpTpl.ExtractTexture(); images[0][cbBanner.SelectedIndex].tplFormat = tmpTpl.GetTextureFormat(0).ToString(); + if (images[0][cbBanner.SelectedIndex].tplFormat.StartsWith("CI")) + images[0][cbBanner.SelectedIndex].tplFormat += " + " + tmpTpl.GetPaletteFormat(0); + pbPic.Image = images[0][cbBanner.SelectedIndex].tplImage; lbFormat.Text = images[0][cbBanner.SelectedIndex].tplFormat; lbSize.Text = string.Format("{0} x {1}", images[0][cbBanner.SelectedIndex].tplImage.Width, images[0][cbBanner.SelectedIndex].tplImage.Height); @@ -294,6 +340,9 @@ namespace CustomizeMii images[1][cbIcon.SelectedIndex].tplImage = tmpTpl.ExtractTexture(); images[1][cbIcon.SelectedIndex].tplFormat = tmpTpl.GetTextureFormat(0).ToString(); + if (images[1][cbIcon.SelectedIndex].tplFormat.StartsWith("CI")) + images[1][cbIcon.SelectedIndex].tplFormat += " + " + tmpTpl.GetPaletteFormat(0); + pbPic.Image = images[1][cbIcon.SelectedIndex].tplImage; lbFormat.Text = images[1][cbIcon.SelectedIndex].tplFormat; lbSize.Text = string.Format("{0} x {1}", images[1][cbIcon.SelectedIndex].tplImage.Width, images[1][cbIcon.SelectedIndex].tplImage.Height); @@ -301,6 +350,12 @@ namespace CustomizeMii if (cbBanner.SelectedIndex != -1) cbBanner.Select(); else if (cbIcon.SelectedIndex != -1) cbIcon.Select(); + + if (tplFormat == TPL_TextureFormat.CI4 || tplFormat == TPL_TextureFormat.CI8) + { + lbTip.Visible = true; + tipTimer.Start(); + } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } @@ -327,38 +382,63 @@ namespace CustomizeMii } newImg = tmpTpl.ExtractTexture(); - TPL_Format tplFormat; + TPL_TextureFormat tplFormat; + TPL_PaletteFormat pFormat = TPL_PaletteFormat.RGB5A3; ToolStripMenuItem cmSender = sender as ToolStripMenuItem; switch (cmSender.Tag.ToString().ToLower()) { case "i4": - tplFormat = TPL_Format.I4; + tplFormat = TPL_TextureFormat.I4; break; case "i8": - tplFormat = TPL_Format.I8; + tplFormat = TPL_TextureFormat.I8; break; case "ia4": - tplFormat = TPL_Format.IA4; + tplFormat = TPL_TextureFormat.IA4; break; case "ia8": - tplFormat = TPL_Format.IA8; + tplFormat = TPL_TextureFormat.IA8; break; case "rgb565": - tplFormat = TPL_Format.RGB565; + tplFormat = TPL_TextureFormat.RGB565; break; case "rgb5a3": - tplFormat = TPL_Format.RGB5A3; + tplFormat = TPL_TextureFormat.RGB5A3; + break; + case "ci8rgb5a3": + tplFormat = TPL_TextureFormat.CI8; + pFormat = TPL_PaletteFormat.RGB5A3; + break; + case "ci8rgb565": + tplFormat = TPL_TextureFormat.CI8; + pFormat = TPL_PaletteFormat.RGB565; + break; + case "ci8ia8": + tplFormat = TPL_TextureFormat.CI8; + pFormat = TPL_PaletteFormat.IA8; + break; + case "ci4rgb5a3": + tplFormat = TPL_TextureFormat.CI4; + pFormat = TPL_PaletteFormat.RGB5A3; + break; + case "ci4rgb565": + tplFormat = TPL_TextureFormat.CI4; + pFormat = TPL_PaletteFormat.RGB565; + break; + case "ci4ia8": + tplFormat = TPL_TextureFormat.CI4; + pFormat = TPL_PaletteFormat.IA8; break; default: - tplFormat = TPL_Format.RGBA8; + tplFormat = TPL_TextureFormat.RGBA8; break; } if (tmpTpl.GetTextureFormat(0) == tplFormat) return; tmpTpl.RemoveTexture(0); - tmpTpl.AddTexture(newImg, tplFormat); + tmpTpl.AddTexture(newImg, tplFormat, pFormat); if (cbBanner.SelectedIndex != -1) { @@ -366,6 +446,8 @@ namespace CustomizeMii images[0][cbBanner.SelectedIndex].tplImage = tmpTpl.ExtractTexture(); images[0][cbBanner.SelectedIndex].tplFormat = tmpTpl.GetTextureFormat(0).ToString(); + if (images[0][cbBanner.SelectedIndex].tplFormat.StartsWith("CI")) + images[0][cbBanner.SelectedIndex].tplFormat += " + " + tmpTpl.GetPaletteFormat(0); pbPic.Image = images[0][cbBanner.SelectedIndex].tplImage; lbFormat.Text = images[0][cbBanner.SelectedIndex].tplFormat; @@ -377,6 +459,9 @@ namespace CustomizeMii images[1][cbIcon.SelectedIndex].tplImage = tmpTpl.ExtractTexture(); images[1][cbIcon.SelectedIndex].tplFormat = tmpTpl.GetTextureFormat(0).ToString(); + if (images[1][cbIcon.SelectedIndex].tplFormat.StartsWith("CI")) + images[1][cbIcon.SelectedIndex].tplFormat += " + " + tmpTpl.GetPaletteFormat(0); + pbPic.Image = images[1][cbIcon.SelectedIndex].tplImage; lbFormat.Text = images[1][cbIcon.SelectedIndex].tplFormat; lbSize.Text = string.Format("{0} x {1}", images[1][cbIcon.SelectedIndex].tplImage.Width, images[1][cbIcon.SelectedIndex].tplImage.Height); @@ -384,6 +469,12 @@ namespace CustomizeMii if (cbBanner.SelectedIndex != -1) cbBanner.Select(); else if (cbIcon.SelectedIndex != -1) cbIcon.Select(); + + if (tplFormat == TPL_TextureFormat.CI4 || tplFormat == TPL_TextureFormat.CI8) + { + lbTip.Visible = true; + tipTimer.Start(); + } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } diff --git a/CustomizeMii/CustomizeMii_PrivateFunctions.cs b/CustomizeMii/CustomizeMii_PrivateFunctions.cs index 299f416..15f387c 100644 --- a/CustomizeMii/CustomizeMii_PrivateFunctions.cs +++ b/CustomizeMii/CustomizeMii_PrivateFunctions.cs @@ -169,7 +169,7 @@ namespace CustomizeMii if (!tbSound.Text.ToLower().EndsWith(".bns") && !tbSound.Text.StartsWith("BNS:")) { Wave w = new Wave(Headers.IMD5.RemoveHeader(newSoundBin)); - soundLength = w.GetWaveLength(); + soundLength = w.PlayLength; if (soundLength > soundMaxLength) { errorBox(string.Format("Your wave sound is longer than {0} seconds and thus not supported.\nIt is recommended to use a sound shorter than {1} seconds, the maximum length is {0} seconds!\nThis limit doesn't affect BNS sounds!", soundMaxLength, soundWarningLength)); @@ -449,7 +449,14 @@ namespace CustomizeMii try { TPL tmpTpl = TPL.Load(bannerBin.Data[i]); - bannerTpls.Add(string.Format("{0} ({3}, {1} x {2}, {4})", bannerBin.StringTable[i], tmpTpl.GetTextureSize(0).Width, tmpTpl.GetTextureSize(0).Height, tmpTpl.GetTextureFormat(0).ToString(), getSizeString(bannerBin.Data[i].Length))); + + string formatString = tmpTpl.GetTextureFormat(0).ToString(); + if (formatString.StartsWith("CI")) formatString += "+" + tmpTpl.GetPaletteFormat(0); + + bannerTpls.Add(string.Format("{0} ({3}, {1} x {2}, {4})", + bannerBin.StringTable[i], tmpTpl.GetTextureSize(0).Width, + tmpTpl.GetTextureSize(0).Height, formatString, + getSizeString(bannerBin.Data[i].Length))); } catch { } } @@ -462,7 +469,14 @@ namespace CustomizeMii try { TPL tmpTpl = TPL.Load(newBannerBin.Data[i]); - bannerTpls.Add(string.Format("{0} ({3}, {1} x {2}, {4})", newBannerBin.StringTable[i], tmpTpl.GetTextureSize(0).Width, tmpTpl.GetTextureSize(0).Height, tmpTpl.GetTextureFormat(0).ToString(), getSizeString(newBannerBin.Data[i].Length))); + + string formatString = tmpTpl.GetTextureFormat(0).ToString(); + if (formatString.StartsWith("CI")) formatString += "+" + tmpTpl.GetPaletteFormat(0); + + bannerTpls.Add(string.Format("{0} ({3}, {1} x {2}, {4})", + newBannerBin.StringTable[i], tmpTpl.GetTextureSize(0).Width, + tmpTpl.GetTextureSize(0).Height, formatString, + getSizeString(newBannerBin.Data[i].Length))); } catch { } } @@ -690,7 +704,7 @@ namespace CustomizeMii Image tImg = new Bitmap(tSize.Width, tSize.Height); tmpTpl.RemoveTexture(0); - tmpTpl.AddTexture(tImg, TPL_Format.IA4); + tmpTpl.AddTexture(tImg, TPL_TextureFormat.IA4); bannerBin.Data[i] = tmpTpl.ToByteArray(); } @@ -707,7 +721,7 @@ namespace CustomizeMii Image tImg = new Bitmap(tSize.Width, tSize.Height); tmpTpl.RemoveTexture(0); - tmpTpl.AddTexture(tImg, TPL_Format.IA4); + tmpTpl.AddTexture(tImg, TPL_TextureFormat.IA4); newBannerBin.Data[i] = tmpTpl.ToByteArray(); } @@ -734,7 +748,7 @@ namespace CustomizeMii Image tImg = new Bitmap(tSize.Width, tSize.Height); tmpTpl.RemoveTexture(0); - tmpTpl.AddTexture(tImg, TPL_Format.IA4); + tmpTpl.AddTexture(tImg, TPL_TextureFormat.IA4); iconBin.Data[i] = tmpTpl.ToByteArray(); } @@ -751,7 +765,7 @@ namespace CustomizeMii Image tImg = new Bitmap(tSize.Width, tSize.Height); tmpTpl.RemoveTexture(0); - tmpTpl.AddTexture(tImg, TPL_Format.IA4); + tmpTpl.AddTexture(tImg, TPL_TextureFormat.IA4); newIconBin.Data[i] = tmpTpl.ToByteArray(); } @@ -771,7 +785,7 @@ namespace CustomizeMii try { int switchVal = lbx == lbxBannerTpls ? cmbFormatBanner.SelectedIndex : cmbFormatIcon.SelectedIndex; - if (switchVal > 6) + if (switchVal > 9) throw new Exception("This format is not supported, you must choose a different one!"); if (string.IsNullOrEmpty(inputFile)) @@ -880,28 +894,54 @@ namespace CustomizeMii int tplFormat = 6; + TPL_PaletteFormat pFormat = TPL_PaletteFormat.RGB5A3; + switch (switchVal) { - case 6: //I4 - tplFormat = 0; + case 6: + tplFormat = (int)TPL_TextureFormat.I4; break; - case 5: //I8 - tplFormat = 1; + case 5: + tplFormat = (int)TPL_TextureFormat.I8; break; - case 4: //IA4 - tplFormat = 2; + case 4: + tplFormat = (int)TPL_TextureFormat.IA4; break; - case 3: //IA8 - tplFormat = 3; + case 3: + tplFormat = (int)TPL_TextureFormat.IA8; break; case 0: - tplFormat = 6; + tplFormat = (int)TPL_TextureFormat.RGBA8; break; case 1: - tplFormat = 4; + tplFormat = (int)TPL_TextureFormat.RGB565; break; case 2: - tplFormat = 5; + tplFormat = (int)TPL_TextureFormat.RGB5A3; + break; + case 7: + tplFormat = (int)TPL_TextureFormat.CI4; + + CustomizeMii_PaletteFormatBox pfb = new CustomizeMii_PaletteFormatBox(); + pfb.ShowDialog(); + + pFormat = pfb.PaletteFormat; + break; + case 8: + tplFormat = (int)TPL_TextureFormat.CI8; + + CustomizeMii_PaletteFormatBox pfb2 = new CustomizeMii_PaletteFormatBox(); + pfb2.ShowDialog(); + + pFormat = pfb2.PaletteFormat; + break; + case 9: + tplFormat = (int)TPL_TextureFormat.CI14X2; + + CustomizeMii_PaletteFormatBox pfb3 = new CustomizeMii_PaletteFormatBox(); + pfb3.ShowDialog(); + + pFormat = pfb3.PaletteFormat; break; default: if (!inputFile.ToLower().EndsWith(".tpl")) @@ -913,7 +953,7 @@ namespace CustomizeMii if (inputFile.ToLower().EndsWith(".tpl")) newTpl = File.ReadAllBytes(inputFile); else - newTpl = TPL.FromImage(inputFile, (TPL_Format)tplFormat).ToByteArray(); + newTpl = TPL.FromImage(inputFile, (TPL_TextureFormat)tplFormat, pFormat).ToByteArray(); if (lbx == lbxBannerTpls) { @@ -1187,7 +1227,7 @@ namespace CustomizeMii TPL tmpTpl = TPL.Load(bannerBin.Data[bannerBin.GetNodeIndex(thisTpl)]); Image img = Image.FromFile(image); - TPL_Format tplFormat = tmpTpl.GetTextureFormat(0); + TPL_TextureFormat tplFormat = tmpTpl.GetTextureFormat(0); Size tplSize = tmpTpl.GetTextureSize(0); if (tplSize.Width != img.Width || @@ -1205,7 +1245,7 @@ namespace CustomizeMii TPL tmpTpl = TPL.Load(newBannerBin.Data[newBannerBin.GetNodeIndex(thisTpl)]); Image img = Image.FromFile(image); - TPL_Format tplFormat = tmpTpl.GetTextureFormat(0); + TPL_TextureFormat tplFormat = tmpTpl.GetTextureFormat(0); Size tplSize = tmpTpl.GetTextureSize(0); if (tplSize.Width != img.Width || @@ -1226,7 +1266,7 @@ namespace CustomizeMii TPL tmpTpl = TPL.Load(iconBin.Data[iconBin.GetNodeIndex(thisTpl)]); Image img = Image.FromFile(image); - TPL_Format tplFormat = tmpTpl.GetTextureFormat(0); + TPL_TextureFormat tplFormat = tmpTpl.GetTextureFormat(0); Size tplSize = tmpTpl.GetTextureSize(0); if (tplSize.Width != img.Width || @@ -1244,7 +1284,7 @@ namespace CustomizeMii TPL tmpTpl = TPL.Load(newIconBin.Data[newIconBin.GetNodeIndex(thisTpl)]); Image img = Image.FromFile(image); - TPL_Format tplFormat = tmpTpl.GetTextureFormat(0); + TPL_TextureFormat tplFormat = tmpTpl.GetTextureFormat(0); Size tplSize = tmpTpl.GetTextureSize(0); if (tplSize.Width != img.Width || diff --git a/CustomizeMii/Properties/AssemblyInfo.cs b/CustomizeMii/Properties/AssemblyInfo.cs index bb20754..4809c9f 100644 --- a/CustomizeMii/Properties/AssemblyInfo.cs +++ b/CustomizeMii/Properties/AssemblyInfo.cs @@ -50,6 +50,6 @@ using System.Resources; // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.0.0.0")] -[assembly: AssemblyFileVersion("3.0.0.0")] +[assembly: AssemblyVersion("3.1.0.0")] +[assembly: AssemblyFileVersion("3.1.0.0")] [assembly: NeutralResourcesLanguageAttribute("en")] diff --git a/CustomizeMii/Properties/Resources.Designer.cs b/CustomizeMii/Properties/Resources.Designer.cs index 3137e88..2a6abd0 100644 --- a/CustomizeMii/Properties/Resources.Designer.cs +++ b/CustomizeMii/Properties/Resources.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// Dieser Code wurde von einem Tool generiert. -// Laufzeitversion:2.0.50727.4927 +// This code was generated by a tool. +// Runtime Version:4.0.30128.1 // -// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn -// der Code erneut generiert wird. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -13,13 +13,13 @@ namespace CustomizeMii.Properties { /// - /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// A strongly-typed resource class, for looking up localized strings, etc. /// - // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert - // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. - // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen - // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -33,7 +33,7 @@ namespace CustomizeMii.Properties { } /// - /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { @@ -47,8 +47,8 @@ namespace CustomizeMii.Properties { } /// - /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle - /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { @@ -89,14 +89,14 @@ namespace CustomizeMii.Properties { } /// - /// Sucht eine lokalisierte Zeichenfolge, die {\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 MS Sans Serif;}} + /// Looks up a localized string similar to {\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 MS Sans Serif;}} ///{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;} ///{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\sl276\slmult1\b\f0\fs17 These are some basic instructions for CustomizeMii.\b0\par ///\par ///\cf1 At the very beginning, let me say this again: Don't install any WADs without a proper brick protection!\cf0\par ///\par ///Ok, so you want to create your own custom channels?\par - ///First it is important to understand how [Rest der Zeichenfolge wurde abgeschnitten]"; ähnelt. + ///First it is important to understand how [rest of string was truncated]";. /// internal static string Instructions { get { diff --git a/CustomizeMii/Properties/Resources.resx b/CustomizeMii/Properties/Resources.resx index 8ee3630..faf8dfb 100644 --- a/CustomizeMii/Properties/Resources.resx +++ b/CustomizeMii/Properties/Resources.resx @@ -117,7 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + ..\Resources\btnCreate.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/CustomizeMii/Properties/Settings.Designer.cs b/CustomizeMii/Properties/Settings.Designer.cs index 85009d5..fa3ffdf 100644 --- a/CustomizeMii/Properties/Settings.Designer.cs +++ b/CustomizeMii/Properties/Settings.Designer.cs @@ -1,27 +1,10 @@ -/* This file is part of CustomizeMii - * Copyright (C) 2009 Leathl - * - * CustomizeMii is free software: you can redistribute it and/or - * modify it under the terms of the GNU General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * CustomizeMii is distributed in the hope that it will be - * useful, but WITHOUT ANY WARRANTY; without even the implied warranty - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ // -// Dieser Code wurde von einem Tool generiert. -// Laufzeitversion:2.0.50727.4927 +// This code was generated by a tool. +// Runtime Version:4.0.30128.1 // -// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn -// der Code erneut generiert wird. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -29,7 +12,7 @@ namespace CustomizeMii.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/CustomizeMii/Readme.txt b/CustomizeMii/Readme.txt index 767c6d0..c1f9d67 100644 --- a/CustomizeMii/Readme.txt +++ b/CustomizeMii/Readme.txt @@ -9,6 +9,15 @@ Thanks to icefire / Xuzz for the basic idea of this application! ----------------------------------------------------------------------------------------- Changelog: +Version 3.1 + - Updated libWiiSharp to 0.2 + => - Speed up in TPL conversion + => - Fixed IA8 TPL code (from/to) + => - Fixed CI14X2 TPL code (from) + => - Added conversion to CI4 / CI8 + => - Added BNS to Wave conversion (Extract -> Sound -> As Audiofile) + - Added option to make the sound silent + Version 3.0 - Switched backend to libWiiSharp (http://libwiisharp.googlecode.com) - Speed improvements through using RAM instead of temp files on HDD diff --git a/CustomizeMii/lControls.dll b/CustomizeMii/lControls.dll new file mode 100644 index 0000000000000000000000000000000000000000..c57b6cdf7a09fb9a3d0759fd2558d87ddf91245a GIT binary patch literal 39936 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 literal 0 HcmV?d00001 diff --git a/CustomizeMii/libWiiSharp.dll b/CustomizeMii/libWiiSharp.dll index 562da8eccab948359f50562e669ab490f0aefb7f..cfb197f9c1626af9d65170acda492dff6b79ab78 100644 GIT binary patch literal 160256 zcmd4437i~9bwA$QJ<~nM&T4x`n%P}RJ0n|?$2+?^c5Sn=jaN24@PRQtSCVbXmTi!* z)uvZmUd9+OF^4Z>P4{D0YxG+kX?_3G7ouU@@+bvBjIT7$mmEX%r}&#^`y``Y=Yv_~y_Rk1H;S-Wk^a#iemUxjc3;kV#P>=;Inc=OLZ ztw#~bB=~cz&9AhqLHQRy^{Yx^T?)8YF#HzVdKU@N`S)4d>POs%?y#*Do!=IFZ&(&; z5dG!w{`Bb0vexar{zZH7{-NgpS$vbaYP?M{MDJJ^&V@S>A-DlYspyUAgqtmE^Sbc* z8v`UHt`=~%nB?ZJbZ78$^6y^K6@SFdwzAfv*Y;VDtnL$;kPlDrXVPv~EUVB2RCf${ zoej2igN9+>y{mra#u2-|xw({SE=HPLkuWpmHpu5OBxu}@#2Z)Ijoa|-PPSPm8`)U3 ztBKEjgyPg2V^tJd*^se5iR_52ahWo9P3$lf;Rr>T~p+> zTeX`5sK!CJW;aoB1cvNpSpvg0g$6Mrb`uyQuw3YgzzVxLA~7rNCJI9gX^b|U88bq? z3ek|S<&f!FlnHg=+al=&w?S5~t0+NUR}8_mo99rM!Yy+UK)0wqOnF{SxMk0wtU|w+ z3)bQ5;r!ZMupAMOji{$L)(6Bb>ohBWj+FKQ}u0sOz*TdTyo-^fPX@O)(QaK>Sf9Ewq|c*<3;c(n4K@zipt5g#$~ zRB?#pBaWngLnI$@B$XQ?`G_N_*$~M`97(l?NIv37>NG_15l2Gu7|BN*2_?WtKH^BK zK1A{nN20wjk`EIZ919-oD%kZwX%cNTg$x+S2U7BpO8JOtII#pc(t=cXXnU%EnaI>P zxB9Bh2?)I7n(nJ7RLE`CLYuH4B7SoV=8x=R*StPAOrP_iet=P9Ak$G~6fV`qVc6j>yM721^$c0z1xv?;?ekn}go z@j~Ay%L{#@JTLT(GL1T?Mc7axEyE@@EyN}^EyX4lPl^X05DycZmSYo}7Gx8fmShu~ z7G)EgmSq#07G@Kh7F-ou|JClAGTt05=GFS3(mG;hEh^L^l>NE1Xvgwd%86{+dDU2& z=R)S&VgRUq=?us=q{P1!+P_dhXSs1mnoucUb)dZWJ(#aK9)7FMCKB}L#!GJQ&S~@? z&EuKD8$x$lzjX2|>{FqjGslwzVnNt2NpvOLyeU1eovcMq=3fn@7)<*o_g#Tl<+otsJNqOOu62d2Cf=^Ia zp5!~<$!R{xFCZj#{EzYEpIsBGz>rpYhTTQ&Fcm}(F8=#mKl4m zE!KD&Wed`z=iY_nkVCfvDb#?pim1%PYs|zh{EB5H|~10Fbm&D8MK*b@s*CFnW5wz-z-1^ zJTwZoASPE4c{UR-y9yknA$vgsK>9tgz;b}q1D8|(bGT$JbWav!PTPI1U2mZHdSi=V zpiH}>vH?BNLfNhSfh57Ko<+LUr?D zdUhqQh@?E~NE9jdFj_^rZw}Uj&~2vFy|UudE0C@aw25)k{c_wxB|Aig_X2%vx_e|r z(3Pd}HtL>u#E47m*t%O`(`1_HlwE|uG#$P?d@I_{ZTuMih#`K8#>P@#+k%u?P$j-S zw*mDmIQ`X9YbclBPnm;mEKGO^K*$UE+H5JGgL(dUZZL&+H$Zb#HVVXC#t@K>fy|@_ zk`83n+to4H_hs1kv->hx{H#Naj4Y7mA8Ur*lrfG!kQeqo)5xg6-RHP*4t$*aMNMq} zbC4d|PWLZ1(OsL%?<>0HzHm*Sb#wDXU=={C6dcv9JO#lR`A1w=I)>Vo05!*8iuM>9 ztp!s0wtO1e7WFjC(d5vn3oqD%(PrN1cIjjo`I3mzRF3 z=s8mv)?ATLbxc2^F9A-T3(2+1ZD;pY)!plgcrv(UcF?lb_lx-b4BNSCJa0RAm`~4X zo&rn`k)3Ggbagb*j>r$&0%O?6`EyXHurEv1N~SfO_cQkuz2*#}`rRD$Nx{$5W-A## zlLvVpb*a?i{AdSV`5!=j2;dR&XDsx~7CIF2bY$CIK%x)bcD27%cD*$iF55XV6c6M^ zFd!yte+mM!uV+5=JP`x5BAxd_p&GKz$+*#i08&MFP+B&D&>Z>VSts?kLTZVsj zHP{U?IqccZr-4B1T6Et6nv zG$q7-D{CFjS{7^!-ws=7!NYe!ul7|2{lThp&>yTRt{^m|*l{O>pbxLj5U`q02khWn z{+x%Oa2Egs=OZ+M&QeI_s1GmZhYRol{8k_Axo63v^XIg@AA{ zKyxh|KD*xz-+`35;F)-BUWA`yrtojl-!u&)3RNph{`MCcuuXvvo<%f-njut7vV5;v ze>#*+{qzUDq5ABD-Y|X?6FlukIQ*;_N=m4(|#r3T5eK39> z!h4bocwLYJSv#y}P|5596xiPJ@dy-nJNhK0$2PqMT=1&sd{e0MJ&7vblc?f#K~!Ch zs=FAfiH}D>_21E~AzP?lf=ShiSFPkgFuOSmZf&dNqwrOgg6+d;x~7t=U$@oIZ)?sW zg%T;(hpuA=F-6VGY{m0)etz;V{6cl((kLY$`kpdc4_{hAEB`2ITwI`5zwG#UgjyXd zwHnT*YGvAiNLQu5S}C=b`Tc&$2`)xk_e=LZ{GeY#-&y;agN8oekdxf!gfXbW^H9D4^^S3%Vn`tQHvr!%>x2A9K#J*>#@S(oJANF0U z!WY{4D{Po^O!HUv;E!w_f2%Wix1+;;=923&I{e$r(!s32p@ssP5prV^oV;uv08;SD9Ywp|-@Ie4Gq=cwj*%%q$d`QHLCG+X5<^j{8+9LsWpify?QURCC*#=`3Xv*1j);T!|i;`Cnw zK|An}D0nTPc>AS~cf&TmONmXGHib>^jg#Fe$(s9#x&kX!@qA7I_!$G?jueE6&7I%h zn*QGC{QmLO_wi-&)Eak3XIt6W5ilS^Uk%H%$xS z&wZ%ZYS3x!YUG5sVIEM5_0`_U)>)2+riHDr`A7VWorA^QzpuF+DPuPq`r+KZi5~(j z8QO7XO2#JMejO5&|LCX`gVB7r`o<}7+B;Ju_XZ*Q3%>sgRN+;tFEzEeLxgg^wKe7eJ`)nK<2{3QU6b&kVckH{mA!=<@qhY``%go|Wu<1)qfBTSpI|)P53h2{3fY&jkq3^PRCw-TWU{Sy% zx5grxT|^?;nCQ|>J^RW z-C#sUMV^esRiba2A4Q~c6G@1T>|>0I0>H_&PKDnHwm$quSO{rGm7hgAJ3Ou#ERoem|=rpQ}QSb+mendek`b7h&zueyisaS(`rd?h|jIE>x zpv7q7h7~1q!i|G|QA$?na?+Yq@!sw&hk~yIDGtbV8&P?JIYgA)d=+kBHM678mi0=B z0%y*GL82(7KqjfS<)+|^0Is5{!Iuz**LnIL%-FWFz_-80ii!Yt4szw#R?03;`FhL$S z_%f>;mI_hsvR^j2E9FX8?y}BJW6KTx3c0HoP26aQ+WdAP*?1SZeK{*cnR&9h49oBa_JG1W=By$^zKZqWEGrnpO;jj*#ovaYrp)VCab*K3PJl7_OYnGEb2a}N)0ro-LRZG)fp#}*5 z3UIZgyTAv7P2D)L{IpBZUBz1@T3Bo3W2HfciLtQxZK7NK{-_S%2pZpopi*9|$DF`+ zbNlhnOa!9pgV*VET^) z#nWRH*^wlno4x~_iW3#!&{Rq!uhonuU%^x-#yJVB`4rSjnVg*GOM>WtC(?0v(8qKb zwAMOg`+lyrr9W5QnDcV?=Z9w3{YpFp32x1-f!eXd2Y_ax4S|???&)yfYTNF|tMt{M zhw;!78T)EF!;>APg}>~8GvwWV;mHEwZprFPy@p&;&#~9obsv&^e(VaLBLKYYBSwz|4 z-Esb?L_2)$k`z>@`3(*j&xRqB{$Pi{PDdz}3fXglZ&9N{tEh$9es-`AbA;5y@sde3 z4+pgyP7FqjW7p^?Q){q1*wt02Zjo9}FKt999(-yW<@2c9x)pZ#T7XS(HvA~w^_VC8 zd0eD;wN;Vja=EKWUxeleMbemLkvsi#k$-@9Q{=A^*6Oz6S4=IJmX~%FS?MfNRV-Ck zWr2m;%Ms9J{xSo!TCR2hU3N4;Y06<4p;=LAhu?_d*Zi7+KU5y-f?w-~Pn&>9qk~W` zLUE%gUytt&CE~x%a$~NVBnjRIw8f5)M69vhS_;ULJ+leN63qKOv%4yu60cpAT(y#) z{@*rrz{*Nws|@?Yrj{e+k*-<}*ZjCY8-}gII%>bwou@$?9`uKW5H{1HO9MKIBzv~) z5^Go-RF#7A-4@k2sM7EFIkTSF4zaw|h|6++xxr~gc|{ja%R4FW7rLp=xJ4+gvMeQ| zU}w0U)b9LDN=J0G!*9j7uJl({eKn}R6D}E}dRJ;3J$(BbGS9{p{g*iNs6T2dS})hT zDmtow1TO-bhd7@$KI#|!Qrvr2FuszGUZy!Wek+Ap!*5jm;z7S5P&AGc*Fqs7{0)(o zXz+Lb(unx0{8a|0W6H;L;k3#?W0(J^3~0$nJ+)T@rfY!{dVxY1kL3q#+wYGD^Q|*Y zlGquMNJ4Y4waO%k{SO%C8z{65Rd0>DycmTk!vJ|Ed#I#F*xtsz9D*63lagX0(hu=vf z?q|f<6}{<0mkL3fKvK2Pgn>4M`EX3Gw^qA8?A`qS@ZSMRtXEkfGmc4g@Eud;_=Tkm z^d`Rrh@K2#TUXfO@6sjP;j(IqQ^c}De6xP0su9YGo&cDv9t-Dk49@D&{A|CU@suON zWA<~9T~&P+3&X-^bQi!B6wY1^CYx$7I!U_0=p?$q=p^X|qmv{WOeWc2^2r91l?DTT zmbg%1=GVVt3&Eb3WD8NfO@a~7`u$tI*@TBA(IM&J7r;P6B;|bw-;)MgtrS{wcKCC| zYPq9H>ldQ2)Ig81l(BDRoLo?YCMq^8gOG6-bi+*`uttKOkUf5J_v}rIi-29h*dtMu znRz;a!d10YjYTJ9toOi(oq$eonlAxNEct5VQ4F^saero_lykzX5NzIxSk6;o-3Np+ zjxto8{E4Ro_e_k$bNew_3Got@K=ZMZCn1*mdB3o~;^ure0fEFI!ai3t{;d&gA6wog zKa{K8HI2@g{Xw-}c*rl-f|mjjpe}3SzckS3h%VlQX=p ze&W<5_Rj9BUods7Q(v{OzIAH3Q$J>3{V7uwr+zG-MW?>Hc^hDk?i|BfRxFg}0|ju6 z+ci)c>qwjM8qgqk8Ip|`oN7%P{9vDx#BM#X3to;Cg=Lye;zq4*zyd(H639!5zyPgU zntKHjRx)(4%;zg^>$zIbC)~4eim3T*<)Pi^XCb>oTc%(;88L8`Xt2iuR3EEVF-r|M z$n5~$TIpk;y9K`Z>w&tmU74bSp?q%Ry~g7Ln6)i4FNS;< zXBn$Q{VL`XQz+F4ZNxPwsBSi)>?AIW4=pIEA?3i066T!x`lJ@T5KyV#TtRDp@Jduf zi#%feT=07mA-y0XGQl14PGr_7<4qTk3E<5sRQg+|miwEpW)MR-vH&XSCcGvlD@IZu zQecqxHAp=1$-@KX{>Q302!$GDiw-WdHtDRoiGCG)keW{!nCe3crjd4)Re9P!MtN5I z3O?R+lwe@^~7#jQhvY3PaFcf@ z1Wv>aYseHVEp0LJu&kAwN=sp`HKlRR$sz`ghfL^0L_{KF)kY!eAGff7^w$4HYfR0pBCwL6Dkd&LuauXq;HE1rd#&5UCQY*|~-W}%!_W+Bl&HKvUBsbR)URYwBA z9&0XCgai<=-9$(L5j#wT1X#~&SV{b$o&+OHoMb~qbx8cDh$pmO@dVndK0A8Fb5-0B z+69-#gh&un;W~q2?^yHyU1*det~FtzLujWz0C_@UN)l&$=7wdR8BB92SLITDBk*N$wAaKYLUmM?2Zva)_-65ncO zg2Tp98Fv9&yXaM&177Vect&hE$TJ6W&BMqC{&1}&``;NA52Y|u2_7FM6N z1Z8FMe+K_wjQ=0R|Nn*m$H5l32LE4&zV=Ocejoo=BFuO5e;dNnci{)qp41$UOm3x0 z!SZ@cgzlA(QtT>3G_%wl(^o%ni)Oxs;Ko#yZGCB=*0%qdCHpMwmf33b!}1_Z!uPaeP$0%)C)Eib(Zl(lx%X+rL`&dON70s2p&4$;Q;BR>g-rAHY(wYa zXH9Vv<|VAhD!1O3KS39mx9ro$5m59#nz5FXay(-9ug;qwt* zF5$;2w-Ky{?v-sWfiH|-nmfxSef57f;uZLh^#bz0b%L8|z6l9~2k|q8mxq!s2a+#u zPQJV)df_+$I-C28ebs^C`2TZgKAE_{9lIndbjN%98f&W-zt% zHo!O(9D~nzdAq#e>^RrU1Z(lgjIJwW>iKoqOuaC5I^^R&kX@xySu@$W^O26Oui!ic zN_d{jh)j+h)X=s=!D)ESWrH*EP)3{^yaVN^w(14%lrW98T<`}Hrn1e8CsP?~7?<86 zA3}UsBjzUD-8H})q@C-@`43ZBNOgQ-+KoATTrBQ^IFyVkoh7SEf)8bNH4F<#mV;3SsJ zg!}MG&%<)5g__2?^8)me2mL~msa4gTV3;}8`ZS*R#5xGMMz`+KN3O_D=d%@#xwxww zT{qSh2evQkjx0=N*fM1K-R?vYdnVtlOD;Jc7bcnlvCi%ggQKPIGVea87bkHW@mqm zu1h^V(~sHOh=qEtwm(^~u0@E7aIVnU)C?QRSTi;%xVCi75^ttv+GU!q*@dWC%X8G) zJwr^jcF)P18But+rlC2|0EKT}lEvfQkzg@s+nE&lz}Vx-U*sL^w; z(HQ8#q5<6`1+`oXwH1PzR9!VbCpd+u={c@6?VnH7q6May`)^%shi{HCi&vg#0xd~S z^)Kmx*^(q?d5u|}2w-rar&uF_+cUY(4wo!XX(jYOt~HLn`Kh9_X3}4=MFOzYXnpRz z;D{Qg&%KX9R@$C>KZ9hA-q1oh)Im13SnHW%#KNmkhE{&?a;904Q;i{7Ta#W|BQ;qD zjMklKho6qY$l~b4LJi%r@&YXUH4>TyFs&6)*$XJ%_&62SRFfD;uVII8ih*>itRq)o zNLL`cGQx#gBUw;NHH7CNp{fA3BEC*E&K-!-D_c1koD%0!EzziY$V^F46kDP{u5B(^ zen7Ea=$mSdYzsN*_PfohnQahsOk95f<2XC~w;0zRO%HN<#Fi%(PbDKJkEml7uB1J{ z9!__U?gwIw{S2ye21HYQV`2;;D!KTCCQ(QFrA&V@x)m{$7W^pcHG!<7OV$+vJw04a~qSZqm z#q3&G9ieYZFo>XgFesa15G_hf+W^VUDg-3YKq$ckW{Bxb+jGH>()Gg}fKMPQ8gshh zLcoJ293C>V$FRv&D`vRI^r`qVv{k)(cKA0jDdcpJWWPRGi%G$gLLx1z+wP!J1Xu+n zi=k_ft+icrsh)J59nRDvg2(FsbqC-lO5slT&Qg3`N;WtvQCG+Js+@#Y2M4xtdT@YQ zE9z`iJ+{zM>DWYvHKELMF_S!bK`l#Ms1udEXXbb;(?P%CSl@uaoW^lW!490sO-PUs>jx$ZDS^8L_TaC%cwwBzYlfA zj3DO8K*??$ON_$Bj=u;F3HX?BPSt<53skg&V^6w|YGL}9s4h;SEh-f(%B`eyTgLV> z?)@^Nt7J9T+`N|<(&6Rp5T!!_^;aH=)u7J3e{|gd-e8Fl0!**-F!JTlPNi2M@FnZs zuZDM6#4f`-jPpD-zC)X!sG0$uk3+QXPmJ-DvR5LMPfAcGDM4zziZ-;BILWXV)t||s zSAg8u;Zpdn%MEDQ@EUxK5j<2u{5sq#aW%?1owS;8YJ+x` zzwqP=^tq2Cb~+mz7S^)R ziNX)tF(xjgVyHEXo}9Z?!PXmZ8pgThd)}#=@KmR9(iGLhFXeQ_f(o3Xx$i;Psb-W8 z-Gr&^p{XT83C_*#_+yAE>8 zch+aN59tVGNPO;>RLK8o(+XGn}(K%QQ)Ek{jH}VQ~%DD zI?u{&XimVezQh1oB0xq`F$9uGfYmR)m&=b{yTi}a2l1P&4_&+CfEnF*Gk=184?cNB zoqGc?N83Q6;?BZA2ERqe-J0>X&N`XdZT+AJY7U?3_EJ^|fi&_=rOM})>r^{RS=5+- z>f1Y#>?q}>%&Y}RrFACC%w)I5r>jl>3YfsiJIn`M0$;&12hu|1EiBZS-jAmv=dTTI zjZHBu|8q0z=lyJU{R<$|r}~~b9SBPvJR$6MoXG={WHVc5?}3)+Tk|~r`gza>gac`I zyo?d8lM;C$I67~!SKh+twSH0OGb@SmBeOGCLL-^g9XK6s=1jipL+XZR*5M7QO8Lyp zas=i0xa>?GLAQAsn<(eVZvt)30&TP>4ekeOf}--JVYw7YxypBe1IlP%Kc_th(pV--(gM$3x$n4~Uem};M7@qhAyuAuMn7R(Y=46w2!Ly3iR<(xND zBuh{@m)YfJe$A$kg;=63WGzlNoZTUp=rAgZ}clv5lIt!A+GFK$WPzWTah~~UWwbKD~MRm|MP)ZAMfPg;c zurRP2w9%~?@}@&2Br!*!L9hoJ-vf{h*ZBFy<1c;uap(%aSYNVL5^n?D0Hr_mj#IEw z?kb_azch6;buqfn>D%$lW8r4lLovhr%dWo!YIpsGzT45OLTRUZRp@FL0w49d zP}ms=X?7NM&ykWIJF*5!dmJ5^-XRNBI(diDuGF?6Bvk9y?Fef9`V0gUviTT*oQrxr z8QFxj11;cAV{$^t=4%;%I%vHx5=^LzeCy1FR8l0hJ`|BO;iO0whp$6F>-P^`Cp;d$ zZpR_WiDB#!xjgx@6pMGG#%!`|o8HVNe2ZB8RKD>{2lDt)pnqN$k3Wl8@EGnn;W1|O z$m8kT@KkKx2f*O%jpXgKQIKk6TkEh*yohm-w=TxHNks&SR6NESS1eK(H94`kwO8IO zb^}02^P{sfFOWJwrZM!);r(j7BcA>0`3NGaKbM`^gkXa2JE1+!Uy$$BlBdRbxoEVg zM(v`LFij?WhuyFEPE$p?fp0T_m6aIuw4winPJ#Xaso_cWUC_1; zD#pTvh%6)UMG4nGQDbEBCi>&M3H{Lq9WViv)*r2%ST=tJG)LMak9n^Rss!f`ASYY= ztMFuR)Y>b}eMiJ|Y3`>R?mRi(bWk6Ht*JlxhM4qFcDKiLznNT!8ueDbX}wMP!&Fw9 z?$h_P9;NA*<3Z|&r2dW+^)Ddx&jGm;BMB{!(AJ4It|M`VnpV-t)~XEZSVe)2#mFUz8=9uJH=ALqiUz!y!saF2wr^#Pq7?CP19HtHEmj{aO}qa9LLbl!-_D? zIoY&8zC_zX|Gyw}XGBdWyXK3?#;9pgf5j|5mTyLHzX>&bW+#tZx1w!@L*zVvjrO##I zc9$N=r0l>SYi@qsaFc>9I+w;ry8T`8U(3xU7~Ks>51g0Pu^dJ;KTU5!Ca-j)?vd4t zB4LN!#Tkoa9MEs7cP*Qb*eN1y9N*&}b@KfYSJ7Y(NE^*g?vsubhuzZ?)un$>WD2Ff)0D1k z7OJow<==qvx3c{6SpIZx;RmUPh>F-RnpBO);g#KUKTmAm6IDHpuhx}6P3wg+^;eBW}8B@K_ ztKGM8tv6&3)jWA=!UA>=J>(7BwV_l@tBO>$&Q#Th0CQwEo+^Rv^G5sv%3tEarWhUa zmu%evbs^TAP5*lVkO8@=--_c^G1i|upZd5;*6$lrg#+(2}1xypX(WyblP)Gq zl1LbLj?~&L84nf|i`kuc6N#4q=y{ikkN_g?HW3m)#62cL0*JWRL`a}x?+oGgqCdeK zJPFx^3A9&z3A-yED+Wa~wwWug)a&rZ<_tqVgEft|1!l{iN-}_Dm_D5DdEC(RmkqPL zV<0=eY#>`(H#m?T!iUjS<^$9L>{QG=l+Zg0$?14=C0eNQIujjM*OiaW8@)XXh zzkt(MEPyZ1;EUb7kPq5<$3r$R75z$ZY6NZ16J~leEw`vl{~UN@Eb<5*=&+~%6i@Wo z)9=KSM?5jxdYsH`&l4Djzitbw42ds4Gm>5R12|>Jcbm@w4)i4S&UZpGM{QO?!3GBb ziix65pd4MtU~}ra7vFmr1LoYrJLr{;y%1upYu`S-5YsT?#CB0Q%91~^pcHE2=f_=Z z!a!7&bbAk;=uglub0w}&;Y!F2F~R)aL!z)#=R+}@2%1FVm)H(>%&Q7=WU4^ zzyOpBZiFL~w{_tDb>NP9MUA_{SJhPGuB~~+bBH>4-g*fua3d?Q^@&x$u=*9RFJK+Y601oYhH&mB0yp!3!0W!v^i&4scovM^54cbEa_P1h?`%<{}3!d?L(Xn5| zoT>4`FWKIoPrl*kfP_y!gMkZN`a2449{+O~(_>~G=4heyG|0eh@aY3`!ebA}i8nw_ zyy2Kq!a%(M15SNB4$!oNksEPJ3bcqSCCW9-B62fCBHb7{|sQd#G zCF|;^?EIJwIcZ)@{fKdvdjft6`J$E$riUK9n>bW%W2n3Pe%MB+hn$&k{}!v}pWhIG`v@ z{~d^6MDkoGJz-IDQqvXvPGYj6C{WQ#={Mn|as-h|&(X7f(@w{vpMXqE`3Xz`#gzgE zXzMg5J>i!@O_DCUl9Qh81DJ#Zuh@l@%RRaK!TsR*;B@rz!sN>wU$)xw53!k3*5)5% zhT9qa0=szyo{8vJ;1V5 zaKkEbP<6Ad9e{WBldGFL75*rzrs}oX%AafMwaHp>nF`bPya9Od?}^h`@iQA>OCT1E zk|WNc08_sDC37fvk-U&W1DW8Zs`4HC#xa$1gsWZOXo<9JP6DzPYTts52 z5{IQq6qYJ6sI{4h`dFR4za6x8cwQIxP&J<`$naYgb>D$+`t)r{L3v>c3Ul*%1cC zdD0iBzDVN_QQYh(3~zx(wIFYzS=3=bqFP>o52LfQ!5+bm0GuF@u!u--i-ZZo32u`x zA&mEH8U(LG92yB}O@G`@)OYwUXn{UX5f-K~Ua=gWbEB4HV=)cG{SJ@(D##+-+@9Hz z$9}SL&E9LSJ8=Yov(G;F;&m+@a|*_t*7OhXgNVl7n{HTl9s)PseAC=1Z|4`7Pbh)l z>c27jniM6R;ASA_R%;Lb?fZ~utxA>GE6o2Eb?T8()q0*8YqbXtzqljU;pcRhrHJz~ zW*I`3vpch#XlV6nB+-&`xY3zvi2|H6o59@bz2jxKb}w$Z9=dlN2LcP{MpY`IoDMES z)kk)3nR$S|H)JX>6Bc0KJ5dZ@6^%Q=qrMYRV=J`Q{Jw>4`!uls$U5e0maoExaYjg= z4*Pw})~YbZy>9`(Wl%4HKZS?j&4`iFGY?;+%Ya`@_^qjr)SpQ|TS68T91M;>8zE_{ z&uzj>r6kZ)%CXnmA|`F(LVp*t*p0I;KmCd}6UW2%x8aS$_jm9~Z=3`Wfl;rDkN_h7 z&_qZ85s)wCuX8L6jpYvpACoI^=%|@=>*$s3KVYPaHIds6wcmwUkmn#CDS8nnLoXJ> zqXS7tqGrM@#-t&16DCZPhNVkb{1S5-#}wsQHYoR-E*cXD&>MDrp-mi2m^c_dNL4jY zq=q^@aWLtHSpQ^8(`>Ue9HY_};57wzNGNVM&irHC;~@}{fVpBG{Sn^CBc#Z{{Bhb0 zfSi2bf;sv8bIJb6%)>>YKi6Tyq?sQa6Du+guPbhX(wlh5r#RKdk& zR;mmflEM@MK#sgG;NnvS4t|;fIut1a@Yw%Rk$Hd%Y~jL46N4xjVjx``1Jh1Dl+k$NU)V3fo_if~8lO(aYd=hV>eIx+6`IL!}Kw3xI^B>1o zL+Vc?!pv>rnbCwloe2M_33uvVQ(FQzVFEW{0ykj-H(>%dVFHKPM{^yY;rq#U^E(t( zr!B9j9bQ#+C4dOD3>6^(M1ZO)LIQ~Ro{5kEBL0REcz&PHvmx+|*uX27B?fKoFd~BQ zqU5owZD;PUNp(iqSRQ|&|%NM1AIQ>IY>;DJO}A?$T9z%@ssTN9{~Ks zI@q>fWywq1f2khm82JX|&{qhas1^@L5(H~)W}~@UL2UC6Pym=^&L+A6ZDj7Vh)djS z^+_VyeY}xg>)(B^)w3fQIGc!>-LdHIs&}j6q`U^|kz<>T?yk}$bsW>v>zo~?fxm1kTM?0^tRa&_eJzAXV|oo;nH|l8q~X+~IKO7@R`^FAX}>f*b=fK?PNo z4Vqe@{uZAmA8;pLfa}q((zJ7?E>daZrd`-G?cD?7@7<8^YE`OyRr3_?<&D<_(q2PZ92|sz4`r z6tS>gq}h{LS{bqbJ{x7R{{}PHsuXTa24`x(#QhN2u=J4Kj#7M+hk8I%Ho?KB2 zdg2nH43dS5u9v0?WBFnmN{ej9_~ z=1~o%_azb<%-4}$raJBL>8m4>@IDBgyZ3z%IyX#zllx$tn-@Rm+`TV;(7C@E=gzE& z%I38WI(P4D9dzzPaqg{gZeEw5bN9S1!Ek{_1g~Xwn|}vZS4V?Yc-Y~4V@SN@Ktt+% z$$`d$)<+LWzl|aB3IYvjv^?5%V*g5m(<6j*F>yMEIE`qWE?gVYrta4bq(-^X1*vWz z!Hn*nwJ7Wj=YN=UCeXV76B^fwxOiHw&I{sF~Q zrpi-12VVD(Gy}RC82X50juXl!ByzAeT~zGIabo$zM2;^WMUIooCna)xi8(q|QAZh1 zDL*BV{47=^k^E3usmigNG{1eg!Lkrj6~X*y)ejd zNWoeZ6dx?(;Iw|8Or~|`X~>+Y5^ZnVYnS5rTwpFWqrD9Wt58!cDaYG?_paT+Ux3QV zXczHPt>7#8(q%_~TA_kDS=aiuYw`Rz*gkvG2*ikv3USfpyap*0X-av0c1tBw&UDEC z!Mso^KIOtro`BJ&m1Bp$h(HPD)j=>7x9oNTgPlwLjuCO%sHuULYwhsVmO+WsHb~{l zxh^=Kfs?jsG@Mt(aA>Y+e0pD5s_{viH5$&tF`W2}oyx+-njMagM>U9##HlQ7m)YTq z;vDfwCzXXwFgyHSoFhJ}qq4BImEzsLHZ3n3uk9HtiuBqk=X~8#~-E5!K;{ z_j3vLT$nM6Vvvo01S>_Wv}x+t;q5WBBVNq47&MwYcKC1%?TFWKX=wU_w6xsP!O+->AEY^3WnmEp23h^TSggub6p?xxPbz`Z7Tlw# zuI|`am6;NK9^rMUa=H`cx}&#(95KpHi>aH&!S-ntO#J=?(;!Ql)5`ZThgIyIN0Yt!zR}m6G1gv%yApu0dTvrhi zxY*W`+UBb+Y2;Q2S?rAdI{2*SYhYqpduRtWZRlsN!+^(B&Erd!$NHE~`Ojc7A)Ui? zBT|>59i5J7C+<4+5+{EdAiQH{C&~%{L$3tll8)~HkwS8XhMTxRwcnM)c2omMAC#O? zx7L=hfd$9$h$(rvkRNyR>ed|GOR|D~=A2b1o3$P1TcueQ=0w5>Ysu30!U@(V7Pt5e z8AW+q0N-!_KgE}&ci_t?)qXM-{ODZgi1U!Yf!GP#8H2;Yg;t31Ux1Y=))F#7O?SQIMxRx zv|Us-D(njdi0ycVaCt6H4-0(~RPWpTQyAs)A|=2ZuNg;m%L~ocD)Sbk(svAb02?!>D?B zJy!e(r}~#oec#Vg@M=X|-Ie#YH2)f<35g%~_&#P@5UA$)Q$W`M*NYW1s@Ns9eu1WV?A#|l zgLS&KI`_5usWCz`E0N%w~8gTb}Q{{AwbAWp(ScXYs zV0emWW6IBRGI+tcDvh6_;#409CHUxfOj!xK_ZOx=2|+M#0*NzEDs4fXuWgd5Xje1l z2J;FAGr5kR`l)(V<-7MQ&@KrS6M)eoQHE}yxxy!v%(>sybisFpQuJND^1A?14~Ovh z#k}6{r0GbAX*#Mh2t!HZfw6Usr#xlr1-FTPrPjfn0}}Di7V#F%-4;$X`p`twyOf&v zE|qQgXeF}0xlLW7Z8upr!udb`ITr;*+j8rT>uS5F8v1S7p6$cCpHhzBM7!-isTksp z1#_6Pb5Z+O0`zB4Ry-yDpYc{*Z!a6e^dP?k830z%_i(be`42~%@Fz!`@TW(c@E@6w zbGU*715yS90)qibLz*#b@iY%D_O}j+hVkGI zFIGZ~8C{7t*x}hgC_xHS2~~fo1aLp&wcqSpa|88{D{I|UT|UxTmlc{buS?eD%HDNZ zA)FaM`H9q}@hEV4Ft?(kA}h8`zR3=Mbrcmz${j#ix2N0TVPK@0#Z@fj zY$xNfHbu!T0avmAk0+Ut>(g&TH3=?nz?}_m=!p?H`lNe+^CECcl5i+P3T*3{go!4k z*|`}D5MrQQ_tFDsE&)`r)X%Qacp4j(0=i<$%-_HyLbYR%vP3~QG$rMfQOe~k==pr% z+kGdc_!fQ%@94usV>-~7wJpWzBB>w#5MT7&3Dg5Hq%`OZ98Xbt6DMffNQ9P|_^i}T zwSW3elqje%Qx>(ew;#us1^`uX)m^>M$NOxlMRO8Y;;r?)>>-$sQi} z6x_6YB>;_2+TnV^o>0eU$7V|H047dvQ!vBaK3*N_hvb{_(L@m)|XZV=u zFn`AYRxACM&p&knFs|T)6Vuks$5__j>2n}zApkxFrxyHgKJ4aikTm!;!efsi@?RNw z;}#%8zpYgXNwrU)4+VH-yYPt}k{h>jkXe^WkH{-G{tR5NnD553~OV ze}2oK^Y9a%54a+po8aXIcE3ZU6FkQ6m{=?X@V{YD9Q5H4*!bBy1&BrOR@5ldbP%!W zgJ6yqj3Y4|74BRHakrpVy=*~n5b6$i4K#17c``sWA4jdcTmT6ytb1y2bWDDotO@rM zwuVAst?5HuP9)Y@AR%q1J~+c8x~2zEKyPT8Ea?hLb!tCb@KVv!;qNqmqiARR zk2ZmJV)cD51u;*0Mvce`3Vct?*==k_%I|v(0K5=wcJ6A3N#WMx@QXDi)2{?*^@2O& zVzVLK!ghNr6UkSu7i~S&<5ua}duV6JjUl`yN}8AN`=pWGIgL~zlh`E=4-jMtM+|@3 z3$I7=yaJ7b*C$Z~&QP1}$7QIwEoS0j!{%+rDkA)9=G3b=>c-d8*pVIuu5uDF+)S>3 zTz?9&b{D}KM`$oXC))6n^?QmA7m*I;{A$$V?Wz`-+7}AxYPi7(NXNd7KIgCC316B& zcN!wO?%`G#@YmQP4PMMPqikYHYQhF7OiW=VIE8P~q;V??`jJU%q{;oB${UmrS=+L1 zJv~8P;A$PRBIRzn0>pNM(@}EiaR1uyxnP#+=XoZ%T1#zNpZb)A@~~?V_54?8z89mO zj&uUS0E%=3^I!>sz51WIL3}B=;m-j)z$UhWTfZnM^Ep?+Z-D)7fWbZmlL!c}1@%tV znaX|Pzf<1cimy8F=%RVW3kIHj#+3SaTxxsKoM;_C0~6<}K%tbEo=V|YLj)Xu5(8z$ zCYNkG(w0+SYXPi!)#j9NUU39)y(Ct^E-0%B>3rJ}faB^B>Q}|3Ja4)ytUW>#{0)sj zHbL6QLJ+Q2=_Cn!=ZYq|-ZV*nP7;O3t+!s_7gUSA?1-R2pF(GgR`j6?Ds;Eye5>3A zbS;*<%kk!rj@!GwV$D^mHhw-qHGC4Xp-pg%@z0>jEz$-?KulhZ1nRC}a3zDaV3dzu zO~DD6Lt29T)Gw-vh70P5UJDoO29*L=Tt;G_4A)1K>6I&UaPq4fEJZ!!PraQ?hUWBA zw4?XrbUWgGD24unp3m`)o`Q|zg1U%&4Drg#r%r{L((?*Lo;N@huz8lm$ngT8!de`A z0c~{mF0Z$?->I~{ciNlL_PVgFWCcxGA=kRf_XN)RQz6nCW3M;HypR;`|4x)~WD?F? zl)Q@Ug04A_5^{mb5&4S6Z;6^9QmQg`8g8SX%-Z!^H#&9P`#3gWKg{igXkNITk@oXR z>ct5#?w8{m=>WL4~Jly6QjhmQu{L4F&x z=V4T-DPswkvf)!ml>PgxHsu^g5yJ}PY3u0tk84G zZm`Gn6IMzF2X;Aa2Dpo-+J-?RN#w~-45&|%+LZlaf_%L_Pf+7niOG5fuY$F`H-n*i zFp3bai{Yq2+>9p^Z(snWtmq;E1MJNNM&EAM!jdETvt?mo8zUC%NdAClS+&~SYRGAu zb-*kZk+J8#1h8!kM-aT1L6XvzZC`DY!JfMhc(jR|t?sUA!_d`!Uwd9MKIUG6oO5dc zJNN=ZimUcx?xj)mT@oz-A9F8@qCX9+RmG9|@;DkrM$uP9(eUfDjvagFR^j^*_s%g< za_`*pG>x3`8|-~ zk&|J~%m-MHrHWv+Hj9b&+8qlJsEgTaH&1(N6mf~Yc4y)BiR`s|NdyBH7Biy&j@kbK zI=qc0ys+up?9K|m26EZr>phO zDqb;YAH;PY$xUAUI9@fNF#1^M`Z;DRl}kz?e;@Qga;6#YK&s4vsLb5{;Llj*lJXK&=3yywz?3dm#1Sn`^{IVY-(^{GMEcA)idMf%18e9hjSFAa} zl@>m(s+F4Pemz2N<|cG1vgZt^Az^(CWr{riWAOY|@?5xCaD*BU>DkYt3-@QtqCIvZ?90=fLz_p&)GUvEAW3QXVQoV|NjZOi0OysQN9aki+y zc)>NyR%&f>Rp-vupI6kISmjE$mc{!4z;bKt$57_s(Y0<>g_g<`Qz9oM=A-VI8jn3> z)jnil@Ne}+n})|wme!jM)E_IO5_^WV#ypBW!%PV<(pG+=^`n!}k4{2AI{yj%h;6t3 zzw1Yo`9DKH0+Ig_`q4HDa=mb!`tki*KRQZ3W|V%+CiSD)Jx%>Mkoj*^kiVawcs>=R z>Eoy%S>S)ShP>A(qJ)Ng8QMfbLlTYurz%obtSB8R%rkQk)R9h8bYw>9$gI+lHWCkH znu^oPU-eh06Y7Pt4V9gnQ8sQ?*|!6kSVh{ginL=DX>5X6Mbhb2#<{rM;-hq=TJSu8 zJws5Ee~(WpNHvMcF=|^^smcD<$$AV#HL2|t?nS4CJ&-{J^(3rwttT;_kkC?bfhDp+ zPksbzNC#0l>p^Qs>q(w{K)u!!`rL?aXWVs~EATWYk74=j)6fi3CmtyO7f&_I*VXz{ z+ND^3D*81#-9YjsPd8BcfUlLu5oKsnea4=Jdsv^1X39(ClclWjNd~G8F%0&Dw9j7- z7#ZRjuy0*x z5bBVA%BEC2fd%Z#W`hC_4Ej84l|3XI2q5yZZNSB$Cu-Ll==xjq^-jFoP1Vv3K7xFT z29CZRI5I~Pgov7(>Zdan#z=;)&(i5qbe&d_PVmtPz8l;L8YkLvPxwg|5F(n^n-^dL zW%H=<_}G619z7WbS;$yF20d;EKNRyOPE~cQ-nE9_gSW8kx#ytvdO*53iE)SU9RSx& z)`=h~tysF4kZ0}9S*S#&%q5tuZhw9v%wT(%c@C^(9`BNAp2;Tm@{}7wRBJWZi7(KZ z;t}Cg^BGL}FhsGw`Ks|HOZs?GEp1uu3}~Sr5Eq8z#g|lW5TUZc1LBs22_%e}mz^9f zJh+IZi2r4xW`|Q9ADT~>&(zkNPQ%oJJx>SA1V~2z&!$6ADWLL)@X+3Y*8(9Zh4a9p z@QWTs=2s##v8u<{@0hQfo)>3_WFvc%`y@_&oA8e1ZF&QP;T(|D>ti^H*^|7lA`rvS7aHEfOshg0}>izd6R7W3&`CV2mt=ITULGe!Y>e=E3&}bD8N4 z9s%y9yx^WnpYO&UxdnHvAEKHCSD|7vCt>D*X4~0`HsR~x>qN^AztJHdqV##Fy}$v- z++Yvjw3e9_K&qhy$3x{${*fI%p3aX$@NxZUs}6s!g5*j6VGI!LO3=g01Q^&N-!$n{ z(K;)xa8u0@PGAn=j?gykuysmDV_+NCkm>CWJ_zdC;Z7ve(np7l-oqA+m2YOslkkIq zitsbu1EMf+g6oJ)_~951{Vf_!nEv^D@PgL?Uk$b8^rRsMBWe*CEf*2dZOw~?M~Sl+ zs(#hfuvV^h)v#J46tQa#`c<5}5WzBWLIOK{TTHYee+Vid>T^)XqB@gdxI8RJ6=?TV zbWF?lMXZK2q;JKLxQn+ZB%I5lA&I|dWqD=zJ7jAf7D&rABgIJg$6t0!G=hgZaiHvOiNrQ^%Tcga#y@aie6*ondJ z9o6ImDtr~F+43B?Cs=KFtZijD;iyZUEbdh&nAoLrPLa;8(vz~z|ncow8 z;6LIFTtNvRM@He&d_KyVzwLm3X9qjqJyw$Y>mTQLuEOQsOdZRFQg8bg~z zN!`N}9C~DoPIFKhmnedS301>`9MTy@v(V9>&PXar)MQHRtz0D zRzZcCCaE_n8gN2y@UVt7;Dnl3rqd_X1T}d&eM&1-C5L9e9NloxucZXFwg6wE!?+gY z3lzI*?TWlL<591Pu&X__JOYrNhcbbHY5bzw`{6=v+|8+-wz5t}*G5JZw^8+k=g&l~ zaKs;>Y~$J*NWHF>oceIkU!JPga<;$a!{IBD7l8yyyl$mi?Ibt++TjDprPnaCAdYL* z9^gBiW8du*@QMYQBbnO9jD(kC{l%1PSs0jM9P;IK=GbJ??vSMKDlzU0e-c+y^p!g8 zjw(r3NhC}ht;bxP87BMrlV`(dO+5>=;fvY0+4y2`N`N_%LwUIpJ9C4rNR7)Y%xUP0 zrsdSbq6ui9E}B5bfZ-OPme8%*WQ-2BOjK9t+@4*CuI)Ay`KXME3Md(F0dvlQ1KD$f z596~PempKvPQ6t0jn1`96sYv^Vg+8cP=Qq8ZtxN*&^bM-p`2~03XD#!Ocbbe^3bjaWpDjGcD5Li7NF_ z(=sL8t>2^3hSDQypkXJ~v`pcqGK!k!@FJmY)yTpQ6Ka}6g|v303a)V2kjPj*f|^z% z3Oh`wX$}$6fD>w34G`=wp{BdldP+?z#l8Ulg{!&;VJW-ns3~l|9`f#b&9lK~oKw(^ z+%Dx(Ns*CAz&G?;xFdMNSXW5_JXD2JF5iTm>rU(f2}&u&XosJJXhChuxF8Kc`tImJ zNb)xQU0BG`N5qL{3s#rNsp=NO^&`bj6ZRH61j8i6tfIa?TDm#%wInSDmi;d6jb%wx1AfCy|jkPn0U>FX!97N~?0Ktk*?P!SS9#8ML>0jv+rSYHKw_!kc$ z(6O-Su9I01PYim+6Qf@7#IRR9G42&l#CydP|6cK|MpyjU=doJ3%_`Uptl~dc=!Rec z3m=K7-FQ3NN}D*u$68^TySn6s0ZblYZ9A5@wy~~VNR53BijoolCD)h;2_RyviI4yy zj$;I`jbXr^C!}$#I=vJ9DY<&QNiP9JV1c|ULIQ{&3S*t?TVIImM_k{^M9KB7TZF^l z@%V-I{1m`WoQ;L3Qq!gF6?n&6T|FA=u}VFTQIBKQ1DzgIqSNDJl8;)O;G%V`T%U%< zWajW=kax}>96|HYJ?RID~% zDiFKxj37@Iyffle$dp<^L0gL$CGU)QSpwJ923NV~fv}@h6#^@duHoVRfvufWHBFVvlWf9|hLc1s6lnHf1q`vZ3JolzDcTDcF}<3_k%4rq&=} z*9J~(p=@9%ejnFe;9daiCHT4Bd<_sZji@G#$W|#u+Qz=!4Gir>q^ws~N99uZOaq@? z)aTN`p7^~8+{Y4P`TISD5e}RgnaTGM=WwzkqWM~heh#7&js$z2jVJPpyG@n(U2!Tp zY*m$`RGvyD4ZY*40?FR6U^0j)D2-8xgxmY70&(gt=3F2|m_gW()2$#=R~3jScQLPl zhD7~<8u6jMYN@LVIFi?gzxN)gYcSL=0K-QFCUI54|0VA|z@seIHsG1rlHJWF+0Bvy zq(Xp@gx(TrLPv@q5ke>QC=l2LsZoN6BB-E)D2Eu6RU6 z`S0hM+08Bi^!vX5{MWgzpNrf(_cJrk^zzQkJ1;%H8#Td4_K>HfXwE{Ui~1+1p`W0d zlhwIT5A#ON`S%A+Y^Z;O8u|&UY271O)bwa?)SQ18(5RuB3pMl;RI|8R4L!&kHRs>! zGioy6zZ9D_IFJ8&wQpK|HNMZgj~2)h8i;D#`K|o*dIpn2kDx}=`5!?|JZJ=~F{*}r z$bgqfb)~5rTersAVVyvnXy`jnoXV@?l;lkc#EJIW&RvB}3TVnCO@pvPzz>|b4>z6j zXF%Gc+mEo@r@0+8oo0EzH_R5KU3|yp|@ecH+JG`_-+{RO`|$0FZ~27 zud8=3GidA0MB@BgZ>G}FtN?20C#WXm%K)^UX4GWIX4i;KRvlo7B*h6VQaG@blH;9o3qedYc9`HH&RlLsQd$CM-{!Pm`-pFq4{ln+G(th;30r zQ}ci(nlmAj=*MJ|zB}I>f7Fw}yhkv^DSr{vn-v_&Vsl5Tn_uJNS2pHhudxeSfzK9^ z_9KQ4oE*VAMcPkn#9{^39-6`0jfD&BiiO^n-_qL>H`<#`vz8n=+?Q`X-+lQMbm)Eg zc*Xq)E$-<1^5@a}Cg)z4uP;{B?eoU)L}0Q;^Wm?1YbadUY-I9(%g<%B<*}|2}-9Cw#~= zdP458=e=EBq0fIGzR?pt<{3T5t1BUI=W0E{_j9Uq2yX-#J>i3%(bN2rU}feVT&*Yg z-c5*}$bg>kQP1dESgq$TZ^@_lV8%HImGt!r8vK<1)oSm5d1XE)CwMP4T>}3lH0cZK zX)sj&q`tvK{pEG~Mq6P2Dy;s{fEae&{a;?5f3djn^Pqovb=>~)@_f!H|1;G-{_=wS znyKkZc|!we1r4R)mzUF!sQj*e!QA@GEAuawJ{lJPXIJKP`T`Y!#zORd)sgwjJMzQ4 z(_n~)4f?5|hjr!OUajgcFUaR~>A|piOf*&7+CP{-e|bT^(Gxx>8a*MG(EsJt_^jsw z*Z;`(UbD|({!EzzP4TMFLZ7D{Qg4Mwza>Dt!>kH#y6rI=pQ~pt)K6C>CL=A&+BiPBjAF5 zo~N9%3=q7apQaJP3;KC|F13r+Mgw|KHD#*e*_rO>Q=4l?ym*(IrU~^+Dz!)xYJAlT zq1YAC%aClqG9)UL7O>&m^~gIghX3VyBsntck@GCrf|=hLI_WGtwq&fOATBHxkt}P8 zgX>#Htcow=TDufBk-)t0%A>`_M4{s-fi zX3^($jfiwXjP(J(r~u<*ejroPJ?2Effc*@7d)O#;MO*Ee*j+%&r1`H0oyDy*Vb>QM zq1-ZPB!`yux)0$BJf z7}YnaV7nR8(4e_w(c}gqHKhg6!AwuG7a|U%ueW z{#rH8K;Pw!Xwm@BOVxU5x(B^J*6Vj)7R)_=AJ^3zK$QFbc#Sd(kf-spb%GEnU<)dz~RcM5@$*Mv;ARc%10F0=P85p1F}i#FYLV z)%wte{vsRZ>|QrNHu|s>7vk_m#6h3XKz#~1p+ObRpNkMpOT~?wRH2lA9AxI;Ce3e= zeQ{KO`Abt{OZQS+nsbaN_v|(PqfnMulO8=Pv=* zSz9CZ^lpB96h0wM86Iu*CC2+|=iYksVF1oXo+HG|{WZMT@LJQGJ0UV5%3B);zwvnCO}x3J%U~=Y z{I9w#n~jHwgkk(fCtp?3G}cyqWd+~I=dsw#DQufQh5dJmm-?ymc4jz*!p#k{G2QIC zqE|bbh2G0QJ3N2~=-XTzx?<*_-x~pKrXQkHuU<##UDW?zr3o() z)Ybiu|CVY;w1NvqRn?A?jH7eR9rW-Q@}fv` zLU>TgiQqgWM27W~$vO)BqDsf%#?OdUSCP()`82u7$+v}grt!oV{018h5L|Y8K#y1c zxl|C9%qFADR@A~eomDPzJ;NSugfC5#O7#Xcjlp66=pz)_eJO8B0!YN57mLv zb1SZu2)w>i|C~VUo7{(s)LPZK-`C`RFgK#j`#QnT!Uc1K??}M_geszkE$jvbG6ueA zMAX9;#;X`TUSYxz;-Y%ILW4PXyy{Sd+=%A$gdy)#*N9ed(Ve2@PsE49Gp~jT^DUan zQTln1G?_gsF;A)^fMX<437NfKpi98!T9gV%+r*kNbRU`LaI%HLsFSWd?K;quL;*0EEMt)QdoK}@81R2rqS`sLHBsG5^9d;S-S3< zc@XYo$V62TFUjODWL9f_tZ1z2_fs9T`M71)Fl%2j({sl^;qtua6>X(-3^RCC5pUO1 zpZ6a)rbz1$|L0?hIFBK5dxQ|HF&FVWhojx}fZm1)uA?^G^>~yYwDj2nA!1^L4c!aU zub<=f89Y2;g+9l_0iB5>DIO}oE_AeGm7&6|JfVfGdzY%J_p8FwD^lpz3QNoF9RZuPQ zzoBq8(`LHMgW5}2Tq#hyg@Xt=@GC8X@;xnVk6>=bgx9)&Sg$;6q1e z)!DFvWY9^v>C8{KZj%E6-FiWfKE7yjAYh??Rc4JG$kOSL5KbI7(&^{(QEcvvs89&X z%KDJLzj1HPZg>bgb%jjzpf3N_y*2DF^n{i6hm~D%(R*vo^>@x`D&3z|>!5WWoHi6| zP)3-rp(>b}!1I()ok4isyCdAf|532cRPTl2sc=MKPL89ide0H7&ei+OILAtAv1v(d z4C}=76WoTc4En}iu=X7l_~s97?A_xC_@<@_-}Dpo{Xx(-JyHgCJi}fYqqkm7_|&SQ zfqsG-+KdcKd=~1MUA&9Dxr_6rGTfRz{+e3}TRdaJ#ypBp(19hgjTGlVkiidnrU^Xh z@`|S067m^N<^MTczj9>mLtf?Jf*9Q`(o7(4R9F<1Lw8o%MM9OGl^3}_!n^T^*Q|40 zXFf+7y9c`0Citw+&Tu!eDotS3PoK7T=sr+)#;hGy(2jTep#A4?pNQ{X(vEZP6yNw2 zP1+&8qr>8Rj&|-^wd-o_M{|zWi$dJt)8r}UJMm6_Cb$O=wN!u@nmL+9`Ub1oUFOh* z*ul!WEIibZ4o>;s3%AP(-0zR)MuFvKF%5t9V5YeamH%zvYq|Uzj0sB%pU$N^FcL08 z>i~V~$t;p?q#EGVb?*P$3h>;;Du5}XL@uKLMFluI6U=R7usHh4!sZ*_wYe<8C*gSY>U25%2<@DAPJ-5;I5 zyzRQdU$neMNQ1YBH+X2L2Jb#!dE5U+YY$f)*4l%rb$JIU->X@>%UxXF&aq()uDZO- zO?lsq!U&W%%}qu@z7FM$W4j#lW-2}_U~b`#k<}@+q%DTum8nIonp)DXW8>gf_4TAs z-~HwCk3#U7eKFo*2E|LtIVu4YQiM?>EcEEXuwd3n3andHYbO{A-@~L2JCkU52{CW zv=D87J$v>jCb2v5TIMw|LR@8B)j}&~f{3$ftY$Q~9(em>=Q!gk`J0oloY`sA35Gpkw-P$gi#c zsr*_S%$M-|!h+=gD!-JqVyMox|B8IWxW)heUvH1=g837kZ|j5dziy9s>%~+tj^lqr zJ=^@B$}dbR&f9-&2+IF+17!krDQh=e&zN0vbZ*3K+X+9h9UOUk9!B7rG8w!ylcg zq6(l(b@;Igl3Wc!I&GGrNGk5;e`)4-4-H5Rlx))(*IFVrsnf3!Cs0| zvuA!nMe+k6RB@}3igP@5Y-t?FfU-YrA#$(O7mN`s{|x#|O)C8@Na9P+1kI_LrPiRA z_|nsC!4cqSlztDv%_S*CrQfj)w-0UeEd-^tgTd<bRDr{;=%$9XVR8Ta|ZOO1Bmnu6-MXs^SI^z+Jj)kZl}ql!|aNBFE|*P<5tZ2HG;r%ivF)#fCHYNU_X zll}y*h1oI24Si{d9MdVOo?e>;x4~f+?kZgjmEMR%d}$(7NmJaI#j4}H_VYLm9Eoza zd@{_J-D^!5o{g(3Qa!_Y=FfLclF)~v15i$cM9WsnIPzS6FkTx)721DZKbR@jfq(cG0&|yhYd-_O7h*df^%ypeZd+dR-~_ z9$IKzTMdr)#ZmyV*iYsFVkv-Fc)>e>902a`2@k->0YrLz6o3x_nC({zAQAyY1~-VU zUE=AW3+Is6nmnBAvKJp3)N97GWyV@*LHC0_Fgxu(2+WPW<^>o%osX=Kk9(Y*@X9L% zZu&swARH|8T5YkG%+DybHm9R?t`j!)>=?c-#cM}&@H#GCo|4k?Yq}|xJ~g7|(-Va^ z0x2`M!zLoG=A)G$@yQw;k@sZX< z+wfIx!i1t#QRcWNZh^uFgK}HKF>c0hH8{LX1otaD3Y7oy{^>L z%}}$D1=a+gEq4Q{AYpRm35pdCStN|fsf~k#i6at<%+E@1WNOS9L@ztaNW77C#=Txe zH(IjxaYa6KIUIZ-KInOfCn&Eo4JC9o?d&yJouDw*o9s?l#W4(i1Wx2p}iMThYTh%UWf`Hw)L6E};y-o1q;YEdq z=R7yOz_&(~h!(EIz_%7`q8Q4vZ5PsAFMP^4*S z=&h149EG}M5^x#l8By6Ea-`sMz10;ev6a=CQWO>Fpdz}AK&#c?kTvN?Zz=Gc?oCb7 z>);_dU|m^fJbIT%3?so@v95#!z1BE{LeCEtbe;3*3BrQYo0c40aln?$;>0=n(dy83=U24ShciJ5W12X;&N}0fkr7@e zqD7rSN=xdDJm?s3;nwif$Z=kqb2u)kvJNkz@zd+li{$8r&*}Sok<@_>_eM@hJBvWa z;BE-w7~dnOq>O*P%8AweNSwb$_l%1S(Em;3@sabui7u7%z-wL4OMIh{A-u%L2CVsw z4hYx){i1t8VZpshUwzr&@J85Yeuo-ZfgL2g3n30$MFn{du7S~6n_lpT;zDMTRrTxc z_`dvn@`nip{g{UfbK_$=w8EYOhCTfld+HCZyl*}VIxS@{>IOg>>~%_yfa$~2k^TGVtV=IorZ@-869Q&k7W^uAO=W8SB)GevC1v~tqM=LUf|it57qqBSsU)x4kw`Y&cll?5XdrcVtq z%-B}p9RqZv)rFskhvURyrPMzJrb~32Udz|j{BqKZUGQqhe0eN6Rr6SnB_GWvs`#F zOPnydaIq}9nB}z>v&8o2h16#0J~ko0KE@s0HToR!J}0Ua#@+lOm(4Vc2F%p41kBVU!~7arrhZeN z$CXe4^~G>eJ#16|8z!KEFHFE=Qm7Z|TfR>a3w&ElfZ?S(t!&uP_1i zSYZO{rNRW%GldDLHwqI_4;1gFh*Echx2S_LnzEk1iB}_{)VGAGp#CIGKz&Ga1k@*l38)_kHh9{*!`h|EUR(_u66?Ua z;D&&J4G`QE5U>G)>jMHd@XW63fWc`r&zs5&)iy9?-vqaMo_8Hgn6k^We^xAEH7Rgqzs{~OHy3=K;lc~;Vz>xHYQ8SZPyv@}s248YPyrWmsDO()RKS%_bRB$2 zS9+nI{^2NxxTQhiR!CdiVBDP8aBJ4O-D*ZVH{AXDCQi zZ-GS=fg_e85*(wD=!xHC{6R$H8!x`ldHgiPJHrkB)7_5z8)ts4__gB?>hRCSb|e|B z`YF2@&NzngO2%1?m5kffHn_RXwoSQ&-!aDF5=($~@vE~RBq=V3%Pz*bd%2^<3Qwgc zTBLdj%Yk-rGJ*X542%`EQ?047q6On5#>I>~8NUYF#nH6AX?F2N8fpHc(T|PnVpDU9 z;m|g@ZR}!en>&De7(Ze>!x-0=b7&Vdss9> zR@=qscAeYV#np@sH^q5tI|}z%#@E`B5JH|nItHytRAj*e7P{W`Yk7%lGTNF}wA&D$8C z2HM5@9oc=of!u(mNC8p zyj1)fk2IHxsC*$}Mbmt8*^#ji<0#-Rc?E2D$(2C6*qBeD-@1#9hv@Vax z1G8cOTC>i~QbkMl*Ny$v7u`f9He>oTYk;*O2`zM~Q3^6VOs&a4)*<)Rbx zdqhKKD@7l+YtL+rz`7jlx-h$&Pjq|4CCu&-m_ovCD6{+dl$}RRWcHxI>> zO!!*mm<3$N@-6IUC*uoF^4rdJJ8Va}w#Y!Zv5}u5+yur9#^#KkcAF+Q(zQu(82^a+17VcSu}O$qIR@#cK~*FcLA2Ty8&mq`vNQ6mjTl) zk3 zz6$Q!CCmd>xUU9wNLU2SPpB@tD-%h-uK(q1zKQWR#D&37eyAI$Eo>gjID&Bk zV^tm9LaB!DsPmY0$iinC`-{h{ftvqZojs7h$oLB5n?Nbvt3&zlDeE~^r@9yVlg+le zl>bqTbr`c5+tqy;@~(`R)TOu;)}>rJU?CjI=J9n&+f=rl%aSFGs~FcaZmIh!^n}*5 z0m-CoQzYrpZKNof!lE8&(8BwY8vyTT+y?ZD?d*O}ayzvP0_jMLeIP??Wk?Y!dn>EGv3SiY#ow62D22OrJVtOpC;@W2+}F{ zT#Olv`HX|pt*{-H?gWlYj|NUk_W`%mrS^42dLqo_>6AYg>OFKTTb)6%Cp9_X(QG&+m; zzs>lbB=Z+A4_f$DBN|O2GKWT>HfB;P>N1Ar9`#g%7Pe{p6>3O6V_#sPyoNNs+9Ab+ z#+0Hf8U2jaaX^_iei?3lYkU}}vfcu^vfc;!7?ZQ8jx}Oz!I;a~g|TNA)vF;{q<>5n z#c(R)Rg9tW+?Y*nin!kDz9LkzC7bf_LB=N;_c1=s{mcv5l;?-CsTAI3Jj(bJ<7q~B z4%wzLHf8L}*o*OU#uCQqIh3LWIizzb<3`4(7>_W1!x({YWlPb3F|P^v>c!?l#;J^p z7^@g}Fuu8jq%(st7dS8t z4-t5K*4xpHSk>AghC?nn%;g<&wnRDjl!9u4T3|@#A)7PTX9n?Hq4ddckh5 zVV_z0g1uzePnLn0VZLsduoi-SU|5uOAfA&xGb{;qcJZ}g*|3Wcrwq%3U4;0|COQVe4S$5Jn+)^XhT*KuTEo&{7cKr_SToqgh{p}<0=pQo z$FNIn<1kZCuCLQK%GL|40khR&nr$*z>mZwk(c-=!E64NkDZ~7>`KW7CGDyp6G1s<4 zB#IS5whYfh?=o8=mLT*x;*4P%Y`2QKqIClfT|8{N1FXQXUA8K)eunL}-GeVFtupLY z#5!4=Vpb{Mh0A2oFO#%XiW9c`@V%=!hW!Y;G?AID?f$eqEYigs!(#1E;<+(1hePLD zmmv~yA_{fT@w$DW$Pj6UeQdu2ER$KKaaqWWa_JE4CIs2*c(UFTWbffNgj0t3ZLf<) zB9R{AkxM7-OYjskCCHYE#$vN!l!IB~RFEwb*&?GE$4pS3<%p4nQJ&?962mCZazr^Z zoi9zqNyARqj$!@4)10(a3d)ye;%;WEMSR4!qPcj$um;RtVWwMSbMX{2-5Q&Vca6)I z5kJ9SQVY_#T6B*%BU*~0Ad8Ug#0`cGiHMPT;zPrxM8wMuBBQ1DR}qmUJBp!(t%#^6 zJB#8VYb3jf*+JGs7Kq9qYbm>mTMb(qkt@54svzqmdx*_J)>ZZt+YH+f(M$FcUmNyR z!~oe_?0-^_DRG@d5KudY>DF~$6VQ0Y%=U!M+Mk6!%o1ipLoKsKVjET z>^3akIal@<2MlZKtN?q}u%6CdIPv$kVS}B0!M-qTtaBJvqP{b1x^ooRX~Pyk=Rkhx zoNDWJ&^b^z@d`Szn_)Ldcn#akthQl0p>vSP&kEd zyz3D;LKGS{4Q!-X&a6_*bM2C2C1c2&qRB@f zrgcsgT{UxTkDM!~ic1XJ!|bx4%QQ7rjAM2}9*JzIri&Yxtrp)RE~Nq=N5(&5E;U1J z2r{plDHi9G-AeI0?8-#_0?jBc<)S4s9hX_6y=IQ<-NV%^(bcfk?lEAO7`D+p9_%v1 z9&%3s8*bPR_c$?2Og8MGdnWA44LjnVD`$yo4g1MLY?)zER${jqmd$LfVaMFPpmUR9 zKe+pXZPScP_%Fs z-(95UiozhfLCq6)2H7oYzIej0h^R$sfq0GC5)l_Q3Tu|fg6x>MS|oKRon%*qb;AaR zrNHGv(cG|>V3lHyVblvR5|0>0z3?Kj+puZY#JcpChCRmY2g6=q_N!rUM;F4S8n46q9Cr5$mtp^g-TlI6SVYVn*zrozOwd^T zfVfjLZUNiG9^y*tVELFzW=4HOJ)+%cEkhW{!!Tx$;qQ12f$=9~C>8>9+Z(IH>Ko zZ9Xb`Pb8hx{zh0H6DxwO*z&k|Gsvb`o)F&~HrrEbc~WFf(*9<97Fl+Pv4*Yo++^7$ z_5|5omVb)xndz3gSG1n2(-0SROzaagf~-nBCl(mC(Q}_=zjz|Z9<{t6zBcSp&o0YL zB7ch3@~Gzp%PV56VbrD%i*1Hcn?53r8%AyVi1@*z)ElDpG;Mdp^ReYEQ66NYuz&HjVaE~cw}pGUc6r?MsO3Fz#<1@^74kzdrBvJf z;rZP1k(h5-wD&8^QE{_j8Qvc(AB!E#bSpk4rk0bxO3}(&B|Z_G=V{i_`-|mMv2ea- z{k$(&J{KP@&}@|VtmUMrs?cnT*J1saa9pj~d~b~PE3w$H>%EEAZ$;ulZFjpj#rmCC zZrB=cL+elCzDjMk$=l5OZ;^4WW)Hyb7cq6QX4_%+n`pj7vu9!VyKr2u*-NndQ`EXa zvo~OOmah+_6ul2SC1>2I?LLN`MV>M21nlhcAT%dNiC zs*yZt*e>50upbP21$LS8SHq6NE>o)8bsE0&4HS)~%P?815X@(o4;Qv)$-0I$hFzA- zFsuvgvSp58ePEX@+ZZ+&b~&<>VWVJ|BYPS)8Fo$N0K;a%u8ACK*tM{0D#sYM5_V1H z6vOU@T{Ahuum@n*OwKjzsaoBw&1I!w&(-P;cB5gh!LEh8)v)(r*Fvr}>~q+)l$#9u z9(FC|Hp700T`T#7VUD=oV0$#)q`IBKE#GL^ND z^EKmmwwDiT#`UFx++$q+GyV?IK^`>hpqtp?pv%jx9puP6DV~+$rTBD_FIVA0Ibw&I z4ZKUUx0&Uv)$C(t`Bj>I9batCmmAh;rV=Ju3uMxI%{&QLTD!`x4NFRxY3(kfHjv#C zNAHBWvWKi=*idGT44c5LwPEGV`WjZrti-Ten5{BwJ+qC5J(zHZ=pi36>>0K@sTp!< z6zs}33jCw8tr9)u{vbOhddYtG1nibrd&@n{^vK*#e$Pyg%>Cq9ZO0>XKiPZ}`{PpS zFZ&rrquKyD-7p%}2FL}5(fBt&zG>LY2^I2E`JG{JB&3Uh^0Z+`VK-2Y-Ap0SD07Q- zkUVLaO1#~AncQzM~n3H%{8N=`>U#gmE&;u<3OQ!Qu^DfVhm8DTdtuyYVtp zGfvS2xzI35(M0){W*ovK`H}Irxy~>#Nq!!*8wGaC*gaDB9qVLy#;{#=KLWEosAKkg z-Q(6NGRm;G>YfCPH|#jz)@AggVgBX2N_`hvM~Rgk6H=E~!SEle6E=E+r$YAp+s8rbH` z4Tjy4G)ydz#|^ui+1G|Wn3Q8%Al;8?e>;*YWQ81S*z;gl%O{xWnd&ui;4X3rh7cCY zM-2NSsS4+oR_)Vv-y?)Yviozaljm8B=MJaN1j&K%gYR#n|uargkdEy-EB9>@rLjtsYsNRq>kPX+`54&EnsLmQ$xX~wJAO+pu`QGLYbG2iv(+-WBghu0jNO|#u3 zGY)Wyu=0iHe)&j{mDyIvgF!aWwo<-nSnZVU>Q*`SdF`)uN||kyoD*d8Y`4qB%qm4j z$~@a@nSYR6R*EK$dA2*`v6nP!mXa>+lsPYJmYY%`@02?ZY1R#FjdZ_COwU;El7GHJ zOs^T=CC6$zF(u_j+g~0vXNNklendv;c zUoK>}TGUHjW4m82HLP>$M%y-dt6_sux7r?(cNykSeZ=;#e95rosXJ_sO4mCS-fD4I zs!KgCV-4Guy2ti}%rNYY)aPwa$_?*pm+rJzY){E|nXMF!(p+k%?EN9xtrU4_TWwFv z<{xP`AZ?> zjU@Z!hlbHeazK7*7>y(cq~$Y8!xG0G>BGeH(qkBnE6>Yh!)RQ2US=CcBgqRg*DxAM zUXVQvyDzf~7>$kJ%58@2t#_OKTiN&r z?eevH74m!8$*^Mx{Ri1M$ky6_l*5ATnD|LfG3>i~8||m$e#2z_jrN~q%8y#7r~WZ(o5mN;nrC0RXS*sB@D9yjd$j6$$y3_Ah46t&;5pO_soOf(?7Hw}wn_Mu^Q z8x+FsbHf_JE>(SFSUcFIs(%~S3wCMhPs4`5E=@V2IhQa?uM+9%W6ijQ*HfMtorAaG zA-|qVG;Bk|V_?k;d$8eK_WG)wVS5^W0G4mq8x4P>*&s29AM!kNf+GJS$M!iI1 zwT+qXvl^=pndv^OvHDuuai7f0Uhsn7bRsu;-{}nd!c#i8>r) z*g02jug+cCBWkAN45L1zxk?K%AMSpcVHou&t<-`bt8Htgo-vI2m)7cFkfqvMtHf9x zLc2zzL>rYEWNYnh)xsb9{5E zxM5?MJy}oNl`=cTOs`|MSJwI*7jAJKR7YmI#dTCuwH?>2&Z>5XcG)7cm*}k04eN%B zkUOg^!!Czi7uC|RQrLA-9hvF!%U4sG>GI20^R*q9U%t9a`x8quM?@5;XAHX|b5cYP z^?_lVGN(uMQokDZSmvyV-YTg9$4oqyIo;k@EnrqD4#MtIb!Vnd`%(D2Or13B8|WOY ziW+OXUlHErYE=u(rq!>A7^cRy)GVTLFEL83Vy1hyQRii<3YC4F;|jGR$R2P^RgW>#tz){{ z6J*CksX7y6Rbqy+wdJ&n)s45SnJOvBo^+I{6+yP!F-vVQjM~v`bJGXFEl>jSfK7S>@Zk` zvUbsS?}1&dW-!w&;2L$GVN_xZ)iL9eX7H8DlTZHioc&sLg=UV5tX|?;RbklDtiE6? z4Wkv8#cI7_wBoW@Z8PlltbyV>wbQWsvkJjpFzi|AT%ukx>@ajLQAGt5`eLpj*Q*B&_j6skNzGuk zT6~gKN8PNdnCUuyi+a;As`D$9vp0u;H^I`yN|kIFmETI0V;Gg~N>ybTmHSF{%CLWD zRmfYFrw?hV6n|!Y=D1Bc`f6s+F0LJSao<%J!aT)tU5fXb{R%%hYzXe z45PKfht!*zaoIks#O17oNA!nPp9R*6T{HqB7$x?3MrPZ+i|t2fwg!>mmQipSIe z!;+d7g1u^3YuG)m-Zrcs>>gJi8#V!UPpB^pTL8N!)c1x_ik?)b4Wkr2spJry+TK{F z-L9O5oxwWob`@*bs;1qoPpLYF{iA7bu=<8=M|e9_wqXYm-VW8;u=ioNQ*|`#YuN2n zJq)8(^|b157`3XW)eysI9dnl&Z5XX%?oyKt`?G1D^BG0Ao>Ccknso-7V_3ardCuKx zp<%6Iw_B~!j7#O8Ds5?Z-@@87ozF9!4Xalr~ zDs~eZlc!j+hw)H|`E8h$_>?98V*DkDO8mj*n&Ilyh3XGA>rga0T2O9i&9z|0*Oyq5 z$mSFvzI*_*isnF@=m^9~f1qNy6x~{QJWBLu`B27Uw!Mse3~WC0xjYtpj8|J+QdmQ zWZO$akWQp3Qzwhrd}T|I$0Fvk8!fqk%_|sn{MWPjUZ4`%{18hB72cqt)KyEQ(DhA+ zt7EHeA7}SZv0v@$8J6ghBJ+jII<)K#u*;gI7V1XFAyg7-*0wr_-(+n^8BZ|&3#i1F zc*>craTKe6*O2_i5?d>(As(OcJ%{u2Ba(phH3az0g z>ip4pvL&9<^(fGS_vg-^(m?(M@`~Q8JJ**Er8&o{73Wf0pjG4n@y;vfXJ{y-^S@O- z%tN_Bv9+2!(eeME%0tr|T0cYUwwBkd&ow2X8vb|YzoS#TS$$5eu%f+C52@QrM=nzx zhXRT$=Ars8Zq~icJ*=P3*wg!egf%5PrGyG^>5-dIq!an{ z)*#`tY}Vt;fMk;Bym}!dl+ak!tXHA7q2|z8lQz?+r^G9)In?%I^1xX67W;aK@jb?4 z|3eIoTc|lSMSASkJkqvqmjB8)6&Tn(~e00rWwlL>-ognzfryJ)veDVrbm{ z?`BFWfQ0Lkr1pYxp)r~ zS|Zx4WAYU13=KClH$vq)CS6hMl$Z;&h<)&D6^B?uwOr!8VJgjPiACss>|BY}%yZ6_ z*VGWMEi~NfvbJ#Ru$mq?H0Gh^(A4Qt*6E^lC&fFA)TX4MHmFQbevHk!ho?5EOep_5 zU%I4p{_7A)XJG6&$#Dq93&lTF9%|O(FQLLa%A~obM5p>24lC5}&n(d+a;OG-8`489 zREb!aEh4doBm)vFNcphe7Pi7t`(Y}PXh9Yb;{#dSc%ZwiKw z(KoTJb`zSG|GW9`YYw<{;%(O`5r;QY38V0CXcXSNjKX`8QKAX{n&GcG{#xMg6G86~ zf64d*aFqC!QA#p98NH0P8PgdXGqwQs#Ti#}S-{wbaS-D$U_WOGutLrRrsD)vRl9iH z%d@@RU}v7#-)=bY{dS{)HzZEN2b##uM)q3(^D*4oL~qv3mA|xG0{pYxZO*MSHuo+k z*`|vEk&t@_-0ZSFE}uk>vM+!x8#ljJ^*b=2zR_| zseB}N7X0qa9R~eZ=FWq8Z*C>Y zXseV>^FDGp`MpA^+UI@c$`gI_(nTLery7#?y{oobocA-_Ji;N~nn&TT&s~bMM0e#a z#haLvCw;`GyeE-|bf%DE^}DN&cpy(ku8~jX*&`dPm-1Rgwou>Yb%A+rZY#*o<}Ht` zCG72Qi!6qQ&5>?4=P4@Ftum|q<8afW{fm(~qEq|1lJW#Oug2uQiTu%$UhR)XCW(RV zD`X$|`YF<@jzseCd}`m&3kVGv){?ktD{}jC1Ak_On%vAU&P9k7U~MzSq7G}KCa}&4oEwE4|COA>PPMkf z_pUXZS5x7>0`E(1$$cYgs%YHtgQ%^lsN?adnWAOXzhEwgd8;a6oXI#3=;d6ZbXlSi zR>!$=rnm{%k3%eE9Ld;^v&7_dnz{fHn{n@V-;|>dJr)Yowl?58JMXRZ~x9eh)M#kgx@N$lyRlV>@*Oku3B}v)3X%) zKq2J2Y-iL;(Y4cQyb(w}!%ES=(?QDTj8N z=A}^5#St~O(=%QwL29jM^Y(fR)b@6#ykDyIom{acYDnjvvA-&ciL~riLt~wmxt&Kr zvZ!-k;k4Y+8GSW&>H5O&y`3k-u8|LQz9M#`INW(=>`w7v=eg2r>D7LAY;DWg&cnn; zk=f;H$Xj%oE7Kug9NXAZ(q&m}3z%2N=2;eZ8H3hwbC(w*sRvFMd6ud!cgA|vsoZt3 zdy#62VgC;Qh~3K?_OgD2+hw-O;Pj?jD1W>bifuY$ZNxbpw~9T{WfbtaE)}xCNIvg! zIM!>~lKT$gKyF&Vd=zn@bfv@mdF&dbLiqZyo;4yP-|ib^%&qd>kZ;NL`DViJC^6Hr zI6uud7m|i>vn98Q?+Eg?hp!fuqmSDDSWKI#Oeu$7hMD5I)S`Ruvw7odt>ieYvAmtX zy4D)YSNZFJzvSbLro~b~=q)%V)>vvYwkX(KYbV^_4>x0AJ|apBJ_GJnCxO=%{8;Nn z%dG`xY8_#nUiD}}blef~bU|F)8jk;a7HSJl^;*IAt{*T)d=~efI9AZy{hs)yV7sE) zrTgvl_)jdZu5;qwgXVOx8JMOj<(aNu#CPOcx>;De_3&*Lj&A7*N0hr;qXepfHzlk@ zAK2aMz{sD2+c#=qgm>V6iMGHb(E)fT%d5m>=@1*lRNzTSEExa$I340^mVeLkQ{n_{ zPm8aBXT)8)I*a1;T><;mfBAs6XBd{0n zlr=&)EKdX7mfgTw7K%?IVmB~bd<1MIJ_B}O`7&`i-1KGn2*&Xu3X(F>4me+QPdu(7QG$ytgq!TU5Uc%> zWZvu{JYI`1BZDQ)39W4i_jhJA=^w>bTNfO|5_NafLs7e; zevJAx${8IKT`RhNbjRr8=tRFToyArrYz>_n3XZ> zV;+lnG3L#fk7NEFWAQ|L8hP4z3OoZn#hxoXe$Q;r)t+lTH+pXMtn)nL+3q>udByX# z=PQrZJK0)csh}|B$Klba`w!X`J!+n!|%Y0jXPx}7p z+wVK#d&hUo*Syx1wYJxKrIv`R8&^LrGp>1D+qk81N8-MUs})}-zES)&@z=&Li(eVP zF8+b|C*uDZ|9bp8@gK*38y}m{B%xD6pM=2)V-uz(R3zM%usOkr{PmzU#v!*eaI;P$ z)U7PshNI`~(U`M)(4xIm0=T6YcQ@lk)POkx_x%MVS{`Z}YOd)rR9m%6D`I2A{Wng8 z7=@c?Jm^Ebh*Kar+B!zniuF$QpjPpMYegYo8QiE#t$C&$%eXLoU+) zHcLKW{D$#QmVXdQzCK}WDh^|Rwr%uVz)qO&;7;f0qriUA6k<{I7ch^CCigAugzXu7 zFiwf4uzWF;y1I-xjO`e^$50G+;gga=?1{k#6or<*!nRqlq-}aE`ORX~e$TSm=OcMs z9Qmrx*gTFTof!u*4q+V0IEirvSpvnj zD4NinNO4PGOk>PpY{S@v@e;<%6UqHpHtTZfQk!(9B~n=KL^AiPP3Fs4em$cOrClAe z&0#nBbsj)`+OT;Q%O9!p9BkLgRyM2#BHHv) z-0X@O1bM2L{OZ~=Af*y!turH;(%3PX%2)gSrT#v9cvv!n;-Ev+VMS-W05>Ta6jml< zSH{uovLu7*%xsq2m_f19Wje6|#cCSkRgBj#-pF_><9f!*MwFj7Hu@EztZ76szo!xT z)oI_>h|;BF`(z`EgSRnZD&wb&^Rr2!bMo43^1F&9sa`VcoS&afrQfp|Nrp2{XVh-o zTy~3^k(*mszK$`pbRKBd-6_OQ#-iq=XFOvnK1GUJ&1R|(4)hdsdvhreH}VM!e(gYq zn1MAOkC+L>t+42&6l69?o`$_c>;y^?2_Fi*C*}xZ7ydlr8K4qw_`uD6Ko4$Fc0slq zNZ;R!gggf55MJqqZ7fi7??($-O{@{xucm11b&j{Xm7@HXV}p zasRMGya!ac-MT(P83t5hIC^Y}KAdnA`hJCHTf)(}feUvJG8UsJS7I#VIP~aJj0Y+) z0X@6IeM2pPlMoJ8(nTBK)tEmhaXnUUl(<2304^1sfH#URz-6KUxE$k&5;ut+z?(%c z;4N6&P`It7FZACk`ooMTJK#Rt^rXadxT#6uwC7;h9snxwyto|Z7l29}6hnb8BTcx^ zknvTd342aJiCZm3!TcH!cLO3#N*rN)3*(i-t=Z#&@p2+;6M!fwIT=`2mOzrkm?E!) zB$+W?PJ_H2V}_)fTc5E3p3AYb!k8(`AaBIjSk8hx3#jncKHVOk!`M{Lg`^2%GdUmf z=8P?61>`LlTghu6Zw*wUjjV*ZEn}{{7Ls<1dGb2Q+cS2S*F)Y3hLq404Zd^glk&gqfmQTXX zH9#eu<7v|gLb1<)BTrCekatBc1$>ar? z*D$V?FG6w`W0iav=5_KF*sf>XAYX&zZXotneE{=|jECe$kSO&rB$CmhK7rY)K7-t@K8M-H7@@v^!~s-ze*6+< z7f^{vMfZ-nfl5TFZ(xp5-@zQs=utmF;sv6oQa=HG>Ssve)GsjC0-{!{Utx}COjN(a zTwDDCc^x3?xjGAT5)d_9Nj!-aDGQzlhASJ)!x%@X2$)AICvcRC1ddiwa5DyooNSn6POPHrFcy> zgZWj)Z&eFOzGM7BwSxS6#-DMU1Wxb(mH0)qgZVTNPj@O0=HGxy{H{8{e1`E))d`Y6 z7|*IMkP8c;vJ^lr87-D>kl@yCNNkoKFx!DjL|A&k>|k_R`at4jjI{KH+zmwOTl&Ks z4MbU6E``|#L@8Sa!5jxfDO(1^oB%{WX1N^Z+CYplmZ31$1*WxsUcMrGx*l@97I`)@ zA}S$jcvNxJl&D*yUXH5kN%!36+3k75bJ}wNL)4eTfp?D<;(gIu`-Ms%7&d z0e@HXmF(drz)+ocD%TE3f4Z7;DvqV1vULEFm*-X)uNlVYu$0j!c!a2k7^ybriu z-q}N<)x8VcAP?ir??$--XH4&rbH-vXNLm+S`hdDw{jc6R9Onz!I@AsBd#)jyYpKNP zn{Ztyi&TeFoVjczIFP&Jg`4mX#Gxp4j6mB)-5uxh#+ooaW0WPA(~(E(-g1 zr@t{Kk3_$D?b?YxrDX$)%g0YaOnOh8Go)nVY|*cD_C$YSN%_=?eY%UG1^gGtv0x#w z;=+>gS57P!gUd_(I(G-mD(g121aT1Ekh+pdCF6_BCw7}sTryqY>sRzQhLXdEKGP?a zvcV*LTG{wgKZ;fio?BKvahkYv+!YhYmx~_LXH64*x|fvAC@m`|9X;{J)n(?rwpNPxJC^o|)L z29!>ph$>j>FXy^BrMPU$#IpXBN1~)m%b`~kPnb|rj%+QSI*^RhCyN>8x2$B|#7igr zKka>AY@FG3-<_ez8B!8g9Le@N7K35d#_oD8ElE-T*1NGrBqh-+kzA5m?KU#x;mk*J ztl`XL{)nQJAQZYt93TZ;zyT7VF8YuHHjn_D);PsB$85HP_JbumU@p>DA}{rBR8r|Othw$DGoEGb zdN^`6jB>2|dW;LKkCzZ;(dP|8Vg-b_=`oA|exCI=d?qIHtY7yTD@6JQgjn*qO^8?l zAr_)3V7-@R?Ykc5S?%XpU#M1P##%BHw>&YtT`!i+Jm#$(n6+TH{wQ#g9kioXcTm&Z zw<5k#Ph_v}w}V2nS==}Gnib%|BCTz!DRDW<^3b*}-NYA_g>kfoYsHRyC|X??HQFn2|9Nk@LmyGt||kOIFj zM7&WC>wQu@T;^8cgAdHtR~DAce5ci}@0!hOz4Wj}MYmU}R3WH$iu+KmE>o!?LosT? zV3|q-bV{lLb!)1{R$Gj@wPvQ_JOHb*mxK2Cb>I)$EwfQ-SX0vuQ>fpoHy?rrRO_`p zn+WlmcIZZwZ$rPfcS2gA$=8a|=d#%F$L;JOxGW*xg$Y{%X+t=8U!7=SerrXsr#eFsRa#+vb>5$&@2o?J8(ZAB35v=(H%m z5Nvj~1w>P}UNc*jW)P)99MPopnwUhHFhAsV#93jc8+SW!jC7D86C(ze?Ci~&zw=<_ zU3{!>tSuJqJXl;_KxTPyapA$j()m+k$5iM={`rR90 z`u)YV^`(_%o4*;f#rfT6RK-@rGRvLal`W~M(C>u2I|msVN`$zhlA8CcI7TR=jk-~Q zSf%#3-}ZX684->JObK18eN%?B=k(ByYy`w_)THTLvAVQbuea%;N8(eh0t5KlI)5{O zy98(McBR#ZfOW1Auw`2E_bNBU_hT=nN^h0}Qk>FHl$Dw_*A2@R4O6Nz6&3U1p$Z6j z7s1hAc2h5FEmpA9!q$SuE*d@Uv@k?%b-Z$&e*fKCqgZ-q79T?~!PgC~%Mv|IFNX_z zYeA!0ECqt^W+3d+nOO^J#oa*IhZa%q$Oy1{2vND_rK%&{Z`4t#_8dbfiCe6=l!+B9&`|}}lAu_CWF_w3( zsCQrA+JfrasE2q|zJyFy7f$M3+lUjql5EIAB}y7op?X=riQr?s!x47ilx?M79{$duhzQ$8wKw^50L zNJ(s$j1t|7%Xk~Q2@l7v`b+^@vfh?V&n) zwe3x8qATrPxOPpXH|jbn%PlMg0u&!@n=POGWe7lhyin2M}c4|g+iYq7?Ol=#3vBqpli4$cFM7u5{uz#73DSFDy(X2 z0~IBeVJI>Q+r-KQUk_MWL_Nw0Z)Y%uhw#11?excBd%=bDR);Ji}8GNiXIc2!fZOd}60+YsvSgo7upC`Wh*jAe(^ zg*n!N4ZYDqyVdGGia`CEg_)R!pbPS)nPlfYsKrBqrqbHT5(A6 z62ib(>3#!G&HKSpwz2Z>NrNr%dh_7C(s*y|DUPcf4|Sj|rG;@x785Va+|$ytCyQ<; z2nF7?Y1gU1_(`Q^t=eX%QpJW^hDaBhvD=NhEs%gDnGl6{nZv#bd;d}p!BZ(KutT-A zi(MNcx{SCnvMa1yFCrCSHyTJ5YJMSTKtqttU=24>wLo2c<{AIh7!gy5H()1dK^2o$ za{S(0Xq7O9z^m2bzTFYS%t=UDZJZ=Gnia%wi1<2oh0T2l86o5@8F+*U@I$Z=50YTE zM}J7WPj^UjL@$aQtsb2ojUIhF(%(|qY-y;TGDL4yY$u5^;3}(k+fr2Qlq+>R@|wrK zR>bB_m|o$xL@x@}%683cR@$vq1Zo9J7>cO8AhZi2oCoF=%%3x_F#*5{uY@cwcyu|` zaVQ_6jOoLm_z)t9fvgHCV#Y)z5Fvn5wgdvf_0+_6JY4_Yk1xIu-Fk8ikkSxeU3m--DZ}G8)Hlh-QOOH>);4 zBv3)qD}WZ}aRJ>u9c8D1Lm1PR1DCQs)v<5ZQB^igJ-$HzC1^f^jVYFJwAEUp=CaLP zUzn4XExTE3nN4hWb&F`byx?~KsuAq55LsrEGHGNy`dv|5EX!WAtd)>1j)mCBrNeSZ zMp)?z2!SQ;(Z-VNA$@ERmLLH8;Wu@iTWDWu7!?1VaMYcX>YONW6&+Gh$R4 z6ynC(LfY_o&)oHWjI$HRt3LZ~8B<&>b*kvnL+i21^(#-ug*XSI@rG1~Lo3-x4CI*` z2ah3^^|p!4MIoF}8-xjoPDkL&=7wqSK$Lds)w0A))W@y{TkUm-Zj(~QL>YRt4bS*` zXKPFROz4EwdP|PH;B_Kr%>{|$u3Ygfwfr4AgmocsAu&^ql1sHpdxOhssRp6e*v~=$ z^Qv)-2;ZKKpackQGknF63Pn@SEFHhN;gf>J)>0Wk$I8~e<~cb~Z@XBZj3sFyln;y* zRh*S1HkSggx#W}0rI5`rX21$TErfB(YSe9z`d+10uJ5(Z)8w=yY$d0v3!UA@Mx9YC z%|cz@Y*xx%9W`jI=mvICvBI?qj`TPw^~Xl>`6clhKj#i*^uUKLU5Qu>*Xevvtwym~ zzvl;1RVy#z%(JV>JiVO58eWG2t4Y(c*R>MElCE*G5K$?gA6gW$uU#*+N|lOiFg2yz zmj&0d(SXoG+l0A^V2VrMs+1usA&8y4^`O+jk=OqD`R0D3ji`08v4aZ{*=(Dtp8|R>`KcvCZhtU6q!2 z*l+@a5~b6k!9{^s)`pKnI4GX*q;?zXo-4|zkb?C<4^JRoF11^>sZA$GU3nM4jpQyS zWl0H(q^rN|u%@3}crp=ZX^$!Prx!~|JSmP-EFwm!&t1KDQPL@svMu45Bq=8MY+Fi_ zOS7C8TSA~U=aY$G$!(ah4unXW2wYkaczudIdwJIDB!x}AtRo{NA?#i+;z%3Um6Z-D z^Kd|><)GT=Nwld2dk|=qVJlZbSp=4H-lkKEgi2(Y(2FW<9uUvpL;{^8dUf`)$t*DO z*cRR_Sl+7RY7t{nay90H5w~@rT5=_G0J3+%lrRf<(E(gSPdxddB;T&!S{Tr~l=XGz zME8XQkx8(FvHn!72c3vmQ8cC2%~B>KV`ou@p{_8PZF8&>M~_Eh4d#B#Pr4YF@MsD1V!I4?< z63gdycWa$4czRuU7jW5%=kqc)6XtOBEleu`F1rr*uj+OVrfi${F155fAS|`8f%Z4Q z6OW2fC4?K8V2RO>I;j zk~leljIttO1UB$%HZ5F~MuSR=)j+EW^kx$cxzHDNvRP|c=L9La$%iK$HdED5NXsL4AaRl77h%)n4T5DaA(Pf5O zYojh>$BJYR`cRy1v|WRW(Z4G<)#o5sLqBQSq!p+w{N zhcerzdzN>1J=?e2*+Yin>U!WibST=+4n@_qH#2t1R9SbI3w#gx5%?bE9(+u;Jos3- z2OotE=M}LQco0@HJzTcLgRx@i!PpXkiOHnE#7dGdv!Y|>Js2FGdpWl*EWxoAX3Juu zjSVc;NVEyIA(q%!C$TOme{i*wHx*pZwiC#t)qG{Bcw5S(7Xza5_a@xSa^y4-7MQH@ zvaBVrSLlagmk& ztQu~)=W4GDy26&xqXtH5k;bK01i);W1r^llC9Au|lLY8$=;R%|L$?V+nyt2eDnJVg zT;kMxXi-&fBC@H*L|U*P%_8rl@3`xp2-?}pqD*0Wo2DqYcgu1yo*^ubS+099K@P#j z;@+H#bQk$n03!c#5f4GJ5|l5a;d{bs{j5kaMx`fm1cvptpmsEH^4hz4 zF$@yOcV)8svx@G zjg`C3tqb4QO@KaRuoyJ%wi6xhG3)Cr*t@{X)0wY4lqVJ@1iIFe43`e#XuLMe`xpUM z2vFeUY!`FgmaB#7X7r^>KpmV*v1YE}_;5$)Kz4c*hh%8u~aCJU9~ zcC8NSD7E0LLkn+H8X_<)gVyH#Xcw+N@1%e`KG4$)#Xt*$?Q21`_*hb{2%T+6FjQ?; zs)%5FwNMAxxT_h%2{WdVyBDlYz2JXgR&Mu8Si>s(^&oht;b`n}f`@oRN?wuDo0+&9 zSHgt^$Ncz4Ff_S!$N}+E^g3hT+mMl>;^hEuQ?DbzYSZ zU#I{J+OB(P_)p~Dv)xAXKrD_H|q8s zgq0?hAF9@9pA2850H67oxn%i{#Lap1*l4hMc;9}$S_j%ynkcZ1BNCgX2o`IPD$ROr z7kb;QKwpBa+O`UvaAalON-_G7_xP|UEw>nYAroqRp$}3+wYsOL*VG-d?A}Y444OWl`Cm*#I= zoI7{v;)TMwxrOlYU0X0BZLEt!4v)Re3FK;|jh1@5_F5}W(q zoHbwkB0RU9dU^WsrD^;Go9AZm7Rf#ciXE8RJG9;Rwq(rL5gB2@ z&5Gu~-UxK!R_z4dimr3%HM=zkJk}q$0=t6G_~Gzd-IuV2xn3i{6FbU+4 z;_zs6r}WgmUNL#fqLz_M4?-5-H}|o?h&C(Vrn#;bcnwbsosZAB3@mjI{I)c@cVP>} z@?ssWRlbGeuK+j8YsGCCvi1F4=qPMoJRhXez}xVm8%Uxm2@P?Dg{ztuj$nf#hin9v z3r1m%TNjoty>FK0m$zzSJfrSG#S--CdrQRWZ@GM8BKv!!yEwqRLOTg;Y%9&kYqxUC*= zTitNw>25fbb@f}G=>azbII-YR+v^BZVDx4cvl7>Yvq3j47p6;H_%6&`MVWbH8Q=Sr z$G1M+!M8wdAax77XoPd{*+gy&wH|?o6b+&h_$DgUzMia& zV_FB?w}BOqUY`s2c8^2*EZ|!V&}t6fsa3@9EZ_rk1)o>(T~{ohL#~Wm31xHmy^QiJ z_%Mh&i;M#qSL2w~*RGdP`u6s4D^ICfW!1vpA1Y zYu?!aM~dJ;%j{w-I0wdO4dc(_TS2Gsty_7Nke9y!jK5{x!gChS^YYKUv?tIw-!OZ? zU`Ee_8x;gS%v2t2^7tmMIv=vI;7#!Bvu_mc`A3Y#i0_t=W zlr_qxrS0b6wDrRzlwLiI(!*Msb4meuzKdC9EDGC#kefH`+*o?|{vC{@>_&07fYLllqP1Oz)Zw;_NHlf+9$KiL=_P5@hf{!}MAL@6g|s=jDSDH- ztqILXdqIh$4%`$v%;z6~5`51M>f4}Y6VIx&F`s*YR2}~s@$!=~C}3&>qKdv;IW80# zbI$eUdLsQr^i{+6D{`&)_ANEz(>YL!HxalB=7nV}xgSN!3H@h0{ zg2#9#z=K``b#>(763TpA_`A9qlDO9a$==jzZUECJ#_f8^o7eCylUw*ld(sx!nKqBD zb$wmz@D*c%z?8vXLHYu$@vqns9o1Lr8@)%cAfx9D_3lf@ ze-w7}u41R}#Z{u%)Q51C(}&1|S1o+9zXhb@5@C70)SFV@`x=m{JH0XWp5r6OSm})| z8uKFLfb!6P<_4tu9qs8hEZ1fHQ|%MCfGTl4WqU?j7cdi%_d|cU+c&iw@7to=gSIU$ zCs#t8lD_)*!d>vFf%z|)hvB+Owxx!kjH?%FEH`?!Ome(i;*4GC&e!agI=7nG_E${G z+G_{zynqCh^*S7s+Y3Zg=b;IxvFSCXF7~25IqIYZGq0?IPm#wJhqv=!=~xi`;(OZh zJ&1+=j7o;1TKSv0prvcT!F`g`W`|15y*Ca2UQHg~)f<1_5}Ij)xz4#e$crweZQ4a$ z8#BMtqn+Y02Y(btpvog6g@~ig98C^QxHBF7JDdX4hPVci(@7U!$*RD}<0W#yaBHRz zbQn4iRZgL777t-l-(_;}pIoQB(LmpXdkeLIL`!{0|AgKyJC1g(@qv<$KG>95FxHwjPks8-Z1 zk&i;jPFe4ntAL(Ze@*GEom~&sCMG3cSK2LLbE3v|o!mbjX)oT0ueK#{yI-s!1-(cw zCE4d;ZOmTpb=w=0?}xa3{WIFZ`NPLGNKdIdy{Sx&cMx1t##qZd*gX0?&f`13{r%yQ zb6S61p2sEd$o{MclN{MI&RidPk35*?@&P}L%SDprsF%oU>pDD&3#mzm**!IGWbN0z zcxnHBm$9C?&mFMW_Xfr5=Jd#MTs+L8_w|`B&O@707xmlI&;T|???wKHu|6I5tyS5R zL{T^wo1}8*%G~k7R=q*u#snF-7OObbE2Bq5Jrw z8Sxo&zMHcTu60sE931x~OEdSn7dgsw&6_%@mPk)vj zHTl>sGK|pJ$fBd}C?0B`sjJ=GSNb9@Fx4ZLk}^YxBMrTYKd?hNrr&XB^kLn_26izr zdOh@g8jv}BxiBP_yQCt1)mu=H#^o5X;U0lKRK#!GM#&WZm<>H?yd(oW4M;YlE9ysW z;Q1Iijq9k7fN%H_I?+zzDeTo8KMyFTkd}B2y#=Ni_t!Gqz(kIaOyL!B{K=Cz{s+>c z0a{QuncNHEZzaO_v2*;M&T(&;xW(5NM`;oBus24|31bh8cPj>pE1lN?Hp$JalupMG=a%6T6zwO@a})WuIRj_fJ1qe^n27v=;#R<9B1@SX~dUjN_exqsEN~9a_BiZjXf;*0j($xra38g=5mNlbY<*WxBC+73muK z;gU7*<_7-tYCDC$Mn^-(`RDZoI*uKrA0mxAsiX%EUJ=e*1J@_IDI*OUNu&!^6%52h znc-(dWed1cJsds;*L4KZ#*5Avjj59>h8nhkkFK-2skTM2w;R$8pU0J!#~1@?Q_2Q( zbXErKVL*KLxF_jcP`aW+hXHZ*Iqq44n@^3vwL2iDK2*i8ISh!)1~ZZ)oW~mA+Tw9; z-aHfLBW9c9ea;^G99G6>Cl76<2NVNxWWApZxnpi_%DCQE5L6owXP*PQ4XhOEdJT!Y zm35@s^ImTXeQX;TGq-flN8e4%5w)9+cVPPZj5a8@dPF%2G!Rh^Y@< z#KePZd^aCH-Ia9XOtk?Ql~Q+6 zN<+KO_NmYInhgrRZd{PfZ4n)u!{}ccRJ^G-`t|N#Mzb{Z*e=tu_uVdkfxK@)mfdFA z^8>7&PrB=l;>ZhlUaNj|4+H7}Yd@3t;_@{hE~}lAxSrjrCow(KTDMj`iR;B#^(1CD z+b_~P@RZn7kKC7O@7N3`= zwdzT1%s-n|?}h2vt$GsMi?ZrTyuPeF(@M8iJ&E^4S@k5|=eO!fjB)vSTC1MK*2}7Q zAF~~`B6s)1HE&wqxvdADtz&Rdw)h{qR{S?F<$iq>@FL%&0 ze+S$B^m?Loe1Lv1!x;TPNeaY21cRRk?3Wh?VB8zmN<*v+jmet8GD@B-HKS^ zhj#Jss;PIk>D^O5uF?ySaOh<#jc@Q(7LJEKD(5j{Jw~>OUD^Ze*64xKyVWB(JF*`1 z^@e{z^j(d{;yAyISz8w0YZVkSTF9%TlseA2^TN&k)3NqsBM@wFm#S8|^QS=`To7F05nY%ZcWhx^5IS z?5bix<;Ppo43@gUg!%jzZ6GCX{N6HVQQ6y#^J!GP$#8ms?M=nzwo@#P)1yIW22-gb zQ;XgG_8&_>{uz6FRPTJc8>GGZ?*DFsyLsy4NWG~zc0GO`dPCuJ^<^L~aKRO&gO@PMM)R>X|mbT>w`Od$)u^oDB)cM>k98Wb$3Z_odH0K=`*U zd1vzxXozlv?g5?(k6~>;SU-g~L;Txue5Vg@KaS$7fRyHwUzTtS4?ez(y9{3z75^|y z?}7%Duir%wivcl?-gmm_pm!fJ%%P0Ib#4uKKZ5~so)+gJyGrGhG4n}DjNbF0{Ay@hof_HX72RIQIejb(7aOWoQxW3si0!mx&rn*esBRTW8Vq8j^5QBajWzOa1mR? z9o`<}O%~oG`$b7=-4WI!=cs*P4uEfKPcEzXhN@9T_sT_X?62=Y{j? zn(&Pvj)!Z5H;(ykXwA;Rk@)+BN-6KWx6C^;15!G#JWEpQ2eOW&W=3&1og3$}9$3ZQ z#nh|u7E2hpuA&4SbikZ(2T%^bbB^P%q*9%61l6YE_-}!`ysI9$kf}Z#^jFA$9Q-iJ zJ0~~2Z=I1&*Fq&R3UTmo*69&Axo>dW&;afJU37;%@lHvG+VYZd?=8jG*U@qp^?M$@ zQ9rchzF3&HFAK!+`ts&upoBk^BTAb(r}L3)&ER6Z9ksaLZIhG@5*6B*~(s|LpVZP^EKW=7v&%5cmiKOrUGy1|FEayTvN|eB=~L;bedo8ZfBz^h`NoP* zpT2%W3+ayh^%8~N<8)UpXj7=gslOvXN2!B{dGO=@0{dFRBqfz4UoreDkoHoL8oQv# zI`yWz=6#DzVq77XeX%GGQc%6h!b&{NEK?Y%A+DIwPwNoolV9R_rU@HX3az z(LUb$0PWvZz9z><6ZjCnyw6k{)T!xnJEWWb0j0Iid2*b#fg|FFQ0JUC)dK@k*T;QT zt-}|}pZeax5#!wx?J;l!w-2@`a=m~Hyz_(3Z69oIE|j*pL9u(gq!!?8WB=1XFG(V8!b|M@jv65}&!KIqute*I@ZHOvfw#H>T}264j|8b+OR#%a8IQ{7Y(DBm-ML|!OM~B{3Z#0dDC0?YK1p}fw%M-CgM%_ z^AcFoFMncKydpL9p56pR3AJwmEX+zBY=G5QXyFFXC9rf;}S)ckgda7f;;ADeA z9KC%^o<}kg53v)P7T?2XLk_(p$pz^Aki6Uc$8cEdbU2PZNLLhIAiW(>!y5$MRHg6* z;l0Lj6b=`tQ0g$}*7xbp{Voq>l!3rDgL-!V+dUgyZS0P&UoY{osAO~Xx?o=Pbu$Qs zh7@xRxm~H7w`u`%)##tM&gT7EqzZBzuJ!uUx_;QP*E{FWK}|e8yUW8;(s3t zqfvU1geO{im_k(;jJ0oxfKf?U4DWTn-K>Z0`q~H8ALC(BOMN|w3W#-FXiU2vr;NGj zLM84BtU|eIiyI(SSG}e(bp)PXp@yD#tkQ8I4u+FRwWCL`)hIVoHpJ9_MyM<}lhJp2 zT0YJ^O&j?pLmN8j-!58OJ$t5dj;}fiNz$RllvjMzTyyofV1OMr z{>*6H@o}^0uQa!UoIdYs9VYjn!S|r8w}BOZ=2G}VH;m4f!FQ_Ab?{$Lq@x_2F-I=~ z>gk@m_;)oK(inJ77u}pHHeR;l_`6TE)sayu`Td`q%kWmvQUN*Mwcv||YGLT$(2mgI z;3;Ghvwq)Vba{?p?I~mIN*;VX1#9=HUHp3|TpQ7w_|P&>jd}GKg!uz#u}C8xO7pve z^I->^r(E`xJGsi}Z~O+95o<%cZ&;~c;g7)QIc{;;mD_)l)t?48ug0$2!ywh4p*-r% zpU@Y2j{e>3AKm{dcwR=|FS7qgMvm&AkbV3A%p%qv?`bu$>2tO}+WHQrX?ki`xUm3mGEn~hub~nw4tCv=BG?@>d7f)Xb3%xL_4;gJz52bDW*)jB`>b+@v zhyG=}1b-PikKfHdjhEdoV_z|g-#MgMH;dGDaPAUrW?jI=-;4O2Mh(BAU%wuJ-{^k> zkOjQre-W^k;Tscj5p5MW+b$rzfG7U4DPZ{Btp(s9^hJ~q*8=d~07chPeghb0(89cT z37@240i|q@zkh@LMX8+w+;muT0}zYIT?dYN!8H#!;^*HbU`zb1VH+iCctC$u$7D}c}|`3zq18?p({BW%6vNLxso#$6ZhbLbw4FCO{d z@dQlYa7V-{1A4o_^~`O%TDxw{w5r7JLO-ulG&2tOx> z<&m2l%9~VrBs(-RapD--n`34KAJ_PiM>ai@9vYb(22}c3K9x!%G0Ma!65~wZ!%U6? zbM6!|=S~Uc+^O8;m>JHUN@ug#$?;pljHmc0@BFhe>P*%NU~KL z_=iC5X%XUB&?+t?VAV`Et)vsspAnapJHF*=Hm(clb8p(YLzpsNoS@I{#kxk^ut29T+{xc(=$(>8(W=2u3sjQY9d^F~Y4nAVT@yW9o zzO9|f2=Kv2C(Q7~S0;x~$#slQ1hfxin z*9>}n4ZXg`USD&)LI9Mcw*i-$cpHRefH0L|gSXLuW4nE9h|@$lKQ_z{NVz$d<;N&L z#`rOg55TS-`x{B*KCt7zZ=c_^&oT$LAp_gcforxWDXIi zEXrMF*$E~gnG?4sCst2NCU;eHS+GLdjUu7Y$B}ZtCzy7yWcXDKGj|p1#h@7JiQ8N| z=$4=FWHb4pEQ+#O@NSssM)D9@G{_I-3S1BXn;Zq$F~AUPh^r$DVa3A86~^+%m`^jga=q(c}4Hwnh(NQ$CfU{EUub>PE35r%yFei zJNpi6L7CKk=a@MKQOSvfOhS21W*}MAuW1T5a0<5EB=l<*3UdStj#Qn(6V+KL$qWVv zR^PGD_o!2bbMM*gUHkkHD6wdvwo+$v-_S?#m`M$Bg$)mpSAPt(lQK|1_&^~g8y{JG zfb#()xx()Mgdd;q<464XF6ypPj;?_NSf5BvRD@qYP=5Wu^6Lkb>0=;!oIjEh$ruK| zCL{~AKnj#7fjp%McLL84>?LI4Kv0MWe~d*At`Ff8f(L=)BMSy+D6&Z7i7_91#D#v1 zs~F>$IQSUjOv&tjtP}FFQ2isN`bU=PA7Pd`iyyPepRc|6QxULlmo#Inljs4oQqrKY zFjCOM<%Ft}x{R{QpVb%bZ>_#)cWd=U`)K zp(3&;VRESNNK_Sw`4AOel?96xNZUk7#EO`tmP}1%A$*hBbRHd11N_;DNyGSOp>@VU z;Mmy2!H=nKrBMcSLldNqAu*oK3{9MXCp0yZNizZanmfh5Y1fBg#33v{g>d{7WrRS} zOe%|}@Q*TZLV#5k1*imfhEYUoYH|lZ8wSk5&yHtAOCu#3g2RXNGJf_fv@qN!v8Y2R zB28Js3XMY48AsF^c6Wx19-lb)c_u@1aquZ9&jAEzGig4Csj0`+H#zuksnd81DV3H_ zNt?;j2E+&u{4SaU`Wr(a1>ON%ITFMXKWa~{SS-?Wh0qm*&(zssgV)shaLmw z{$xgT@USK`S(gLnVR^tw+8=NdwUWz-%a%F|G~;kQOzz19c`**Z%j90?WDdQW!Gv>o zKk@%l8juGXe5NPQPM$puiG1=I{eR+AYUr2Esb4nymmRa-+L_Fdx^4dFsI5Kt=ySIE z;3Mm=*$2plx;RUDJ$u@WW)$1ON8&yP@;i}AkZy{{}Ag#oPI)z@$tFLOBf)*K@kU*RiqRw{EX5qoE(~XQaF=2 zfzm5hZd2b4N6+)i7IzFyKjuah3%%dzKWRU?b*x1{g z!zb@y-N5_TC+6$4Ih}%Uhc$TWbV_FKuB_qQle^S1SI4uXnY6f9@Db@koE7zPmeYO} zE`08O?wh%?EQg(!Gf+zIM_H_&U*v+x=I&=5tY7KUzz8=G%P)7;M@mnCILF~|KKaJP zlMg4J6epepP?|4i&9T(W6a)$?D&a2X3V5Oj3J*TOlYj>PNkBjpz6|w|7KoQJWAJeK zgVm3fPt}2+moWd(2K)gX+3e>t6Pl;4(0?oj$T;NGLZTpZ8WP4ViE%$CGh-HnxN@0s z4qS_- zWJZ9o33Ukh1a{)pFqe=qO8|fPm~& zW}IV;ezKVnh2$h1e41OLh%JfT(Db6F7j69_1yKS3h!AApAAn)_fN;xRKvdEJnm`>N z*uw8g)9>b{r1HC16=yOhVIQeYAlakxKQk)p1xuaQBFr%J~^>sp|HangYK`@oV#2l}wNKRBH^ z&Q4MB2WX|ALcu?l&mRIBhVf6~9_F6>8E{WL`DaS*UkFkEay(0_{{{Y!%i6~iSnwfn z3htR0*KtGCVPdUEUaL{G9n+ck zi9UWRv-2~CJ0R6hem3#szkW6|s)#UCKSoh*D);0+V`Nlc{1+=dX0SIL&5ww^f%-G) zi6@^>#A2cvy z3K_Uj+)%(f7+=l2F`iDRv6Y1ctAG4mHm5B71e#6o9DG8JE0PH`fW>zG&n;#sAEx*i zKaMFD-|&BqV?&b`)_!7H`^j<8?|6BVwu5y3gl!@9%mGOT1EeUQRh2%Ru{%8~sK3J2 z2nI=v4R#4wDOD~JM2FDk6+ntDq_!7>CMyD{q*$6|KPo6|ysKuh@r%9hYd6JF< z%d#xO4^6$MAXZ$T{~E+rseL7dRZ@j+(#%w@dMYDb3h6R}5Fe3XsA8J3r{G}-49Vhu z4q^!qr&8v4wX%7yQd!?AHXHb2;gtEMVt%hu$u|T3-S%?+{PN;P9x%;fb06OY!Kkx2 zo-!l1gJOH9YRqKHygXlT>^CdhJMH|x`e9xx^0U)3)5g4>GG8oiU7ntqy>#K+#VeOD zo}0UJ>C(BYrRl5Z%9pn;%?4Murnj~Lc_L*p)8}W;PoGC7gJ4`xGbW2CJ7j`EQ)7Oa zQKyacXYVzOjpcf6@o_0=v@7-6#!j=o*AnUo_1FLYT|%?*NBI5A-%XpptfbA_`oj7< z-~aq?f8kI6$&KIH?EKZwKWTi2ZRX#)f43DhTlZIYD%JZ7^-_m_O}=&i{YtA-tmfC- zopPlvL%P4(tbZ#gq0Zx5EM4FH*8RsrjKv*9aEd~&?kAQdTj37dB{c(I?i zsUiw{_j4X+sr>SFoS#CXQZkBdX-UpCFh)|Wf0q#YsjDn+eh5DLW6y)CX`Eq`rdvYO zip9YjJfz9-ggMTPK^eK7tz jeqrM-=+aa4quOB@zqp@+G&o?)$GB?nw?F^?ap3;}By?e4 literal 159232 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 - + Debug AnyCPU @@ -12,6 +12,10 @@ CustomizeMiiInstaller v2.0 512 + + + 3.5 + true @@ -21,6 +25,7 @@ DEBUG;TRACE prompt 4 + AllRules.ruleset pdbonly @@ -29,6 +34,7 @@ TRACE prompt 4 + AllRules.ruleset diff --git a/ForwardMii/ForwardMii.csproj b/ForwardMii/ForwardMii.csproj index c79a5b8..16f5d23 100644 --- a/ForwardMii/ForwardMii.csproj +++ b/ForwardMii/ForwardMii.csproj @@ -1,5 +1,5 @@  - + Debug AnyCPU @@ -12,8 +12,10 @@ ForwardMii v2.0 512 - - + + + 3.5 + true @@ -23,6 +25,7 @@ DEBUG;TRACE prompt 4 + AllRules.ruleset pdbonly @@ -31,6 +34,7 @@ TRACE prompt 4 + AllRules.ruleset true @@ -39,6 +43,7 @@ full x86 prompt + AllRules.ruleset bin\x86\Release\ @@ -47,6 +52,7 @@ pdbonly x86 prompt + AllRules.ruleset