From ce4437578af3fbbd710bbe5e26ab409ba0207d74 Mon Sep 17 00:00:00 2001 From: Michael Oborne Date: Mon, 20 Feb 2012 19:30:47 +0800 Subject: [PATCH] APM Planner 1.1.38 add ap param support fix dtr fix firmware screen on mono misc mono fix's mods from mandrolic - partial. Add spanish - issue 515 new sitl images for attitude hil - issue 513 --- Tools/ArdupilotMegaPlanner/ArduinoComms.cs | 2 +- Tools/ArdupilotMegaPlanner/ArduinoDetect.cs | 83 +- Tools/ArdupilotMegaPlanner/ArduinoSTK.cs | 2 +- Tools/ArdupilotMegaPlanner/ArduinoSTKv2.cs | 4 +- .../ArdupilotMegaPlanner/ArdupilotMega.csproj | 63 +- Tools/ArdupilotMegaPlanner/CommsSerialPort.cs | 12 +- Tools/ArdupilotMegaPlanner/CommsTCPSerial.cs | 6 +- .../Controls/ImageLabel.cs | 5 +- .../ArdupilotMegaPlanner/Controls/MyButton.cs | 117 +- .../{ => Controls}/MyUserControl.cs | 38 +- .../Controls/ProgressReporter.cs | 64 + .../Controls/ProgressReporter.designer.cs | 94 ++ .../ProgressReporter.resx} | 238 ++-- Tools/ArdupilotMegaPlanner/Controls/myGMAP.cs | 8 +- Tools/ArdupilotMegaPlanner/CurrentState.cs | 348 ++---- .../GCSViews/Configuration.Designer.cs | 3 +- .../GCSViews/Configuration.cs | 40 +- .../GCSViews/Configuration.es-ES.resx | 600 +++++++++ .../GCSViews/Configuration.resx | 3 + .../ArdupilotMegaPlanner/GCSViews/Firmware.cs | 2 +- .../GCSViews/Firmware.es-ES.resx | 132 ++ .../GCSViews/FlightData.cs | 74 +- .../GCSViews/FlightData.es-ES.resx | 276 +++++ .../GCSViews/FlightPlanner.es-ES.resx | 366 ++++++ .../GCSViews/Help.es-ES.resx | 129 ++ .../GCSViews/Simulation.cs | 29 +- .../GCSViews/Simulation.es-ES.resx | 303 +++++ .../GCSViews/Terminal.es-ES.resx | 138 +++ .../GCSViews/test.Designer.cs | 152 --- Tools/ArdupilotMegaPlanner/GCSViews/test.cs | 27 - Tools/ArdupilotMegaPlanner/HUD.cs | 5 +- .../JoystickSetup.es-ES.resx | 219 ++++ Tools/ArdupilotMegaPlanner/Log.es-ES.resx | 138 +++ .../ArdupilotMegaPlanner/LogBrowse.es-ES.resx | 141 +++ Tools/ArdupilotMegaPlanner/MAVLink.cs | 687 +++-------- .../ArdupilotMegaPlanner/MAVLinkTypesenum.cs | 13 - Tools/ArdupilotMegaPlanner/MainV2.cs | 17 +- .../Mavlink/MavlinkCRC.cs | 48 + .../Mavlink/MavlinkUtil.cs | 246 ++++ .../MavlinkLog.es-ES.resx | 129 ++ .../Properties/AssemblyInfo.cs | 2 +- .../{HUD.resx => RAW_Sensor.es-ES.resx} | 337 +++-- .../Resources/Welcome_to_Michael_Oborne.rtf | Bin 1532 -> 1687 bytes .../SerialInput.es-ES.resx | 123 ++ .../Setup/Setup.es-ES.resx | 315 +++++ .../bin/Release/ArdupilotMegaPlanner.pdb | Bin 890368 -> 896512 bytes .../Resources/Welcome_to_Michael_Oborne.rtf | Bin 1532 -> 1687 bytes .../aircraft/arducopter/Models/Untitled.ac | 1094 +++++++++++++++++ .../aircraft/arducopter/Models/plus_quad2.xml | 88 ++ .../aircraft/arducopter/Models/quad.3ds | Bin 0 -> 59695 bytes .../arducopter/Models/shareware_output.3ds | Bin 0 -> 176428 bytes .../bin/Release/aircraft/arducopter/quad.nas | 40 + Tools/ArdupilotMegaPlanner/defines.h | 346 ------ 53 files changed, 5645 insertions(+), 1701 deletions(-) rename Tools/ArdupilotMegaPlanner/{ => Controls}/MyUserControl.cs (95%) create mode 100644 Tools/ArdupilotMegaPlanner/Controls/ProgressReporter.cs create mode 100644 Tools/ArdupilotMegaPlanner/Controls/ProgressReporter.designer.cs rename Tools/ArdupilotMegaPlanner/{GCSViews/test.resx => Controls/ProgressReporter.resx} (97%) create mode 100644 Tools/ArdupilotMegaPlanner/GCSViews/Configuration.es-ES.resx create mode 100644 Tools/ArdupilotMegaPlanner/GCSViews/Firmware.es-ES.resx create mode 100644 Tools/ArdupilotMegaPlanner/GCSViews/FlightData.es-ES.resx create mode 100644 Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.es-ES.resx create mode 100644 Tools/ArdupilotMegaPlanner/GCSViews/Help.es-ES.resx create mode 100644 Tools/ArdupilotMegaPlanner/GCSViews/Simulation.es-ES.resx create mode 100644 Tools/ArdupilotMegaPlanner/GCSViews/Terminal.es-ES.resx delete mode 100644 Tools/ArdupilotMegaPlanner/GCSViews/test.Designer.cs delete mode 100644 Tools/ArdupilotMegaPlanner/GCSViews/test.cs create mode 100644 Tools/ArdupilotMegaPlanner/JoystickSetup.es-ES.resx create mode 100644 Tools/ArdupilotMegaPlanner/Log.es-ES.resx create mode 100644 Tools/ArdupilotMegaPlanner/LogBrowse.es-ES.resx delete mode 100644 Tools/ArdupilotMegaPlanner/MAVLinkTypesenum.cs create mode 100644 Tools/ArdupilotMegaPlanner/Mavlink/MavlinkCRC.cs create mode 100644 Tools/ArdupilotMegaPlanner/Mavlink/MavlinkUtil.cs create mode 100644 Tools/ArdupilotMegaPlanner/MavlinkLog.es-ES.resx rename Tools/ArdupilotMegaPlanner/{HUD.resx => RAW_Sensor.es-ES.resx} (71%) create mode 100644 Tools/ArdupilotMegaPlanner/SerialInput.es-ES.resx create mode 100644 Tools/ArdupilotMegaPlanner/Setup/Setup.es-ES.resx create mode 100644 Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/Untitled.ac create mode 100644 Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/plus_quad2.xml create mode 100644 Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/quad.3ds create mode 100644 Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/shareware_output.3ds create mode 100644 Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/quad.nas delete mode 100644 Tools/ArdupilotMegaPlanner/defines.h diff --git a/Tools/ArdupilotMegaPlanner/ArduinoComms.cs b/Tools/ArdupilotMegaPlanner/ArduinoComms.cs index 7ea102e1ba..a685523550 100644 --- a/Tools/ArdupilotMegaPlanner/ArduinoComms.cs +++ b/Tools/ArdupilotMegaPlanner/ArduinoComms.cs @@ -6,7 +6,7 @@ using System.IO; namespace ArdupilotMega { - public delegate void ProgressEventHandler(int progress); + public delegate void ProgressEventHandler(int progress,string status); /// /// Arduino STK interface diff --git a/Tools/ArdupilotMegaPlanner/ArduinoDetect.cs b/Tools/ArdupilotMegaPlanner/ArduinoDetect.cs index eabd5a7341..82d49c690b 100644 --- a/Tools/ArdupilotMegaPlanner/ArduinoDetect.cs +++ b/Tools/ArdupilotMegaPlanner/ArduinoDetect.cs @@ -196,6 +196,47 @@ namespace ArdupilotMega return ""; } + public enum ap_var_type + { + AP_PARAM_NONE = 0, + AP_PARAM_INT8, + AP_PARAM_INT16, + AP_PARAM_INT32, + AP_PARAM_FLOAT, + AP_PARAM_VECTOR3F, + AP_PARAM_VECTOR6F, + AP_PARAM_MATRIX3F, + AP_PARAM_GROUP + }; + + static string[] type_names = new string[] { + "NONE", "INT8", "INT16", "INT32", "FLOAT", "VECTOR3F", "VECTOR6F","MATRIX6F", "GROUP" +}; + + static byte type_size(ap_var_type type) +{ + switch (type) { + case ap_var_type.AP_PARAM_NONE: + case ap_var_type.AP_PARAM_GROUP: + return 0; + case ap_var_type.AP_PARAM_INT8: + return 1; + case ap_var_type.AP_PARAM_INT16: + return 2; + case ap_var_type.AP_PARAM_INT32: + return 4; + case ap_var_type.AP_PARAM_FLOAT: + return 4; + case ap_var_type.AP_PARAM_VECTOR3F: + return 3*4; + case ap_var_type.AP_PARAM_VECTOR6F: + return 6*4; + case ap_var_type.AP_PARAM_MATRIX3F: + return 3*3*4; + } + return 0; +} + /// /// return the software id from eeprom /// @@ -223,7 +264,7 @@ namespace ArdupilotMega byte[] buffer = port.download(1024 * 4); port.Close(); - if (buffer[0] != 'A' || buffer[1] != 'P') // this is the apvar header + if (buffer[0] != 'A' && buffer[0] != 'P' || buffer[1] != 'P' && buffer[1] != 'A') // this is the apvar header { return -1; } @@ -263,6 +304,46 @@ namespace ArdupilotMega Console.WriteLine(); } } + + if (buffer[0] == 'P' && buffer[1] == 'A' && buffer[2] == 5) // ap param + { + int pos = 4; + byte key = 0; + while (pos < (1024 * 4)) + { + key = buffer[pos]; + pos++; + int group = buffer[pos]; + pos++; + int type = buffer[pos]; + pos++; + + int size = type_size((ap_var_type)Enum.Parse(typeof(ap_var_type), type.ToString())); + + + Console.Write("{0:X4}: type {1} ({2}) key {3} group {4} size {5}\n ", pos - 2, type, type_names[type], key, group, size); + + if (key == 0xff) + { + Console.WriteLine("end sentinal at {0}", pos - 2); + break; + } + + if (key == 0) + { + //Array.Reverse(buffer, pos, 2); + return BitConverter.ToUInt16(buffer, pos); + } + + + for (int i = 0; i < size; i++) + { + Console.Write(" {0:X2}", buffer[pos]); + pos++; + } + Console.WriteLine(); + } + } } return -1; } diff --git a/Tools/ArdupilotMegaPlanner/ArduinoSTK.cs b/Tools/ArdupilotMegaPlanner/ArduinoSTK.cs index 30a0e3182d..d16ab575a1 100644 --- a/Tools/ArdupilotMegaPlanner/ArduinoSTK.cs +++ b/Tools/ArdupilotMegaPlanner/ArduinoSTK.cs @@ -219,7 +219,7 @@ namespace ArdupilotMega if (Progress != null) - Progress((int)(((float)startaddress / (float)length) * 100)); + Progress((int)(((float)startaddress / (float)length) * 100),""); if (!sync()) { diff --git a/Tools/ArdupilotMegaPlanner/ArduinoSTKv2.cs b/Tools/ArdupilotMegaPlanner/ArduinoSTKv2.cs index a55251322b..3483695ff3 100644 --- a/Tools/ArdupilotMegaPlanner/ArduinoSTKv2.cs +++ b/Tools/ArdupilotMegaPlanner/ArduinoSTKv2.cs @@ -262,7 +262,7 @@ namespace ArdupilotMega if (Progress != null) - Progress((int)(((float)startaddress / (float)length) * 100)); + Progress((int)(((float)startaddress / (float)length) * 100),""); if (command[1] != 0) { @@ -354,7 +354,7 @@ namespace ArdupilotMega if (Progress != null) - Progress((int)(((float)startaddress / (float)length) * 100)); + Progress((int)(((float)startaddress / (float)length) * 100),""); if (command[1] != 0) { diff --git a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj index e00cfbd8f9..a061f09145 100644 --- a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj +++ b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj @@ -22,7 +22,7 @@ Background 7 Days - false + true false false en-US @@ -242,7 +242,7 @@ - Component + UserControl ImageLabel.cs @@ -250,12 +250,20 @@ UserControl + + Form + + + ProgressReporter.cs + Form XorPlus.cs + + Form @@ -301,7 +309,6 @@ JoystickSetup.cs - Component @@ -312,7 +319,7 @@ Component - + UserControl @@ -438,9 +445,54 @@ ImageLabel.cs + + ProgressReporter.cs + XorPlus.cs + + Configuration.cs + + + Firmware.cs + + + FlightData.cs + + + FlightPlanner.cs + + + Help.cs + + + Simulation.cs + + + Terminal.cs + + + JoystickSetup.cs + + + Log.cs + + + LogBrowse.cs + + + MavlinkLog.cs + + + RAW_Sensor.cs + + + SerialInput.cs + + + SerialInput.cs + SerialInput.cs @@ -713,6 +765,9 @@ SerialOutput.cs + + Setup.cs + Setup.cs diff --git a/Tools/ArdupilotMegaPlanner/CommsSerialPort.cs b/Tools/ArdupilotMegaPlanner/CommsSerialPort.cs index 2eeb4cea1b..8b4101039f 100644 --- a/Tools/ArdupilotMegaPlanner/CommsSerialPort.cs +++ b/Tools/ArdupilotMegaPlanner/CommsSerialPort.cs @@ -12,9 +12,15 @@ namespace ArdupilotMega public void toggleDTR() { - DtrEnable = false; - System.Threading.Thread.Sleep(100); - DtrEnable = true; + base.DtrEnable = false; + base.RtsEnable = false; + + System.Threading.Thread.Sleep(50); + + base.DtrEnable = true; + base.RtsEnable = true; + + System.Threading.Thread.Sleep(50); } } } diff --git a/Tools/ArdupilotMegaPlanner/CommsTCPSerial.cs b/Tools/ArdupilotMegaPlanner/CommsTCPSerial.cs index 006f3f3439..8bfe204897 100644 --- a/Tools/ArdupilotMegaPlanner/CommsTCPSerial.cs +++ b/Tools/ArdupilotMegaPlanner/CommsTCPSerial.cs @@ -81,11 +81,11 @@ namespace System.IO.Ports string host = "127.0.0.1"; if (Windows.Forms.DialogResult.Cancel == ArdupilotMega.Common.InputBox("remote host", "Enter host name/ip (ensure remote end is already started)", ref host)) { - return; + throw new Exception("Canceled by request"); } if (Windows.Forms.DialogResult.Cancel == ArdupilotMega.Common.InputBox("remote Port", "Enter remote port", ref dest)) { - return; + throw new Exception("Canceled by request"); } Port = dest; @@ -94,6 +94,8 @@ namespace System.IO.Ports client.NoDelay = true; client.Client.NoDelay = true; + VerifyConnected(); + return; } diff --git a/Tools/ArdupilotMegaPlanner/Controls/ImageLabel.cs b/Tools/ArdupilotMegaPlanner/Controls/ImageLabel.cs index a5524d2cd4..2b16d6337d 100644 --- a/Tools/ArdupilotMegaPlanner/Controls/ImageLabel.cs +++ b/Tools/ArdupilotMegaPlanner/Controls/ImageLabel.cs @@ -9,7 +9,7 @@ using System.Windows.Forms; namespace ArdupilotMega { - public partial class ImageLabel : ContainerControl + public partial class ImageLabel : UserControl //ContainerControl { public new event EventHandler Click; @@ -18,6 +18,9 @@ namespace ArdupilotMega public ImageLabel() { + text = ""; + picture = new Bitmap(640,480); + InitializeComponent(); } diff --git a/Tools/ArdupilotMegaPlanner/Controls/MyButton.cs b/Tools/ArdupilotMegaPlanner/Controls/MyButton.cs index 82f28d7e56..d95acf2373 100644 --- a/Tools/ArdupilotMegaPlanner/Controls/MyButton.cs +++ b/Tools/ArdupilotMegaPlanner/Controls/MyButton.cs @@ -17,56 +17,97 @@ namespace ArdupilotMega bool mouseover = false; bool mousedown = false; + bool inOnPaint = false; + protected override void OnPaint(PaintEventArgs pevent) { //base.OnPaint(pevent); - Graphics gr = pevent.Graphics; + if (inOnPaint) + return; - Rectangle outside = new Rectangle(0,0,this.Width,this.Height); + inOnPaint = true; - LinearGradientBrush linear = new LinearGradientBrush(outside,Color.FromArgb(0x94,0xc1,0x1f),Color.FromArgb(0xcd,0xe2,0x96),LinearGradientMode.Vertical); - - Pen mypen = new Pen(Color.FromArgb(0x79,0x94,0x29),2); - - gr.FillRectangle(linear,outside); - - gr.DrawRectangle(mypen,outside); - - SolidBrush mybrush = new SolidBrush(Color.FromArgb(0x40,0x57,0x04)); - - if (mouseover) + try { - SolidBrush brush = new SolidBrush(Color.FromArgb(73, 0x2b, 0x3a, 0x03)); + Graphics gr = pevent.Graphics; - gr.FillRectangle(brush, 0, 0, this.Width, this.Height); - } - if (mousedown) - { - SolidBrush brush = new SolidBrush(Color.FromArgb(73, 0x2b, 0x3a, 0x03)); + // gr.SmoothingMode = SmoothingMode.AntiAlias; - gr.FillRectangle(brush, 0, 0, this.Width, this.Height); - } + Rectangle outside = new Rectangle(0, 0, this.Width, this.Height); - if (!this.Enabled) - { - SolidBrush brush = new SolidBrush(Color.FromArgb(150, 0x2b, 0x3a, 0x03)); + LinearGradientBrush linear = new LinearGradientBrush(outside, Color.FromArgb(0x94, 0xc1, 0x1f), Color.FromArgb(0xcd, 0xe2, 0x96), LinearGradientMode.Vertical); - gr.FillRectangle(brush, 0, 0, this.Width, this.Height); + Pen mypen = new Pen(Color.FromArgb(0x79, 0x94, 0x29), 2); + /* + gr.FillRectangle(new SolidBrush(Color.FromArgb(0x26, 0x27, 0x28)), outside); + + GraphicsPath outline = new GraphicsPath(); + + float wid = this.Height / 5f; + float widright = wid + 1; + + // tl + outline.AddArc(0, 0, wid, wid, 180, 90); + // top line + outline.AddLine(wid, 0, this.Width - widright, 0); + // tr + outline.AddArc(this.Width - widright, 0, wid, wid, 270, 90); + // br + outline.AddArc(this.Width - widright, this.Height - widright, wid, wid, 0, 90); + // bottom line + outline.AddLine(wid, this.Height - 1, this.Width - widright, this.Height - 1); + // bl + outline.AddArc(0, this.Height - widright, wid, wid, 90, 90); + + + gr.FillPath(linear, outline); + + gr.DrawPath(mypen, outline); + + */ + + gr.FillRectangle(linear, outside); + gr.DrawRectangle(mypen, outside); + + + SolidBrush mybrush = new SolidBrush(Color.FromArgb(0x40, 0x57, 0x04)); + + if (mouseover) + { + SolidBrush brush = new SolidBrush(Color.FromArgb(73, 0x2b, 0x3a, 0x03)); + + gr.FillRectangle(brush, 0, 0, this.Width, this.Height); + } + if (mousedown) + { + SolidBrush brush = new SolidBrush(Color.FromArgb(73, 0x2b, 0x3a, 0x03)); + + gr.FillRectangle(brush, 0, 0, this.Width, this.Height); + } + + if (!this.Enabled) + { + SolidBrush brush = new SolidBrush(Color.FromArgb(150, 0x2b, 0x3a, 0x03)); + + gr.FillRectangle(brush, 0, 0, this.Width, this.Height); + } + + + StringFormat stringFormat = new StringFormat(); + stringFormat.Alignment = StringAlignment.Center; + stringFormat.LineAlignment = StringAlignment.Center; + + string display = this.Text; + int amppos = display.IndexOf('&'); + if (amppos != -1) + display = display.Remove(amppos, 1); + + gr.DrawString(display, this.Font, mybrush, outside, stringFormat); } - - - StringFormat stringFormat = new StringFormat(); - stringFormat.Alignment = StringAlignment.Center; - stringFormat.LineAlignment = StringAlignment.Center; - - string display = this.Text; - int amppos = display.IndexOf('&'); - if (amppos != -1) - display = display.Remove(amppos,1); - - gr.DrawString(display, this.Font, mybrush, outside, stringFormat); - + catch { } + + inOnPaint = false; } protected override void OnClick(EventArgs e) diff --git a/Tools/ArdupilotMegaPlanner/MyUserControl.cs b/Tools/ArdupilotMegaPlanner/Controls/MyUserControl.cs similarity index 95% rename from Tools/ArdupilotMegaPlanner/MyUserControl.cs rename to Tools/ArdupilotMegaPlanner/Controls/MyUserControl.cs index 83213fe8b7..0a7a764793 100644 --- a/Tools/ArdupilotMegaPlanner/MyUserControl.cs +++ b/Tools/ArdupilotMegaPlanner/Controls/MyUserControl.cs @@ -1,19 +1,19 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace System.Windows.Forms -{ - public class MyUserControl : System.Windows.Forms.UserControl - { - protected override void WndProc(ref Message m) - { - try - { - base.WndProc(ref m); - } - catch { } - } - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace System.Windows.Forms +{ + public class MyUserControl : System.Windows.Forms.UserControl + { + protected override void WndProc(ref Message m) + { + try + { + base.WndProc(ref m); + } + catch { } + } + } +} diff --git a/Tools/ArdupilotMegaPlanner/Controls/ProgressReporter.cs b/Tools/ArdupilotMegaPlanner/Controls/ProgressReporter.cs new file mode 100644 index 0000000000..33389e8c03 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Controls/ProgressReporter.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace ArdupilotMega +{ + public partial class ProgressReporter : Form + { + bool cancel = false; + + public ProgressReporter() + { + InitializeComponent(); + cancel = false; + } + + private void btnCancel_Click(object sender, EventArgs e) + { + cancel = true; + this.Close(); + } + + public void updateProgressAndStatus(int progress, string status) + { + //Console.WriteLine(progress + " " + status); + + if (cancel) + { + throw new Exception("User Canceled"); + } + + if (this.IsDisposed) + { + return; + } + + try + { + this.Invoke((MethodInvoker)delegate + { + + lblProgressMessage.Text = status; + if (progress == -1) + { + this.progressBar1.Style = ProgressBarStyle.Marquee; + } + else + { + this.progressBar1.Style = ProgressBarStyle.Continuous; + this.progressBar1.Value = progress; + } + }); + } + catch { } + + System.Windows.Forms.Application.DoEvents(); + } + } +} diff --git a/Tools/ArdupilotMegaPlanner/Controls/ProgressReporter.designer.cs b/Tools/ArdupilotMegaPlanner/Controls/ProgressReporter.designer.cs new file mode 100644 index 0000000000..d24768765e --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Controls/ProgressReporter.designer.cs @@ -0,0 +1,94 @@ +using System.Windows.Forms; + +namespace ArdupilotMega +{ + partial class ProgressReporter + { + /// + /// 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.progressBar1 = new System.Windows.Forms.ProgressBar(); + this.lblProgressMessage = new System.Windows.Forms.Label(); + this.btnCancel = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // progressBar1 + // + this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.progressBar1.Location = new System.Drawing.Point(12, 82); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(277, 13); + this.progressBar1.TabIndex = 0; + // + // lblProgressMessage + // + this.lblProgressMessage.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblProgressMessage.Location = new System.Drawing.Point(13, 13); + this.lblProgressMessage.Name = "lblProgressMessage"; + this.lblProgressMessage.Size = new System.Drawing.Size(276, 66); + this.lblProgressMessage.TabIndex = 1; + this.lblProgressMessage.Text = "label1"; + // + // btnCancel + // + this.btnCancel.Location = new System.Drawing.Point(213, 109); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(75, 23); + this.btnCancel.TabIndex = 2; + this.btnCancel.Text = "Cancel"; + this.btnCancel.UseVisualStyleBackColor = true; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // ProgressReporter + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(306, 144); + this.ControlBox = false; + this.Controls.Add(this.btnCancel); + this.Controls.Add(this.lblProgressMessage); + this.Controls.Add(this.progressBar1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "ProgressReporter"; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Progress"; + this.ResumeLayout(false); + + } + + #endregion + + private ProgressBar progressBar1; + private System.Windows.Forms.Label lblProgressMessage; + private Button btnCancel; + } +} \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/test.resx b/Tools/ArdupilotMegaPlanner/Controls/ProgressReporter.resx similarity index 97% rename from Tools/ArdupilotMegaPlanner/GCSViews/test.resx rename to Tools/ArdupilotMegaPlanner/Controls/ProgressReporter.resx index 5ea0895e32..7080a7d118 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/test.resx +++ b/Tools/ArdupilotMegaPlanner/Controls/ProgressReporter.resx @@ -1,120 +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 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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/Tools/ArdupilotMegaPlanner/Controls/myGMAP.cs b/Tools/ArdupilotMegaPlanner/Controls/myGMAP.cs index 8af08373f7..38e37a84be 100644 --- a/Tools/ArdupilotMegaPlanner/Controls/myGMAP.cs +++ b/Tools/ArdupilotMegaPlanner/Controls/myGMAP.cs @@ -7,15 +7,19 @@ namespace ArdupilotMega { class myGMAP : GMap.NET.WindowsForms.GMapControl { - public bool inOnPaint = false; + public bool inOnPaint = false; + string otherthread = ""; protected override void OnPaint(System.Windows.Forms.PaintEventArgs e) { if (inOnPaint) { - Console.WriteLine("Was in onpaint Gmap th:" + System.Threading.Thread.CurrentThread.Name); + Console.WriteLine("Was in onpaint Gmap th:" + System.Threading.Thread.CurrentThread.Name + " in " + otherthread); return; } + + otherthread = System.Threading.Thread.CurrentThread.Name; + inOnPaint = true; try diff --git a/Tools/ArdupilotMegaPlanner/CurrentState.cs b/Tools/ArdupilotMegaPlanner/CurrentState.cs index fa10636601..af78701f3f 100644 --- a/Tools/ArdupilotMegaPlanner/CurrentState.cs +++ b/Tools/ArdupilotMegaPlanner/CurrentState.cs @@ -2,10 +2,11 @@ using System.Collections.Generic; using System.Text; using System.ComponentModel; +using ArdupilotMega.Mavlink; namespace ArdupilotMega { - public class CurrentState: ICloneable + public class CurrentState : ICloneable { // multipliers public float multiplierdist = 1; @@ -61,13 +62,13 @@ namespace ArdupilotMega public float altd100 { get { return (alt / 100) % 10; } } // accel - public float ax { get; set; } - public float ay { get; set; } - public float az { get; set; } + public float ax { get; set; } + public float ay { get; set; } + public float az { get; set; } // gyro - public float gx { get; set; } - public float gy { get; set; } - public float gz { get; set; } + public float gx { get; set; } + public float gy { get; set; } + public float gz { get; set; } // mag public float mx { get; set; } public float my { get; set; } @@ -77,14 +78,14 @@ namespace ArdupilotMega public float turnrate { get { if (groundspeed <= 1) return 0; return (roll * 9.8f) / groundspeed; } } //radio - public float ch1in { get; set; } - public float ch2in { get; set; } - public float ch3in { get; set; } - public float ch4in { get; set; } - public float ch5in { get; set; } - public float ch6in { get; set; } - public float ch7in { get; set; } - public float ch8in { get; set; } + public float ch1in { get; set; } + public float ch2in { get; set; } + public float ch3in { get; set; } + public float ch4in { get; set; } + public float ch5in { get; set; } + public float ch6in { get; set; } + public float ch7in { get; set; } + public float ch8in { get; set; } // motors public float ch1out { get; set; } @@ -95,8 +96,10 @@ namespace ArdupilotMega public float ch6out { get; set; } public float ch7out { get; set; } public float ch8out { get; set; } - public float ch3percent { - get { + public float ch3percent + { + get + { try { if (MainV2.comPort.param.ContainsKey("RC3_MIN")) @@ -108,10 +111,11 @@ namespace ArdupilotMega return 0; } } - catch { + catch + { return 0; } - } + } } //nav state @@ -121,7 +125,7 @@ namespace ArdupilotMega public float target_bearing { get; set; } public float wp_dist { get { return (_wpdist * multiplierdist); } set { _wpdist = value; } } public float alt_error { get { return _alt_error * multiplierdist; } set { _alt_error = value; } } - public float ber_error { get { return (target_bearing - yaw); } set { } } + public float ber_error { get { return (target_bearing - yaw); } set { } } public float aspd_error { get { return _aspd_error * multiplierspeed; } set { _aspd_error = value; } } public float xtrack_error { get; set; } public float wpno { get; set; } @@ -132,10 +136,10 @@ namespace ArdupilotMega float _alt_error; public float targetaltd100 { get { return ((alt + alt_error) / 100) % 10; } } - public float targetalt { get { return (float)Math.Round(alt + alt_error,0); } } + public float targetalt { get { return (float)Math.Round(alt + alt_error, 0); } } //airspeed_error = (airspeed_error - airspeed); - public float targetairspeed { get { return (float)Math.Round(airspeed + aspd_error / 100,0); } } + public float targetairspeed { get { return (float)Math.Round(airspeed + aspd_error / 100, 0); } } //message @@ -187,7 +191,6 @@ namespace ArdupilotMega public ushort rcoverridech8 { get; set; } internal PointLatLngAlt HomeLocation = new PointLatLngAlt(); - public float DistToMAV { get @@ -238,7 +241,6 @@ namespace ArdupilotMega return (float)bearing; } } - // current firmware public MainV2.Firmwares firmware = MainV2.Firmwares.ArduPlane; public float freemem { get; set; } @@ -259,6 +261,7 @@ namespace ArdupilotMega // reference public DateTime datetime { get; set; } + public CurrentState() { mode = ""; @@ -277,7 +280,7 @@ namespace ArdupilotMega private DateTime lastupdate = DateTime.Now; private DateTime lastwindcalc = DateTime.Now; - + public void UpdateCurrentSettings(System.Windows.Forms.BindingSource bs) { UpdateCurrentSettings(bs, false, MainV2.comPort); @@ -311,28 +314,22 @@ namespace ArdupilotMega try { - while (messages.Count > 5) - { - messages.RemoveAt(0); - } - + while (messages.Count > 5) + { + messages.RemoveAt(0); + } messages.Add(logdata + "\n"); } catch { } - mavinterface.packets[MAVLink.MAVLINK_MSG_ID_STATUSTEXT] = null; } - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_RC_CHANNELS_SCALED] != null) // hil + byte[] bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_RC_CHANNELS_SCALED]; + + if (bytearray != null) // hil { - var hil = new ArdupilotMega.MAVLink.__mavlink_rc_channels_scaled_t(); - - object temp = hil; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_RC_CHANNELS_SCALED], ref temp, 6); - - hil = (MAVLink.__mavlink_rc_channels_scaled_t)(temp); + var hil = bytearray.ByteArrayToStructure(6); hilch1 = hil.chan1_scaled; hilch2 = hil.chan2_scaled; @@ -346,15 +343,11 @@ namespace ArdupilotMega //MAVLink.packets[MAVLink.MAVLINK_MSG_ID_RC_CHANNELS_SCALED] = null; } - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT] != null) + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT]; + + if (bytearray != null) { - MAVLink.__mavlink_nav_controller_output_t nav = new MAVLink.__mavlink_nav_controller_output_t(); - - object temp = nav; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT], ref temp, 6); - - nav = (MAVLink.__mavlink_nav_controller_output_t)(temp); + var nav = bytearray.ByteArrayToStructure(6); nav_roll = nav.nav_roll; nav_pitch = nav.nav_pitch; @@ -368,15 +361,12 @@ namespace ArdupilotMega //MAVLink.packets[MAVLink.MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT] = null; } #if MAVLINK10 - if (mavinterface.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_HEARTBEAT] != null) + + + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_HEARTBEAT]; + if (bytearray != null) { - ArdupilotMega.MAVLink.__mavlink_heartbeat_t hb = new ArdupilotMega.MAVLink.__mavlink_heartbeat_t(); - - object temp = hb; - - MAVLink.ByteArrayToStructure(mavinterface.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_HEARTBEAT], ref temp, 6); - - hb = (ArdupilotMega.MAVLink.__mavlink_heartbeat_t)(temp); + var hb = bytearray.ByteArrayToStructure(6); string oldmode = mode; @@ -465,15 +455,10 @@ namespace ArdupilotMega } - if (mavinterface.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_SYS_STATUS] != null) + bytearray = mavinterface.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_SYS_STATUS]; + if (bytearray != null) { - ArdupilotMega.MAVLink.__mavlink_sys_status_t sysstatus = new ArdupilotMega.MAVLink.__mavlink_sys_status_t(); - - object temp = sysstatus; - - MAVLink.ByteArrayToStructure(mavinterface.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_SYS_STATUS], ref temp, 6); - - sysstatus = (ArdupilotMega.MAVLink.__mavlink_sys_status_t)(temp); + var sysstatus = bytearray.ByteArrayToStructure(6); battery_voltage = sysstatus.voltage_battery; battery_remaining = sysstatus.battery_remaining; @@ -484,15 +469,11 @@ namespace ArdupilotMega } #else - if (mavinterface.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_SYS_STATUS] != null) + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_SYS_STATUS]; + + if (bytearray != null) { - ArdupilotMega.MAVLink.__mavlink_sys_status_t sysstatus = new ArdupilotMega.MAVLink.__mavlink_sys_status_t(); - - object temp = sysstatus; - - MAVLink.ByteArrayToStructure(mavinterface.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_SYS_STATUS], ref temp, 6); - - sysstatus = (ArdupilotMega.MAVLink.__mavlink_sys_status_t)(temp); + var sysstatus = bytearray.ByteArrayToStructure(6); armed = sysstatus.status; @@ -603,34 +584,21 @@ namespace ArdupilotMega } //MAVLink.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_SYS_STATUS] = null; - } + } #endif - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_SCALED_PRESSURE] != null) + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_SCALED_PRESSURE]; + if (bytearray != null) { - var pres = new ArdupilotMega.MAVLink.__mavlink_scaled_pressure_t(); - - object temp = pres; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_SCALED_PRESSURE], ref temp, 6); - - pres = (MAVLink.__mavlink_scaled_pressure_t)(temp); - + var pres = bytearray.ByteArrayToStructure(6); press_abs = pres.press_abs; - - press_temp = pres.temperature; - + press_temp = pres.temperature; } - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_SENSOR_OFFSETS] != null) + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_SENSOR_OFFSETS]; + if (bytearray != null) { - var sensofs = new ArdupilotMega.MAVLink.__mavlink_sensor_offsets_t(); - - object temp = sensofs; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_SENSOR_OFFSETS], ref temp, 6); - - sensofs = (MAVLink.__mavlink_sensor_offsets_t)(temp); + var sensofs = bytearray.ByteArrayToStructure(6); mag_ofs_x = sensofs.mag_ofs_x; mag_ofs_y = sensofs.mag_ofs_y; @@ -650,15 +618,11 @@ namespace ArdupilotMega } - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_ATTITUDE] != null) + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_ATTITUDE]; + + if (bytearray != null) { - var att = new ArdupilotMega.MAVLink.__mavlink_attitude_t(); - - object temp = att; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_ATTITUDE], ref temp, 6); - - att = (MAVLink.__mavlink_attitude_t)(temp); + var att = bytearray.ByteArrayToStructure(6); roll = att.roll * rad2deg; pitch = att.pitch * rad2deg; @@ -669,15 +633,10 @@ namespace ArdupilotMega //MAVLink.packets[MAVLink.MAVLINK_MSG_ID_ATTITUDE] = null; } #if MAVLINK10 - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW_INT] != null) + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW_INT]; + if (bytearray != null) { - var gps = new MAVLink.__mavlink_gps_raw_int_t(); - - object temp = gps; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW_INT], ref temp, 6); - - gps = (MAVLink.__mavlink_gps_raw_int_t)(temp); + var gps = bytearray.ByteArrayToStructure(6); lat = gps.lat * 1.0e-7f; lng = gps.lon * 1.0e-7f; @@ -693,17 +652,12 @@ namespace ArdupilotMega //MAVLink.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW] = null; } - #else +#else - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW] != null) + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW]; + if (bytearray != null) { - var gps = new MAVLink.__mavlink_gps_raw_t(); - - object temp = gps; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW], ref temp, 6); - - gps = (MAVLink.__mavlink_gps_raw_t)(temp); + var gps = bytearray.ByteArrayToStructure(6); lat = gps.lat; lng = gps.lon; @@ -717,48 +671,33 @@ namespace ArdupilotMega groundspeed = gps.v; groundcourse = gps.hdg; - //MAVLink.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW] = null; - } + } #endif - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_STATUS] != null) + + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_STATUS]; + if (bytearray != null) { - var gps = new MAVLink.__mavlink_gps_status_t(); - - object temp = gps; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_STATUS], ref temp, 6); - - gps = (MAVLink.__mavlink_gps_status_t)(temp); - + var gps = bytearray.ByteArrayToStructure(6); satcount = gps.satellites_visible; } - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GLOBAL_POSITION_INT] != null) + + + byte[] bytes = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GLOBAL_POSITION_INT]; + if (bytes != null) { - var loc = new MAVLink.__mavlink_global_position_int_t(); - - object temp = loc; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GLOBAL_POSITION_INT], ref temp, 6); - - loc = (MAVLink.__mavlink_global_position_int_t)(temp); + var loc = bytearray.ByteArrayToStructure(6); //alt = loc.alt / 1000.0f; lat = loc.lat / 10000000.0f; lng = loc.lon / 10000000.0f; - } #if MAVLINK10 - if (mavinterface.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_MISSION_CURRENT] != null) + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_MISSION_CURRENT]; + if (bytearray != null) { - ArdupilotMega.MAVLink.__mavlink_mission_current_t wpcur = new ArdupilotMega.MAVLink.__mavlink_mission_current_t(); - - object temp = wpcur; - - MAVLink.ByteArrayToStructure(mavinterface.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_MISSION_CURRENT], ref temp, 6); - - wpcur = (ArdupilotMega.MAVLink.__mavlink_mission_current_t)(temp); - + var wpcur = bytearray.ByteArrayToStructure(6); + int oldwp = (int)wpno; wpno = wpcur.seq; @@ -770,31 +709,21 @@ namespace ArdupilotMega //MAVLink.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_WAYPOINT_CURRENT] = null; } - #else - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GLOBAL_POSITION] != null) +#else + + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GLOBAL_POSITION]; + if (bytearray != null) { - var loc = new MAVLink.__mavlink_global_position_t(); - - object temp = loc; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GLOBAL_POSITION], ref temp, 6); - - loc = (MAVLink.__mavlink_global_position_t)(temp); - + var loc = bytearray.ByteArrayToStructure(6); alt = loc.alt; lat = loc.lat; lng = loc.lon; - } - if (mavinterface.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_WAYPOINT_CURRENT] != null) + + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_WAYPOINT_CURRENT]; + if (bytearray != null) { - ArdupilotMega.MAVLink.__mavlink_waypoint_current_t wpcur = new ArdupilotMega.MAVLink.__mavlink_waypoint_current_t(); - - object temp = wpcur; - - MAVLink.ByteArrayToStructure(mavinterface.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_WAYPOINT_CURRENT], ref temp, 6); - - wpcur = (ArdupilotMega.MAVLink.__mavlink_waypoint_current_t)(temp); + var wpcur = bytearray.ByteArrayToStructure(6); int oldwp = (int)wpno; @@ -806,18 +735,13 @@ namespace ArdupilotMega } //MAVLink.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_WAYPOINT_CURRENT] = null; - } - + } + #endif - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_RC_CHANNELS_RAW] != null) + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_RC_CHANNELS_RAW]; + if (bytearray != null) { - var rcin = new MAVLink.__mavlink_rc_channels_raw_t(); - - object temp = rcin; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_RC_CHANNELS_RAW], ref temp, 6); - - rcin = (MAVLink.__mavlink_rc_channels_raw_t)(temp); + var rcin = bytearray.ByteArrayToStructure(6); ch1in = rcin.chan1_raw; ch2in = rcin.chan2_raw; @@ -831,15 +755,10 @@ namespace ArdupilotMega //MAVLink.packets[MAVLink.MAVLINK_MSG_ID_RC_CHANNELS_RAW] = null; } - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_SERVO_OUTPUT_RAW] != null) + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_SERVO_OUTPUT_RAW]; + if (bytearray != null) { - var servoout = new MAVLink.__mavlink_servo_output_raw_t(); - - object temp = servoout; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_SERVO_OUTPUT_RAW], ref temp, 6); - - servoout = (MAVLink.__mavlink_servo_output_raw_t)(temp); + var servoout = bytearray.ByteArrayToStructure(6); ch1out = servoout.servo1_raw; ch2out = servoout.servo2_raw; @@ -853,15 +772,11 @@ namespace ArdupilotMega //MAVLink.packets[MAVLink.MAVLINK_MSG_ID_SERVO_OUTPUT_RAW] = null; } - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_RAW_IMU] != null) + + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_RAW_IMU]; + if (bytearray != null) { - var imu = new MAVLink.__mavlink_raw_imu_t(); - - object temp = imu; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_RAW_IMU], ref temp, 6); - - imu = (MAVLink.__mavlink_raw_imu_t)(temp); + var imu = bytearray.ByteArrayToStructure(6); gx = imu.xgyro; gy = imu.ygyro; @@ -878,15 +793,10 @@ namespace ArdupilotMega //MAVLink.packets[MAVLink.MAVLINK_MSG_ID_RAW_IMU] = null; } - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_SCALED_IMU] != null) + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_SCALED_IMU]; + if (bytearray != null) { - var imu = new MAVLink.__mavlink_scaled_imu_t(); - - object temp = imu; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_SCALED_IMU], ref temp, 6); - - imu = (MAVLink.__mavlink_scaled_imu_t)(temp); + var imu = bytearray.ByteArrayToStructure(6); gx = imu.xgyro; gy = imu.ygyro; @@ -899,30 +809,17 @@ namespace ArdupilotMega //MAVLink.packets[MAVLink.MAVLINK_MSG_ID_RAW_IMU] = null; } - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_VFR_HUD] != null) + + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_VFR_HUD]; + if (bytearray != null) { - MAVLink.__mavlink_vfr_hud_t vfr = new MAVLink.__mavlink_vfr_hud_t(); - - object temp = vfr; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_VFR_HUD], ref temp, 6); - - vfr = (MAVLink.__mavlink_vfr_hud_t)(temp); + var vfr = bytearray.ByteArrayToStructure(6); groundspeed = vfr.groundspeed; airspeed = vfr.airspeed; alt = vfr.alt; // this might include baro - /* - if (vfr.throttle > 150 || vfr.throttle < 0) - { - Console.WriteLine(0); - } - else - { - Console.WriteLine(vfr.throttle); - } - */ + //climbrate = vfr.climb; if ((DateTime.Now - lastalt).TotalSeconds >= 0.1 && oldalt != alt) @@ -938,22 +835,15 @@ namespace ArdupilotMega //MAVLink.packets[MAVLink.MAVLINK_MSG_ID_VFR_HUD] = null; } - if (mavinterface.packets[MAVLink.MAVLINK_MSG_ID_MEMINFO] != null) // hil + bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_MEMINFO]; + if (bytearray != null) { - var mem = new ArdupilotMega.MAVLink.__mavlink_meminfo_t(); - - object temp = mem; - - MAVLink.ByteArrayToStructure(mavinterface.packets[MAVLink.MAVLINK_MSG_ID_MEMINFO], ref temp, 6); - - mem = (MAVLink.__mavlink_meminfo_t)(temp); - + var mem = bytearray.ByteArrayToStructure(6); freemem = mem.freemem; brklevel = mem.brkval; - } - } + //Console.WriteLine(DateTime.Now.Millisecond + " start "); // update form try @@ -994,7 +884,7 @@ namespace ArdupilotMega We_fgo = We_fgo + Kw * We_error; double wind_dir = (Math.Atan2(We_fgo, Wn_fgo) * (180 / Math.PI)); - double wind_vel = (Math.Sqrt(Math.Pow(We_fgo,2) + Math.Pow(Wn_fgo,2))); + double wind_vel = (Math.Sqrt(Math.Pow(We_fgo, 2) + Math.Pow(Wn_fgo, 2))); wind_dir = (wind_dir + 360) % 360; diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.Designer.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.Designer.cs index 168229d9c2..4c0332e32b 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.Designer.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.Designer.cs @@ -1137,7 +1137,8 @@ resources.GetString("TUNE.Items16"), resources.GetString("TUNE.Items17"), resources.GetString("TUNE.Items18"), - resources.GetString("TUNE.Items19")}); + resources.GetString("TUNE.Items19"), + resources.GetString("TUNE.Items20")}); resources.ApplyResources(this.TUNE, "TUNE"); this.TUNE.Name = "TUNE"; // diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.cs index ecd2272dec..6970e2567d 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.cs @@ -67,26 +67,30 @@ namespace ArdupilotMega.GCSViews // fix for dup name //XTRK_ANGLE_CD1.Name = "XTRK_ANGLE_CD"; XTRK_GAIN_SC1.Name = "XTRK_GAIN_SC"; + + // enable disable relevbant hardware tabs + if (MainV2.APMFirmware == MainV2.Firmwares.ArduPlane) + { + this.ConfigTabs.SuspendLayout(); + ConfigTabs.SelectedIndex = 0; + TabAP.Enabled = true; + TabAC.Enabled = false; + this.ConfigTabs.ResumeLayout(); + } + else + { + this.ConfigTabs.SuspendLayout(); + ConfigTabs.SelectedIndex = 1; + TabAP.Enabled = false; + TabAC.Enabled = true; + this.ConfigTabs.ResumeLayout(); + } } private void Configuration_Load(object sender, EventArgs e) { startup = true; - // enable disable relevbant hardware tabs - if (MainV2.APMFirmware == MainV2.Firmwares.ArduPlane) - { - ConfigTabs.SelectedIndex = 0; - TabAP.Enabled = true; - TabAC.Enabled = false; - } - else - { - ConfigTabs.SelectedIndex = 1; - TabAP.Enabled = false; - TabAC.Enabled = true; - } - // read tooltips if (tooltips.Count == 0) readToolTips(); @@ -167,7 +171,7 @@ namespace ArdupilotMega.GCSViews // setup language selection CultureInfo ci = null; - foreach (string name in new string[] { "en-US", "zh-Hans", "zh-TW", "ru-RU", "Fr", "Pl", "it-IT" }) + foreach (string name in new string[] { "en-US", "zh-Hans", "zh-TW", "ru-RU", "Fr", "Pl", "it-IT", "es-ES" }) { ci = MainV2.getcultureinfo(name); if (ci != null) @@ -931,10 +935,16 @@ namespace ArdupilotMega.GCSViews ((MyButton)sender).Enabled = false; try { + MainV2.comPort.getParamList(); + + + + } catch { MessageBox.Show("Error: getting param list"); } + ((MyButton)sender).Enabled = true; startup = true; Configuration_Load(null, null); diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.es-ES.resx b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.es-ES.resx new file mode 100644 index 0000000000..8ac89af4e7 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.es-ES.resx @@ -0,0 +1,600 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Advertencia Altitud + + + HUD + + + Parar + + + INT_MAX + + + D + + + Advertencia Batería + + + Permitir Habla + + + IMAX + + + P + + + D + + + IMAX + + + D + + + IMAX + + + I + + + Ganancia + + + IMAX + + + P + + + P a T + + + I + + + Ganancia (cm) + + + Valor + + + I + + + Compensación de Cabeceo + + + P + + + I + + + Longitud de Pista + + + P + + + P + + + Waypoints + + + IMAX + + + Intervalo de Tiempo + + + FBW max + + + P + + + Ch6 Opt + + + D + + + FBW min + + + Formato Video + + + Posición + + + Pid Servo Alabeo + + + INT_MAX + + + D + + + Actitud + + + Pid Servo Cabeceo + + + P + + + Proporción + + + IMAX + + + Rates de Telemetría + + + Cruce de corrección de la pista + + + Ch7 Opt + + + Max + + + I + + + D + + + Mantener Altitud + + + D + + + Min + + + RC + + + Nav WP + + + Crucero + + + INT_MAX + + + Rate de Acelerador + + + FS Valor + + + OpenGL = DesactivadoGDI + = Activado + + + Angulos de Navegación + + + I + + + Modo/Estado + + + Activar HUD superposición + + + Acelerador 0-100% + + + Cargar + + + Crucero + + + Velocidad Aire m/s + + + m/s + + + Comando + + + Reiniciar APM + + + D + + + Cargar waypoints en la conexión? + + + P + + + INT_MAX + + + Actualizar parametros del dispositivo + + + I + + + D + + + I + + + P + + + INT_MAX + + + Unidad Velocidad + + + D + + + Waypoint + + + I + + + Parámetros de carga de archivo + + + Otras Mezclas + + + Perder el Tiempo + + + NOTA: La pestaña de configuración no se muestran estas unidades, ya que son valores brutos. + + + Energía / Alt Pid + + + Cabeceo de navegación como PID + + + Dispositivo de Video + + + P + + + Ajustes + + + Defecto + + + Xtrack Pids + + + INT_MAX + + + I + + + Pid Servo Guiñada + + + I + + + Alt Nav Pid Cabeceo + + + Idioma de interfaz de usuario + + + IMAX + + + Joystick + + + GDI+ (tipo antiguo) + + + P + + + Alabeo Pid Nav + + + P + + + I + + + Color OSD + + + Unidad Distancia + + + IMAX + + + P + + + Habla + + + Cabeceo Max + + + Banco Max + + + Rate Cabeceo + + + Joystick Setup + + + Rate Alabeo + + + Cabeceo Min + + + Mavlink mensaje depuración + + + Estabilizar Guiñada + + + Estabilizar Cabeceo + + + Estabilizar Alabeo + + + Rate Guiñada + + + D + + + P + + + Guardar + + + Escribir parametros cambiados en el dispositivo + + + I + + + D + + + Estabilizar D + + + I + + + P + + + Bloquear los valores de cabeceo y Alabeo + + + I + + + INT_MAX + + + Planificador + + + Escribir Parámetros + + + ArduPlane + + + Mezcla de Timón + + + En la ficha de datos de vuelo + + + Angulo de Entrada + + + Reiniciar APM al Conectar al USB + + + mavScale + + + ArduCopter + + + Modo + + + Valores Raw + + + Comparar Parametros + + + Guardar parametros a archivo + + + P + + + IMAX + + + I + + + P + + + IMAX + + + I + + + Actualizar Parametros + + + Iniciar + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.resx b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.resx index 881a79be9f..b0a640427b 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.resx +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.resx @@ -2703,6 +2703,9 @@ CH6_OPTFLOW_KD + + CH6_NAV_I + 417, 336 diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.cs index f3a3d9adf2..94e42f21fe 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.cs @@ -580,7 +580,7 @@ namespace ArdupilotMega.GCSViews MainV2.givecomport = false; } - void port_Progress(int progress) + void port_Progress(int progress,string status) { Console.WriteLine("Progress {0} ", progress); this.progress.Value = progress; diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.es-ES.resx b/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.es-ES.resx new file mode 100644 index 0000000000..f894ebeb28 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.es-ES.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Images by Max Levine + + + Por favor, haga clic en las imágenes de arriba para "versiones de vuelo" + + + Estado + + + APM programa de instalación (plano y quad + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs b/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs index 5094e64519..b0424f888c 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs @@ -302,14 +302,7 @@ namespace ArdupilotMega.GCSViews { if (threadrun == 0) { return; } - this.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate() -{ - try - { - BUT_playlog.Text = "Pause"; - } - catch { } -}); + updatePlayPauseButton(true); if (comPort.BaseStream.IsOpen) MainV2.comPort.logreadmode = false; @@ -355,17 +348,11 @@ namespace ArdupilotMega.GCSViews } else { - if (threadrun == 0) { return; } - try - { - this.Invoke((System.Windows.Forms.MethodInvoker)delegate() - { - BUT_playlog.Text = "Play"; - }); - } - catch { } + updatePlayPauseButton(false); } + + try { //Console.WriteLine(DateTime.Now.Millisecond); @@ -406,7 +393,7 @@ namespace ArdupilotMega.GCSViews { System.Threading.Thread.Sleep(1); } - + if (trackPoints.Count > int.Parse(MainV2.config["NUM_tracklength"].ToString())) { trackPoints.RemoveRange(0, trackPoints.Count - int.Parse(MainV2.config["NUM_tracklength"].ToString())); @@ -426,10 +413,13 @@ namespace ArdupilotMega.GCSViews FlightPlanner.pointlist.AddRange(MainV2.comPort.wps); } - - routes.Markers.Clear(); - routes.Routes.Clear(); + while (gMapControl1.inOnPaint == true) + { + System.Threading.Thread.Sleep(1); + } + + updateClearRoutes(); route = new GMapRoute(trackPoints, "track"); //track.Stroke = Pens.Red; @@ -493,8 +483,6 @@ namespace ArdupilotMega.GCSViews gMapControl1.HoldInvalidation = false; gMapControl1.Invalidate(); - - Application.DoEvents(); } tracklast = DateTime.Now; @@ -505,9 +493,47 @@ namespace ArdupilotMega.GCSViews Console.WriteLine("FD Main loop exit"); } + + // to prevent cross thread calls while in a draw and exception + private void updateClearRoutes() + { + // not async + this.Invoke((System.Windows.Forms.MethodInvoker)delegate() + { + routes.Markers.Clear(); + routes.Routes.Clear(); + }); + } + + private void updatePlayPauseButton(bool playing) + { + if (playing) + { + this.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate() + { + try + { + BUT_playlog.Text = "Pause"; + } + catch { } + }); + } + else + { + this.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate() + { + try + { + BUT_playlog.Text = "Play"; + } + catch { } + }); + } + } + private void updateBindingSource() { - this.Invoke((System.Windows.Forms.MethodInvoker)delegate() + this.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate() { MainV2.cs.UpdateCurrentSettings(bindingSource1); }); diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.es-ES.resx b/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.es-ES.resx new file mode 100644 index 0000000000..048d6997a7 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.es-ES.resx @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Punto de Cámara Aquí + + + Los cambios en el modo de la izquierda + + + &Manual + + + Play/Pause + + + Cambia el waypoint de destino actual + + + Cambiar modo a Auto + + + Volar a Aquí + + + Velocidad estimada del Viento + + + Ver Sensor Raw + + + Reinicia la misión desde el principio + + + 0 + + + Despeje el trayecto registrada en el mapa + + + Dirección estimada del Viento + + + Vel: 0 + + + Mostrar el gráfico de la afinación, mostrando actitudes de destino vs real + + + 0 + + + Log > KML + + + Zoom + + + Limpiar Ruta + + + Up + + + Hace que el autopan mapa basado en la ubicación actual + + + Script + + + Cambiar modo a RTL + + + Indicadores + + + Auto Pan + + + Joystick + + + Cambiar nivel de Zoom + + + Tuning + + + Abajo + + + Hacer Acción + + + Reiniciar Misión + + + Cambiar Modo a Manual/Estabilizado + + + Ver Gyro primas y los valores de Accel y complementos primas de Radio y salidas + + + Haga doble clic aquí para cambiar Max + + + 0 + + + Acciones + + + Realizar la acción hacia la izquierda + + + Establecer Altutid Casa + + + Dir: 0 + + + Cargar Log + + + Configurar y habilitar el joystick + + + Ajuste el alt de pantalla actual como 0, es decir, casa alt sea igual a 0 + + + Grabar HUD en AVI + + + Estado + + + &Auto + + + Establecer WP + + + Logs Telemetría + + + 0.00 % + + + Configurar el modo + + + Velocidad de Reproducción + + + Parar Grabación + + + &RTL + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.es-ES.resx b/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.es-ES.resx new file mode 100644 index 0000000000..dcbcfcd380 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.es-ES.resx @@ -0,0 +1,366 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Obtener ajustes de la cámara de solapamiento + + + Verifique la altura + + + Casa + + + Cuadrícula + + + Lat + + + Descargar + + + Prev + + + Zoom + + + 45 + + + Cambiar el tipo de mapa actual + + + P4 + + + Tiempo + + + Alt Absoluta + + + Obtener ajustes de la cámara de solapamiento + + + Altitud por Defecto + + + P2 + + + Rotar Mapa + + + Lat + + + 1. Connect2. Lea WP si es necesario.3. Asegúrese de que su posición de casa y ALT se ajusta4. Haga clic en el mapa para empezar a añadir WP + + + Guardar WP en Archivo + + + Long + + + Alt (abs) + + + Para Siempre + + + Alt + + + Ubicación del Ratón + + + Arriba + + + Localización de Casa + + + Cargar Archivo WP + + + Radio Perder Tiempo + + + Iniciar + + + Leer WPs + + + Subir + + + Alt + + + Radio WP + + + Long + + + Comandos + + + Lat + + + Estado + + + Ajustar Localización de Retorno + + + panel6 + + + Limpiar Poligono + + + Acción + + + P1 + + + Representar la actual misión contra los datos de Google Earth + + + Pre Almacena en caché una parte del mapa sobre la base de una caja de dibujar + + + Elimina la Fila + + + Obtener ajustes de la cámara de solapamiento + + + Añadir punto Polígono + + + Perder el Tiempo + + + Comando APM + + + Agregar Abajo + + + Distancia + + + Mueve la fila de abajo + + + Escribir WPs + + + Superponer KML + + + Abajo + + + Lon + + + Dibujar Polígono + + + Saltar + + + 100 + + + Geo-Valla + + + Guardar a Archivo + + + 30 + + + Mueve la fila de arriba + + + Arriba + + + Borrar + + + Circulos + + + WP # + + + Borrar WP + + + Waypoints + + + Dibuja una rejilla sobre un área predefinida con un espacio determinado + + + Zoom a + + + Cargar desde archivo + + + Mantener Altitud por defecto + + + Grafico de Elevación + + + Limpiar Misión + + + Agregar una línea a la red de abajo + + + P3 + + + Prefetch + + + Medida de Distancia + + + Camara + + + Abajo + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Help.es-ES.resx b/Tools/ArdupilotMegaPlanner/GCSViews/Help.es-ES.resx new file mode 100644 index 0000000000..f802ef4521 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Help.es-ES.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + Mostrar Consola (reiniciar) + + + Comprobar Actualizaciones + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs index 8c408cb277..b805771ee8 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs @@ -11,6 +11,7 @@ using System.Xml; // config file using System.Runtime.InteropServices; // dll imports using ZedGraph; // Graphs using ArdupilotMega; +using ArdupilotMega.Mavlink; using System.Reflection; using System.Drawing.Drawing2D; @@ -636,7 +637,7 @@ namespace ArdupilotMega.GCSViews if (hzcounttime.Second != DateTime.Now.Second) { - Console.WriteLine("SIM hz {0}", hzcount); + //Console.WriteLine("SIM hz {0}", hzcount); hzcount = 0; hzcounttime = DateTime.Now; } @@ -873,15 +874,7 @@ namespace ArdupilotMega.GCSViews { //FlightGear - object imudata = new fgIMUData(); - - MAVLink.ByteArrayToStructureEndian(data, ref imudata, 0); - - imudata = (fgIMUData)(imudata); - - - - fgIMUData imudata2 = (fgIMUData)imudata; + fgIMUData imudata2 = data.ByteArrayToStructureBigEndian(0); if (imudata2.magic != 0x4c56414d) return; @@ -931,13 +924,7 @@ namespace ArdupilotMega.GCSViews } else if (receviedbytes == 658) { - aeroin = new TDataFromAeroSimRC(); - - object temp = aeroin; - - MAVLink.ByteArrayToStructure(data, ref temp, 0); - - aeroin = (TDataFromAeroSimRC)(temp); + aeroin = data.ByteArrayToStructure(0); att.pitch = (aeroin.Model_fPitch); att.roll = (aeroin.Model_fRoll * -1); @@ -1005,13 +992,7 @@ namespace ArdupilotMega.GCSViews else if (receviedbytes == 408) { - FGNetFDM fdm = new FGNetFDM(); - - object temp = fdm; - - MAVLink.ByteArrayToStructureEndian(data, ref temp, 0); - - fdm = (FGNetFDM)(temp); + FGNetFDM fdm = data.ByteArrayToStructureBigEndian(0); lastfdmdata = fdm; diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.es-ES.resx b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.es-ES.resx new file mode 100644 index 0000000000..16bd771029 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.es-ES.resx @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Alabeo + + + Error Altitud + + + Invertir Alabeo + + + Heli + + + Cabeceo + + + Salida Ardupilot + + + Plane IMU + + + Guiñada + + + Puede hacer Plane/Heli/Quads + + + Frecuencia Actualización GPS + + + Acelerador + + + Estado Piloto Automatico + + + WP + + + Mostrar Alabeo + + + Modo + + + Simulador de Autoridad - Para aviones diff + + + Iniciar FG Quad + + + Banancia Alabeo + + + Ganancia Cabeceo + + + Quad + + + Ganancia Timón + + + Longitud + + + Ganancia Acelerador + + + Altitud + + + Estos + + + son + + + Latitud + + + Solo SIM + + + Ajustes IP Avanzados + + + Cabeceo + + + Nota: + + + Título + + + Plano GPS + + + 10000 + + + Alabeo + + + Enlace Sim Inicio/Paro + + + WPDist + + + Teniendo ERR + + + Mostrar Todo + + + Sensor + + + Guardar Ajustes + + + Inicio Plano FG + + + Mostrar Timón + + + Guiñada + + + Invertir Timón + + + 10000 + + + Puede hacer con el modelo Avión y Quad + + + Intertir Cabeceo + + + Mostrar Acelerador + + + Xplane 10 + + + AeroSimRC + + + Mostrar Cabeceo + + + + + + FlightGear + + + 10000 + + + X-plane + + + JSBSim + + + 10000 + + + Puede hacer de avión / Heli o Quads + + + Iniciat Xplane + + + Puede hacer Plano / Quad con el plugin + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Terminal.es-ES.resx b/Tools/ArdupilotMegaPlanner/GCSViews/Terminal.es-ES.resx new file mode 100644 index 0000000000..dfed30055d --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Terminal.es-ES.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Tests + + + Descargar Log + + + Ajustar Radio + + + + + + Buscar Log + + + Mostrar Ajustes + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/test.Designer.cs b/Tools/ArdupilotMegaPlanner/GCSViews/test.Designer.cs deleted file mode 100644 index fccf65b5da..0000000000 --- a/Tools/ArdupilotMegaPlanner/GCSViews/test.Designer.cs +++ /dev/null @@ -1,152 +0,0 @@ -namespace ArdupilotMega.GCSViews -{ - partial class test - { - /// - /// 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 Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.panel3 = new BSE.Windows.Forms.Panel(); - this.splitter1 = new BSE.Windows.Forms.Splitter(); - this.panel1 = new BSE.Windows.Forms.Panel(); - this.splitter2 = new BSE.Windows.Forms.Splitter(); - this.SuspendLayout(); - // - // panel3 - // - this.panel3.AssociatedSplitter = this.splitter1; - this.panel3.BackColor = System.Drawing.Color.Transparent; - this.panel3.CaptionFont = new System.Drawing.Font("Segoe UI", 11.75F, System.Drawing.FontStyle.Bold); - this.panel3.CaptionHeight = 27; - this.panel3.CustomColors.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(184)))), ((int)(((byte)(184))))); - this.panel3.CustomColors.CaptionCloseIcon = System.Drawing.SystemColors.ControlText; - this.panel3.CustomColors.CaptionExpandIcon = System.Drawing.SystemColors.ControlText; - this.panel3.CustomColors.CaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252))))); - this.panel3.CustomColors.CaptionGradientEnd = System.Drawing.SystemColors.ButtonFace; - this.panel3.CustomColors.CaptionGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248))))); - this.panel3.CustomColors.CaptionSelectedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255))))); - this.panel3.CustomColors.CaptionSelectedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255))))); - this.panel3.CustomColors.CaptionText = System.Drawing.SystemColors.ControlText; - this.panel3.CustomColors.CollapsedCaptionText = System.Drawing.SystemColors.ControlText; - this.panel3.CustomColors.ContentGradientBegin = System.Drawing.SystemColors.ButtonFace; - this.panel3.CustomColors.ContentGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252))))); - this.panel3.CustomColors.InnerBorderColor = System.Drawing.SystemColors.Window; - this.panel3.Dock = System.Windows.Forms.DockStyle.Left; - this.panel3.ForeColor = System.Drawing.SystemColors.ControlText; - this.panel3.Image = null; - this.panel3.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical; - this.panel3.Location = new System.Drawing.Point(0, 0); - this.panel3.MinimumSize = new System.Drawing.Size(27, 27); - this.panel3.Name = "panel3"; - this.panel3.PanelStyle = BSE.Windows.Forms.PanelStyle.Default; - this.panel3.ShowExpandIcon = true; - this.panel3.Size = new System.Drawing.Size(194, 461); - this.panel3.TabIndex = 4; - this.panel3.Text = "panel3"; - this.panel3.ToolTipTextCloseIcon = null; - this.panel3.ToolTipTextExpandIconPanelCollapsed = null; - this.panel3.ToolTipTextExpandIconPanelExpanded = null; - // - // splitter1 - // - this.splitter1.BackColor = System.Drawing.Color.Transparent; - this.splitter1.Location = new System.Drawing.Point(194, 0); - this.splitter1.Name = "splitter1"; - this.splitter1.Size = new System.Drawing.Size(3, 461); - this.splitter1.TabIndex = 6; - this.splitter1.TabStop = false; - // - // panel1 - // - this.panel1.AssociatedSplitter = this.splitter2; - this.panel1.BackColor = System.Drawing.Color.Transparent; - this.panel1.CaptionFont = new System.Drawing.Font("Segoe UI", 11.75F, System.Drawing.FontStyle.Bold); - this.panel1.CaptionHeight = 27; - this.panel1.CustomColors.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(184)))), ((int)(((byte)(184))))); - this.panel1.CustomColors.CaptionCloseIcon = System.Drawing.SystemColors.ControlText; - this.panel1.CustomColors.CaptionExpandIcon = System.Drawing.SystemColors.ControlText; - this.panel1.CustomColors.CaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252))))); - this.panel1.CustomColors.CaptionGradientEnd = System.Drawing.SystemColors.ButtonFace; - this.panel1.CustomColors.CaptionGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248))))); - this.panel1.CustomColors.CaptionSelectedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255))))); - this.panel1.CustomColors.CaptionSelectedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255))))); - this.panel1.CustomColors.CaptionText = System.Drawing.SystemColors.ControlText; - this.panel1.CustomColors.CollapsedCaptionText = System.Drawing.SystemColors.ControlText; - this.panel1.CustomColors.ContentGradientBegin = System.Drawing.SystemColors.ButtonFace; - this.panel1.CustomColors.ContentGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252))))); - this.panel1.CustomColors.InnerBorderColor = System.Drawing.SystemColors.Window; - this.panel1.Dock = System.Windows.Forms.DockStyle.Right; - this.panel1.ForeColor = System.Drawing.SystemColors.ControlText; - this.panel1.Image = null; - this.panel1.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical; - this.panel1.Location = new System.Drawing.Point(808, 0); - this.panel1.MinimumSize = new System.Drawing.Size(27, 27); - this.panel1.Name = "panel1"; - this.panel1.PanelStyle = BSE.Windows.Forms.PanelStyle.Default; - this.panel1.ShowExpandIcon = true; - this.panel1.Size = new System.Drawing.Size(200, 461); - this.panel1.TabIndex = 7; - this.panel1.Text = "panel1"; - this.panel1.ToolTipTextCloseIcon = null; - this.panel1.ToolTipTextExpandIconPanelCollapsed = null; - this.panel1.ToolTipTextExpandIconPanelExpanded = null; - // - // splitter2 - // - this.splitter2.BackColor = System.Drawing.Color.Transparent; - this.splitter2.Dock = System.Windows.Forms.DockStyle.Right; - this.splitter2.Location = new System.Drawing.Point(805, 0); - this.splitter2.Name = "splitter2"; - this.splitter2.Size = new System.Drawing.Size(3, 461); - this.splitter2.TabIndex = 8; - this.splitter2.TabStop = false; - // - // test - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.splitter2); - this.Controls.Add(this.panel1); - this.Controls.Add(this.splitter1); - this.Controls.Add(this.panel3); - this.MinimumSize = new System.Drawing.Size(1008, 461); - this.Name = "test"; - this.Size = new System.Drawing.Size(1008, 461); - this.Load += new System.EventHandler(this.test_Load); - this.ResumeLayout(false); - - } - - #endregion - - private BSE.Windows.Forms.Panel panel3; - private BSE.Windows.Forms.Splitter splitter1; - private BSE.Windows.Forms.Panel panel1; - private BSE.Windows.Forms.Splitter splitter2; - - - - } -} diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/test.cs b/Tools/ArdupilotMegaPlanner/GCSViews/test.cs deleted file mode 100644 index d61c4bd19f..0000000000 --- a/Tools/ArdupilotMegaPlanner/GCSViews/test.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Linq; -using System.Text; -using System.Windows.Forms; - -namespace ArdupilotMega.GCSViews -{ - public partial class test : UserControl - { - public test() - { - InitializeComponent(); - } - - private void test_Load(object sender, EventArgs e) - { - panel3.Expand = false; - panel1.Expand = false; - } - - } -} - diff --git a/Tools/ArdupilotMegaPlanner/HUD.cs b/Tools/ArdupilotMegaPlanner/HUD.cs index 2b01f3242d..84f0176962 100644 --- a/Tools/ArdupilotMegaPlanner/HUD.cs +++ b/Tools/ArdupilotMegaPlanner/HUD.cs @@ -241,6 +241,7 @@ namespace hud } bool inOnPaint = false; + string otherthread = ""; protected override void OnPaint(PaintEventArgs e) { @@ -265,10 +266,12 @@ namespace hud if (inOnPaint) { - Console.WriteLine("Was in onpaint Hud th:" + System.Threading.Thread.CurrentThread.Name); + Console.WriteLine("Was in onpaint Hud th:" + System.Threading.Thread.CurrentThread.Name + " in " + otherthread); return; } + otherthread = System.Threading.Thread.CurrentThread.Name; + inOnPaint = true; starttime = DateTime.Now; diff --git a/Tools/ArdupilotMegaPlanner/JoystickSetup.es-ES.resx b/Tools/ArdupilotMegaPlanner/JoystickSetup.es-ES.resx new file mode 100644 index 0000000000..700190a0ba --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/JoystickSetup.es-ES.resx @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + CH 7 + + + CH 5 + + + CH 8 + + + CH 6 + + + Joystick + + + Cabeceo + + + Acelerador + + + 0 + + + Alabeo + + + Expo + + + 30 + + + Salida + + + 30 + + + Timón + + + 0 + + + Joystick + + + 0 + + + Controlador Ejes + + + 0 + + + Invertir + + + 30 + + + 0 + + + Guardar + + + Auto Detectar + + + Elevons + + + Auto Detectar + + + Auto Detectar + + + Auto Detectar + + + Auto Detectar + + + Auto Detectar + + + Auto Detectar + + + Auto Detectar + + + Habilitar + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/Log.es-ES.resx b/Tools/ArdupilotMegaPlanner/Log.es-ES.resx new file mode 100644 index 0000000000..5d92cbf075 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Log.es-ES.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Log + + + Descargar todos los Logs + + + Recrear KML + + + Descargar este Log + + + Limpiar Logs + + + KML Primera Persona + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/LogBrowse.es-ES.resx b/Tools/ArdupilotMegaPlanner/LogBrowse.es-ES.resx new file mode 100644 index 0000000000..fc31e41ec6 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/LogBrowse.es-ES.resx @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Cargar un Log + + + Mostrar Log + + + Gráfico de estos datos + + + Gráficos de la celda actual puso de relieve + + + Cargar un archivo diferente de Log + + + Borrar todos los datos del gráfico + + + Limpiar Gráfico + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/MAVLink.cs b/Tools/ArdupilotMegaPlanner/MAVLink.cs index f0aab4b36f..e24df86b53 100644 --- a/Tools/ArdupilotMegaPlanner/MAVLink.cs +++ b/Tools/ArdupilotMegaPlanner/MAVLink.cs @@ -9,46 +9,99 @@ using System.Reflection; using System.Reflection.Emit; using System.IO; using System.Drawing; - +using ArdupilotMega.Mavlink; +using System.ComponentModel; namespace ArdupilotMega { public partial class MAVLink { - public ICommsSerial BaseStream = new SerialPort(); + private const double CONNECT_TIMEOUT_SECONDS = 30; + + /// + /// Used for progress reporting on all internal functions + /// + public event ProgressEventHandler Progress; + /// + /// progress form to handle connect and param requests + /// + ProgressReporter frm; + /// /// used for outbound packet sending /// byte packetcount = 0; + /// + /// mavlink remote sysid + /// public byte sysid = 0; + /// + /// mavlink remove compid + /// public byte compid = 0; + /// + /// storage for whole paramater list + /// public Hashtable param = new Hashtable(); + /// + /// storage of a previous packet recevied of a specific type + /// public byte[][] packets = new byte[256][]; + /// + /// used to calc packets per second on any single message type - used for stream rate comparaison + /// public double[] packetspersecond = new double[256]; + /// + /// time last seen a packet of a type + /// DateTime[] packetspersecondbuild = new DateTime[256]; + /// + /// used as a serial port write lock + /// object objlock = new object(); + /// + /// used for a readlock on readpacket + /// object readlock = new object(); + /// + /// used for tlog file lock + /// object logwritelock = new object(); + /// + /// time seen of last mavlink packet + /// public DateTime lastvalidpacket = DateTime.Now; + /// + /// old log support + /// bool oldlogformat = false; + /// + /// mavlink version + /// byte mavlinkversion = 0; + /// + /// mavlink ap type + /// public byte aptype = 0; - byte[] readingpacket = new byte[256]; - + /// + /// used as a snapshot of what is loaded on the ap atm. - derived from the stream + /// public PointLatLngAlt[] wps = new PointLatLngAlt[200]; - + /// + /// turns on console packet display + /// public bool debugmavlink = false; - + /// + /// enabled read from file mode + /// public bool logreadmode = false; public DateTime lastlogread = DateTime.MinValue; public BinaryReader logplaybackfile = null; public BinaryWriter logfile = null; - public byte[] streams = new byte[256]; - int bps1 = 0; int bps2 = 0; public int bps = 0; @@ -78,8 +131,22 @@ namespace ArdupilotMega if (BaseStream.IsOpen) return; - System.Windows.Forms.Form frm = Common.LoadingBox("Mavlink Connecting..", "Mavlink Connecting.."); - frm.TopMost = true; + //System.Windows.Forms.Form frm = Common.LoadingBox("Mavlink Connecting..", "Mavlink Connecting.."); + //frm.TopMost = true; + + frm = new ProgressReporter(); + MainV2.fixtheme(frm); + this.Progress += new ProgressEventHandler(MAVLink_Progress); + //(progress, status) => { frm.updateProgressAndStatus(progress, status); }; + + frm.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + + frm.Show(); + + frm.Focus(); + + if (Progress != null) + Progress(-1, "Mavlink Connecting..."); // reset sysid = 0; @@ -102,7 +169,13 @@ namespace ArdupilotMega BaseStream.toggleDTR(); // allow 2560 connect timeout on usb - System.Threading.Thread.Sleep(1000); + for (int a = 0; a < 1000; a++ ) { + System.Threading.Thread.Sleep(1); + if (!MainV2.instance.InvokeRequired) + { + System.Windows.Forms.Application.DoEvents(); + } + } } @@ -110,42 +183,48 @@ namespace ArdupilotMega byte[] buffer1; DateTime start = DateTime.Now; + DateTime deadline = start.AddSeconds(CONNECT_TIMEOUT_SECONDS); + + var countDown = new System.Timers.Timer { Interval = 1000, AutoReset = false }; + countDown.Elapsed += (sender, e) => + { + int secondsRemaining = (deadline - e.SignalTime).Seconds; + if (Progress != null) + Progress(-1, string.Format("Trying to connect.\nTimeout in {0}", secondsRemaining)); + if (secondsRemaining > 0) countDown.Start(); + }; + countDown.Start(); int count = 0; while (true) { - System.Windows.Forms.Application.DoEvents(); - // incase we are in setup mode BaseStream.WriteLine("planner\rgcs\r"); - frm.Controls[0].Text = (start.AddSeconds(30) - DateTime.Now).Seconds.ToString("Timeout in 0"); + Console.WriteLine(DateTime.Now.Millisecond + " start "); + + /* + if (Progress != null) + { + int secondsRemaining = (start.AddSeconds(CONNECT_TIMEOUT_SECONDS) - DateTime.Now).Seconds; + Progress(-1, string.Format("Trying to connect.\nTimeout in {0}", secondsRemaining)); + } + */ if (lastbad[0] == '!' && lastbad[1] == 'G' || lastbad[0] == 'G' && lastbad[1] == '!') // waiting for gps lock { - frm.Controls[0].Text = "Waiting for GPS detection.."; + if (Progress != null) + Progress(-1, "Waiting for GPS detection.."); start = start.AddSeconds(5); // each round is 1.1 seconds } - System.Windows.Forms.Application.DoEvents(); - - if (!(start.AddSeconds(30) > DateTime.Now)) + if (DateTime.Now > deadline) { - /* - System.Windows.Forms.DialogResult dr = System.Windows.Forms.MessageBox.Show("Data recevied but no mavlink packets where read from this port\nWhat do you want to do", - "Read Fail", System.Windows.Forms.MessageBoxButtons.RetryCancel); - if (dr == System.Windows.Forms.DialogResult.Retry) - { - port.toggleDTRnow(); // force reset on usb - start = DateTime.Now; - } - else*/ - { - frm.Close(); - this.Close(); - throw new Exception("No Mavlink Heartbeat Packets where read from this port - Verify Baud Rate and setup\nIt might also be waiting for GPS Lock\nAPM Planner waits for 2 valid heartbeat packets before connecting"); - } + if (Progress != null) + Progress(-1, "No Heatbeat Packets"); + this.Close(); + throw new Exception("No Mavlink Heartbeat Packets where read from this port - Verify Baud Rate and setup\nIt might also be waiting for GPS Lock\nAPM Planner waits for 2 valid heartbeat packets before connecting"); } System.Threading.Thread.Sleep(1); @@ -153,23 +232,15 @@ namespace ArdupilotMega // incase we are in setup mode BaseStream.WriteLine("planner\rgcs\r"); - System.Windows.Forms.Application.DoEvents(); - buffer = getHeartBeat(); - System.Windows.Forms.Application.DoEvents(); - // incase we are in setup mode BaseStream.WriteLine("planner\rgcs\r"); System.Threading.Thread.Sleep(1); - System.Windows.Forms.Application.DoEvents(); - buffer1 = getHeartBeat(); - System.Windows.Forms.Application.DoEvents(); - try { Console.WriteLine("MAv Data: len " + buffer.Length + " btr " + BaseStream.BytesToRead); @@ -180,13 +251,7 @@ namespace ArdupilotMega if (buffer.Length > 5 && buffer1.Length > 5 && buffer[3] == buffer1[3] && buffer[4] == buffer1[4]) { - __mavlink_heartbeat_t hb = new __mavlink_heartbeat_t(); - - object temp = hb; - - MAVLink.ByteArrayToStructure(buffer, ref temp, 6); - - hb = (MAVLink.__mavlink_heartbeat_t)(temp); + __mavlink_heartbeat_t hb = buffer.ByteArrayToStructure<__mavlink_heartbeat_t>(6); mavlinkversion = hb.mavlink_version; aptype = hb.type; @@ -194,14 +259,18 @@ namespace ArdupilotMega sysid = buffer[3]; compid = buffer[4]; recvpacketcount = buffer[2]; - Console.WriteLine("ID sys " + sysid + " comp " + compid + " ver" + mavlinkversion); + Console.WriteLine("ID sys {0} comp {1} ver{2}", sysid, compid, mavlinkversion); break; } + } - frm.Controls[0].Text = "Getting Params.. (sysid " + sysid + " compid " + compid + ") "; - frm.Refresh(); - if (getparams == true) + countDown.Stop(); + + if (Progress != null) + Progress(-1, "Getting Params.. (sysid " + sysid + " compid " + compid + ") "); + + if (getparams) getParamList(); } catch (Exception e) @@ -212,132 +281,27 @@ namespace ArdupilotMega } catch { } MainV2.givecomport = false; - frm.Close(); + if (Progress != null) + Progress(-1, "Connect Failed\n" + e.Message); throw e; } - frm.Close(); - MainV2.givecomport = false; - Console.WriteLine("Done open " + sysid + " " + compid); - packetslost = 0; } - byte[] StructureToByteArrayEndian(params object[] list) + void MAVLink_Progress(int progress, string status) { - // The copy is made becuase SetValue won't work on a struct. - // Boxing was used because SetValue works on classes/objects. - // Unfortunately, it results in 2 copy operations. - object thisBoxed = list[0]; // Why make a copy? - Type test = thisBoxed.GetType(); - - int offset = 0; - byte[] data = new byte[Marshal.SizeOf(thisBoxed)]; - - // System.Net.IPAddress.NetworkToHostOrder is used to perform byte swapping. - // To convert unsigned to signed, 'unchecked()' was used. - // See http://stackoverflow.com/questions/1131843/how-do-i-convert-uint-to-int-in-c - - object fieldValue; - TypeCode typeCode; - - byte[] temp; - - // Enumerate each structure field using reflection. - foreach (var field in test.GetFields()) + if (frm != null) { - // field.Name has the field's name. - - fieldValue = field.GetValue(thisBoxed); // Get value - - // Get the TypeCode enumeration. Multiple types get mapped to a common typecode. - typeCode = Type.GetTypeCode(fieldValue.GetType()); - - switch (typeCode) + try { - case TypeCode.Single: // float - { - temp = BitConverter.GetBytes((Single)fieldValue); - Array.Reverse(temp); - Array.Copy(temp, 0, data, offset, sizeof(Single)); - break; - } - case TypeCode.Int32: - { - temp = BitConverter.GetBytes((Int32)fieldValue); - Array.Reverse(temp); - Array.Copy(temp, 0, data, offset, sizeof(Int32)); - break; - } - case TypeCode.UInt32: - { - temp = BitConverter.GetBytes((UInt32)fieldValue); - Array.Reverse(temp); - Array.Copy(temp, 0, data, offset, sizeof(UInt32)); - break; - } - case TypeCode.Int16: - { - temp = BitConverter.GetBytes((Int16)fieldValue); - Array.Reverse(temp); - Array.Copy(temp, 0, data, offset, sizeof(Int16)); - break; - } - case TypeCode.UInt16: - { - temp = BitConverter.GetBytes((UInt16)fieldValue); - Array.Reverse(temp); - Array.Copy(temp, 0, data, offset, sizeof(UInt16)); - break; - } - case TypeCode.Int64: - { - temp = BitConverter.GetBytes((Int64)fieldValue); - Array.Reverse(temp); - Array.Copy(temp, 0, data, offset, sizeof(Int64)); - break; - } - case TypeCode.UInt64: - { - temp = BitConverter.GetBytes((UInt64)fieldValue); - Array.Reverse(temp); - Array.Copy(temp, 0, data, offset, sizeof(UInt64)); - break; - } - case TypeCode.Double: - { - temp = BitConverter.GetBytes((Double)fieldValue); - Array.Reverse(temp); - Array.Copy(temp, 0, data, offset, sizeof(Double)); - break; - } - case TypeCode.Byte: - { - data[offset] = (Byte)fieldValue; - break; - } - default: - { - //System.Diagnostics.Debug.Fail("No conversion provided for this type : " + typeCode.ToString()); - break; - } - }; // switch - if (typeCode == TypeCode.Object) - { - int length = ((byte[])fieldValue).Length; - Array.Copy(((byte[])fieldValue), 0, data, offset, length); - offset += length; + frm.updateProgressAndStatus(progress, status); } - else - { - offset += Marshal.SizeOf(fieldValue); - } - } // foreach - - return data; - } // Swap + catch (Exception ex) { throw ex; } + } + } byte[] getHeartBeat() { @@ -388,11 +352,11 @@ namespace ArdupilotMega if (mavlinkversion == 3) { - data = StructureToByteArray(indata); + data = MavlinkUtil.StructureToByteArray(indata); } else { - data = StructureToByteArrayEndian(indata); + data = MavlinkUtil.StructureToByteArrayBigEndian(indata); } //Console.WriteLine(DateTime.Now + " PC Doing req "+ messageType + " " + this.BytesToRead); @@ -423,11 +387,11 @@ namespace ArdupilotMega i++; } - ushort checksum = crc_calculate(packet, packet[1] + 6); + ushort checksum = MavlinkCRC.crc_calculate(packet, packet[1] + 6); if (mavlinkversion == 3) { - checksum = crc_accumulate(MAVLINK_MESSAGE_CRCS[messageType], checksum); + checksum = MavlinkCRC.crc_accumulate(MAVLINK_MESSAGE_CRCS[messageType], checksum); } byte ck_a = (byte)(checksum & 0xFF); ///< High byte @@ -496,7 +460,7 @@ namespace ArdupilotMega { int value = (int)(float)param[paramname]; - return setParam(paramname,value | (int)flag); + return setParam(paramname, value | (int)flag); } /// @@ -557,13 +521,7 @@ namespace ArdupilotMega { if (buffer[5] == MAVLINK_MSG_ID_PARAM_VALUE) { - __mavlink_param_value_t par = new __mavlink_param_value_t(); - - object tempobj = par; - - ByteArrayToStructure(buffer, ref tempobj, 6); - - par = (__mavlink_param_value_t)tempobj; + __mavlink_param_value_t par = buffer.ByteArrayToStructure<__mavlink_param_value_t>(6); string st = System.Text.ASCIIEncoding.ASCII.GetString(par.param_id); @@ -631,7 +589,7 @@ namespace ArdupilotMega { if (retrys > 0) { - Console.WriteLine("getParamList Retry " + retrys + " sys " + sysid + " comp " + compid); + Console.WriteLine("getParamList Retry {0} sys {1} comp {2}", retrys, sysid, compid); generatePacket(MAVLINK_MSG_ID_PARAM_REQUEST_LIST, req); start = DateTime.Now; retrys--; @@ -659,22 +617,28 @@ namespace ArdupilotMega restart = DateTime.Now; start = DateTime.Now; - __mavlink_param_value_t par = new __mavlink_param_value_t(); - - object temp = par; - - ByteArrayToStructure(buffer, ref temp, 6); - - par = (__mavlink_param_value_t)temp; + __mavlink_param_value_t par = buffer.ByteArrayToStructure<__mavlink_param_value_t>(6); param_total = (par.param_count); + + string paramID = System.Text.ASCIIEncoding.ASCII.GetString(par.param_id); + + int pos = paramID.IndexOf('\0'); + if (pos != -1) + { + paramID = paramID.Substring(0, pos); + } + Console.WriteLine(DateTime.Now.Millisecond + " got param " + (par.param_index) + " of " + (param_total - 1) + " name: " + paramID); + // for out of order udp packets if (BaseStream.GetType() != typeof(UdpSerial)) { if (nextid == (par.param_index)) { nextid++; + if (Progress != null) + Progress((par.param_index * 100) / param_total, "Got param " + paramID); } else { @@ -687,27 +651,15 @@ namespace ArdupilotMega retrys--; continue; } + Console.WriteLine("Out of order packet. Re-requesting list"); missed.Add(nextid); // for later devel MainV2.givecomport = false; throw new Exception("Missed ID expecting " + nextid + " got " + (par.param_index) + "\nPlease try loading again"); } - } - - string st = System.Text.ASCIIEncoding.ASCII.GetString(par.param_id); - - int pos = st.IndexOf('\0'); - - if (pos != -1) - { - st = st.Substring(0, pos); } - Console.WriteLine(DateTime.Now.Millisecond + " got param " + (par.param_index) + " of " + (param_total - 1) + " name: " + st); - - modifyParamForDisplay(true, st, ref par.param_value); - - param[st] = (par.param_value); - + modifyParamForDisplay(true, paramID, ref par.param_value); + param[paramID] = (par.param_value); param_count++; } else @@ -757,12 +709,6 @@ namespace ArdupilotMega req.start_stop = 0; // stop req.req_stream_id = 0; // all - // reset all - if (forget) - { - streams = new byte[streams.Length]; - } - // no error on bad try { @@ -897,13 +843,10 @@ namespace ArdupilotMega { if (buffer[5] == MAVLINK_MSG_ID_COMMAND_ACK) { - __mavlink_command_ack_t ack = new __mavlink_command_ack_t(); - object temp = (object)ack; - ByteArrayToStructure(buffer, ref temp, 6); + var ack = buffer.ByteArrayToStructure<__mavlink_command_ack_t>(6); - ack = (__mavlink_command_ack_t)(temp); if (ack.result == (byte)MAV_RESULT.MAV_RESULT_ACCEPTED) { @@ -1031,8 +974,6 @@ namespace ArdupilotMega public void requestDatastream(byte id, byte hzrate) { - streams[id] = hzrate; - double pps = 0; switch (id) @@ -1204,13 +1145,10 @@ namespace ArdupilotMega { if (buffer[5] == MAVLINK_MSG_ID_MISSION_COUNT) { - __mavlink_mission_count_t count = new __mavlink_mission_count_t(); - object temp = (object)count; - ByteArrayToStructure(buffer, ref temp, 6); - count = (__mavlink_mission_count_t)(temp); + var count = buffer.ByteArrayToStructure<__mavlink_mission_count_t>(6); Console.WriteLine("wpcount: " + count.count); @@ -1320,15 +1258,12 @@ namespace ArdupilotMega if (buffer[5] == MAVLINK_MSG_ID_MISSION_ITEM) { //Console.WriteLine("getwp ans " + DateTime.Now.Millisecond); - __mavlink_mission_item_t wp = new __mavlink_mission_item_t(); - object temp = (object)wp; //Array.Copy(buffer, 6, buffer, 0, buffer.Length - 6); - ByteArrayToStructure(buffer, ref temp, 6); + var wp = buffer.ByteArrayToStructure<__mavlink_mission_item_t>(6); - wp = (__mavlink_mission_item_t)(temp); #else @@ -1370,15 +1305,7 @@ namespace ArdupilotMega if (buffer[5] == MAVLINK_MSG_ID_WAYPOINT) { //Console.WriteLine("getwp ans " + DateTime.Now.Millisecond); - __mavlink_waypoint_t wp = new __mavlink_waypoint_t(); - - object temp = (object)wp; - - //Array.Copy(buffer, 6, buffer, 0, buffer.Length - 6); - - ByteArrayToStructure(buffer, ref temp, 6); - - wp = (__mavlink_waypoint_t)(temp); + __mavlink_waypoint_t wp = buffer.ByteArrayToStructure<__mavlink_waypoint_t>(6); #endif @@ -1499,7 +1426,7 @@ namespace ArdupilotMega object data = Activator.CreateInstance(mavstructs[messid]); - ByteArrayToStructure(datin, ref data, 6); + MavlinkUtil.ByteArrayToStructure(datin, ref data, 6); Type test = data.GetType(); @@ -1580,13 +1507,10 @@ namespace ArdupilotMega { if (buffer[5] == MAVLINK_MSG_ID_MISSION_REQUEST) { - __mavlink_mission_request_t request = new __mavlink_mission_request_t(); - object temp = (object)request; - ByteArrayToStructure(buffer, ref temp, 6); - request = (__mavlink_mission_request_t)(temp); + var request = buffer.ByteArrayToStructure<__mavlink_mission_request_t>(6); if (request.seq == 0) { @@ -1638,13 +1562,7 @@ namespace ArdupilotMega { if (buffer[5] == MAVLINK_MSG_ID_WAYPOINT_REQUEST) { - __mavlink_waypoint_request_t request = new __mavlink_waypoint_request_t(); - - object temp = (object)request; - - ByteArrayToStructure(buffer, ref temp, 6); - - request = (__mavlink_waypoint_request_t)(temp); + __mavlink_waypoint_request_t request = buffer.ByteArrayToStructure<__mavlink_waypoint_request_t>(6); if (request.seq == 0) { @@ -1790,26 +1708,20 @@ namespace ArdupilotMega #if MAVLINK10 if (buffer[5] == MAVLINK_MSG_ID_MISSION_ACK) { - __mavlink_mission_ack_t ans = new __mavlink_mission_ack_t(); - object temp = (object)ans; - ByteArrayToStructure(buffer, ref temp, 6); + var ans = buffer.ByteArrayToStructure<__mavlink_mission_ack_t>(6); - ans = (__mavlink_mission_ack_t)(temp); Console.WriteLine("set wp " + index + " ACK 47 : " + buffer[5] + " ans " + Enum.Parse(typeof(MAV_MISSION_RESULT), ans.type.ToString())); break; } else if (buffer[5] == MAVLINK_MSG_ID_MISSION_REQUEST) { - __mavlink_mission_request_t ans = new __mavlink_mission_request_t(); + var ans = buffer.ByteArrayToStructure<__mavlink_mission_request_t>(6); - object temp = (object)ans; - ByteArrayToStructure(buffer, ref temp, 6); - ans = (__mavlink_mission_request_t)(temp); if (ans.seq == (index + 1)) { @@ -1835,15 +1747,7 @@ namespace ArdupilotMega } else if (buffer[5] == MAVLINK_MSG_ID_WAYPOINT_REQUEST) { - __mavlink_waypoint_request_t ans = new __mavlink_waypoint_request_t(); - - object temp = (object)ans; - - //Array.Copy(buffer, 6, buffer, 0, buffer.Length - 6); - - ByteArrayToStructure(buffer, ref temp, 6); - - ans = (__mavlink_waypoint_request_t)(temp); + __mavlink_waypoint_request_t ans = buffer.ByteArrayToStructure<__mavlink_waypoint_request_t>(6); if (ans.seq == (index + 1)) { @@ -1961,7 +1865,7 @@ namespace ArdupilotMega int readcount = 0; lastbad = new byte[2]; - BaseStream.ReadTimeout = 1100; // 1100 ms between bytes + BaseStream.ReadTimeout = 100; DateTime start = DateTime.Now; @@ -2008,6 +1912,23 @@ namespace ArdupilotMega else { MainV2.cs.datetime = DateTime.Now; + + int to = 0; + + while (BaseStream.BytesToRead <= 0) + { + if (to > BaseStream.ReadTimeout) + { + Console.WriteLine("MAVLINK: wait time out btr {0} len {1}", BaseStream.BytesToRead, length); + throw new Exception("Timeout"); + } + System.Threading.Thread.Sleep(1); + if (!MainV2.instance.InvokeRequired) + { + System.Windows.Forms.Application.DoEvents(); // when connecting this is in the main thread + } + to++; + } if (BaseStream.IsOpen) temp[count] = (byte)BaseStream.ReadByte(); } @@ -2061,7 +1982,10 @@ namespace ArdupilotMega break; } System.Threading.Thread.Sleep(1); - System.Windows.Forms.Application.DoEvents(); // when connecting this is in the main thread + if (!MainV2.instance.InvokeRequired) + { + System.Windows.Forms.Application.DoEvents(); // when connecting this is in the main thread + } to++; //Console.WriteLine("data " + 0 + " " + length + " aval " + BaseStream.BytesToRead); @@ -2114,11 +2038,11 @@ namespace ArdupilotMega return temp;// new byte[0]; } - ushort crc = crc_calculate(temp, temp.Length - 2); + ushort crc = MavlinkCRC.crc_calculate(temp, temp.Length - 2); if (temp.Length > 5 && temp[0] == 254) { - crc = crc_accumulate(MAVLINK_MESSAGE_CRCS[temp[5]], crc); + crc = MavlinkCRC.crc_accumulate(MAVLINK_MESSAGE_CRCS[temp[5]], crc); } if (temp.Length > 5 && temp[1] != MAVLINK_MESSAGE_LENGTHS[temp[5]]) @@ -2235,46 +2159,30 @@ namespace ArdupilotMega /// /// Used to extract mission from log file /// - /// packet - void getWPsfromstream(ref byte[] temp) + /// packet + void getWPsfromstream(ref byte[] buffer) { #if MAVLINK10 - if (temp[5] == MAVLINK_MSG_ID_MISSION_COUNT) + if (buffer[5] == MAVLINK_MSG_ID_MISSION_COUNT) { // clear old wps = new PointLatLngAlt[wps.Length]; } - if (temp[5] == MAVLink.MAVLINK_MSG_ID_MISSION_ITEM) + if (buffer[5] == MAVLink.MAVLINK_MSG_ID_MISSION_ITEM) { - __mavlink_mission_item_t wp = new __mavlink_mission_item_t(); - - object structtemp = (object)wp; - - //Array.Copy(buffer, 6, buffer, 0, buffer.Length - 6); - - ByteArrayToStructure(temp, ref structtemp, 6); - - wp = (__mavlink_mission_item_t)(structtemp); + __mavlink_mission_item_t wp = buffer.ByteArrayToStructure<__mavlink_mission_item_t>(6); #else - if (temp[5] == MAVLINK_MSG_ID_WAYPOINT_COUNT) + if (buffer[5] == MAVLINK_MSG_ID_WAYPOINT_COUNT) { // clear old wps = new PointLatLngAlt[wps.Length]; } - if (temp[5] == MAVLink.MAVLINK_MSG_ID_WAYPOINT) + if (buffer[5] == MAVLink.MAVLINK_MSG_ID_WAYPOINT) { - __mavlink_waypoint_t wp = new __mavlink_waypoint_t(); - - object structtemp = (object)wp; - - //Array.Copy(buffer, 6, buffer, 0, buffer.Length - 6); - - ByteArrayToStructure(temp, ref structtemp, 6); - - wp = (__mavlink_waypoint_t)(structtemp); + __mavlink_waypoint_t wp = buffer.ByteArrayToStructure<__mavlink_waypoint_t>(6); #endif wps[wp.seq] = new PointLatLngAlt(wp.x, wp.y, wp.z, wp.seq.ToString()); @@ -2323,13 +2231,7 @@ namespace ArdupilotMega { MainV2.givecomport = false; - __mavlink_fence_point_t fp = new __mavlink_fence_point_t(); - - object structtemp = (object)fp; - - ByteArrayToStructure(buffer, ref structtemp, 6); - - fp = (__mavlink_fence_point_t)(structtemp); + __mavlink_fence_point_t fp = buffer.ByteArrayToStructure<__mavlink_fence_point_t>(6); plla.Lat = fp.lat; plla.Lng = fp.lng; @@ -2462,206 +2364,7 @@ namespace ArdupilotMega return temp; } - const int X25_INIT_CRC = 0xffff; - const int X25_VALIDATE_CRC = 0xf0b8; - - ushort crc_accumulate(byte b, ushort crc) - { - unchecked - { - byte ch = (byte)(b ^ (byte)(crc & 0x00ff)); - ch = (byte)(ch ^ (ch << 4)); - return (ushort)((crc >> 8) ^ (ch << 8) ^ (ch << 3) ^ (ch >> 4)); - } - } - - ushort crc_calculate(byte[] pBuffer, int length) - { - if (length < 1) - { - return 0xffff; - } - // For a "message" of length bytes contained in the unsigned char array - // pointed to by pBuffer, calculate the CRC - // crcCalculate(unsigned char* pBuffer, int length, unsigned short* checkConst) < not needed - - ushort crcTmp; - int i; - - crcTmp = X25_INIT_CRC; - - for (i = 1; i < length; i++) // skips header U - { - crcTmp = crc_accumulate(pBuffer[i], crcTmp); - //Console.WriteLine(crcTmp + " " + pBuffer[i] + " " + length); - } - - return (crcTmp); - } - byte[] StructureToByteArray(object obj) - { - - int len = Marshal.SizeOf(obj); - - byte[] arr = new byte[len]; - - IntPtr ptr = Marshal.AllocHGlobal(len); - - Marshal.StructureToPtr(obj, ptr, true); - - Marshal.Copy(ptr, arr, 0, len); - - Marshal.FreeHGlobal(ptr); - - return arr; - - } - - public static void ByteArrayToStructure(byte[] bytearray, ref object obj, int startoffset) - { - if (bytearray[0] == 'U') - { - ByteArrayToStructureEndian(bytearray, ref obj, startoffset); - } - else - { - int len = Marshal.SizeOf(obj); - - IntPtr i = Marshal.AllocHGlobal(len); - - // create structure from ptr - obj = Marshal.PtrToStructure(i, obj.GetType()); - - try - { - // copy byte array to ptr - Marshal.Copy(bytearray, startoffset, i, len); - } - catch (Exception ex) { Console.WriteLine("ByteArrayToStructure FAIL: error " + ex.ToString()); } - - obj = Marshal.PtrToStructure(i, obj.GetType()); - - Marshal.FreeHGlobal(i); - } - } - - public static void ByteArrayToStructureEndian(byte[] bytearray, ref object obj, int startoffset) - { - int len = Marshal.SizeOf(obj); - - IntPtr i = Marshal.AllocHGlobal(len); - - byte[] temparray = (byte[])bytearray.Clone(); - - // create structure from ptr - obj = Marshal.PtrToStructure(i, obj.GetType()); - - // do endian swap - - object thisBoxed = obj; - Type test = thisBoxed.GetType(); - - int reversestartoffset = startoffset; - - // Enumerate each structure field using reflection. - foreach (var field in test.GetFields()) - { - // field.Name has the field's name. - - object fieldValue = field.GetValue(thisBoxed); // Get value - - // Get the TypeCode enumeration. Multiple types get mapped to a common typecode. - TypeCode typeCode = Type.GetTypeCode(fieldValue.GetType()); - - if (typeCode != TypeCode.Object) - { - Array.Reverse(temparray, reversestartoffset, Marshal.SizeOf(fieldValue)); - reversestartoffset += Marshal.SizeOf(fieldValue); - } - else - { - reversestartoffset += ((byte[])fieldValue).Length; - } - - } - - try - { - // copy byte array to ptr - Marshal.Copy(temparray, startoffset, i, len); - } - catch (Exception ex) { Console.WriteLine("ByteArrayToStructure FAIL: error " + ex.ToString()); } - - obj = Marshal.PtrToStructure(i, obj.GetType()); - - Marshal.FreeHGlobal(i); - - } - - public short swapend11(short value) - { - int len = Marshal.SizeOf(value); - - byte[] temp = BitConverter.GetBytes(value); - - Array.Reverse(temp); - - return BitConverter.ToInt16(temp, 0); - } - - public ushort swapend11(ushort value) - { - int len = Marshal.SizeOf(value); - - byte[] temp = BitConverter.GetBytes(value); - - Array.Reverse(temp); - - return BitConverter.ToUInt16(temp, 0); - } - - public ulong swapend11(ulong value) - { - int len = Marshal.SizeOf(value); - - byte[] temp = BitConverter.GetBytes(value); - - Array.Reverse(temp); - - return BitConverter.ToUInt64(temp, 0); - } - - public float swapend11(float value) - { - byte[] temp = BitConverter.GetBytes(value); - if (temp[0] == 0xff) - temp[0] = 0xfe; - Array.Reverse(temp); - return BitConverter.ToSingle(temp, 0); - } - - public int swapend11(int value) - { - int len = Marshal.SizeOf(value); - - byte[] temp = BitConverter.GetBytes(value); - - Array.Reverse(temp); - - return BitConverter.ToInt32(temp, 0); - } - - public double swapend11(double value) - { - int len = Marshal.SizeOf(value); - - byte[] temp = BitConverter.GetBytes(value); - - Array.Reverse(temp); - - return BitConverter.ToDouble(temp, 0); - } } } \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/MAVLinkTypesenum.cs b/Tools/ArdupilotMegaPlanner/MAVLinkTypesenum.cs deleted file mode 100644 index 6f146c83c8..0000000000 --- a/Tools/ArdupilotMegaPlanner/MAVLinkTypesenum.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Runtime.InteropServices; - -namespace ArdupilotMega -{ - partial class MAVLink - { - - } -} - diff --git a/Tools/ArdupilotMegaPlanner/MainV2.cs b/Tools/ArdupilotMegaPlanner/MainV2.cs index ffbb76efdf..a0a75f0e8f 100644 --- a/Tools/ArdupilotMegaPlanner/MainV2.cs +++ b/Tools/ArdupilotMegaPlanner/MainV2.cs @@ -760,19 +760,19 @@ namespace ArdupilotMega byte[] buffer = port.download(20); port.Close(); - if (buffer[0] != 'A' || buffer[1] != 'P') // this is the apvar header + if ((buffer[0] == 'A' || buffer[0] == 'P') && (buffer[1] == 'A' || buffer[1] == 'P')) // this is the apvar header + { + Console.WriteLine("Valid eeprom contents"); + } + else { MessageBox.Show("You dont appear to have uploaded a firmware yet,\n\nPlease goto the firmware page and upload one."); return; } - else - { - Console.WriteLine("Valid eeprom contents"); - } } } catch { } - MessageBox.Show("Can not establish a connection\n\n" + ex.ToString()); + //MessageBox.Show("Can not establish a connection\n\n" + ex.ToString()); return; } } @@ -1632,9 +1632,9 @@ namespace ArdupilotMega MainV2.instance.Invoke((MethodInvoker)delegate { loadinglabel.Text = text; - }); - Application.DoEvents(); + Application.DoEvents(); + }); } private static void checkForUpdate() @@ -1881,7 +1881,6 @@ namespace ArdupilotMega while (dataStream.CanRead) { - Application.DoEvents(); try { if (dt.Second != DateTime.Now.Second) diff --git a/Tools/ArdupilotMegaPlanner/Mavlink/MavlinkCRC.cs b/Tools/ArdupilotMegaPlanner/Mavlink/MavlinkCRC.cs new file mode 100644 index 0000000000..93f50fb691 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Mavlink/MavlinkCRC.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace ArdupilotMega.Mavlink +{ + class MavlinkCRC + { + const int X25_INIT_CRC = 0xffff; + const int X25_VALIDATE_CRC = 0xf0b8; + + public static ushort crc_accumulate(byte b, ushort crc) + { + unchecked + { + byte ch = (byte)(b ^ (byte)(crc & 0x00ff)); + ch = (byte)(ch ^ (ch << 4)); + return (ushort)((crc >> 8) ^ (ch << 8) ^ (ch << 3) ^ (ch >> 4)); + } + } + + public static ushort crc_calculate(byte[] pBuffer, int length) + { + if (length < 1) + { + return 0xffff; + } + // For a "message" of length bytes contained in the unsigned char array + // pointed to by pBuffer, calculate the CRC + // crcCalculate(unsigned char* pBuffer, int length, unsigned short* checkConst) < not needed + + ushort crcTmp; + int i; + + crcTmp = X25_INIT_CRC; + + for (i = 1; i < length; i++) // skips header U + { + crcTmp = crc_accumulate(pBuffer[i], crcTmp); + //Console.WriteLine(crcTmp + " " + pBuffer[i] + " " + length); + } + + return (crcTmp); + } + + } +} diff --git a/Tools/ArdupilotMegaPlanner/Mavlink/MavlinkUtil.cs b/Tools/ArdupilotMegaPlanner/Mavlink/MavlinkUtil.cs new file mode 100644 index 0000000000..0be0d7c635 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Mavlink/MavlinkUtil.cs @@ -0,0 +1,246 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; + +namespace ArdupilotMega.Mavlink +{ + /// + /// Static methods and helpers for creation and manipulation of Mavlink packets + /// + public static class MavlinkUtil + { + /// + /// Create a new mavlink packet object from a byte array as recieved over mavlink + /// Endianess will be detetected using packet inspection + /// + /// The type of mavlink packet to create + /// The bytes of the mavlink packet + /// The position in the byte array where the packet starts + /// The newly created mavlink packet + public static TMavlinkPacket ByteArrayToStructure(this byte[] bytearray, int startoffset) where TMavlinkPacket : struct + { + object newPacket = new TMavlinkPacket(); + ByteArrayToStructure(bytearray, ref newPacket, startoffset); + return (TMavlinkPacket)newPacket; + } + + public static TMavlinkPacket ByteArrayToStructureBigEndian(this byte[] bytearray, int startoffset) where TMavlinkPacket : struct + { + object newPacket = new TMavlinkPacket(); + ByteArrayToStructureEndian(bytearray, ref newPacket, startoffset); + return (TMavlinkPacket)newPacket; + } + + public static void ByteArrayToStructure(byte[] bytearray, ref object obj, int startoffset) + { + if (bytearray[0] == 'U') + { + ByteArrayToStructureEndian(bytearray, ref obj, startoffset); + } + else + { + int len = Marshal.SizeOf(obj); + + IntPtr i = Marshal.AllocHGlobal(len); + + // create structure from ptr + obj = Marshal.PtrToStructure(i, obj.GetType()); + + try + { + // copy byte array to ptr + Marshal.Copy(bytearray, startoffset, i, len); + } + catch (Exception ex) + { + Console.WriteLine("ByteArrayToStructure FAIL: error " + ex); + } + + obj = Marshal.PtrToStructure(i, obj.GetType()); + + Marshal.FreeHGlobal(i); + } + } + + public static void ByteArrayToStructureEndian(byte[] bytearray, ref object obj, int startoffset) + { + int len = Marshal.SizeOf(obj); + IntPtr i = Marshal.AllocHGlobal(len); + byte[] temparray = (byte[])bytearray.Clone(); + + // create structure from ptr + obj = Marshal.PtrToStructure(i, obj.GetType()); + + // do endian swap + object thisBoxed = obj; + Type test = thisBoxed.GetType(); + + int reversestartoffset = startoffset; + + // Enumerate each structure field using reflection. + foreach (var field in test.GetFields()) + { + // field.Name has the field's name. + object fieldValue = field.GetValue(thisBoxed); // Get value + + // Get the TypeCode enumeration. Multiple types get mapped to a common typecode. + TypeCode typeCode = Type.GetTypeCode(fieldValue.GetType()); + + if (typeCode != TypeCode.Object) + { + Array.Reverse(temparray, reversestartoffset, Marshal.SizeOf(fieldValue)); + reversestartoffset += Marshal.SizeOf(fieldValue); + } + else + { + reversestartoffset += ((byte[])fieldValue).Length; + } + + } + + try + { + // copy byte array to ptr + Marshal.Copy(temparray, startoffset, i, len); + } + catch (Exception ex) { Console.WriteLine("ByteArrayToStructure FAIL: error " + ex.ToString()); } + + obj = Marshal.PtrToStructure(i, obj.GetType()); + + Marshal.FreeHGlobal(i); + + } + + /// + /// Convert a struct to an array of bytes, struct fields being reperesented in + /// little endian (LSB first) + /// + /// Note - assumes little endian host order + public static byte[] StructureToByteArray(object obj) + { + int len = Marshal.SizeOf(obj); + byte[] arr = new byte[len]; + IntPtr ptr = Marshal.AllocHGlobal(len); + Marshal.StructureToPtr(obj, ptr, true); + Marshal.Copy(ptr, arr, 0, len); + Marshal.FreeHGlobal(ptr); + return arr; + } + + /// + /// Convert a struct to an array of bytes, struct fields being reperesented in + /// big endian (MSB first) + /// + public static byte[] StructureToByteArrayBigEndian(params object[] list) + { + // The copy is made becuase SetValue won't work on a struct. + // Boxing was used because SetValue works on classes/objects. + // Unfortunately, it results in 2 copy operations. + object thisBoxed = list[0]; // Why make a copy? + Type test = thisBoxed.GetType(); + + int offset = 0; + byte[] data = new byte[Marshal.SizeOf(thisBoxed)]; + + object fieldValue; + TypeCode typeCode; + + byte[] temp; + + // Enumerate each structure field using reflection. + foreach (var field in test.GetFields()) + { + // field.Name has the field's name. + + fieldValue = field.GetValue(thisBoxed); // Get value + + // Get the TypeCode enumeration. Multiple types get mapped to a common typecode. + typeCode = Type.GetTypeCode(fieldValue.GetType()); + + switch (typeCode) + { + case TypeCode.Single: // float + { + temp = BitConverter.GetBytes((Single)fieldValue); + Array.Reverse(temp); + Array.Copy(temp, 0, data, offset, sizeof(Single)); + break; + } + case TypeCode.Int32: + { + temp = BitConverter.GetBytes((Int32)fieldValue); + Array.Reverse(temp); + Array.Copy(temp, 0, data, offset, sizeof(Int32)); + break; + } + case TypeCode.UInt32: + { + temp = BitConverter.GetBytes((UInt32)fieldValue); + Array.Reverse(temp); + Array.Copy(temp, 0, data, offset, sizeof(UInt32)); + break; + } + case TypeCode.Int16: + { + temp = BitConverter.GetBytes((Int16)fieldValue); + Array.Reverse(temp); + Array.Copy(temp, 0, data, offset, sizeof(Int16)); + break; + } + case TypeCode.UInt16: + { + temp = BitConverter.GetBytes((UInt16)fieldValue); + Array.Reverse(temp); + Array.Copy(temp, 0, data, offset, sizeof(UInt16)); + break; + } + case TypeCode.Int64: + { + temp = BitConverter.GetBytes((Int64)fieldValue); + Array.Reverse(temp); + Array.Copy(temp, 0, data, offset, sizeof(Int64)); + break; + } + case TypeCode.UInt64: + { + temp = BitConverter.GetBytes((UInt64)fieldValue); + Array.Reverse(temp); + Array.Copy(temp, 0, data, offset, sizeof(UInt64)); + break; + } + case TypeCode.Double: + { + temp = BitConverter.GetBytes((Double)fieldValue); + Array.Reverse(temp); + Array.Copy(temp, 0, data, offset, sizeof(Double)); + break; + } + case TypeCode.Byte: + { + data[offset] = (Byte)fieldValue; + break; + } + default: + { + //System.Diagnostics.Debug.Fail("No conversion provided for this type : " + typeCode.ToString()); + break; + } + }; // switch + if (typeCode == TypeCode.Object) + { + int length = ((byte[])fieldValue).Length; + Array.Copy(((byte[])fieldValue), 0, data, offset, length); + offset += length; + } + else + { + offset += Marshal.SizeOf(fieldValue); + } + } // foreach + + return data; + } // Swap + } +} diff --git a/Tools/ArdupilotMegaPlanner/MavlinkLog.es-ES.resx b/Tools/ArdupilotMegaPlanner/MavlinkLog.es-ES.resx new file mode 100644 index 0000000000..3801d5fc68 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/MavlinkLog.es-ES.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Log + + + Crear KML + + + Convertir a Texto + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs index 3a28cbf8cf..65f82186b9 100644 --- a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs +++ b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs @@ -34,5 +34,5 @@ using System.Resources; // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.1.37")] +[assembly: AssemblyFileVersion("1.1.38")] [assembly: NeutralResourcesLanguageAttribute("")] diff --git a/Tools/ArdupilotMegaPlanner/HUD.resx b/Tools/ArdupilotMegaPlanner/RAW_Sensor.es-ES.resx similarity index 71% rename from Tools/ArdupilotMegaPlanner/HUD.resx rename to Tools/ArdupilotMegaPlanner/RAW_Sensor.es-ES.resx index bef221098e..31f1917097 100644 --- a/Tools/ArdupilotMegaPlanner/HUD.resx +++ b/Tools/ArdupilotMegaPlanner/RAW_Sensor.es-ES.resx @@ -1,174 +1,165 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - Fill - - - - 0, 0 - - - 300, 225 - - - - 0 - - - glControl1 - - - OpenTK.GLControl, OpenTK.GLControl, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4 - - - $this - - - 0 - - - True - - - 300, 225 - - - HUD - - - System.Windows.Forms.MyUserControl, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - Bat - - - GPS: 3D Fix - - - GPS: 3D Fix - - - GPS: No Fix - - - GPS: No GPS - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Sensor Raw + + + Sensor RAW + + + Actualiza Velocidad + + + Salida Servo/Motor + + + Nota: Hay un retardo de cuando se ve a través de Xbee @ 50Hz + + + Entrada Radio + + + Accel X + + + Accel Z + + + Accel Y + + + Radio + + + Datos de Vuelo + + + Guardar CSV + + + Gyro Z + + + Gyro X + + + Gyro Y + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/Resources/Welcome_to_Michael_Oborne.rtf b/Tools/ArdupilotMegaPlanner/Resources/Welcome_to_Michael_Oborne.rtf index c537652c1f3437a9ffe70fd1cfb3a4ab63e6904d..e465a9a5f9e4513cda27a1170b3007d0d1c10f4a 100644 GIT binary patch delta 153 zcmeyvJ)L)h7^_}MVp2?!f^&XeNl|7}X-Q^&Ua>-2QGTvfOp<|uf@5AvQEItDP-042 zeo=~!!eo9{kEj@k9-qvlqQs)gVu(uj+{6OCywnmMh2V_DqJr$)94IR)vjC`4N5Qiw nKQExNBqKjhN5R_{EaYF1nit}&qY#yv;$D#SoSeF6-Eno%8 diff --git a/Tools/ArdupilotMegaPlanner/SerialInput.es-ES.resx b/Tools/ArdupilotMegaPlanner/SerialInput.es-ES.resx new file mode 100644 index 0000000000..4d14dfe4ec --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/SerialInput.es-ES.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Lo que esto hace. 1. se las actuales coordenadas GPS de un GPS NMEA. 2. envía un WP modo guiado a la AP cada 2 segundos. Como Usar 1. conectar con la AP. 2. el despegue, el modo de prueba guiada está trabajando. 3. abrir este y escoja su puerto com, y la velocidad de su NMEA GPS. 4. ahora debe estar siguiéndote. + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/Setup/Setup.es-ES.resx b/Tools/ArdupilotMegaPlanner/Setup/Setup.es-ES.resx new file mode 100644 index 0000000000..70ad73f1af --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Setup/Setup.es-ES.resx @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 180 + + + Manual + + + PWM 0 - 1230 + + + PWM 1621 - 1749 + + + Modo actual: + + + Habilitar el flujo óptico + + + NOTA: Las imágenes son sólo para su presentación + + + Modo Simple + + + PWM 1750 + + + + Elevons CH1 Rev + + + PWM Actual: + + + APMSetup + + + Swash-Servo posición + + + Activar Compas + + + Modo Simple + + + ArduCopter2 + + + Modo Simple + + + Ajuste Chásis (+ or x) + + + 60 + + + 1 + + + Modo Simple + + + Modo Simple + + + 2 + + + Modos + + + Modo Simple + + + 3 + + + Reset + + + -60 + + + Superior + + + Swash de Viaje + + + Manual + + + Timón de Viaje + + + Calibración del sensor de voltaje:Para calibrar el sensor, use un multímetro para medir la tensión que sale de la CES de la batería-la eliminación del circuito (se trata de cables negro y rojo en el cable de tres hilos que suministra energía a la placa APM).Luego reste 0,3 V de ese valor y entrar en él en el campo # 1 a la izquierda. + + + Calibrar Radio + + + Max + + + Modo de Vuelo 2 + + + Alabeo Max + + + Modo de Vuelo 3 + + + Cabeceo Max + + + por ejemplo, en grados 2 ° 3 'W es -2,3 + + + Modo de Vuelo 1 + + + Nivel tu quad para establecer las compensaciones por defecto acel + + + Modo de Vuelo 6 + + + Capacidad + + + Declinación + + + Activar Sonar + + + PWM 1231 - 1360 + + + Entrada Radio + + + Calibración + + + 1500 + + + Modo de Vuelo 4 + + + Modo de Vuelo 5 + + + Gyro + + + PWM 1361 - 1490 + + + Hardware + + + PWM 1491 - 1620 + + + Sitio Web Declinación + + + 1500 + + + Batería + + + Cero + + + Activar Airspeed + + + 4500 + + + Restablecer los Ajustes de hardware APM + + + 1000 + + + Monitor + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.pdb b/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.pdb index 11b35bd52b6ec275bd0b58728c7f1b031cea281b..9be6fd68a9f3c0907e13233c392a1ec295aec7e4 100644 GIT binary patch delta 281020 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 delta 281561 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 literal 0 HcmV?d00001 diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/shareware_output.3ds b/Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/shareware_output.3ds new file mode 100644 index 0000000000000000000000000000000000000000..f736f7b19db62395829778d6fd9a8e8d26a26984 GIT binary patch literal 176428 zcmeFab#xWU+b!I3@IbKO!8KUWket&E!QEYhySohT4splbot&g`8EkNu0R{#b+?~63 zHN|~@>#lX*yYBt|`PQ2B>is8d(u(4fRtP0^IpilXQ^4I>M}rXj;W zHdjz#Ug8Pp*1bpP;r)i?SJE$WA(&pt2>h>q8I)9ZFr!rd*Eo6qAFlQNf4H{Fl63IR zS4k;64E&E!LUlD=W&(17+5~`>@Xa{w=Zpw#58IiDf{EbsgAm;E+z8earmYIRE>`SxFQd z$!pk<&I5)H>O7?TfMNeuxBs@f{o6og_wj$)4Y)*2%R)-)JgobW-ktlE^7XBl|KC>n zf6#?GMcH|w?7DRx()VXK`ft(w_oEL*mE#blO3ylqlD|v8&b{(0N?=`TWqCBo#+~v zaf?X1zx^4D#9HUD$Ygm~MY=}ifzt5JxElko9|GiXS#xOP{(hpYS>+djK; zYFFmK5MjSKsf26K@lX-JmYUzSbZ?l@FZ3$slDybr*20AWSK1Z8t9@<|8I8f?V9zQ9p~KX@d-uaY@hq3`s8oj zvh5q@v~ycmZF}*lmlAS~vHkyXa;H16uI>MU?|t1j>)8I6n)}wh`=xEK)N8XlVZWW1 z{tIrqTUNLIfBQL8;;h|vzOwkLiIuwB{;#T5BvIyTy2B&!bA+82D^s~d>HquZo@r{UU*<*DEBZ-$<8M=(^q+RtEBZ-$zsKjC7W}83 zb%}n`e)5Bdi~iHjxrQGckj{=7;bXO*ep@6NVk;og?TqlI2gFXOseJVxkuFXVC^85Aq@_uKlrw|Pbh z{qH%3NQc+5PPSL=I5)4Tt^!MKJ*e_w=W5MP|MiY>&XR>~ojg$Dk{zc>58ZuoqJ7_N z&tADt)v)gydGW0K-a}h=N3V9TKN%_RyDBJcVulU257v@oqAt+~)~in+Y)){eGF=OP z*!+{DOgWdclFcW>9}RQ1IbgTDdU*nz85Y|5#)fACrhCVU_Sm3a31`{+u|nTg`dY%} z+_v33`NrRI&$essC}-;-wtn+!KX=-Gwmx~t4d<8BG2+_qo?F}-4%>RC!l_+bKSvAu z*6e?}ec##o?GgE0^HbRR{tz|sIp{`RS2LKC;`=h)t}{o4nGiE=1A zxVWqM`*5NAY^?0cpUu`c{ORX97Zxn+Ea$ctZF_}(JQ7=8wy&MtLQgFAEL6m)xA<>& zK9P3W z_f>BcC9Y+kNS$`-OkehiyjJ#!@>=>JRF+yjb82BPq z#384t{iB7QePZUbF~UxMn->->bn@7+bGAS17i5``f2h-ca$3DDb{zH*8y46;vro*@ z*tWBe@M>Y(*(dJaZu`$ZBKW@TKl{Xw(3vLt3va`=vro*?-_8sB#NQs<{

    H^R;r z`^4zuw*TxqWWLxZUJJ4F!oEZLPwtZbvma^tEZAh-V|}i8+SXZzsnZ|kJ$1bh5r_5P zcy8O7U%&gdo%KAVVTgz?`oyiFB0lT<>nFCI`CXI{`YVsUHiwBgYzrlKh6y|KHSA2d zu(MrwUJe&_<||jqNMUCiIh!g{*k!)xzs!rQSM-y1wrl!NJL?twq@8V?{?pF7L_cX4 zeIop)opp&m(@w6S&$P4t&`;{DGxVQv$TRerI{QTW%s8w|^qF?{i7bEWtUvd2g_^QY z9Ir(Poqgh0HC*WI6VoNxao8v3%N;4~>=T)e>=Q?p2opN{#4U5}`0Nu)6t{KuiK|oC zIyqr=Yg=cZm~x|iFZPKkAKB@!PkdF=*4ZZ(?PA}Ted3`>wx8@1r4OuEH!9eiz&^1? zDVu-TCq}-r`GkGqn0|JJz(qX6R&j&6X~!|EYjQ7*(c^N7cT7V6IWESb@quh3)_COPrP5w_Md&?mCv@% z>=P#svHfJ9IPy)5C};MGYy6^x&OULgmu+XCsE5Z3JIgt`jU9)5;`ml}9QKLptHg>p z>=Q%N#R;8#;LMI{QSnYgw1r_GNurd)>a4eIj{=cGl-Ft!z8{ zL~;o2tgD}Q+CH#PB>&LPdQMKG&bC7yqt5m+sJiU~`$Tdz?c@aVIdyVKuJLvp_KDfaerHw0l)db;c5I5Y&;|n72c4W8Y0*xd_Mva)1u#yhago-}+22K+RcRuv(23cc zw4ZJtA#}#4&N#F)PTSi16R0!Idak@~X+OH}j|9eNnpO{gv?cpm>M~8nr=96|j_)G$ zdaZ-49=%t)$s3DXFSgnbD=YLHpBGsLrfm~xe((;qM(5oo;zykhwiXP0A>zcnTx^|R z^+ec%2ZvY>BC{qkogw>ztv1=yCh}hIYld2XP020vJAPqSz~(X{&a1=_t4pb3!d|9w zxOMP$bz%Q@Bh)f>Hx~LzuW)NmoZ!WCw=(ZGT6!*7cT6%Fm5vch!^(w@8*5!v#ewE zxkQFF!cL!MU82t|vc42{`Yh`beLmPXYa-L3&$9l|XIW?Hb9~-1A`X3S(!09Q>9ed$ z^trcxV_~PytUpYXKBt_2GJySB;{~x+{;atYsqb7HW$phvh0y)hMO&@cE^*Rc@I{RE zX?am$&oDny)JfWz&W$_Q+|=C@Vyrwpql6xmC)TRuRZQr~C&daLV4OKCVl9v4twfr= zo5fmVZl`t8?t|}k*Ef6?cAvx1Rz%-(LJ#a7V{M$7L&Rz56J>?g&M)-Tbt6T+l0HOx z+ij}Vh)C;mb-Ud?`z^|PG2bJRb-4e~Xlwj1yUnJl7GtekwpFy>eotboI+r^Oy=zdc z_0}(+&`0eGxAOluC3s*D>hnEUjNq|`>B6lQN2iK*x5Yo)QUs}$*~7xExo`6eeNtGMm2p}Yp-1iswQ{e1B%W!9GQq#fytG%a z^;^fmqC9Vn3$~W_+%EKuAA+sZn;!~&Tx^I{b7x9Xwln&MTI&O|2|c)Zm{ssXKB0#< z4gXb_*sf)LW80T?n0)dk;GUb$#jkmY720*1&}W?swlZBvCj6}QKIB*3CeO$^Om2~F zgnX5)$|!N|p`O9N+7$Usas|0sasoMA@&-BceE(G9+IJ;`fAIkMS#kwAT=D=pS@HmR zShjcauatI4kYR}_ z`;Mn&mYT9p+;utLlzrlEjGJViSiXC_Df`4W6_%K?PqeH!Q}&6Gh$H(%_w!g&_KCUs z#+kBDeEK2AlzpPBZmcQ$MCMEOiDR?Gn6gi#&$3UXF7tQ=-=AbXe>)(=ly#eSnXfwo zLrhu!*Pjacm9GkCq5td?uXYRlm9LO~p{DE;=adWkm9Mg{FjKaL)Mdg=*%q=ij`)?w zGZn*swg*KFc~rpJjWe&$2GjXUQk@S=J@` zEc-=UzZ3NvM&I5Zu~{AZtddPAt-0miRAE7X*IVx8-urtA~f z;=7&f6W8_*H)Wp~d_2sQePTB~(v*GT@Ao4`y^=o2K5^XcNK^KS4>w1cvQMm$5N^so z@%WQ4Q}&5HtA&}ePaJeQ)RcWydW3R=TvQMnnKHijlVzgh}uezN8o{@E! z+#=fu`AYVQ8IH#PYE$Gl$phqV$s6Qt$s6QM*(WCbi2ua{@Vy2dhpM>}Y|NC&>z@sG; zWt4-Hni{U*3N!~0285|4Q<4kRl@!qVNeZBfWn7xTR9Lx|5?U&OX%r77twKx#y9cZu zkg1e(iYJzfGs=D z9I#N!2`#&l3u&eUdLx`2=&j_2=B?yW^1@2Y0GU_Gr{qV7m=`j?Qa~w)5HUYwL8XvV z7@-gw0Q>r1&FLNmz&hiW3%MfZ`J9k58!^2)S@CLotCapdrGQ zAxq(2zDgBf6(vxq3iO2}R#mDg)q#PK#Og{7r6#Z%B(bJaOQ{X40ZFW*)K%&UtOI*p zoV5hjfweyD^_2!nLtuS`8vt|TYzQo^G{W6VBW`1SQWr-PXmydxrpS4Dq|yYTTKKH7 z(o9_2Olgi38UPyt>%mHFfjBjQEfBvJuq8s(fGwfd0JcIX5ZDTOHDGIme1WZ@2LhWa zZE(M)D8sf&J5jdnarcTSqYg?(pcB{@SXt==OJy7#U}YJ0gw?>cZIFwy(A(l_C$4O# zvA+g^)@Yz>`E74 z7s#%_u8`e;-5|39yDL4Eo&vioy`c91_6GKb>;vo#>zk*dN#*asaSDa3F9X zWM|+&;2_{2NEJ8;h$WLa$OV)-YVjbPI(VQYj^xTCLrI#kXz<^7%bz#dX>RCCBTk_;4Qgw z0sJERAhZCSI~RA&17^(!Zwi3xC*dyX!OiL5NiJ~w6x@M*!8Cl52^`OR6SINmiBs?? z_3;Sh0K<$2&y(xNBSek9#mQM9E8?X8?4wFTw4__ zvkF>Yb?|6E@O?S7)(U9DWzdRyq9s-mtam{*aY~HVACacItwK?X)Bq zp6$|vWf0={;rdFjmV%|EVEXPrKfwXS3W6QV!PZmUyBuT>+`9_=B8OB3Q;<8V!@E8R zRTnq_{&xmP41m|Qf&Czfoslc%&RcLib4u;k^zI25U^D+SRfP(FhmIxTowjv z7}zWXqk^>1(jW#ojj_pbA-FOWv5CR3ha#=PU>f3L*au^5;lOx-4li>)%mGp@BUW_9IsWSZ#+#ys6S0a>1U=+@1U^HYTFh+?*h!~^9 z37xhm#E!@3#3jm7U<4#_nX+72A#fS&%VAv(xkOp1tWs73*FX|iD{GZ?0@p*XRn{vT zAlKv5wXm*&wh@-~$|hwqv`siSBfL@BqHINI3(l>uP}>G=i?SVQt_1EtcnffcvJ=`4 zWtXxWR^l4S-O3(iFG9rKkb9K`#f=bgFQi*ZRFV)%#F>Opf?`462TXz_?nmeVa6dx( zfCmve1l$ivJPbSpJPbSnJgOX1jst(kc>;I>@;LA$^i#l7!gfkI4gC!8jIf$ z^oOtz&nf3&A)Zq%2t12Vsb56s0`7HDxdglfc|mBGp&h}!jwx4wSCp&DHQ+Hw;x*;E zaszl3l6XV8soVlyha}!oZYy_yHzA3CDtDE80{?{lF3#Hm@56RaxsT&7<$;j*pfUUa zPvAas`w(|KinxCx-d!Azpxs3-A0y`{k;)^4ZsW7Rl_$Wzfd2sh0zMG(9xQ(;PZ8%P z@G0Wo20laRI`A3vo51G?T?IaeejWG%p<}=o(60g?D=%@s$0);B%4<=!Z*ce1D5JN^ zJK%ZXE8u12JuH`TyoHrz_zu>Kxb`J-@jLWaxcWSKyCtlRlX_T z1%6e2K>r3*)NeR{D5{FVimIv_P=nNg8qfiBKqdn^fXRW$AwMd~AwMc9fGHp&prueF z(DEtC1(Z>!#VORo2*rwe9jl~7=rHgg@E~L=Xa|*4DqF*T$S=VC@O6`rY`Y9^M2lgo z*@#wc;aHE>#1^$4Ej|gyTC_K|xwUBhZXB!7BH1ceq2=zyu?8)6uaa8jvn8fh`P835 zvNk-0d?ac|YV~hX$5N|LM4d{l{v+yCYBdeCG-_(q1KK+!t@;YjHZ8Qbz_jXHJbB9Z zN;+U#HJ$1yq^Fu*$nj z=&j~f^8oXz`4B&^nqMt|5HUZlE`YQPB3)tzwGgl%;$#9AMmRmN5G1h(LY@MPAe>$; zicmU%MPc<+FT?xysJBI7B^E>~8AWQDq4DkoaKC&w(!!5?xVty}%8xTQyv+ljv%%l& z2xUV!H}aAi-e2=_h$?n_h(sr!Hjl)~_f zcmRA^Sly)*z+HENS@$S;)dX;THr!=3xOt`Gt!@X$=fEA<7vzEm>%j56H*qs~o|prl zQuo5$w}NB5)NO+6y%3^CUv?thbx4`G0V%CR>ba5Am5{5UtpxXPhbKgDl*o2?lMkh{ z2XYs*J@7n1DX0?jqVy8rdm)rJF%kAc$W0OCmE2zx<$MT75j=%MXvH7EdOOhO?|>OU zf@`m#gY&0fD=l92U4jeRdQKLSWBv(l;Y|#a9c^B4`O`*7KimS?8Oj2l|Ua{R|09JRAVvX zNC{giq#cj3NF+uW(Kwd^qk%EN7|3P77+@SQ4zeV!jsq4G9`WAAa1_TKc$ebvv4mPm zEv@jLW`TnktqlGp&&hQP{@#6}1;1~z~sHbJNoSIf$ea%1-1jW2X;_9s-1vAYG-IcI68_@7qu%aU2t@Ut&7@C?G8&f z99@5gdZ;~N>!$V)*h}rL_ECwwVDAlUZ^#}9^-=o*`>OqLzrG0d6WAA_{?Iz$?gM}W z)Pd?C-~faN0tcys)giz^2n_}fQHQF-fI|=(3LK^mS4RMcAv7E~QXQp^7B~|2QLv4I z91hE9bqsKfI#wMA91TevgHU~7NA)+{u_I!ShjkQ=3D8C%mlKimu1H}5Lc{Udcy*Gv zdXhRBX^aJq1CEB3I8>d2SoCEIt{4t4ry@jOr@}H6xtN9!^D+&V!MNvigqYXqunfe# zCaN=lJ=K}&EK#zvarf@(9F);q;7pVuaV|=29TFg#1nyIi3NnBkJOO)I%cc?0g(G)CIr=kkx?;fD3^OA*%ux0v7=nK~@1S z0xkwFhI9cJ1A~FVkp4h_$jU%}UN4Om$nn5sz~#W@ zkQ0E*fzyH0A*TSR1E&f(74=~{p5Y30rNEi$D(I`AuLiD$TmxJKxfZwYt7+L#{Un zTn4!mcWe*l>kn>h4v$;Hx0djiXn`MFf_3-euH@i7VA#g!12*A42H4qz7j-yc%E1rUTnuv4dLy$*G5=2fMYg*>4~)==?QJ)aOEbX8i?521e&YCJhn!TnA5hR)Y~Go5BeCi z_W8gO;KT*MV8OM)Xu;&vMQ90K!1ru99YkyDA?kh)w1{r_BnGU`x=((O6WB-8{XWp+ z!R@`l?n}_C^n<=cU@T&GLmK^HZ4ZnTTptNbH_^)2^16uo1>qC6+i2XMEqMTZW1Al& z*n|u-MDPszg2nKhoWver1SIX3|J1Sl^3a!qxRz}KU_yVjCA~P9QZl< zIDjiE;y8#A2}dOdadjyihcHUvc;*nU=6Gg5MlKw^>_@5<)FbLq^%(HD`a87aIF9}d zolsB0b^_-q;BnyZz$1u#8h8fyhrnZyr=guy&j~!Eo`-%0*7Lv%>P7Vu@B;8M@QQjB zmMb`}K_gy=ye2-m2)u#tHQ-J4mcSd3*P-23@4$8&=N(w6{R!QsWHt;?q z@h?~(053xlA0qTO@GnT>BZM9UA3_qJAoLIL2||y7PZ4?sd3%`3m?}eW$($eo#L``yjM;z)$LDSU%zS2Hi~1FoFE~E`41H6- z!}dk}Ch!NQ8&!??19nCGhVwf<`+=|X8f==TYj1!mBvC`i0ep+QCj%zal4~inWH{cd z$$=@flv*la3fNNuQ)#KSG{95{r3R+aJhZgHGzfVB(`lYsdV%R+_k_(8(gT+CS_WVS zEu)qRm>!at0ipY92JM}i8FzfAdTL&iIS`A!Vt^ff0esga9Z2r)0YU`dI4dLzWVdc%?&_sXi}27Xub zXn9d`U)6l@;j5Y-WmG`RujN4*5({V!tsqc?B(h}l13#*{kr!V711a$Oyjni(E97@* ze0KS?tVr=a^6M>foLkF`D{iZWw0iU9a>rKccepk66sSuL<^#Pq?QAggM0$5oc2U54=fM)6k2)hsagS80rEMt3fgnE zBCsOlOK26fm#QDo5Arp%Y+5DM3}QCTALtM11@s3700SVi00V&DKySz#KyP49A#1A&2%`GJAJs=%s{1%Oq71%a91RV83G_)r~K zL#wIP0@l{*Xmx@0wE9{DU_-4D?$%IitTn;?iH%`zqBRxwBsSHW0UN@XX22?1bKymE z*egS?qP6&m^r;2TmOqg`wM4D03V$3pT0(Om4d#g{F^{~j3m!Da>4K#Z?p+^ur)RaG z)q}@%;CT%kwM3{o%CIhS6o5R`1=fMA31mrE2WCR9s|oantOVA11>SiBZv01Wsy$O% z;A{>Lsl9;pfy#T6gBxm(ffv;pxX(qf^Ch)`c2}*7w66oNs&(MQRd9P@eT}A5kkjqQBUp;|$;l~5q z^)Bw(829~KZG_VK8~!yC_z&2>nMQ1g(t8Zgo1)yAt7do-{~(tykR#^xmC90og-}ai z2DJ7eU!Q|AUXbGRd_iQQUJr zgLB$wt+lp-YuXA%Y6olwPHL^$+BvXQ8^KL&1XHyJwgnfp0=B_*#1m?1FbPv7N43J0 zXE3fHwnI8+FrsL!akOz7vJJG;Nbv~p2xMDmN7S|&M=8f4TR}UHlun7!ODm*(O7#u= zj^9PHf3`=i=HXf$uHH$3IWw-(vDfCqqQW zB8|iheN!iQgg!dwgIiTLK9 z^8qh0E5rF1&gHxp?>soC)FVM+&@8Oog}Cd}D3D=jXe9zR%B$H`rNz zzPq>I+}rQ%^Q!q&zN_b(U%t;SiZ_XTcUb~&HSITve2>UChZV#qy%I+J0eGWezXhy} zcNu|rzrpu;e80zcdUfy}%zj_T_i}s}$MGj z@5%UHjPJqv;rp2Vri*X4_(qFwvFvwO_8Y3-#QTAXcxy0O zza8)!!Jpu9d$i9{JxB5!yK}tGF*?WP_L$rrjdLu{@i)iZ9A(>MYmT5DU`39TIX32a zm}6jj93fr5e^$&}<&j>0(NDh-|`?~;$n?tbVe z*?)2b!rqyq4EEma)9i7BJ!-JW3>-0VoWOAbd(xKRGjd*AaAJF{gVs^&qy=f6wJus$ zt((?e>!J13dTG72K3ZR`pVnU+pbgXpX@j*P+E8tnHe4H_jnqbIqqQ;GSZ$p4n>JpX zpiR^!X_K`n+Ei_tHeH*c&D3UTv$Z+eTy351`=K5JjJui7{5yY@pIR>Y4P+x|g0s&#GtBv+FtZoO&+ZThFcM(evv0^!$1Oy`Wx5FRT~Q zi|WO6AHBFhJ^TkCD~wt73gz1~6ZsCUwX z^v-%0y{q0$@2>aId+NRP-g+Osuij7ZuMf}%>Vx#b`Vf7nK1?63kI+Zzqx8}G7=5fh zPXA3GuTRh?>XY=z`V@VtK24vl&(LS;v-H{e9DS}nPoJ+Z&==~9^u>Cx9-@cpVS2b8 zp-1XbdbA#+$Leunrq?`YL_3zD8fGuhZA-8}yC(CVjKMMc=A#)3@t8 z^qu-HeYd_x->WC+Zaq;?(k*?TzF$9}AJh-&hxH@+QT>>HT>o7^p`X-G>8JHG`XBmP z{hWSYzo1{#FX@-{EBaOantolsq2JVR>9_Se`k(q;{hoeb|4VxCgXZgmdi3RQ_{$44$abw>)tI*RMiNnGj zM*Sb_tU+7zCk3WSWhA`YX4Puzlk_B28YB9_HtTBa0B5r;$&IXC7h1(Od%3sH@-P;M zhgzlYj0u?0(9<}-Ak4}z(A)Jo#LKAjexbEFL_KX}wJqM(eIv7{ajI~HmG|X-cb2Rv zjIyobtiUVQ9?x+eMzMmCR*~g(-RBRbH&Q-~u=dql?Egn5PoqP*NNZ7zDEG3cj7Gmg zF;;kvd`78t$&A9~M_Y4N+;Zh~JB-<6%gP=oIVdjO@m#)X9wUy+&CdPWCi> z2Bt9H2X(P_&dqF0z2-13?ip!~Xxhn8nk6^x%;;*pn-XRGc%0nmP`06U%BPsp zt9Q=$q~3=;3_bjqbtdQPq%##fj7klTS!Z8PPdZa6tx>H-qV;Whoumv$J&me`w^}b2 zZA`j;B8|}?>8KUcu&k?n^EAemVe_p;uY+AF&SW>feVT7=i*dN#9!hB}>%7PsIi*+9 zl>MoV(3gqU$FGBuR=rANbex!EExZ|(RIycB<9)GX*4p>Ilj2@xG_v&FVy&vaIO%v% zPb2*aw{@bCPg2S)DGi@I+pPUqe9W}ImpW6e48BC(xEZewW4W!A9m`x3*oj7GV&OR=r? ztShpV!)UHdwJxUjN^0}L)A-hRt@SG1%S5)vv#-`#*j}AjxkWN#WtL@DjPKpVp{0@; zzO~m`O>V^`mCKUWSk>{Eb*R?i#JKV4jk-lwTG!Q9iKBH7!>_^;>rKv8i4RBSFp^J* zw@$Z-ch}O=8r|o|TI!9!#Ex&hj9!akty?uB4F4J_jBiUCTBFqwiSa``jJ^G0tgy;= z+?mp5G#<7Kx6Xgv>iR9er?F?~EUVG*+KCbMy^J$WvBh?1q`UTv6vq8kahBv9pN%t2 z$vF}IXPA<6LZ6Q}CFd+kH^G#gb1Ky`Q*zGGOEIS8oN~9KP02ZlBbJ(yb9TkYn38kq zgm*OY}Wx(a?a?5yG+SBZ`bTMCFfjj zcG8rb6Te}U%l$=xk<8o7SPRgOnP02Z3(=0V5=fr&MV@l3xaILo~IVaEbmZs#K z7wTkFa?Yw6{Y}X^HyTVdCFlJ0rjIE(Cm`7@Q*w@(ccv*h=T-4drsSOd>voxvb9QW5 zU`ozubaH|zIVWh*K2vf|;}%Oz$vKZ}#F~ zIX6qJG9~AD2W&JY=iJXR!IYd66}ZEcoKq@is3|$;g}%^~oU{MY2~%>8SFSKqa?aw) z3r)#6=MOE!wndwBw)Wd(O3q2C&N3zER2Vzcl$;aPa-k_XXM4e!rsSNYTrEw>IZ@T; znUZtP_$@Xi=X`&**p!^Jonh4YxSXxjA{Ib6DD7i{qT?pC-GCMul4(=gco~ z*?DkjxW#c!n-!^Cdsl{99Oo1odDZ!Rb4QEgoGtn>W5wYC7RNa+0-}u@nTA;$=iIrs z)L3?5ip6ox?mzk%->yxtIL>*~vV+lWcsq;ZoGR8~quRzui{qSU>3;-l{2FC(oO7X6 z;l%5X2#e#Km}YhS_)`fS=bStJ-Jd_(#&J$?j_Z50E>RZ8Ia}`UbC0?-#o{=pVaIO9 z^4zm6j&tV!p5GXAXQ9P$j!&~wuKM>ESRChc+HuTv%43ejan9c6g^cEF7g-$V>}h?@ zRiX17i{qR#Uww=>$EI2w=cJw2)42Y9xW#dfb}8Oy(Q}%`an9VjeGI4fD2wBq(lcU> z+nc*s9OopIJ#G~Gdzi&>&aKc`BktUMi{qRPN+(yF0k{{&IcA3ru9DkAEsk??ukPhs zm3FtqanAEm!AVE=?Xx(}$$eyR61dyqIHzyyo}|1x_gWn1p`bM|-Gl{B&keuf3(oP_l2U5ED0w>Zv8ZY^^qzZh(BoYP~*C|A2wJ1veSdKO=h zG$-3Gi{qSReHJC9-(p!D=X6QGC+UFSPK)E5W5oiJvdm7jIL>LdXm--!sv9kibGn_V zl~jGjE{o%wE9Dm?y)V4U;y7oZr^h6%oceyLk{aKiZgHGbw{Q_d`5j{&jB|W) z^fkN&#akTb)aV(R*r)LZi{l*4qh8X89KD5acZ)_EH|Z7R%69QACr#c@uZ z62*)Z(d#TR&hgcfZhTrL+GAL!F~uCFi8R5^YM(8FVJXl$>LZ zj4~zX)OrwSO3qo_I?9xs^RaQ1DLF@NfNiipIp%<&H8X=j>S+Zc5I{ z=e^04oRjt9YEyDfl}t-b$vFc(mzk1tUOZT3O3vv~XNf5}XZoU5rsSMsJ{wKRIStV~oa6o1PE&Husi^&?TW438l5^UkK1j~VHgdfwIcIU;bW?Ipo6NgR$vMAo3Na<;JlnI# zl$_%=XP+rKXZq#^rsSLv-)5VVbHcyRGbQI#O}5&UoU^0V3{!H>osY9cdnD)7NLpx0 z&N=dMjww0k-PG=;CFgv25^PG&shMWKDLLm* zoyDf)oU`M?OvyPh*;ks9a|-SXHYMl$2o5(T=ltJpbI0tKvPHwp2)2>&5AR5U_5>NX zk#UNQ+sL??otw$HC6}AkJg`}i$ZhM~)Sh0TJ$;tp=LA}2F@@&&Ya%ThZk8RBYB|M} z8n>u>V``0<707Mt+^|T@4I4Kta>|X!t?Bm0bZ(L423StO75q5`R|Fdlxrx>XzEjsR zC8tAj6M8XB&iRPxxfHaT{eiO#J1+)SrsdbmHm~!aw>`QKZEU^GvZKCI>4Z zPgzlZ-1g~#slxO>Cksu;RG2a}QA#Ez4|Cz*Hb-JA$dY&>sRUNV=5B6VuPU~GSH9I%&$UJsix zxozGX+hIAW8vscR!1HP-q&NHsz%%5APk-d0sz6VaQdNX1;;EGZa-z2=&=*)1*hu88 z5oB>p;&LLFb*8b{a9syj2YORr9iUT`aZ}U`C#)4(HSSMrE6SiPB!4EMEq)xJEo3_!tYhu)L};srqX9IA=v!Mn{c3ow1yOqo zLCb+>QVpT%xQ9P}SfC-!Tmsvp734z5ADwwT zihRbbqw3G8`%aLZF@fLd=M;WdY&h??iOGI$dmkev{YL@0$(=X?$nE>TK@z#?eaz2A0l#5s05|4O z08YX=88}5O5%{m$^SK><7JTPc{VrHE&;^oP!?{U*mRLa012_uTaU=dHEGL)>>?{@) z5V;M1fmmEH8#o(_40t_L2myvb+FOvBS}+zLFcy~}@Lt5uxW0>6<`4lKk24Y&g(VT4 zfc)VA`bU34fuWEyM2ewUz7T>ujX?QL7Nr;ij1|inVj+8BQ9~?BDHh8c#^RVOLUUn{ zh0dRmATAYKnU_LxQ}a?Re^>yIR>Gr&D3LC(j)r{&%6PQERlud#vN!;eH~^ol0ItUN z#VFuv;9%e&oP&XU?gN2+;3J>&BuE?iBMOs|)87QLKExnKUswkKS&DOjEJvbUvWpQv z5>IqImS^zEuEiNCmVfX^1bXA?&coRoxLoMVq4CEu=Ao=Ykt1%aT8P|5V&5kjwLId1a8MQoerq=b;0S|{l-!cOL2TCLvKVf<-vkUoS#}1lN2+1s znsDSK49}ZSYZ4AVD@t;}B(bn(Ja7-r@xcBlt&Ko#x!Vrh4N2T9%D~bFP{D~Jl83xwNs&u#xq%l&~n@(0?T$b;v6f`jaD!gp$L3N zbVJSqx`A_n+$z6L;7&;DJCQqTyP+kbZnM^s!}tVA6_`^ceUU%b<8YQ{aa5H;`|E zuSIIFu{?^gxJZikBJRia2gE|G55QYEKLS5t!>a{+gzLE6ivGM6Y5k1_SWNLP7FfMO zo-U#M?ut_U0{n`trQDwW6^p#Mz4SWH@4)NG14IA7{uOuxl4vi?LPv?kSt`(>K8HsR z^#Htj0KatgDx&D>W#pd7ji?G1ah*npcp9azLvm5qCtz~mS;#+d@&^)rhj(Xyzr#m9 z?LQ%Hya~_mBBwV6vOau4j1#b)2C@{N09lSiyJTM>J~#H>!nRaC*_2|7>}_cL;ezA9 zr#O!THI=%iK1JvVw9hE77r@Uzhx!>OpPEB`hU@O*nLfkPxW9n>NrNlE>!`^Laf|&k zpuJoz6*dujsMk@)K0*>d;(2*s>;6aBZUaA{L^bsT@}LMjjS^GT)3`f-nBc9bH4lN$ z5q=5eCius|wCZDp+uqYbzJbO~}Q4~dcm3rcv0~}jEh(Zmn5a=@Qr z>ESJ4R`n!4&#In6$$0>|Nj@X|$s!g5X2BM8mO(Zg+=9(5{n;S1<6s@jj%9?jrNWU0 z8bkCg8=k(Z-bY=yil?ipS5XsG*fcCS{Gj9j=D<@V=1~8^Q_caa2A!X=&d~l8?StFx zb0Sq@W=QIpQ6ki`K+CC~5w(^a#wS2ztM~#QyQpMQ&qHQGtn={n4~5(IFDSWC%3Nr9 z0VU1S&V`cq!qa_&x|tsGGfI)qn00iYVlRL67C#b@7no1YuNDB>3nBS41w~Z;T!FnH zvM3fsa-%ho8?B4M&TZI5e=d@=w_9^lb$PV{Vi387x`NnBP2|E!Zm{N-DPnnG1t2$P z5}mMdgEbdc61lya+o$a<)|G!Qvkd&X(30Dyxske-nirB-8z+}v)`FEAr|V)7WA+eRA-nVu5CDU~MeaIUDX=Ldw@^0`sWrg@PR44EWt_Yh zF%PcKi?S$zg`LIWX>ly?bYX!fe~zFvuC62eqd(0=THNH#6q{iQXj3d4Esyf6B1*9> zu$@>E%I(&Lu`sk9N{L&pxgEBy2-StX9d!P11kqkP+6l4?7Lj(s64D0ns4F~bh!V*Q zs~_xLP{w`&xhby`mYJ4-B$mJ@U4UG6+8Wp$SQ=OgCpXOVxt9bMg^zsBTe8wL-`MwnXW429|&%mOv?W0ye`_YY1emsR3*NGz}&ovOWwkk9~Jd+@V zI^!NKv3b5PPJe-;(F*(#YKhN?qao`7M+55uM`256FM&fLsSic&sB!cC7}RanT5=el z0FkYtEf}mEVsM+~aKtKu6iPvkQp;lV{xBeaKEf{Tu_*arc$Q63D+l6egHq%(W*yC~ z`UZ|l_P_osPWfII>lXjru<-AO1&lrZ-LUZQhJ}AOEc}1BVL_?#D&2osApI8t=>zj7 zSMai}VXB$Nw%7F%Z~r~YdDA^z=%w^C&YWFm7<2daPu$vUgR|GjnL>YhU`0Ut5q5m) z3o1<&_EOCPI>hT+=2z!=#8C+ieQ^mE{ zTc>h;-aAR?r}GtaU9Iz*h%@9!4WaX1)L(C#Zcu-h>5Mae{YEGC?|Ww&Qm1{0R~i@X zIc82XYAvcD^g&f88NZJhFRo=ep_8TvJ+@9xmyDm`uZc-AolX~~xTXHqYig3bFYPkT z)2`7;GR-0@^CrqPQ?`5Rp6qAmD>m`CJ6rV?Zu-M(Wm$bWF~u$OJ6UxkGQW(&bedfA zO{C8BH+4=fbowUKp+D>16m_zk4^5nwwDWrwf5w0FU|LdC!7OfRpIYj!(1V9gPGXw0 zGtGf86P|byFR1^La5o^C;~vS0r=E`?CJLPBA5k^*m~1 zE@7um`+Re{uv32=^qbJx79uK?No1U7lP4K^NOGZ9JvB|_h4u~KXa3Sz2hRUBSzMd; z$7A=a^mdxG%QQV>b0^9)k0p#sl4+J(W!C|wS>W1~q{{Q{_RhM*x=Q>0vr|MJrp`2< z-cIeJ{wRK8l3JmH(3vLNHSN4tZ9luc_g<(azS&^&K%271eqHMZATi)RQO|2HB*>O1}#>>T@HhA7Wz&ld+Qoi~#&%chBRP`>X4Dg?(=K(||7#rTsXi@9 zlyRubYo%Sr`M+IgF%$ccuVV7nUTC31<5CL;BvFGs8IZe@xi?wGnM~NY1cSfen@TLe zuy-q`#&j$HivXuzsoP61IB}UC6O^7}s-FKXAPr6~$sqE-3H;B68T>B-SuuH;6_N`t zvO#ibMs`RpkjN>f$BA5qkqc)|Oz?7HhP@<%lhyeU;z9ua8aWqb@V^7_e+2M91@Qj_ z6cMrrrpOsCilq+)und5^rMV!33nGa8ZFKIRE-I#KOCnShp;EviKp#wubMZiF+}|5W z%^T>8F!x*g!k?VLQn+6kfu(R=VX+H4Es)Cs$_UJl1qg+3a`8xc*r=DmSrD!VtGhrU}h}e$N>z5w6QY6v{lB_%z;v>jweRUgVL&wno<_|C349|Ssb1y1(t-T zD3vmh8KIQ{^1mgNf~*KE1?2xv;Qv+NQz{9`U)e4Rhv4Ei-LbZYQh2(;e+E_%ug%HGsVo^jB$fnSmLN)_7 zgXHh!+xzl~Tv%Z*aA*Uq4Z>~3Zv7Tm9>B#6Eq*RL;J*D1;@9+5pb9+*r~>(a5BQ%C zQV5wsw0bTN=!z-A2Kcq_F2DvrhU#O2wHvTLkfC}A6FVa|7Zr5E^eum>pGymR06PGC z0y_YMfOQd{|7W5*PX4~R{ks9ZF|F7e`R<34{~Mt(rWX654Ep1w&DNSA%t`4wz&e<= zs|D->X=5*hY3qfQYoVn2i&E^*d@sSSkMMxmf|4% zenE3!b4>j;12#u^IItOTAg~#bPooVcz=sLsFC^H%b)aLCoh8rzV8H)EF&a1;vITI2 z&__UPAtvcZfpc|CVYk3J5||3*#HDUMaRveTo9`?gPQwlmxwU^|fy*&^!O{zozY^aa zav-ofaJZ1e@r3xShQsr2IELT}@>veSli{-+f)eP8V=(ehITTNd&ul2}%4f!3Z|I3* z7<{H20l(-QeNTyFGhVuK0=&;&&Mdff%{ebAB=vThYsuA^;duP?+dD_ z|3CRf4W)`Nw*UUx5nKR)^no)|E0_ygUclcuZF^3m^FjQh*IRv^{kG;bhIvF-n=Y1f zzG$u({jqa4*Vqy6o!MN*ytCm}_>seIZ-=)r{ZWMVV#6)>*!Q`NTTjEShi%L6t+gqq z(S3HL)vt=fU2c$KJi2KmtZh#)b`{*3+rs{%5}Y zaOK$>Y8_mP|G=}p?h3v#c1_B)LKw6owG_=Z)3@=NXtJu z-JW;Fy^S^Hqb$8hy9E5xJ)`8A2&>)m`p#`ja~eyhgjx04*K$71q!=$(hgq3B^>=;g;dC(cNWQPNUNw z;nvoEJpvX#aThA2U{`m=SkW)ix_cqUU9zoW9N!jUZLBxXSt_Tuk-t)y^;@BZ?gwLX z8aEn+S-saUc2~=(7(TRvMSuJ{2aL!BXZTvkb z)Y1z^x&K+1(-<>9!jkoK#kxpS*3Usf|AW2vjIyfe)^Jfk5J31XM#CpDgCoka$-#SXQQ4YW70qG`Y|yk{qy@n2{GxP zCH#b#^v^A46YPz}=%1C-6JpXoyP2EON&n31mlTu!`Q&%WG3lRscO}Q9e^y_f9FzXJ zdO>nb`e)vw$ua4lJ%3D&N&o!lm4uk|&pUKNO!{ZfT_a=CKOdfu9FzVz==N$>7R>7kBmwGeBp$-G1~3^SvVspCjGPcT}d(NpFez_6qEkh;5&0e#oPTe zf9<50^v}to5@XUomla5iN&jqFIWZ>vb8F3!G3lT2rANl3f0liDWK8jQsLaTi^v}lG zM#iLns#J3W$=m(&@H5FV>7ThvB*&zGrd~^mN&l={J}D;sbN8I2nDo!TZzjj2e-79` zGB&Aqd^+P|+|`%j3Y3aZXZ}1sA#bGikoa`w&n7Ew)i`w2+=$%FpMOj#AGtGcQabbJ z?5xW*zHgh9&iq-eZShFQ{0ZsIpXM}Q>X&znOlSVwQ@C?#!K(@B%%6?tJe9ib!Gv`B zXVYtaQ!h^#na=$Adf|bQ?4Km1Gk-3e@k`{Xti*KY&)2(ej9gkbBAxm3R_h~?rm5zp z*k=AbTYG=xp6w&jnLo2Xu_yBL+=O)I&ywFAi_E$fpU(VwUxUq&rjZnNoz-@Gk==vl5Jh>5$VjI`x?C+ z+4t%2bmq@V*E&T;UNrNanLi(!buF@ZtU2*+=Fj>Saz^i7m5|Q-xpvId$dauI>CB&Z zR>&2-P$52@`O`0UCGNHCBhr~a_m|3u?I&Hn=%3O*HX@z*bN$cxQlqUC)0sbq zmunHHR}D{R{>*HX7U@wVF`fCdc&9~?#M+7J%%2@Un;EH4C_bI}GtZChA|=+2NN4{1 zykcUc#Lw~R%%7#7Jrn8LBr%=&vr)4VaYb4u#iW1E*qRiR{@JNXQcU{iuDl5`>7Psg zjE_nGG;2dl`e$u((@*K2^)DpEq<>DknGloydECrd(m&VKPl!qXTsk~HCjE23LnC6+ zKi8H^j7k6ep!&#|^v}7EB*vtFKKa7PnDozlHxgsgKR;ZZ5R?AdZQh8O^v^ebG4uHC z{&}QDLQMMS*^d)q(m$g`l48<7Ke{q9CjB!qa3nXMwf%F`u%wvu&pv&VV$wec?MRAA z|D5>Fh?w-xQjrlc>7RA$niD#=`{(EvN5rIm=KL}-CjGOSSp%eh&byHmlm6MbWI{~( z=OYyoV$we^%}$I-|J*+`IVSzHbhd<;^v|4cC)yKL^w0T~N5-Uo<|s8XCjE2$nxvTY z&#%rU#-xAFN>8-?g#KA&VPZ`B=MTL{#H4@Ts+1g){#hesL`?c;sW~HJ(mx0PVQ$`f zyMK=carJXLp(ZV}pH{k;yp2 zlE?gixD{4*E1KmukNJ#$9N%P2`3%uJrmNcRVVjA)l!qxpo z#K>VDIc-(OJU(p%8zd=i*~ud(g}5>2Gv>1tH;;Fi|0>$Y;^yCHjP$_?86KZC@A{mP zlnPp5uYmbB+~lpAdB2k8v66ZByUZiEpF?0n-s0A3?vE8ljC4}d2risJs%0o&(E%W$+*@Pn}G&0-uPt7Bu zNYp$&Z$9YTrD8*?1bUCjTV zP4*Awv76auvjy*N{$q>X!}zbck>HPZL&>cMIoHs~xWoq-r*(hhxBl7q;RhM-I=4go z<@O(J%-G@f ziSfpNk0%{Bczg4REb^;)9BtyrkdzjDP*L78x(Q^TDSYH#!dTrS?xwE;TO3<;H=!%y?({ zvy=Zh!kr&{o$-PC#{aqAxZyV%=j2@D68_CZHk)@^XdJ}zZ~sBct>)A1Fn;!F=6#kJ zZ*Yq78)q5+d8YC8?lR7DZnU%8Jae;o?=*kAf(7AB|c=_yUc$%%}Sg*$WORExI1B;$L1vz^IS>K-2$9q9;LkdZGOU| zE96mr;#S~=ZMla>ZU_6IX-(F_BiRjH$PkZrn9ozl{9g`JK;vKXn?mNZa1xbAZcbjp z{CBtcgxnxDr}

    n%s$EB#)c`&1te63W7Z5HQ(kD^Iu+@Z{;%oasyI#Zj{GT<`Z#} zyRa=sJz^dyNENZ!43C_p9lly9*w=rb{VSX{Qv0Ac}&-+X8u>RwyoQK{b`e@%(5vT@&CPl zWP84s8S26B+sXWo0<{vBXUmqiz~@clyy<1rRsR{j$8`E@(G=AvWxq!pmN;#QXGCY% z_V->LVwpDZ(aw8p`^{6Y8wqufZ38#|`KaY#5BHA1w1@YkueI^-2X~Ib#NpSg^s(`r zH&$CF4*&eTm&RvkQth;5;&9=q84-!Y60baE>Ruvo{pH;aW$pP}fVAi$5_* zFFonv*@w6DHoWTMqqns3K0S5Owz;~lh4<DJ3`HtTC)sF9Z{QH16&1vDiJHWkW`z5WsFCJWP+Yhhc zc}@Cnvpm22O7GuCw_8qmZ?1mj&{4~6-k7ViH+0-6YmTnF`;dF?(%JgSj}BNalV_Ix zpxS=Rx2{ar+2i+GKGJ=v-u>Mk%kN*D=Z(9v#q#bh?YxHHxzBL$yJ_C$eVc8(>H`zJ zlAmm}+-6TlZ{l><=9dD^y;V!oY<$qp7GBYNS6g0re{-+iJC3)iR-PWb%Ekvg)6Q#O z*0IX!=-qXBrH$7q{C&WOJ{aL0YwO~BfBMDi{O>Z`rstAA-nMM%mdC!^#XC973!W>V z=hMf=c&8`1&vt*K9^P{u9RDz3l=oZe8r#0zhrPTr_qzD7L4CZuzqsqa?aO{%;UjBp zo6#fsdk>U$+&S9-@3;Eyxg+l#<+bVKIQc-5cdmMdZ9jK*f3L(a$G3X-^Gqqo#y=X} z$NR0I<1xj1d8s|!cmFc3hqtbbWBP;i?Qe6;)oVX@eYInY9^T}aUEki(q?h-}0T(Zu z*vISI#Bs*^bM^4FbN0R7=+w{awdjK7suTNrcV0Sg`L8?!Jo6VrEf-qS-}|wdYhTkm zH&>!#`qg)x95)`^&+8uV`g7*gK3>XU*PpXL*2^pZzT+(~^zf?x<@)o))Bz0hE^g%e$byeEZJS^9W05L}J1vh)D-v0Dc8BFY#d1deXzN)0@OxZ* zZpZV!m=srbhZ{#ZpZh%Ex&U1_O8GlozgqwEpp>!I-0NT6Sg=OZ=B~{z z*R#d7%jq~)b6}+L5%;?nO70xFtGxS7hqiw`Qf2FM`*}7t&Knsp#r50Y(!Y+Ydegmr z#X5abD*VsQKfG7{C)_nLuNk-HXWaqGLU*ZAOl_gkE}*uwrUkFUBAk@*dlehABa z3rnAbrBA}rCt>N6u=Gh-`XnrU5|%y*OP_?LPr}kCg_-wY>7TIlPgwdVEd3Lf`4*OW z4-Q`k>8r$LzJ=ww!E!xexz2FyKm8QFdYAodBWC7Fjl0uv?sY{|JDPq=8_F#;zsa;b zb^4Z+lu0`+OW&i7^f6fa7%Y7imU$Rv&Sc($Wln}=4uoY6gk=tdWe$X84uoY6gk=td zWe$X84uoY6gk=tdWe$X8K8IyKgk?U2Wj=&uEr4aMhfQfawc(~4_WM@YlPm43bB<+A zr;V)Xu#7KQ#uO}TJuKr3mUSPNu?EXngC*a9CEtK$48oFoz=v-(^>WX+U_W!csg1p# z_MNx9G)H4E!_3LFk@*u=+ZuaaUO#8!ca?AEeLvu=Wyv>aBRK{v^C~R!DlGFVEb}TX z^C~R)2`u>uyyf;B4oi*!OO62#znx>il4HP=%LlEc7~Q^AsJ!7^{dDTkVR1$VEt*ZG}cjlDtlI9_({Q}4Yu*4X%qy0JH; zYldZ+=XvhEg`0W#Q&-!#J9GAT3Ee~#AZg!Aw!!o{L8F%p1 zDT7n$w7g;4%UVfX-bYITc?k)dn|YS&8}O~CW9QmT&k|giyR->bt8JKzT+o~T#Lr%bR6CNdZc^D`SyM9 z9(X1C>NbvhfAmfy@p;F`_nwJX zIX&05FIec^$RlGMFCTt78vn_E@%x9)v~4yGI~DzU)f~&u?>QN*S;FxhEl);owVZ9^ zwd$OV&YU?b;5q}`b656!EAqe7Gi-d|t0$wonz;Cew3E@~3>R;5vu;Gc<@g={RJ3R% z$B+FQi!AwVx_xe==4Yb)XE=U!aa`oNIgY24Dj&J)RmXSyaV8oW?D**u=c2=&b!;@I zNVnXMFTHm$y646;`T@7|3=qsn_}D3hyVG}anCFNMqhp0vH8QwaZAcLo_Ofr=;zxe z+xC~Mm5M9X!SS!p{2Sd@#_`<4HRI;*oMhXaJ9H~LtDoaKZQI3}oYKZC*Z(`(<^jjX z?iIKC#6%l^y!ef1v&D|Dy_XVKeu(4W#$S!*{mya1%_DI)nmGRPQq$<5W{wN^H{<3s zbj-ZbDsQTNO|v$o%)E1_W#*Q3FFMZk;-zX?J$KmnhrKq{7+k{ffv4VzD|KSKjUQgw zJ?`Vfj>lFlr>Iwed~EYpJAvHd-G0z=tYVt+kfl7~WR(7`WW>mtXZzWzR0Poa@DJ zQVv{6vHaR2sWlola@_Jp>$nEbot2R z)g6C0zG@`bLialBhuo{)yXNMEedh|OTA7ZwG%lp7O?SNhSYh>Cd&hl$ctE98b^P%k*ruFneAIofzCA0eWjoxsF8%Xxm8YKTSMw%RQHNW(_~q4A zRl;>Q-fJIwR=wZN@#s9&)gxEk*pJn$r~21$efaOis>$a`_T7)s#7XEPt@RkGh(ppXDtt{j8d-{@!xEHS^T( zah)tb(CKHjyOfJ(&-JTXGyV%3uldblbyq!e;~BGNT^N<1%9MZCa>m1{s`a9mEpLA+ zSv`4NS)RGtQ{Ce$S+22ow0g0?6PC9$Nmu>y6t=wkiLt8tZ}}|`xslrC*`<%Zkh3FLQcoyDr@!f z@nbfgZ<@KWRJ`M^m(tXM(T?jUdja3{Cj@Oq_-O$jEH_alzTnz_(;`iksP6bm_lc_i zuYcOtUv^KLdg(jI-)@?y=KOlp#=l;js(N*C+$w9Ln)E-%9}G-Y9iBU4+x&CyBvtG| z$LU|Bnj0@1vhjjdCaF@x9nbkBRn30+ppE}sW0G21*YVGhNvh~)8*Kd9Myaaq{~V_o z?tO>jflp0R4+w^Fgs!I2Fd?DW?b-MLB8$UQA)!dB1amQT~l{u4Y^;?d!ZUd4fv3%fhtqJG0WZX}@@^ zn)=TQ%a=3KRk;O@3;#S;T^zpL#uHDZtE)8~uj@Ki{rvDU8-Mglx+;>MZutchU$DqA z@%S85gLu`yr&!Ko#?C{{9KY3fta_*OWE;P}CtVHNHp%j->0?!^e2&-8OjlW7OtkSF zhsUaK{Rx)0w@z1WUva#v{5X~5kGJu`52dR|TROh0*EqE|pX2wIYnAfHINPS&iE%1^ zp5uMy+IE}c_}+r!x$%^3v+V5UV2w+uIxH${T>i2TMbp1<`Q+kP=f)Kn;y7{B;kfB9 zJ05iA+33nbj(66~9m%!X<*{)cBhkx6UA*XyY5`N%X>&Vnw2Od8jawRRG{!ym+dGRz zMn38I-hHQ|O$+R@b5zIs9*+$D)^YE+ijlF?vTQutLj_c^FWs6;e9a%3Hhx#~W04bi z9G{&3KqR4_Yg6v-yCccVcevNQ|5)5zuQ+~Z_~N)>x3=4O{&KyeogesJH5fJ}&8(*> zrv}|nd7eC#R%m2O!0o0#oBBlh4ckVTHmS|~q<(qC#f6D?8ZjVs=rI=;CZ1oCQ&3G>+f z1JnLCaoP*>`o=b$_IZ+v3lo2-OEj%g2NxG6e)!*e(=w~OxG?cPy)#me9Zt2cFHHRY z(v4I9?C9dctUIe8Tk9P=aNS=21Kqn@eV%x&=3Tv4<1g9xsR2E`VpSZ^tW4<_E9M@2741{7t%gWp+6JyZ9Jy z?5%Y+{>qzOy(Ss!Eq{Duv}Y{ymOty*-77!C#oKo8=~Zd$_?gOmyrg69xp{hy^7?ui zw*5P$`*|}ycJW_U^!Gj*z1GG*9X`POe*GHD?Pd<});4n-UweReb+CJGzJm$gN2x1q zn|Ve1dp9?&w#-dgvX^$e;GW*z%1Ntiylugsyi3aQjcz}9|K@gFq+VBV;hm0`HZXm! zm3yxAJ$|pNs-@TYfNL{gv-UXN^U{^_1)tyguW z+ea7uagF!d2adN5%@~o94L1Q)|5Q z6C5{RyT<#bnd4U;TI=O2=J=DU-+8@%xn$=VnYS6sGM~dTXTmc7!?H%evKGKH=fkpg zz%u{CGXKLe|HCr>!!rL%ocSM?`5%_~AC`R1JMqn`bS{T1FdLzhGIvU|GLl**C#`FS|V#EPE(e_E50w z(O}t&!Lmn#WuFDhJ`0w87Cia(J`0w87A*TLSoT@4?6Y9mXTh@1f@Plt%RUR1eU`-8 zXGxrW7A*TLSoT@4?6Y9mXTh@1f@Plt%RUR1eHJYHELiqgup0v3$|7L5WHjRF>p0v3$|7L5WHjRF>p0v3$|7L5WH zjRF>p0v3$|7L5WHjRF>p0v3$|7L5WHjRF>p!t!m60v3$|7L5WHjRF=O6_#8JmK+S0 zJPnro5U$kjGq2cVw zOU_Jt$&+EplVQn|VabzW(R*#1+c`5VIWsIdGb}kXEIBhQS}`nIF)Ug!ELt%vS}`nI zF)Ug!ELt%vS}`nIF)Ug!ELt%vS}`p3DOhx4SZYq9MbgA;Y2}!=fR>q9MbgA;Y2}TfVI!!=fR>q9MbgA;Y2} z!=fR>q9MbgA;Y2}!=fR>q9MbgA;Y2}!=fR>q9MbgA;Y2}!=fQe91R&34H*^<85Rv0 z77ZB|4H*^<85Rv077ZB|4H*^<89sYkLxx2|hDAe$MK^{;6N9A&1WTO=7Of1H8Y?Wd zR9I@Mu+&mvsineFONFJD3QH{&mRc$-wNzMYsj$>iVX39UQcH!UmI_NP6_#2mEVWcv zYN-;ZmI_NP6_#2mEVWcvYN^81Qemm3!ct3xrIrdyEftnpDlD~BSZb-T)KX!orNUB6 zg{77XODz?aS}H8HR9I@Mu+&mvsineFONFJD3QH{&mRc$-wNzMYsj$>iVX39UQcH!U zmI_NP6_#2mEVWcvYN@c)Qemm3!ct3xrIrdyEftnpDlD~BSZb-T)KX!opTbfzMPn3A z1D5(JENdk!YbY%1CVb(g7T(=$R$DDmbROceF2k}e!;)jel83{RZ^I`Ww(!2IdDgzB zrjrS6s*Y9+| z|8_d3@q!YsIpeg(s|jz~cv|E6gu9>oL*o;Jd!4$V@t49aTJ6(##^AvvE^EAY@Q_#b zX#8XFix;nGym@eB%5II941O$jRpaY}?;Eg7~aY<4uKk-?dreD}!^L+n{fBnP&OJHtRLsOX6jg ztkHNZ;f__#XuPa&?v1N79!q#~!YYkV5`N;;aPoW_d?-&N_H z#_t5jzCEogrnv8$tMMw0x0Co=Raa{~pK!{QQyQNw{Q8yE8eb@U;qpn1=N5i(T!zLw z3OD`yq`BtqGe1^xjmBR}+<4_R9#r_NTqiZYTzGHV8ja5rE}MBG_+BtxL}`Ps6^_qy zQsY;IhxK2h@%X{x%dgRR{NVlVPHMc7@Sx-jjo%MmcK)QsKMA*a_LRoo1;>A!q4AZ$ zc?za!yms(=6IW`ytnil16&f!qoU6QyWxaVgpG(I=@v+u5Ie64Wr>X{lJ z8hoaErpA*D=l<|7jo%f1Ia`*-w+#RCd6ve{4F8jqrSU%t<9~)5&b_Sh#KO^5SsE`W zygE;o#%l^c+bvV$HHB}^yr}WY!e9D3HNI2$*xx%ezEj)2)((vq6rP)7o5u4DH!YN+ z@esnhUfC9W7vp8ocpZr+b=a!$MZ?pIY}NRp;l@X|XnfJactl}y7DeNqgf~C9RpTRt zi+10t@t4Bw{@tqaox)!n(i%^udcKGa3&taihs;e710o87Bjlv1V>09hET%%NzpB7=&dE!ZHS78H2ElL0HBhEMpLs zF$l{Tgk=oEG6sbigVKgE2+J6RWembH24NY4u#7=i#vr^T`IN?Q3BPu7wZ`WOFKBdH zW?X4>I!=eo$|0*ow7nbo0%lL&~-mpUBS%n)VFV*;9;o5^%nwx#Q?{!C!6pfFU_?+i=Xndsb z>N!iz@%wno9eZv!V`8B?(2A+Y2pu;e7LmdA1p`98JHhg90PK{3+mNgNUH4&CI5tcO( zmNikBH4&CI5tcO(mNgNUH4&C|5SDcimb@C4-){Yo%|TuY%XfskcDbtY+rzR}!ZIho zTq~}RFxL&1c?OpG3YPg3mN^!dc^Hmfsha{1cY>AC`O! zmiZr+-w~EP2bSL&mU$AExe=DR5th6Ho={?mX0Nws^{Z(|3Tx{dqiw?foZqggS;I9m=4rG|*ncN8xDI(nT@9{Pm))6~ z8Zm8-Jb6`9PlN}&m8GdE!#$I;G&%shckEx9+9I5`I7?HfhL5eetU12`*Bzgwsei$T zKFHG4zu@Qp$kf!|;jOVuP5m8i^6o`V4H4eZd#9%U4!@ncBls@=i_X(%v&0+EnXA#k z;Kv`HtI@LHl)iH`niX99+-!|D1wU5mf~GDBZ+mODMvsCU%$=ptpy2JjCup<___?7I zgYWyrvlBI12l0*1Ptxcl@Tot?Ycvh`r@fOjx(fX9hvPMxhHYPavPOr2JKPwj(KIYi zovhJq;HKlpX*3P^&tsD{nh*T+H{&$=2K@cMlQp^!+@$q5jn)C@$TmfzBf%N%$7%FK zc+rDX__IDX9&0#7qf-$-zHEv{zk<&nn4;0R;J=zq)#zaG*jrOIx*7cXglWO`>9G2s zrhZDi)`i2Gx++|^z*+VzmS3KER8xB;es`b!ni?zIG;NQj#tQ%4=66kv6@D^dm!`%F z|J6B5Q%i+!mdVn1IpB)rvNT=}Vf-HOoL z$egOt0Aa2h8Z3O@H`6paA>1{2nnqWI->5lNqYc8VyeS$z5dLQD6pii&Z+vNrM)!jY z<(;C@`rujDCTsLPxXb0q8XXU=(|?>sYnh@ zZO2B}Xjvs0+jT?RbwGDBQnPibw4jZghFLM-3F7^+t+E ztrNa^YPd%Y6z=j`ibvg9+EXWme|_; zqgDuSn&)}c6XAc$qy8_wQ!iAU`o9y2q+qYe)L^wbiM+C7}-+9Hp7J=~^fqDKuK z&g!|)qh1gHJtfJb<__=Aw!oua4>x)_Ip7OR%WCRJ#M|DR zr-q+M|J|dO4gb@1k4L>5esT96k6JlA_23?l`nWLl8o2C}dp&A8@b!xMHT5a@kAL=h z)PUfY_4j+!hT!t;_j}Zj;IC>P@Tf7tZx%c0QNx07wK(Kald|0UNDx1wrw8-T{iSwl z{Asj#w(AT{?E~&uX{M$o0#DyDQ&TH}H@BIksi(kS+?u7SxxjCKzfI#|ga7(rwx&h{ zU;k^irgj6jZ#qX)-+`O2oTI7xz?+NA)zpUIXB*Ge)QsSfqvvYsN^twFb2arQc>DFa znmQC*x#&DieG2YZZl0!Y1-Ga&Pg945YgL-3sqMm#m71ri`ND(lo~Nn9!rvX6tEt1n zH#cn7`0L=dX>&C-S-4HFx!U`)u;q(&=4xuP#FHn_(bQz&&Ie~}YO-*`U$ZndS$Ic& zU*kiAuO6MLIpYHt?>19YlZChBnW?GC!h?UFp{dEj4RX)W)MVl4tCNg&RL`n))nUxkztKO%`s^dzPkd4rd(g zq^ZxsFMKjlQ%8nhtZluc^txS*;Q^HDcI&c1=wdo>rxlrVa}q zJ%6{R_6iT&bKIle3V%`ks7H+z&VJ&MM~xM}wBdk9T@_w%YQIM<75=6EK9Bk--0GFR z9(7W<(VjgXwNYU_DsY!Rdpvw8aLe7ldw5acUv}^I@Snh6&e-kYIe`x~+~wgjf$#V| z)5BW=GiTx_fvfy>Qsa+;&EMV7cG#s`1!|nKqNIT-A8&i3=0o zaP6w8YYeb)Vd8U2UDJ5%X)jFtt;*Ll9(&@##K)gms_{0%e#TObubws%hb2y%*-Mvd zJodzei9eIFRO7KHE=+vP%%vvJZ)xMg#9Q=Ps`1#8#f8@#%jmMt2 zF!6``Ezx-Fi3<~7zGf6~`@JKl%m&UIMFO1u* z@gKr3R=BG1H^MX9U)6XZ;h(ed&zGCrLc{L9OxU zz_tBz8m}h&&I{)?9!?mo25%?))0FcXuO^&6?!3lx2>Y$iYkY?A%^c@7K0~-_-*XzD zAzUeXPE(hJvwgctEvPuJJFy z^Divd_?qB+MN>2$B>3k$QZybUczo9t8XpvF&adhp{^xki*QYhUQ{sz%U#0N?!$aq+ z)_8;A5_3;!{HXBZFEcd$Vfe8er_3JKeaG$BGBkc;;w}50)c924FWRlqc#`3yk|#Bu zRk*3QM&nzCr<^)ra&q_G3uUg+_?(G{m3tO?W`nH5y+ToV@a+#@h+Mx+Fv6F@p=%Kc(@1!gX3@XlmSW>GyVMYR!z<4JkV` zHE4M1&pS1BXZU)(OtcO=Xa1)f_#xfE59tPeNH_39x`7|k4g8R9;D>YrKcpM@A>F_a z=>~pCH!z<$&<*^MZs3RX5I>}c_-X&?34TaV@I!inAJP;2ke=X&^aMYoC-@;f!4K`7 z{m{DOr~S7_Hs3ecJNs$><#^_L2DzUf+PC_l+|Li?etszT^Fz6xAIkmAH3@P*Ka~5K z-!#bm{7~-ahjKsjnnCVoK0}cE`Jvp;JU7Vw{7~-ahjKqZl>3==C&>N$Q0~XImE6w{ z<$iuB_wz%!pC8Ko{7~-ar~Q}v`Jvp;59NM-DEIS2xt|}({mkzkC=WEhSC9w#p*_2w_TT=|wQ>7vGhYS!Zqvtt zeWm%WgMFp>ErNZeAKF)%IVadx`k{TLnM;FxrDM0R^h5hfGaiF|rTLt}zS4a6U|(r| z(_mlehxV0zXkY1v_LYW%eWm#>fwp7joIvyOLpqPiAp@Pq59vI9NarzQIna5`ra91g z{E*J$hjbp3HwHS7AJTdJkj~?WbRN?O0-eVX={#oa2Re`G8-dQ_+B==ce3wAy@k2U~ zAJTcu=MQuqKcw^cA)Ut$={$Z&+wntsj`@uOJ;x8}IetjbF~3)!=a}&x=r(>xxA8-| zjTsk#ZsUh^8$YDm_#xfK#hq^BhjbgWE(E%bAJT2id=lt3rq2YrjTygzZo_^-bQ?dU z+xQ{f#>}^YZe!+?K)3Njx{V*wZOm^J=r(>xV>jzXpuL;n6CHyr5gen@ZkLwdU((%b!z-frgPKyUX$db^o>1HIi3>FuTu7`^>K z0rYl1q_>;z73l3|{SEYXKcu&t&lza!W=#wE=2ITDl+7(#`7!TDlo8 zftK!vv~)`ZrKct_Vu^;H?en>y}L;ATN z($CFr7wG4HNIy4YKhV$3cn|b*Kct_V-z(71{g8g{r~Rj&o6jHU=Oz~l^mDVW1^T%k z($CH71p2uj($CGf2=sG5q@SDlE!el3@f+-C{m>rPtOday)(`DrO@9vdux2d?_OO0v z4{P?(!5-ER?P2}U9@dPJU=Qnu_ORx=2YXmQw1@RWdr1=y_L63v5B8FNXm4xQf?#iJ z@~B{MYjWmbZ|jHlw&ofJds~wq27CXoCg6wmyk>0*_Pi!%3--L``ULw~KeV4UI!Umf zHT^u;&-$VLte>`W?^%uKmho7#*jbIw7UsS1>%zUwJ{LbQ{9ldOPutafyT(IHe9y9N z8gDK9UwzpR)sg*B9oY}nkxgC^)RFyA9oY}nkxjn}>d0m<6V#E-d=k`=O}6`czwT;{*B!2T@U+J34*#d!neljA z2SfK04+bn_3YKdQ%WnbK`eB8}Zx737fJK*pEV>6Q^8hT~5?JO6xX$$+M!y*0Z7HiYjAwY>KF9c?znJM5-}tTz z%WNAw#uHS!Wqim>H#o+h{Nwko4Zh_cUNgR9^P2e28$7?lG9K@xxg6v1zGIJL{OU`; zag3*ZXQS1&J$~~rz_pPF&XGG_#ieRKR3${IHBK{hA$uj34GLK%i%-M&9gWYR#-eKGX$N1h=9rqjIb$@uDyKZ>hU(Vs; zc;?^U<`^%1ou}Pz$9V^H3sd|0oP)?QdxK@pO1xTolV#3X9N+60U;S4J?)CBB-~FIt zy!tQAcfTWEV)?B(yRq`=O#3>V?>JpQ%Q9y`($4L2?`6)36e+aFGG|Gi9=gvm=Tlk~ za{UDF{p}OB7@q+I?GsE>yeEu`v zJ#Sx!GXi-(xM-QP22W>meG<=na^bBuj+egJJ6kN{w=X@#eJ_0Y>&iODpZ~)O_r35T z%Xj3wK;z@?bvQ?mFmaoG9nKe&_}YC(&LDhR#(hW5CbXaLm@^A43hvaAcaEpYb%Ukv z!P19exz4a$e^`DO7_asCMqBJ_;=wLkajRu~+P@!jj0g46v~4zy2eo9k?Up&0!EeOt z$nOHn?*hy30?Y3L%Nha88Uf3?0Lyv-%Nha88Uf210m~Wz%Nha88Uf210m~Wz%Nha8 z8Uf210m~Wz%Nha88Uf210m~Wz<8?px{$hKr@UrfC#xWjOVf^z(Te5BN;XnA5V;P&g zj?53Rj8j2I*)nXvR>SaL#G`ZFx~11#$oEbAI9>z!-w)rIRchEk55|)zj1N=ycX2#~byhgW&-vp8$AgWBaMo*s>~ryg#%4RlLs+Qd z&o+*CG}}zacnF)mHrU4Tn*MdxF}}eni+{0kys7&d4zY}HaM?>kE#qs=`ol3E!cu?! z7k_``G~0&wxG|3LzCL~DbQ{NunE2=n%lKWpb##n(abx^U8^`Zj?~r5sjW7K+%f|7$ zcDaAHW&DsC#T?^zUDwbt{>h8?%&~3ozWP-ib7TQt8H=NFbGZMKY$Zss=|EpvY1uSG7-`Gs@YezS4T zDg4{XG3OC(=5VjW8H8=C9OF^UShvl#=M2J}gslPJ+0@1H_Fs8&yN%<=UeREOWzGWh z_|wHXBXGXAi=#O=*y0#Z_+uL#ZBPw>6&#=h+-SsQB4d+VGLAjosm55$z6Ge7e##jGD>pv{xtG}3V&@x{7uirUr8QN`FA?T%er;_Hrw~`ySDn#F?C5{ zwEYgn$Jpm`zCf6|K*9T693Oj|Dvt3~53DlRz9xR-nGZY0hg@lfW4zWSciv{>Rj%7> zo^6ls+W4U@<7bZF=ok<7t-|wd9M3aeV6HiS?2h#vQ0XF8BV;h*~al07c2IgWxR+_ zy}HFRe&Yh4IL5E|PAA8Bk57KQ)waRY_+%%?_>iYQ=&nD$$JpbJ@g(Q!-6C+-(`3=bAo_@h~sDXOE5J1+AFnn0TR-12&Fdw0`G5EaM}6>G_inEaON0_rt1|@xZGmlx6&@Clc#g#xuXcd(Sc+*MWsTwT!QR z%#1HB>JB?@ALexhh==Tk3ZYqGTzz)`X|fy_G|q#$TI%hXBQ20apTe5cGCt?m>(6q}HU8)Eryb*q9$9g= zjpLUt*~~GX>hgmfbBqT&bDd+n*%x*?#Q*nNS>}A-`q?hddBArw9CLQ>r*WHY8_xH2%yi5dz~#!VYn&Mzp5~ajeeOSw z@o%5MzQR5ie|XO&Yb|p=>u@nQ?{Owe=0nbN6@1mjIm@%AjbqM#Ju%)fXL%ZIba~&a#ad?3i;;6_XuvmaXy>$DEC7G}bX^reX^m+jDKV+i;ex#R?bajMZOf zZa>$YYy0BPN%k{v4$EjOmO0}#@^iXNPISy!#h^sMt@3=MA zG3PrzOn1!rjv8AXb3Th4wRZM-5j^%gUb>=({(3or_g)ykeSwZwG;M@wgWvxBQ7$e_ z9KU^+u`Vu59KU_z^)4<<-1_aaTwItq9{bK;F1GKB_uk~b_Ol7|dBSb*+ke{FwGpNb ze*2@h<6*{c|K_{y^@Vv~{PsmEySOlM{PxQ(EV7?Rm^gm>Ey*q}OdP-cZ%?_nu+581 zP3_|2%WU7k^Ss-9FXH&3Q>Hq`FP)z57=QKom5%XgUwd$gZI8!0F@C9Kyw>{?(k{hIw7EaS1yd2O?0eE5^byZs3M{G&^^ z+c+NS*IT;JgXe!p1(&yTE}&>r$DAX0VV+~o8a!is5L{2rEEMnJm~#rv4>`t|!8n6m?IcV4k=@ZKM(e8w`~`~8PcTgIP1(|9X*FMRt~3Z1o#pZ~-w zj`8_deZw*5CSDzR*|y=V#8=xKb5T zbM|4&Hplqei#_G86`uCj*17M3kA3S<$9Us2XSg=_=QlMtVP6x!z5n1z%baUSJmZ)% z5t;9tvT@E(R4nVhJLfFA{ppzV4wu@w>%e)3>?a*_-r;Xko8vQcreN=1u8(ovq}{j6 zZJhH3O;)%#=Ml;@a{ZQb3a5W}%=v{Qz1?`>jKhIf+;chmFt_*$`#PLe>9^SRNzMzj z=;7j=7pUD}rES9*fnN)|Hk=FSIo2^}0fs$ryAK=xKQ&XvuZ#;=J|`?=2bS*z%lCri zyTI~YVEHbvd>2^03oPFSmhS?~cY)=*!17&S`7W@GJD76~^1Wni5|?}l7M%f>aSF>g zwej1!1S~llEIAu2IU6kF8kYPG#;Y^%^DXu|HcbIR0z_LcbvPQtN zM!>R0z_LcbqEo@L_QA3y!m{SVoJCr7<+$y8qH7VygLMDG6E=?T=)Cb&5y!Jv@~mUL zeCJo3vT;0qXMQ?uS=Lk9%Nh#H8VbuA3QLX(i;fD5?h4CZ4;CHFwz<9UgJs_bi*5#s zJ_gHv5SINQEc-!N_JgqO2VvO{!m=NPWj_eZeh`-ZAT0YqSoVXk><3}l55lq^gk?Vn z%YG1+{U9v+L0I;KuTAho$ZhOWhxqx<4#+e~DA~mpFBQSnB?;)cs+p`@>TA zho$ZhOWhxqx<4#+e^~1Nu+;rwsr$oH_lKp{4@(^%y-~CySZW-wj6qn&AS~k)#&3@{ z2+MecMSp{3%)*j;!;*W$lApt(>A{kR!=h!ulB>hA*M?<34$Hn9mVGxYdwE#uGO+CH zcjmaD@D%MY^`bd*bXMUzf+u`%R^dB>`xHK_@HoNm|8OMWg4Yf!JZ8ijbU3K+p1~h? zyrl4D!O^Sx75+51`Lrtvj~0Az`(A~I4KDuuRfR_jE?9Ms!siCxTz^gB(SnZ``CZ{t zg@6C%y27Ic=UcH=;aP>(^trC^Wx>PVKCkdZ!Cw!!uJAa)Up=u^;mw2Z`{kU%Lj}(r z`kTVP2k+~=Nge!dn&rwje1#{I_>C9VDSV#r>-wz1uLbXKkfHE`!rjVbD7>TaKRZ_` z{HX9>c~>Yrt8m}sbcL@H9`Mh3gO_okdz_?=+m%U6Y#xbM5~)M|yVmG~3OG8Dd6+otLng+C20 z(|wJ?%L=dk@wCFj20!%VT7|C_u72s1%Kn)9%zw{VtMIrIf3eUyg~t_MKJ=8r7YEOO zd7Z-V3jfpORPeoEe2LNq?OI7&r;T{<)6kb{Q#fmEx zURn6@87me3Soov!D;1tMcwvs~3XdZE$?7bHCk0t0KRj@k!cz@@ zercD&Qw{HUVz!ZQgMyt+%_JB1VDcPad+aIf6E6h2jWTlLEdPbOUZ z{Vau-6;AJ)sqnbk_8WI9ysvQYU$!fJ<8bvc=3eN=LkQ2_u|4=MFC?TXJjuk{-ML-i zIfs83zfIvqhpV;Qrtq!{u7~<8J;+4o5J@CpUJyj;roSO8L(a9`-N+^S*Gwa zTduZ4;Q@wMUf-ec0KH7-@*&xd=N@q&*OPKubnxoAB9@aqM3nlX~k^12sx zC_JUaWlX^`c3>Ghu#6p8#*Q#!2bQq|%h-Ws?7%X1U>Q4>Z;u^V#tzJPVeG>)SHLo+ zU>Q@ej44>g6f9#3mN5lOt^!LA154flOWp!Y-U3VB0!!WkOWp!Y-U3VB0!!WkOWp!Y z-U3VB0!!WkOWp!Y-U3VB0!!WkOKt#5ZU9Se0DnL5y25u2OKt;8ZUakh150iLOKt;8 zZUaj`14}*wOFjcjJ_AdBB20b)OMU`NegaE=0vCPdyuzCe5AA$TS^u`-J046`c*u#v z@*P{Yysq%26PGm+t~(}E;m3wIHpx=>v|(8vVObwxSs!6pA7NP^g;^hASs!6pA7NP^ zVObwxSrcJd6Jg0k<3H>f{C2Q>FZi8Y*A;$ySk_8d<^))-i7?j+mU#x2`3jc#6P7s^ zmU$SKya<-L3zj?tmbnX-`5Bhq4wl~(mi!Zz`5%^i43_yHmfsGRJO`HF7nXSvmbnp@ zxe=DU0`5F*sba5pe*BzB>X_}UW^^YquUhqN4Vr;ixs*S zTxjVch290v_+-1HE(zCvX^}z`gSY;+P@$EJob;Q;5r;Edp)>TZ#UnisMXrnNx7z|f5A=m?NZcj;f7^* zD{3Ne#fsMy^)h(K3%eC{TUfvSm!hTyKT>J8qK*kKJ+ezt>x7H6+NEr5)bJEPOHnf= zUhTjoMQsiqS1?OaV};AUlo@=Nn(O8(^mF3RMdmB?cKGjU^A!3#{LB6G6nZ{pe47Q3HajSDK)xi^2Mvsfrp9 zeD}ZO6*V>Z-2qb-H6Yvm+IWSR65eCt)P3NjY!ei9H+aCLsV1)|V&nH8o2sb$5Kn(? znxfVNKi_(qqNW3HJUdNM(}6qmo35ziz>ij*5nP{oZyr|Ee~CZP?Wm&u3ztkj$DYM< ziR#A`wP4~03La3@k>MII?^D#5;q5o}DC*R3w?}_h)VSeIckNc3JAk*&-KD7Y!`T<@ zQuqOcsr$oS7w%Gc1K@t94YhT+y171Rq0)x>JN#vIm!e(|Pj5P1QMZD*Zqy>-WB*K7 z)UDvR%g#{Ls^HYRGXs8X!!$)*jQGe`rYY)WaNUa26g4$?{I;ozx*L3Q#8gF{4({30 z{1(Q~3BUd0R7H&sE>>iMq6P}T``%PVO%Oiy_5?*e6mECNR7DLD?z(7#q89OsaZ>V^jP?8*JV+(ak%u#Wl{8ScyaUPQFL$k(EBT*Xx;Fz$t$Ah+wkKD zS4Ppa;Sb(j9Yx26Yh-3b(XL@r|Bs?|!>2zVqNpFiQ@_cGqIJWI>-9Es=1j|{zWJ83 z9hM*M{fVN6MVp`YW<=4z;eO}pC~98t@w7crG;r9QkBy?Y!!LchB8nyt|512Fl)rTk zXGE4q(e~jN<}8b%`NQUZMp5bl@LRo>MbS|uj=l=-c`G@JUJYlDEsLVT!gcm0N71Wc zvtNs%*}~JjQBm}2_*?U*xY2mwg8N5D(W_zeJ4Dfh;bu>GQFLQ??Mq{$XxDI+g{e_= zX88TAaZ$8uxcXBmQS@qfX@~IvkKR&2Q7a_AUhRug7l7wZ-ycQ)hnJoEBZ}q^cRzC= zip~#zF!Nv(Z698e=THl9SfF5&8x4o9iC!mGL+ ziBe;Qf0}S4N?jE`{MDaP>Z;`ij9rKpd? zucyvZ)W_i;8_!nM$Ki=LW-IFBu({`pqCO6n&9g({m4Y|kGgna`hkxraS5Xs(Up+fl zQ3r>k_2((-;P9mJ^Axpj_@2}A6t!=-ZTb0%dN=&)C-W8cZg^U+`HC7h{KNS9iW)ck z>7x0H8aEu(^A$C2xM=EpMLiL|Idi_E&Io@te7>Uo2*3Hwd_`Rn-r8V`!Y>EE`0{*3 z?Gj#Az_d5_9EaC!nWw0A!e2i!>dVG?i z)(l^5*hNv}hO_pxP}ITUXPdpHsFlOBt|lpJ*6?ekBZ}HO{C?dsiuyY|G zVGzdK0Pk3QFiL&Rw$FVqN(~M^nfpMLIvu?B_dm=n$sE5sXn&M?AMu8F?~76ggzre- z^Z)Sm7SL8zZ{PM_wHMvp-QBh621!A>1SCYILkR(C6qRnJQA$L*Te?$1x*KWU>o+;; z8PE5QcYMzt>$-k(odfKB&faU?^PbcHQ%dWG%F&wAALhRkRDPA?rE31QJqE-mrL6t- zlRFwLEL zFC*Gxuk%6H`Pp^XMYNY*xo_Wf5$&N$d?aPSP8I@1R zdKl4uMdcr7oQi1Qta9DqCnDN^tNfq}$MzrTy zx$@Eb5$%ms?lx~zM0*mHlQ(=6(H=<1r3v+-~f; zi1vOc_ldSWqWu`k@A*vWzx7al`1W2zdr+0fwBH%g9&hE2C3i)%$6NVH$$Js)Syf*5 za#uwAy_MhmaF;pkhu64h=15%udXx&-)(CJg^b(m{r&^OTeLQ#DK<)Ck%9P|y8gT8@s&^J&H`Uc8D z-#|I&8z={T1LdG^pd9oKl!Ly3a?m$W4*DU=K|e$}=qD%#{RHKppP(G{6O@B~f^yJL zP!9SD%0WLtIhZ>u2lpN2V2-RD%$=2k8c#WxZz>1#R^_1fQx0lB<)HRc4r)K;p!QP^ zYCq+m_EQdOKjonIQx0lB<)HRc4r)K;p!QP^YCq+m_EQdOKjonIQx0lB<)HRc4r)K; zp!QP^YCq+m_EQdOKjonIQx0lB<)HRc4r)K;p!QP^YCq+m_EQdOKjonIQx0lB<)HRc z4r)K;p!QP^YCq+m_EQdOKjonIQx0lB<)HRc4r)K;p!QP^YCq+m_EQdOKjonIQx0lB z<)HRc4r)K;VBV@6)Pc%D9jF}CfyzN0s2tRR%0V5d9MplzK^>?Z)PX@(9jF}Cf#&<8 z>Oke74pa{6K;@tgR1WGu<)98!4(92~!JJV!m{ThUb8Y2dE~y;MC6$A@q;fEqR1W5n z%E4SxIhacZS#wF{U@oZ~%q5kBxukM1msAeslFGqcQaPAQDhG2(w|=+m(ZUyZQd8e!FteZ&wcb?aD#FT{-Bt zD+m2{<)GiL9Q50jgMPbm&|_B)dhE(UFI_q4r7H)$bmgFzt{n8zm4jZoa?nc;vU=&t zK`&i7=%p(Mz4YLF)Jsm4msY zIUhBbR1W5n%E8=LIhflj2XkBHU~a1%%x#r}xvg?A_g4;j0?NUhS2>vTDhG33#XGSVvY4){&Kib!6pW9a%Y8M^+Bjk(Gn_zH%_%R}Ojt%E8=UIhgw^2XlYr zVD7IR%>9*vxxaES_g4<){>s7JUpbijD+hCba#SBcIp_l@2YmqLpbwy&ebTOo_PQ$#iL1?v#T*nEHOf9t`E+Go>8-%$0-Rg>tf(+auabB2_R7I$UpeS&DF@d9<)H7O9P~YugT9Ay(DzUdt^>-!-V){D zTA|#kT#=CeZ%`Sd|H1$NI9<89)vVCdbfJ(HviUO>hXY+ko}tSbn-mWDhA!vBp=cb@ z4Wn^B9E!mxreO@uMi0ee6x%QsXJdxqFp6s!hqJLm@fgK7jK|ryp#+Q)8YbXu{7@ot zLc>I%#N;F}kztZhQgSkw#4uSXIXMMPW|$(BlAMa1+AtO46uhR?yeiS*Y-*lyOrE6} z=Jmwn;qk2WoIPG`Y#uhxO3&Hm&&B0o@vQWmE&g9>*~j7aJ3Qj?JoQ}T@#<6Y zNWkmRYe~SXPst-OuTrlxF|R&(C`~ABD4k)NPKd5W2MJ=u6< zCGcLySD8Qo# z&#wSKfz13=#O(a^^b^d^tIxnACqGyHY;*GZ)9}d6Gtt1lWV6^evP8%k4 z30H=daTQoKR4r89uxh9Vxdyo=tcgE@AK_ZC7Oo9z!8*ouLUoPnhUyvD3)RQ<8GQ^t z#tmQt+z>XzpTJLWBiINxhIRSdn!qNwDQp6p!DhHQY>r#NmZ4Um)`l%ZZOCoNpTbXZ zTi6!2gY9s8*dBidKf@hh2iy@h4|NK4Hf+w{tK2E{IqVF(z%KX;*ad!R{AK7XU19cIX%5UqZhc z{~DTO{DE^r^FniZi1Xn*xWITpXrb}K&?4hSp~c3Fc}4oZQK8@9Z}@lkJ6-~p;H7XW z9s`$!mWNgtE(`rZUJh5nmH1EiCtd|t;lJQ2xEij;Yv3BZ7OutX;5xh>u7ewlH-t7C zZwzh1n;30|oADO71#g90@iw?Uv?H|BaC>MMc?aALcjG;958ey+;=keFcpuz{_rv}8 z06c&X!h`q_JcJL!!}th1f{(&uq2r+whQ~rD$;aU-cnY6}r{EcQ2A_pz@i}-7pNHr1 zKky%X0saFo8ea@u!j~9bhL`cb@G`stui&fjD!vA<;p^~5=w|4a;f>I3@=bWh_)h39 zzRTzyyoc|@d+-5#fFHsK@DY53m%&GHh4G5eWBi!W6ZjZDHGUd;hMzHd4xhpQjQEjcv=p@A+=mdXHVp zGxn@)jNbDu2r~{d+6i|u-bmUBeMUQBG~;MibmQn&4C5G9Oyii=cD~EuUyH@RF*UW~3a$(%m)&DJH-17?$qAVhr8~4MWi_-J8YeygwRn zr}iz~wS96l%jcncx#(LPxle2~_Y!d<*QxI~bdM1?aOE1xp?iUo%?9qcUT08K1n$9I8#khkP@eZHx3Vh-#VDW~j zc5cBNTnS2Z!)gBi>|m%kXBXfR*36%l)CCq0(Hg5Ctt=Eecu%a6#*y zIVaxZ4lVk&*t8j(fY-3c1Z8$jMlH*2SvSSf8}17&6;EQ zYe?_fIiVaDT~IiOuP7Jd_`n=iAi>j z&%6yuReU?&F#@t>AcK@^Y%~2$frek@89^Z?T`L=DwkZ z>(7}#IaJm4r-mC~*xyultEj^VaBh&P?FLcVeM=Tq<9*99IEt$E26NA^WL37_QUg>n zd=si-RkFl4R0dV7D!lIUhE=TB{4@qr`wcN1Y^ua{)bB$$H_X(8!>9;{lSS2r!#PGo zQ8nTSj*(H^LX|j@qgE8RQX$mh(A-Yk7V@l*s470fqHAgP=USQzimvsJdEq-VM-<=j zTB>nWkK)@ty$gL7ph@>plZ$1HZZj!3wCDg>K?)Px0O8%W!psIf_hpOehW-cJ^4OO$|@tkW~H7rrJa!u<%=p*X` zRWpBN9Sqg7#6$Q4r!v2(WliNc#60H^^P3M;O+AB3dWNa0m1dHU!Xt)9nfc5NC9tM2 z5))XHITIfypz@kb(kv<-j88>2iKN+8To{i^Z6ZmtuDF)wU}9YAxbe)$Vq2P>#U{t0 z!uy$@yJl^%NU`~Cl;U$#o*qI)Qa-C9pUIZYyTvkG&s*|4uF7v*tjx8uDnFNkmS$N6 z`Po#n3UV)*ZtgDAxzE%h7vSET-x3S(x9M*zz;{*TQIPkET#e7OKGW6soLAte#^+zx zfNFdS^hv13=R=>7YJ6_=*{R0AtAD#1@2iNO1MerfI=>gW2EPxvCcg*yBc6v`i{~a6 z;`*<9Kq2l6x;GT!Dych0A+DRcb{67#s%vT?Uc0Wfg?Qb1?S;4>7U%JSaxq55a1mGx z7KOE~Iy}VMR$W*Z*Ms$NeOMoV3_r#VU<2F`HpHL6PjDmH2seg}aTC}CH-$}LGuR9_ zhs|IM;}%v++>%i%*b29XtzaAYsnynMXZWerp4^`N8T<@)fE{p0*b#Svop5K^34RVg z$6a6-`~~a+zl2}nui#g>EBp#}gWYg<*d6zP-CGI>39a54rjudcov)qXT#a}7dRXK3V+3O;ID8loQvndxo|$5 zj~BrCa3NfX7s18WZ`SXIi>)Q(CFG@WDP9Jb;pK2SUIAC&Kj0sDC0vRBgn!~ya25Uw zu7azLS6ge0*H~-uT1M;OTDabLy|n>vV6+i##GBwoxY>BKwZ(Xgwbgj5was`N@9K>l z+pO)dEo=w%H|;Qg?+$CH@lI=(@h)q(@osC6@g8fh@m}k1#n<3fcpYBHH{f-66W+wP;7xej z__lQi-(hqY-hubvJ$xVDgAd>XtRz1)erP?yj~G3MkMR@u7(Rth@iX`oJ~w`D{fD13 zegR)tFQfRvdPRN-U&Gh<4SWsX!ngPxd<);h_c&y~$CM4&vO~5_vY-PU>_P{6(8FQq zLEqT7qv2?bqQmGo28<44!k9P~j0t1I*fxOb8Rh z#5f5|43olSc5*ufOlqgJQyC_;QJ(0xvAaEun8mO=5`CiW{jHKE$vozYr~dy z8*)qgQ!KW$+roAnZ4KMm?a80Pc7~tX9mpNwXNDc^PUOz8qhV+Jb8;8h*|3ZK1^G+Z z#qdk}D{@!6o88^8tKEa#gWMDL#JylI+#B|SePAEl7xu;dU_bmd{2G4)zrp=se>?yV zzyskxJO~cL-@?K65PPWMVEa4rcjRGk7#@@Q?6E{1f~M{|tY|7fnL;Mx~0_PadvF94k<>#aG-`exwJUk!H z#|z*B+#4={3yl}ri;Nf9i;WlCzZw5#|Bm%1m%w>&DO`$|!KH9HT#kpr#Z?|_CZsW{$9$PpoZ?<c_H}%n(G7SV9y311Gt~Hy zebe}+eGA`WbQ|7+ciB<;RE={_>ukC__6)O_=)}0_^JI2 zKV$S9K7;=m|7X82eqp~ferdller3PLP3<>a-NdH$Tlf|?hHv3J_zu5^@9`(_J#1jy zfNQVDAKM}4J;%o^u+VhHO8+n0TCSjkaG---=s*v8I1D}L8~aW)<7iHFU_9e^PJH9|P6FcuPD0~^P9oz(PGaN4P7>oJPEzBf zPBPj8IdLwS3+INp zaUPf(=7o82K9~>Zhxu^%k45mttkaTQn@R)tk@HCPo^ zht+WnSRK}cHStHVCaeW(;o7hktOM)dy08wc2kYVbupayvevBKyk6}aD5Pt$2!bY&9 z)7ZS)CQehQnIkrFn#1O}1#Avm!j`xdYzbS#*0>F94L^mS;$l$5xy_YL?CbP{{W$YA>1+HA{08@j{qX=e01t!%@gO)5eha_F zgW+I21P;MN;ZXb?{0_X?3&%449)6EolUh^7wKk7-RC*eXbUrhc-AJdSspv*JolPY-(&=I)<-P9#` zPPiNH#(UsyxEJolf5W{|l=m^(hxfyM@PP3F=O8}F=ny;z55vQ_8El4+M5U&Tk2=Sk zx`Cxi)LBA5s#hKXPjm;@hplHlV`QkWDUBPDf@ zImuvKu1f8gd46r(`m)}x9>yF`VN8RDx)@^=+qI$-+ou1ZB ze#4@A$~T?v)^*+iqI%BPoo?1u-XWrT(pP!cbhEA)UUt;2z63Ax-ujB9ZuSLuiTB)> zBz3tjIO=_i7kFoWZk^-!hxe+Iy5nczIo{EoNa~)SfoFNAcOC zn$N^%Bz57Z!&7`#+LP3sp9rUOZEQ2Ert^P#S) zf0OpnAzc7sH^T_(h)kS zOQ5d4M@UDlBi2%=tMF0MF*>Ttp{~NmNGIr}{sDCrK0!J~FZB%m(-F_mN&SN>?-@&1 z<1^MO=PX}6k5@b5c{-}AxB{QIbX7iYt#SV0s~7P)N4!X9b&Ye`(luGU%-7aAS1etV z#Vd4HH#pZUU6aLYbXGTU1-@qKs(j7b=G>sSdJFGx#9MS$w>h^hU7N+*d~Jtw*V46F zyi135r*q%ZwOPDRhgH-yT2y~k`JwSc@;>rD=LwxvQP=1v)FV% zN-yZGHixR_UXWhVWo_=fp`$9Qrh8+x=1?`K^p4(Y$W|>UhU|Bovu)LKqD^P@Q!Y8G z+8v!Rmm?o{azvjFYey%Bty)fu!Ph!Dv24|HVk|nVU8vk**{bGZ z*$HlK z=%k9O^^4dIIaK8<6{Dxx2sWhBFGeasPxTYnh}ypdsW=_h2JjQ+1jR|}y4Hscm@^b5 zsViIGQLk34@6?6)?Yhi3MD=v*I(hBd%t%D_d}}+o?T?tTi0TP{kF=G4izfnE$1;i#n<3uNNg1W=5FGF5)Dm^In8hlo>%% zGyXu$5|i3}oW%6t`&N2dNixj<}?5hFS~g;l#GPF;fw> zR?y9fX@A8`M$}ruS59>M3+Hn~tu=hXEGWADxnXBVs}Y{vnHiF(HHyx(A389T61A4m z!LjW2%(O&{)s6Pd!YsS3VH-!QA#EJ3k%(=aR5qAIpk<zua!qH-6t=JprW z{b_5Z;R;8qbH}X}%m75K-K}7DaNJsExX{t+-dbxRGYwH|gyKj?tD7T9KRL>S9Ib{9 zB8_Bj_ovm@(JE@;~RD-V_EfmULqyoGfLu^uDkZDw_38)=KlJ6Jak`WIH{dx zq*R95vyj?pVx@9Y8ftGtDklXwrC|!EG5Z}FSt;n?h}sj8f-X-ZE4g7FN4q5&T6yRY zi4EC3k;iFZWu?<3YHvkWdTb4>IEJwu?YgLM#isKnYA;4?r=Asyj-04H8lvrJ*M?1U z9p#U0?dJH{uFE;)`W)i_cil$oId%B1)pRA_7_PRHyUjUP)6xErTJW{i^d{FBt~OoE zHS{Rga^@X}x|VC{Os+FrYr2=~8HXHkJ?G!s7FpfO^`s4)+lU=U+(vlK`u*vg#q{_x8ZPE*>7A2w{WBV#r0>6& z&h&5e{lpXW|9_(s{X0oK!)n0qbe@31)kP7tvNF~rajY|w@%K<&m6@bj_Dnh{vq)lVR$V?&eU^zF zt;{;i2YzX%aKB<5EQPCHN(wiH`-8LCO5rZHesKO`Z^SsL?#f@J)$Eb@5vt3wnzY7R zZT$?@Wm!X7$6kr?P~Dbwr1k8Xm;}{jSx?%;UWv_kvLkM0$HXK$Et@TMT{c@&oGpBH zE1v3zTiHi3#o1=52P1CdYg3)=mU=Mac6L%sbJ|%moSBC0*ikXV`P7=pEM5GR{S`Bv z&X(rvVrO;?opipiG*=hDV5iV|r>mtoy4aN+LKmGLmgeSS4|WFq>)gPao%gVAIK9{# z)Cb>k#6Ii{y5S74H1`$<@U>gcW2{;C0PC^yEqi{3;HQo_#QGL~XKBtYe#h6II>Ri@ zy~Sbd{CVz-v^3`yM_R)S-#DY$>+^=OX5XW&cg|S$`n)4)_C3~m?|jdmpZ6rq!oRm{ z_eV?oo^!VQGs!jlnH@j2JHgVNTb#g-AD0>S1WU8-305?B5_^88;25qrg&jZ9m|;(` zH0z#X#d4?d)fqUBE6!lYPb_zqr8&1ai?79Tf3Y;@7Jsp3!9-ZI?q94#?i}{~B!QZB z&mqmT=2%IgX5I5h3#@roGMLmAlevqm1=cZV5lKAeEMy1J33!YS&O%Zt*4mH46ZCaT z*+-p{b}9QfJW8jhBx$}?(oXEow~jkvVpqG062ipv0Opc@wdPv!VM2NYzmjIN4{0Wj z>x$a56yKe0#ihd_YEM&Kx)0N>*oHA(?RuJQ#iTKk+{lR+cXcyO8=LgOyzjn0S>ow^u zy_gZCmxkICrtu3$yTx9RUOLLp9PJ`|Mtb2qa|V;17;4YiGiQ+XgbtB7h+Sw;=pGHS z9vMD#v}>)u^^nez*q>c&59vMix9%I>bF|wnrK?`Dn9@xJQ@iRZi>cj|aDtu29crl6 zY&$$6~y3@PrdZ*{PrQ)mooFS|Tiv64wtnhvf)kR-H(yH$_ zP~G(9B&`bfhw7>?C27?-tvin-rggO{J(^X*$A(&if5M9VW7ZKxt<67XRdEz!@u69@ zACB*{j{nfC}d`3-7U3IgCTQ0B*y(hPTb`fbpy@{>)F{6~}9nUz%0? zmz;gY3gl0$Mrw8c1;$pTKjoSKv9X;VG{|)Lw$8 zb_Q2#Sz-n^Bh2J#O-sz=W`MKp%x-=|t>$NTGr9R3F*D9jD!|vY>NVRg;QVUV`U^U9 zSnDsyNUL9S>_X05R{jf-v;ov|WO1{)Ibar;6K8X^<|bz2TuvvWtF<>V zBVWtKid}a*rePLm6D#Z4pjPoVk+j;L9cnf2FOpXAb3m=?ts-f4KdZZvBxZI0WWB$y z9iMehQF}b%JALeUtbB^v`w`FSWyfVjRMei3xK2+yI_s*U_KZYlt+l5e&CqwWnnIww96zW)M{%tQg`;946>84J}M4khl7~J(Qc6>q@=8%4zv?H+C`F>l!TSl0d^us zyGs(05<7{UZ%7FZwf7_uYqHf3x$T zrrCv1lk^d}mf4FS)?$2s9SF6|ZiHH-+T_~oMW|y~+w4xL!=8k?oH@#&T?)&sqwEI| zms@oiXLm2M(?HDb=78t%1;g`pPB*)o%RSFN1u>VK(@-Nl&as0bm)q3J<({?0rtE0W z<(?*=WsgHs>$KgRJ*8T(XkkdCppVJYdFq4u)gu$NfZ*bgCUkLxx2H|r|Q12AOJk_LJ+187T(>g2;%s)+q;=W#&8rr* zC%nGBm{*|cFE_{U@Kg3ywPC+ia<>`#wZ!CnBAc;uE34ZCHo=WxBis-+#Pwl)W9=Q& z_=9tia`C6Ln4h;k%lf%zMnnvoRd*boE>JzIbaT)7v{xz zU>>aBLT;P_roic73YgwFJ@+e(Q*ob?Q*u|5Q&SJCCe}UbEB1z^albG-#L~E*o1J56 z+)idkSsJ&4*=d%>ZEtpkZM5T(1E0Qb0 zim)=QjH|#ZxGJoQtHElxI;;k3z#6zFtcgE@AK_ZC7OoA;^RLu_b#Pr+7uSRJaD7-G ze+)my4PXP@5H`f0z)x@^*w}5t-zYYAo5H5J8Eguh!{)dJYz|w(mbevc30uR~xD9NB zKZR{zTi6!2gKc4Z^w73^l*&Fya7-R*&UFzN|=z+T3^+}_5$-9E;B+`hOkqkgb2{Mz_y_Z#DH z-2QlgJCNf82ayMnzlDR~U^o~LfkW_6I23;ezr(}ecW^iyjz_=|cqAN&N5PSBG#rh` zz%h6%{NDY+9cQSd$M^1!@JIX;{1N_a{IfgWc)UBoc!E0-Ph>O+PK1+#Y-72gG=FZxE!y5EASt11zZVN;y>X^xXO5y z`xpL;(Q5b?Tm#qOwQwz72iL;&a6R4t*Tao)Bi;lz^IGN^Zg#hj=fJISE8YgT;q7oc z-T}A6op2}K1$W`ya5vrq_u##75BwYcjrYNQct6~a55NQXAUpsM!9#cxJnSBEj~X6! zkCBg&kHh2m1U!LH!V~ZmJcUog)A$TLgU`aV_#8Y7&%^WhANUWx059N+@B+L9FX7AZ zGX59-i?6^d_$s`LufePEy76`Q2EM`QCcFV}!Q1W~_pae>_a6BUyl;HpePH~+eTW}2 zdITTB$M7+J0w2St@F{)S^(q8Uf?q8mr| zHuKf@{A)41_c(?Z(>SIV%Q%)7+c>rt$2g7`*Ep^h&p4j9kw5jG_v9wyO}ryCKIq0b zUytu4FizkdHRq4I2^lA3l*miyCBjEYiM%6jVwlKF>?JWy;w3ds>LtU;7$t|vU<%_D zUP|MXUMk~MUTU10Q5u*UrZrCMr87?FU2#)$r1R3lD{gu(gK-8=@0R=gzB79FxwCnm z?sA@2gP)kP>*+4&l01IGRoOx%*@n7zI$lNB<~Jkio@#q9xwnQ4Uz)pa zX@1}Taesbk?$IxKca&xY5?(psSX~H9+`aKR1fz# z`+!%Gk5`f3Fdrl3dsG=>en!f-P4#h`bkF3w)Fp*@?-ydEe1}RzEX+vxA(e<&(7gML z@*XeFna3P@_djLyflsMOit`RHY2NiENfB}x^PU&WFn&%IqW8R5jx#UZOkQT*4VgH~ zabA4yX7YjLxJLpNSl%npXC*5q` z4~#_};$b(tm(9zLkCJkDN8JR5IXHLJ&B>=Nz9;77Yy$5fXW|)u%y*%CqH?LtHZxi>nyxuxDpC{(!E9-dV_wq4X$9*wB{t|y~_$A}j zRAj5UlZvX%R&$r_#8~{(RBwO4Ke-2YVP>a;WN@4;LEFH&y9;Q>%*exf?g(j#5w?p04yK!`fJ@HP%o{YCsOX}V( z_TubLYD(SX#onCR#htykx!d<9^&$5&_j<7(<2}@vy61~ubLMYqP2Ky&Z#c7$nsdKf z&=dP}X1`mQyFd|7EX;jCIj&dKun6bk@+ihwjzfy;HFD#4pHSh)Ar<3XLsD!*)&6m~ z=QMO<8^-c9EBM%r#r;UsTp^ZM-;L?TFw`6(rdN;q)jQ@DF-Y~{Tk<>Zp!GO3>!^d@ z7-}w}thtH!hI?swj!IF~J+%@?b)|kqyI41gEyZ?> zmoiIHjVZS0%yMQYsxie5oLRx_M75>ZnKLVyrKq+PyKqJ<;eBD)h4Ur6QeK2RYboxz zrEn4+rOl``DKYtoTN;Z;+%k;Ex*5DN)ZiIN|C*fM)2tvpXES)p={(IA(vi}0=N&;x zYp6LzI&Zj}mOHbkxkg&<*2CR2hN(QwLWa7jxUY*t-S6NKHzoIbaR^^a=?!*MPyvXV z)1>eQxygCnqUJiuc{PLFq=pesv!P==YgMCVykl-zuZ(vbswyo@D(98;%6sKV<-HRe zs#42)-!rcfbxv~`)vDr8j7~78QOzp;%$ZZnZB)C8<2iGhigmoHV#kvvkSCcMR-DB6 zEOQ;zvf^aUoM)D!npT{`8SxS`9&w7PZl_VxPUp;J4pq6+`KgaJoNlV!V%#M&^U12f zr>PNh=iGcY3vxB@PwLBOG(W%X5}ugf`;r;!Ky&952f7h2tM>!1a~$`T@}zA1Gz#!% z3mPivQGok|?iB^NO6B5F$jbwZ^LLgoEY9^=*XZJW3i9zN$<t&2_-$w7QI_AhT#i?p&8y&5^eP!v z@G6rl!YZ%|t_rKbYOorv4y(Z$um-LPYvPY!O;`)o!nI*-TnE;Mb&czK^>95#^b=0rd~51VpFfV$<4hMxCNt@umx;o+{$Z>TQh0{ zTf4}T5&!EfL< zxIg>`4uAvjKsW#nf`jn4a1a~}2jd}dFdPbp;_u*hco-aphr{7`1RQ}!!jX6s9EH2V zZg@282FDnW;nnCBjq%39vG{v9n(zAo{(#59arj60BmN2ggnx!Vj5nKot!^QYFxETHpf5%JU?{FzxikHEqa5-F#SHR`)54h6% z(_3Y@())}2CtM9z<27(KTnpFYb#N_Q57*-ja6Q}zH{wlj6W$Cr!7XqL-U_$CZEzdj z4!6M_a0lKAcfeh67v2qb<2`T>-V68Qzv16_AKZuc!~OUGJb(|v1Mm<$gb%|*@CZDD zkHVw)7(9lL!(;FSJb_QbgZw?G;3<3>p2lb38GII=#pmETd>)=RK5zUF{D<)ccmZF8 z7vLp$315bn;J@%+dS=K@D99#@4}PbJ)XUI z(z_4u!3V|A z%!Bj7JTRYezHoly{NVz)0HcDi04!u&D168(z)>h%7#{Kphl>~&2^Tdk8ZKsBEL_~U zc({adiT`m)GcFk}Wn3y8F^+^w8Yg{&5&bVB-ym9$(1>*|gipCYgm5eKe z^=Ymg9?SK-a=1#kDi5(r6#wsWHS@JxUbX8-_oLV#9DFa-(qLC^iZ=AvXy(jbf8JHsQA9cH#En&tQje$8aaZ4&lz^&g9SG=eP^} z9DV`6z+b{I;8*Y~+!c1k-C$SP9d^e(V0YLP_QbtlPuSbAN4O8U59j;BKCqv0zwp=i zYewI|uVH`V{ybBS+w*MYcHsfW1HuFGKt_XLZ~o42VQ)CtcyM@#@sRLPV5}1Q+4Oa54T3E{4Aw{~lg~ zmoQoim%wFk8D0*T!4+@?{sXRvVwLbpK0{)a@SpHcyb7+uf5E@7(*Mh=IlG##u7RuJ zTDTUkgX{2mxDIZB8}LTB0d9hu@MgFfZ-HCzR=5>!gInQtxE=3+JMd1p6Yqk%@NT#p z?}2;pUbq+k4gbdb;6A(`?t=&50elc1#E0PF@R9IQcr1K8e8TWp_$2ux`4l{bPs7vr z3_OF+!n61sJPXgm^Y|b55552|;EV7gz63Af%kVP(7ygT{z$^GFyo#^EYxp|6j&Hyl z_$IuGZ^2vmHoT4Rz&rRZyaVsSd-y)Qj~~DX_#u3VAHhfXF?@`lz{l_@e2SmJXZSgM zj{k%I;TP})ehFXVSMVi#4PWCo@HKo3-{N=hEqo8(FeA@XY50dwG-FelChbK%@DH_iid!@Mvr&Ij}R z1^j}B`TauVLgd1*5G(?V;G(byEC!3=;;rm!h)2Ajg>usLo4o5Pl{C2j>}-x+`B4>KO-4>um}k1!tLk2D_X zkHVuEjfSJ(iLiVkJjRU2_+#-H#^1y5@el9^e4I3vbK~Gx_@nWU{!hj~`9B-~?2k7d z?@utE;7>H3=ug6v7)^$g;1oCoPlZ$9G&l`UhtuE;I0MgwGvF*Z3(tnL;4knO{41Q} z&-LdS&hh7y=fVZX3;cz6A)`fbAzTa>*0F50dBw>;YPd( zZiJiRpZx7x;1;|UZpGW+HoP5f$2;H-yc6!kyWlRo8}7z?;2zwN)R5}F5vdVw0-NAw zuo-RvTi{l(6|MtY!8WiBt_9n`wy-U(3ERTz#?`5kG+r6r>$l}t8UEYf%j0ik9Vi~c3U&HiQbW%4F?iTp3T1g{uh@vjl z4MxM!VKf*6#=tRQ47kUS!4Wf>-o+dISkd%pdGDR1qawcdRFzuPqPC%Bs#BYq)Zxr& z4ppfRwW(|9m}=ECwW{cG{tN|`YE{wajQ9^vPV`On`VU>0XpEwp8a6r=Yz(rfS~dnp z%qXg+jmZ%!imGj6am0?IYTVd7uF$U$W1DLC3SFBxjN+P_H!c-#JhG_THy%g)D5?gI z&ygUC*QtUNa3qYPYT|?(iK3|5I1!KA^m)WYrb@m|e}VNd@UKMTe@&3z7=aYl;a~l@}rvrt=ijFG9abRE=IF9GgQ`x>8X(P;sED z^`fL=bfV(;#py$ds@;o+<8i2ZS1LhgN-SZhT3)H78J8r*C&%|og+EZWeW`E)KSIAs zRE-}AC-h6xw-QzBmkuZL%h10PRr8k#C-%$I#}ZZhmklTJ%hAsgH3ujcPU@GZuO(_O zP(GZ@uRwoG)SRF~I0c7h1xgj^c%_7z9aJP$qVtu~Kj2j|Oi3ksz^l%Yib_{WUGD0> zdfsAn>fn7|RgP*@#!BjnSAkWjnExiJTVBOi?_8`xJ-x@P?5n3PR;JG0?N#!3(PbAa zQF-t3D*EcdixsKJcX;J}_2|X&RP5Wlvc7uwVp%HsEnaC~J$|t?75^r$l&>`av6NpD zmh`nYAeLmNu-+@mQJgu1l2#E4!=lVF){?Z!P}tYngIJiE$e&(8j{M9}lvc4WQ2-WX zp0bLxl9h`>P_vemq`z3lDCDnUJyrXS{mXRvMb-M3 zy{7&ZI{l(*ef9WN>%&uF=BR+Jo4FnaICh zGhb^HVl!qcm%Jvv)-J>*%w)8l@rke1jZesp{7-mj%|rZzdC+-J#|LU&q@*oGGs<<;=DI#YvG zm$}+Oucm*P^_rR_&GwFy>KGnpg-7Ew{z=w$(va%-%IW<3tdXQ6Y4&~JOYc8mtt353 zv+xIA2LB-|CmBeZjc4#5v3??IPX5Tt=s#v1MbzBE-lavF;*jF8_+P zm)!nq!&jbW^{>6W{##Fc%~zE3`R`bR$w$iT=kwo?@)*8hT}I>VzE*3plk(6L_|Hr2 zYn3N8DLcJ{dtO@q1nWL&NvW9=pYUq?S{RByPZD!O*y^nmYs(nPN z#T@$(DTble+&=OPgk$)=q1F~+_<6!Uof}bW5Wb%)?9k~EwPvBLwG7dsBcyeXH)hr2 z4e1^Ejad^B-_Tjg%%L?C@fDq?G#pxc5ueb(O3I-%9PuulurNm`is$Iig*c{pA9#%Z zp4Mwe`&!K%?N9Sgghw+w)Eciini=C{Z=|m^U~we#%1Pb`Uu(nS2ovy!B^RoQL>k^_e`B8SN0?tVzQm%yWPA2K!p876&u` z9mmS`AYZH4gUH|d$^(3@ZVw<0Vjew)G|+I2H<~=gI}-k$weTb1G2TF5`Ea}uQKDWyray+MXjM94R`SN(;*eLcR<`2)~lZGpmdp ztuCYGeqCl_veqiZ<;+aGhnM%vR#a`+i&+wA$Igq?+`3)(@<501Z)$GcA$(<^D?2Pw zbLFn=vTO`=GjYS!F?swaCdTT!#;o>Yz5i3tT8Q^`=U341Zy z0!^sowm>6xlD4B}*Nv!pu}8BLw==ivMb(Ernw^2a*h!H)na%wbej_l7ofE0K-6(cP z9tOr6M}=z^r`C9L?_2#aFv+whaqkKBB<5_Bjg!JPn|m6V%1(*YTy82eH|>{vtEy6I zudOmR4EKT!jG9AxK`&UG(?QY;9tso>I}|9%$snn@bIGvdfzq4|lA1f04m%kr$B7`R zIdeHq0i6$2G?oj~Y`J3CKY>b|3Hpahv*wGmzIicFnX^HcP_yRBR8=@5bOkkQu0mCf zGeXx;v*v14H8>-*KfDH&+#gwc#YsG1Trv8>+UP;W>`lrD#jlj>`2v~ z6HQG6ojJ)QwFcTbtQD75KUH-#XPVjsx^tGP4K1yLwh8p)B$Lz{XirWtwGZ?*_6*Z1 zX!}54PBKZYf%XmS80a7NO|60U59=J5%*i0BwZ+L{Lj%(}2_%QI>Nh=XcwiwXd8F0= z7lus?EaoJS)EeO8u*rd?oaB*O16&%mG;Dfcxp8TjRsmPio@rbeww!u(nAZN}>adl@ zIe|5t>6t@&HYU`5z0Rt}}k0L=<43!4#`X4DxW)jB&Qrv;|qlz`3_ z$tkQ*>b%i}fKDGxpq|7U=7hlfum!Z{bB)LG0i9Wr<5~Zl7d9@SvrKXv>!NeR#s+l8 zNseW`bPgw;MhA5IX*Bg1R#In&jSA>g)F`Uafl+~JRDT(DW=ic5ff-?PT9{U4XM~Lm z%nXw=xHpn@kdcA2tbwSSi7x^^YbEkUAac+TKF1fV7)7Rv5{w*t7MKzq)u>8!6kgGt zsN^$Nou-6;^Kn4CyN?6f1D20jv6>M6D4@Mz`G}RQapC_4w0A83WxZ=`c(h=2R&%29 zp*5Xotlva4t2wG-P#+A$pppmqGsa-WXem3kQfo&`!y^Wlv2!c6hO{jFhv16vZ)y!` z1^e`3;p; z!RAoCGtOZLTI~;kdF(xZpwcSXhrj}Mo~72n7KDEaEMn(bY7J~r_=AA<(B%Wx{l)-e)Cnbojl1_T1$?RtQIi-w9|>Ufy9HaRfW`w*uO&zeRnUwZ-A#*8|$czfN_F zHOHY;H;vlszs@RHOxD4q6O4rxIz}rPn>r9&9UjN1N_A{r)txwGfK|8EEK|s^pmx2( zg4zq0VXV+C5C1W!y>j^@D|k!7BLualE+YiL1{R0M4aN)Z4a5z`#eL*{u6+TyKM_OqX1A{s5Ahnh~m^JMooO_U3 z(;gBYFF1ttZ5c24Cnq6#hi?k#RK=!1@9-V0m3N_9Z`9e0O@U6~>sh6jI>WI(&^KIb z_OfqyCsX(11jd>`Kd!a7Hqbx(n_A27&r1FP&Sglgxewq(!RLTZ7kuVx|H_)@=fM2% zg|y~#eZ-FeolTG*Suvd({yw0y3-UcHsyf;5mX%hiGY;})K&KyGQoUwPwl~!dV{cAH zybNp$Z^#K*sj~nL!*+x>;-sw9nSe%NJHs1uZdU4SK;y7oTsj?~stG4)_n=M(G@)w7 z8QMMJ%{f6UbylEx*gh_u7Eo1_leJd^HL2v)fKK^d#;XB&IiOR(7w|G`=vAq7O87!R zXNcv6z&Sh@&{<=7E^rpl26P5lo(-JF1VNphkO_hbjqAe`1rr3<)7EK!{(ZJEb5h}F~2a*M4lHifR;Xp#Fwc#>hFd3c>=uEXd9XN$$!cGKq+WG|b zslW+7bQW8l2pq#>fufwwmdE&K==^rlU@>D+{@F=`oq6B7#?GAIi5Hy86IW+tqEc1G zHT;C?%t;)o==_W(4r*>769;w5+T(Xi$|$fHRS`~#N9X4`4$r&TT+uK##xNO!pME_7 zV(`?D#fQ(+Ay%+zc$8pNV^z*?Md4{*B|I`lCVh;@EW%>6uUE$8 zcT)QN3S||}eJQJR-b-1Nb6(2YobOWp#KOj(`qdRPI=VL7q^mcuewhAf4p z$b`XCTn!ijC*;H9`=RfN$9GHLF^}(K67H1bb7ex_MVdb);N7E4#NVCroBwC(PV!)i zV9KCO9!!NPFg2zo(_k7hEv6;YVLCEBro#-Ffy{^*$xN6LGn>pD%tB_Nl@+s+*)SWK z9kY`^;ZI}^{0Vbnu3+w99%HUxUh2Hm`7j@uAM=wxSSeh(@WrO8{<&9;76{yQ$MUxeIUF|Y_rm|$P zlF3TJUrhcItZcG!u!_kl!K!4nVD(@PW3^yS>grg_WG%jawR7?}q0AAiZL)UoSChX6 ze>3@8@OP8H2kVe^Xw}8KWIe1$*2nr}1FVk?O*RZRGTA8D*kt2i6O&DXO-(lC?_Hmt zhrjju!Dhkc!4}45!Iso5sas)7Y>lnSHrR&z1KVI*Y)dA`wwMyz1>5r>+XXvd2eKn} zBs*azvNLujyI>cxD|RKjVOQ*KvU{+H$sWO;WUpZFU>{?zU|;IK)cvp@*&q9p18@L2 z5C@Wja1c2d2a`i^2>B=eNe;!Kq^hpLVSKji8vG0YB8TH}as-YbN8(6w6pkW$;y^xk zG!DcuCdUNFnj9M(XL4L{yvgyw2_`3)Ki$OOq~PSBoEV&flW?lZsljO`rv;~*oF1HE zaz=2b$(g}fCT9g_o17h-V{%S#uF1KPM*LM?au+(KT#Ew~vslUMO7c@3|T*YP?z87Gqy@gl$5 z4ZK0##GB+TyhYx|+vFX*L*B)^myWk`M7A`3N78 zkMR*cFu%$k+Iqe1os?Exsk+;XCp@z9&E6 z2l69+z)$#z{EVN;FZhN0ieE5-^@ZzeFrpQKkBIzF86$8-wD?aX^YNn<2_unV7zx8o zhI42zlJ$g*_eXqXK`P5)s$f}`ZPK>%LlQFE%!6;lYteE&Y7}JVnGM1&UF0=U=lbPvh*YJ+WY<`L|Q{|wpZQdiY zHf?#0{zKLd>Rt0I@0H(-ztXx+FQNC2{GI#P=`AMn-IooxBk$3F$Oh(J(a5|fWFzk1 z;~mk+ygM3EHKuN2-XpRJ?FaNNdauZ)-1(Q@MeiAzhdU4Xd(A^z2CZD&D@6L1EJTkU zvhDk%p`VXzl{9}>vLrou6zdE9u)g~xxhi1J|LaipMK5E*Xz^o$kqqmin5AmiinS(fUgN^O5VT@uTUL22;PGpZaL} zs*m(sZ}cig9gS_A;OR8^sK`(TPCyMOKol88ey3&?MOt0FRJU~Bt#PqdCcsh2b zE%%#VxFfljetADvC*y9@Tkod5muGDUp1c4~Wt@fspe+Ls-@h#<6s=tE? zt*t!QWkM@~aa%BvmC)KodppnhMAnXAVoN6Cp6Z>!B$iCfJw5l6SV?H<$**idHZ!)M zt$Gh55ZTQ12CaDJ|G}MoTZLdYQFYl zyqb<*y@GN7Dl_(9#f)GD;{>U>!3t&y%NajN%^8+6nn*)iE;X}>MYxplMrtn2GM3;X z;}XV;DX7|#atXb2TP}?$rTXeN^vrEcZ>>tB&!ec`x;2+Zr75kJR5GQdQEM7YeTqzD zrNy_TdX+TR+h95?jg^i}kLk&GRAsr|G2T~I-uRvoe_48*vZnW`KwndlJ0G~z3st1g zDPyc?dZ9AGSXOE7#Inlpit3n_W)m@~V(~;T#dBS=j2KigdE%D{Mz=HziB1)Ro}d_2 zG^6Gy(XFDvX!I0PbC+oJ9z}yujh>}hO$IBY^&B(cOY%Q1^{T2eaW^gbDk#%hnXo|6 zvs_DR&g5A?2VE;<)LhE7@&`loYf^J8)tYljhkh>~-Cw?-ZAr`0tjw}BN0SykWNv!? z-1L_6F|&x=i~#CW$){#k@(eX9sK=$*%5&7{pe~nYF&V8oR5GKb*-d6^PB4p=*~&uB zrpju~X1pu2a&LApn>8yq)0mCdW-;d0m`9Fb1b%}N&lofM8ACOe`Zj75G?r@|j$;fo z-Z;*TipDb*n!ugATpArsU`#Z?IKhmP1~7`&tYSXb0#na3vyFM&ozF* z-MFSPCsNf8r&3R2rqGS6J5Ir=#wpB~x-%y1K}$|#e$s_WbUgT#eHa}akJhR`} zRttVElNehtt4wLt;QO4yScBPYMtaCT{2j@7^pSn|3ft4a$Q+htk%{R$645^-BP_4tmDr;6u+iWon-1%49spl}UM$E0go*QKsN0OPSI9?f*n( zr^-%d!)#<$%u4EAnT6E5G&30we-{Vo;}L+j3<<_87XMA z5S!6NTq~!Q%gSxcY2~5Lg?TYAnGf?~e#}q)jQOzu79a~^0W5@t$ii3%i(nD5C>FtD zSd1)=#jpgHAWLEiEQO`W(pU=1U>UM3mcepZjx3MmumV;fD`Ew#gq6r&uo70r%48L+ zj8(BJSq-aVb(7Vt8e|PxHI3D*TGX|zU#;JawXNT&f2Xd4b;!C{m#l~N$og2HY=HH# zAvPo%VI#6JHYS^3V{D2|$!6G$Y>v&a1-2ktVoS0WwzOKCR%@y@rvAfx)*sw$YyH7T zTdN(mBimy;?0_AuPF81QN2?2UC+upnE3d2F!Rm(H$nMyk?14SV_NZ5Sn$PQL^)lJZ z>TR;O)yHHXtFOtvRzH*dto|nZTLVlEum+kOXbm#?&B4|X>rZR2HPjkr{bd|#4X3Wj z-}wlmD%I7kkvIZJnH*(}CP&j6gQIaQjwQ$8SR9Yz$q6_fC*nkM5>CX)IGLP+lW{6e zC8yz3oQ~7U88{thnw)9PB4^Q>jkC!)I2-5UTyh@H#rZg&T!8a&Auc2r;X+)Di^(Op z7?u>{Z zAUEO$+=QFR&A17-;1+T#ZY8(jR@{!;$sM>Icj8X+Z`_Hya2L57ci|q~L+-^rxDWS{ z`*9y0zyst#JV+kGgLoJZlSl9fc@&S}F+4^d$76T`Pmm|^1fIfEspY_VT`owz8=RC(ZCg1Qhd(QQS=i9IREF1ng4@OlhYw znaWOWGPRw?WEwjynU+>MOpEC;J(&U1V@AwKX2Oh^*<@xr3z>yhR?LFgOlGsQli6wg zgxN8N$sG1AD?3*XJ15?{qFy_o!|bMSMr-z zRTr=e8h_@V>Oyv5V?kP~i`Yetg=wiSW*0XWrB%!>VVAT^8B5rusY}>pNLj)zi)HO{ z-z{sGr>?+N-dMq|NL>jl7%SPoP*=uE#>#dT>Z(}TSkM55$=~od+P~xPq$*_{tV7ntI#|zSJ-a?xpH>5`j}1*Wv>TC)?Iw0pV`IA+ zbu;Sb*qm&EEy$MGl5B;o$ky1JY=dpcKkyGym9j0iCEH(~94%mV0h#kpJ*oo|n zoyjiPh3tx5u$#$lc6YLe-P7)6>|yt&?oHhX`;dLHFWC?Kk^QkhIRFQc192cZ2nUga zaWFXqhme2bpX5;NVh`h2$u9O^_!l`Ghm+m0Klespe;jFYq&>>yD0{TY(e@aVW9+de z$J*mejLt`m zaS1NNW#n>PPOiWeiY`irYMjprGKv3SP#mCa>DpOkT6ElhnCr{#iJYn*L{lMe{`(Km)+7C@Wv>%a=Xg$V9_ynJjPw^@F z40Y!@J||z`3-Tqt!2j?+@)f=!U*l`?4L;>pzs0xYJA6mJ$M@t1{6K!hkK`x(M1IE4 z_jmc#ffS%suPWjMk_i-!x$!GI5ADebYhu|#aA1RE0z-*f512< z<2Z3m#&zPEjOWBR8Q=UZC2$ftiJSyZVke1{)R@>wMx6wcV{$SDrXW*dN-`Cu#MGFY zOoOR0Ev6;YVOmU&>B$V39y4M_G81OR%$S+Xf|)TZW+k&>R?Lps$)7Mg=D-|ePRxP1 zFc+B{b73CLL*~Uim=E)j`7s~_VfS;{F*mZnt(OJi9qOP0g3SRTuh6|e$X5i4LNtVI5TzmS!&GFb(ykX5lN zSq-aVb*xU-!0K2NYm&9FCf3H<yh=bKG^{4V?%66 zHo`_^V{A+|!4iyy$}(1J>NInjJF=Hg~M<-4kt(8a2$yv z$x%2GN1Gh&j4?UJ8EbN^GtT5VXS~Vr&IED-t%*1RCz+h&Og1^$nPPH^Gu7l&XPU`r z&UBO0of#%)I5SPo;GK2}y{+^np`cv@M3cb2j|?=EEt#_7sZ z|C7sTEpe7P%S|r-pIl+uE1Z=kS30Xqu5wnJTf!xxv|Ja-*}!~{9>A$L1_O}*FINA9DwANP|7a6cZzgXAGRh==hoc?1vR zQ9Mc>!=rc{kCP|xIG)6lUc;`4->c zJA6mJ$9MPvKad~s1Af9!OHDD>6r0L^&RQ# z>P`k`{8D{K2D_${i5b6C-;v3#?PO-=FV%-+wtweR@1ZIyYXEgny+~H7Y^(*;L-iur zsD5HCpq`V1l>n(eC5K(#$;rBaRG*U5Zp5WtMO7|V2pT!LSs#$hE=qXNEe{qeV z4^gF6%Axp|BZoR##T@D!W;Ig|r6)SfO6Oqbpz*NvCwBA0K101cE z4xk!D-?q={=V JqW*zCBhSN2{%UsQS@2?y`D0T8-^R)rY=wr`5yJYHbgyUi7Wo zt!|E1bGuRXpzqykb#=7b+m)&tee)Kpv!hku&Qx9LvpYLlBbJ@%(KlEf9jzhDj`aBJ ztoDx9m}PrL1gkAw-_$r^wbk0(ldT=CRyW1gj5StLX*Ih!Hf3b8oJyxrX1Kly|wdm-zQqdh_Sh$nvm>ps`N^a-l8dw3V`(`V$T((d9- zyi1>wmrA>jxA7)DPA;n4>_^_h+w?oRsdBPoc?Z=C<)q5P{^dPXFO-KWAA6S%P`yw- zs-Ml?}w}Db*L1wca@8*|C)Bi^{WG`N64ZEN`hd`i1r<<1g%7s{O^O z!k*<9D)mNHtglWr_AI|rsW+--MF`bm?=nKD8uwK1ajLUpxyPx+J=MCtsgX)`Yo9Zc z_CE89>iy0rOOE88>VwW0_S6niX|ytq>acMfJ8P;ZSmP|IvC0JNs56NjHL0=6BUbIwfT3`?VybIu%VCimuWUBC;@Ja*Ki z#wzoyD_k0-s9M0@+BMWDWdYS9_SSBoMk$M^maw?TNzH*aTAiHD?667Afi_!RoNer^NzHw>S>2r-?5s)6eRfzqoxj;x zlbZYdZS{6`v$G~O_t|arb@sBeCN=ljYxQ^bv$G~O_t|d^bPlnjCN<|dWDRkSvXdq? z*EwnpbB?o_Dl##eT!y z(iZ!*rBU@8Ypea6CEsvQ^*OsXJ5A@Pwz7^^+q!HwV6Xf#l~&anSl8_)?2TWi(kfaL z>z3V|J@H#qT0Lt;b=%mA9r0UsOY1i4XtE{y(6Eqmv8skG|W*1B)EXYc$zl~&!_TaWA>?0`R_(yCf_s^>=SjjR2_ z)^7O=Dy^cuuzRvoE?=;E*3y_P`{d1``wcgfiyN~tF*S6>Mu{@_Q z`{`0^M}4hmPCx6LS|jRb{owSszNs~`{??Dq0QT9X*2)I3$F8+9IgovK8SV_?Za9@z z&jwlf>`v^!=d%ZKPjy}{`G4=*Xg{YDpEZ;{7uS(P?TDdbTtiuj|5g<@cSFvfycXhf zTvp76P&r1e*{f|kTE(}i9BtP*THBX4>ve-z=?^+u^$${8tmp+D?FGmnD|`dk8F9vDxUU5+Do zf;Hj}T-yCOfJcl6%&y38Jir=sTQ2RI{K2}lc2l-8(F27t!Z!M zLu>eQBP;1z_g`vu0hUs&re4ZE!erx8R`MJ1vD&F`Y(#rCb71Wa$<@q@>)5Lt?IFok z&PrVAXpc#*bXMSUt`&}4?r0ZEYNjo@PHo>@yB?LIHYrK}k|rP8kSB3#VM!ec7!S}$@QvU@ET zvF`BDTEMlCl?YY;vcEka7qCL{FO_z`=R4X9m-AV_xX;e`Tt~a)bE)UCvN6}u-npF1 zddFRBj-x$wIfr$SJJua*mZRPFS=6&xA(`c94_?k<#pIUNz|kJ3Y{1G{cDt^ly--<~ z6*ldY)^fCKT8sKO*5Yb8+FO;iSh3T7Yc)r^uhpn)u%?&RuIOlYwjxzE*8D0u+S`>C zSuxbUZy86sz-6e*v9?&o(H^lZ!^)%fjY~S(MJ`EQinYm-j`o&iNv9abvWq!I9I3r% zS;)~Ybs?%Ej_QJrcCiam6=H2P3RQli_PEu~>u47|FI9flR$Z#xM(vfWos%C=>DsxS zoP1dPu*#gQ+*}>pRx4xOp$wHmQ(H_3c;$*^1j`sLvCMN?%w9`2{ z1(1$9gOiRAoe_}foHUq{3{$aY{gFzi4H9EA*16wP=~O~u=N+dLWMbC8 z-&skWVVql#Nm-v6W+id{;^cx%!ivpbR&uVtSr1n=l#@m&P^;rZsfJrat(2%$^5Ik; zIO~uawMzbh>XW6j4r!e)#!uYQI(Y>93-=<}S}TuWr+0qfgoD&t`44tRClV(dq}IwK z*_rvz5q?u^<>7W#C&&p0skL(c6?{8~V;h6ER?BTWmlLw3%`2+&IG!y-+*6&;iEK-c zd#ZnSqS`Vt_f!{fqH)%t0F_qFquGU>n4EDaOr_QGn08SoHfJ1)Qfak3wq4wb%Nd8_ zR9Y=B?!@DygVdUNJWe;1b`l!n*;*|x?Ih-egVb7iV!N!9loJk8YvoBf8oq6bLz2&zK&`=D}eP_4Q#+3`dX@WtO+(?m9Qau>5IA6vR1f_|Eymyw2d{s ztyF4l;a{MUfeoofho8?!cX_2)3YV&VKuL+`&p=b1Ln| zZ^P~U?#-yQOTW!&%5J^f<^)4c*=e24&ac#->ujz$-__ph9Im`ss+@WQMAzVb!JDf~Swrdnclt(Q<~*LW(|GUHV4 ztG%54YdO{I9#3P>csh4haA_BLI(x@6jMHhYhtU+X|DD1Fx zwSA`>XAXR-$d2ka?DxxV+@qpE$xbq=bC^KoC#Dif-{jj z5mCFO6RG-fGGRDh`Ag$){vO^?Ju#;so>0A{9>(?5IE?#GI1QmaTRDQe@*U?R7kXLrwY zk|0VbYDnr#L6p!zJ6h_HdnIG0WzsOrjD+mm>lz5A|I9XNTr$Bq$-8Pa)&7{#5B1=@j`Twju_VvdTE>#*DIDY{wW%$G=4ZDPUuS3L3DHBED@5ma(AZDD zvSNmQ;A_#CP{s^ZGbg2DhN_qoR53%pn3Gj8Llrq+Rgu@rnUh#CL!~*7Rho85EJ=n_ zh4Xu;HwYtt#2?8>7>TsdA_Ev8gBT=TbjcX#Vl0!f`2MOLmG7%E3g1m-G`^2YeLuft zUY<#AD6g%jREVVD*_GF(tL2%N*N%*lNe?~JN1u#{5lL15XZ~#3KXa;0_X~2GO<9;z zY|5gXXN$0VW_5VnQ+zCd9;;m`s9+F)1b`lVMU! zj>*Xsm>g4LN-`Cu#MGFYOoOR0Ev6;YeXr8fPEVZy(_===NM^!JWM<4vX2C3ER?LFg zFdLa2vy(sJPh<|vLFUA?{8MsaE;2XfCi7q(GB4&O^I<+RKjtTY#-GUoSb!{ug+hh- z9c7_V5iCL$#UfY?i;=~#7?!{iWJxT6rLYuP8cUO9ur!v%vSc|di{(w04^<#5(5i?P zuo6}xf5BhK%J>Ub!75}`tb)}{Rtr@pbMj}bVa&;&TXo@3O{{^nOx6n3Hd#CLEBPy} z-|$!b-Q@3~IwtFc>YA(@sz=tNRUhkN1CtFx4NW!-H6j~_ns9xyDRoooX4n*)V{@_v zwjf(#OR^QVB3olCY=dpcKkyH-Ew&}wVOwmE?a2<j}Dby9alHIT? zb~o8Q)Wc+tP*0ORL%qmew0dJN>|?S|sISSsp?+jPTK%yf4lp@@f3Dgc`4cGHg$9}& z7#c(lqBR%?lS6PY{)vB*LvdK>uh4Mgu+RwVzi=duBuC*$9F3#NF*q8>;#hJVj>YjN z$A>166KGAu2{;KSk&|&UIRz)Ksk|V&t^NF+7ULO&$-OAWzUb zi6`(Bo(`P}oi&~goufX3=S`ju{bTZ<&;^qhLKn%4v@YRAyo{I0D|i{N;#Kk*Ud8Kp zoxFk9@h09RZ{bb6jkn1=cpLAUyc@b_@?Pk^$@`%P=G9xFfBBp{_z)kGkMJQrHu*U8 z#N?CEQ+T`od8k{f0+jQ`kwM6NJ5p#SVY22BQC%cSKV z;eX+HBxLa~6CB|k!m_4G$JM*$DSg{B<5SbyJ;A5^jb`CeZ}=FW7$2Kn^0DbN<>SyJ zd}R7k`H1gKdal&p{g>}>YA*H7@)qxalw9h&UB9G^?0j?;L~c-o9c&f;m_`Ej`7;u$<^ zJi~}2F7NEv=G`8fDiQT%)Vnj3UCeWBdL zldmh6`cS!pC#L$<$nO7k6ZNK06jyE`<(5!XH;OB_@beYb{TPboe)A(gchTGrq3G^6 zKk$if6^^HxNIl++8Rd9-{8C&ROUiMK1T?-JWk#E$sK!ti;TmDom~<4Qz7h1o zQe)N;p}1~5cOAyX_2fn_^_r^Ub9Vu5d#&a9dejiHU&NsdfC3F+G@9;f6Lqe)VZbCP)n}{m0`Ps9sV3XXX_0KYFe_T$*dh z`}Ci=xikln_vlx1@o~q@PVP|MrOsgbP?>@IcNn{?uasH2^DvaeP3q3VBsiO#%cW77 zs$|@qj~bOFqe|c=a|`jS|6;B(oGYtwBr}ylj4TV8(PnWo#+1dmukmI{Dygw%Nv<;A z)flr3SGn(Mj9HGW{C73hEYDT(yBcd&QL#f;^^vE(5uYKXLd`CuC(s4U57PpZt1+-nw4s2I*1!>dY zwxyTVTtZs(!+(T=uI3mrNYC7c{{@TY9x_0W-6|C3wq!OU!|2yrh9bEwn61c2^!F`7 zKf0RB$R8O2G-qZL!PP7$0`(94`J0APxS9o}po+j(mfF==RHk-Q8MlSfaCaMRjZU|P z(zO-i}ZGWx-#*XA6{^m8-?Z|97v0KoXj$Sh{Ka(-s zddv)CP{rfPUY+lA9AkCnt4Up-znv6D^`TAp3f05Nv~CxAo4EX%cs!S4m`i;_T>1<3 z8F6_!Mdu?vPwD8q^W*T7A(QZg)>AqO@BY|)B;%>ACwDTQ2C?`^z~{%J2Tx3YE?u4o zdMda)9rT27`3yZdTs}{q>+-wnpWxDOsqb>>&(x>6^zTvm@aXT<=Xrb;QTXurzDD8l zd4K9X>hr$Ud)Mc?pPW09&8v~AQd399G$zyVRY!Kyx#`^u#&m8*>hzciGm)7w6K26I zWLC_A*)SWK9kY`^VRp=cImn!tlgx!VF}KOwZXPlZt-P2A^O?-&<|p&h`Wf?M0W3fk z!~$3d3z3Dfh+C8oS;Q@7>SAtjvN)|0SR6~5Ea{daOVKKgrLYW^A{c;Z#jR?xs$0!uHMhFS>TV6P2CbS{ z18ZSz_gD8fV{P|$>ffpB;O|%$>yq`bF4o8TWCN^^4Y48F2peK!Y)m%6#@G~_lFhIw zHpk{<3v7-pu_f6GTam4?HQ5H+kbmGGWLs=Yw!?O0Ev!Yh$6DCIWCy+)eMKGIj@Xgx zgzfpf&e)mkf?de2*p=*t-N^3Po$P@<$e!4f?1jC^-q@S$gMG-p*a!PzKe9jeCkNmF za^UxB5bgf%Aa}6I!R`?A`at(jUjLKN8j3^7VK|KZ3;!aA<8X2WjvzDW z$u+o!T#IYTb-0dPkL$?|xPjb=8*meDA~)kE+=5%kt+Cji<>ocpA^*S@In2bkFmrmpk2m@H}2HdBMGC@}hgm*Wyl zUwnWMO+IuVnSA6vHu>0nV)BXmlzd9-89v45CZD@6OulemntbX0XYxPymC0A`Ym=|t zHzwb>Z%w{+-pzBl>a{b2Hg`_be__mjy_?q`#q-7hA;xL?Vyv?6$4$p~IVlM%fi zO#a~gX!1udlF3M3n8`3NoD8QGpbE#J$)IPMv^?9S&A-&B*BvipGUU0WOUpwSee}u5 z=wlR&LPo_X7|mofFFF~WRt$`eF)=0?3u9tzld-)xCgXT<$+)!QVO)%FGQPLTjms6^ zOMsi)1YSau3B5!n6M2bECiaq;OyVUqne=}$nQ15UlABEKr7)SoOKCEtm&#-+FSW_k zUK*2WytF3Mdg)B2^U|A4?`1HV!P8H1Mz15!^Ne05FEiISGgJTHtxR4PUdw9CVqVKe zE4wGNaW|{?6RjM^pSY9V%SkJjF(-F(c)4liG3MrOE-$Z_&&zMj>-|h!fV!Zu0PVb9 zAzFovg}7VLD?+QNu?Tkyd&OuKHx}b=QLhB8lExC;E$)?~RoYmJyCuCcw8|RGaJRHq z&MWU#z=~ca?-yf5uQGLI>MB@;tcq2z8df8#V>PUSHOQJ+ldOd`u{PEwf5qDP8~#TA zj=y0Ybl&ohjp>O$@*RcvH`7z*Z>=uY{Z{b?ehF-mF2v~CL4QA$R@O!VjX_Z zW>^QCn{4j2FxkRuX|ko)%493AwaM0A8|?Tz*VklUuOHcuR)6e= z|2x%c=MCV`DcgAiaR3f7ImjDK4yH8(2jidkCpi@V#9=s${0oQSa2!sKz~ML&N0Os( zB#y?>R!J&g3|6JUO1$1RReOaUwYhC*owBOisbc-_7Jr<)=nw@}}W5aym{Y zXW$G{)&DDJa(5=L&cc~E8)uVqa1J>a=ioe?N6yE2xBwTB3vnU22p5ryaWT0B7voY~ zN-o1?y2;W_d=o+tmof5;1XfxL(p$xC>N zyo{Id3SJ?v;#Kk*UL&vLb@B$@AaCML@)q92+jyJ2gSYW6-X-thUA&L?$p`p={1+eK zLwra+!iV@6ACph;3HcPClF#rdKF8}N5V#m{Oos~^c^BtILO zjn+#q8~M`9j@ikdFuVVgpTlGhKc~r@el9W>tpMi2aMbUR+x&jH{X8b~_<2p{_4Ap` z=jS(>-~ZX<&;OGJOuK+z&}2cs5Lt*;VJw72un1Wci(oMe7A9NxElsxcTbXR-w>H_@Z)38J z|A)yx{I(|B`t8VewAy1k-0ms2dmT)>gWr+tK)VxmB0FPeavN1g?sdVA*wtiLznjT! zes`1I{T?QJ_&rVb^n01?<@Y9g)9Qo0u`l)|`(a<~kNwF3*dGVtKynZc#KAb29D;-K zPyCY{io^WB{Ncu7{s`*7aHPqR{wQ)3t!%;CP&f6Uj+9 z5hvqhatcl%r{Yv{8crkgc+<>hOgEoD-Je0u@TdDTaV9wnXX0#}P0qnNrJlrH;@}>ZNv?@2{)0OaT9Jaxy9c~ zZl$#ix8in_+x;En4q7{LC;2z-#9g?H+>N`*J-8e9;$Cte?#2DMpIq+kCpC83&)@k0 z|DbW9e~9`J^#VLdeHaho5tB#!qb85~$H-%}j^i;rVe*83(&S11l*v>6Y4S9!Gk6-$ zn*8QzTIXn=BhTY`@*g~p`MvX8N`3s}Uoh1LzL%PzUGOhb<@GM|JX@;Y9_8+e1fi8t^T-Xd?~Exdzw$h&w4@8Lc2KHkFzCLj3!lK;|r zh!4p}_z)lCWAX_;#;5p{e1=c)IX)*};B$P5FUkM#C9c9%q~68z{8#3uWrsJ!)o65x zyTkjJHI^OTLsnR%#-Q?lQe#)G!D#F%U$8E-&wJ@=3@cyq+I~i`FI|mhU%Cgq|5&McMIQ3xE7ofc zGNOIuYIOU`J?y>a)i>l3PrhOO=CJqH)mT@)<+UT;J6B^~`HuCRquzU0V_*56b)933 zeBZmrjVHVhtnhqvH5Qg1S?4+7eR4G>mY;a-r1#m?*jRpM-RG3|#nl*DeqsIRG$Z3L zu13jU+;d(8jA+KnG9vABto>-rEPvq6dDeh5c9uVK=O0GSKbleWk5rMU!^~J(hS9#r zYLLd#GQgcntPN>QErZ;-!Wxmr*3#n6Ro03$#+EjBt}(*4Y0Dd|9NDZEY0ND{v~MuN z4w+GRh{~gmY{uL&GHrREl_MG1jJ~5X){e%V2V5G3M`NrV!x+ts!ecPzj>VnFTpESP zV(cB;7|V>tV>9-S!=0yG8kNUk3?9!I$BfG3F$Ry%ofljhoyTV^p1>I2jLs7>n6Khu*^UKuS`OF%Y#{M!5cVq-V ztuYPvRY&yGvBDLRO0$CWR6iKgv)&ca&){ipATzM;B_sJ8T$zD+LnME_8;NnQ)Y`Vp z;%l`#3sqJ|!fUBA8?_d$b|zn|zf&Ut)8!PGcvxGT2s&HuXHmo;+9%# z&)_e2(=!s6%UOL-?=N-JGE$dIS(Q)AD1ND%+L+SUD*i$@B_n;QHU5pTn5i<;_y@f>nbTY0J&UR-~&vi9tk#pI(Na)XZHD{6Y*||vUFLE_k zk&D=|Na`Yy?L8D{c5=imYAoz)cjACsm>G=J-bG=5zgy5RVAS45L4TiHfccNqo`=+YNNO+S zXMZnOexvqCer67}*UfLt=WF+5x0{domDHX}K7W^+mwA`eUQ1r)V!PZt#@xPkVX|Rv z=4gLYX?G?&YL>T=YBT#axlpsZ%~adj+X=^9z6|$wvbPgN&AN9|{lgxKg_?c;Lv?|@ z5*sxOzd&`-y}(|H=Hl`a`zJOt@k_2|<(J%$f0y3Za=OpMK3|31}Sc4VSpOx6PKQfap)45P4y zaDz&_JOK=2E_|M92m3xbF~A&o2bFfma$rto(%Y!Cd-fCNU~avYO1o+=y)9JoC9C&a z+-LZbHJMFR+Ff{N_8#OjR&Zi+X|F;)V#P;08UL~pB(+?4F#(%dB06b7>c551uvd@wA)sz}>^joP5CU&K}nE9=KbL+r9q0+RxqY zwfCj=bhmqLsoVRqt*_nQKd>z`%05)u4emv@@ul{N|L}XdZJ2*b?H#xAd$_HcmrCs^ zxAwcct(dP$?KQXZySXiy$4c!%xAfVU_M02c-ZXRGu5NQP*9Yuedvxm0hVb4|Bbu?krY-rOrmo`v2|M zXeXzrtItptbtn0`nQ_TU{%d^Ayz)1EjdjQg!?_%*z7%xIf#xm!v=8g2VOEQvbG;`uA-Uwg2C?lvwGH0&r4fD0TGK^{j^XW?7aQ_$f zTZU5&V}|{U_m^LhotVF$-Wb0+doW|DG|R3h0X#{2a=&5>n2c3LL-^*zm%Wqo#B^TR%2Dsxp7AK4XuoBIAoLOe( zgwSd~tE)M)%*qL&4gOEA=F0LXP6loAbGe!$%UqlY+UnLU4x=Jh;0P+@0X=?(XjH z?t0MR{Hyvh-gtwNuXYmdJsd)E!rF7qFSIRO9~ho(aPn^}>W8+6eJW-7)!>z`v-pH7N_Q+1egHVnnG zjeu8*g;NacpR2JAfMlu$r&ySKHVD;Vn*hsH15W-Fv`MHI8wV^?Ejam8(0Dl2iDWzw zO|@Xs86WbepYfr3YzttTTEVjc>t`zM z%Sf0V`X`_MNo0K{$j?M}803`DFm?#*r_T-zV<&}%z+}=-pDh}~P6!QR2Sn0mj|RbP zb3$l9B>S`DLlZ*dLj7Ux>F2o6c*wD#elQR9b1b~CA3G-07v`jX`ixUwc66u@%uoIF z*{41*O&uNT9m!s-PepZu>;<#dQE>8Uscvi{P*Z;TGugyY4|W8QRet)j*%6^V;Sr&p zte<^miXrz?Dt51gV%1bLtuX7-_QE_17=G%*dOrz8}Q>goc#A+ zVf|a(E0Ldhg&hE=%aQc&g0Has!k1x!<)?o~e3|VVz6f(JKm9x8i!jOg$^MGWb^e2s z|Jq0PcO-vCraHgjSCtHJ*#Iy8ROcl-G3-x`CWc?KQ{e7)Dm-7YeoloO+?VY1us=KU zb2_~56+1KR&yM_@2{*WJ*xBKC@XzyeHr(L8V^6Zf;l|ldfA%#zd6d>>ggfXv z>`1tI_S2t%jSN447k~QYpGLzS^jLU4V*MNoH_#8*@nL`V<>z>K-y`^S`m--TC&CT% z6PWe&4PS`ldDg#8?;SqRo@4#=@7T|?J;UcbJlDd>e{CI0aDHN(KXoR!_3$h6lYqCaXWPT{dSxWr1Lv@U?Eq8k zRgvrvZV%^T*w75V~>ZEPiM@6oC|aMrf~8pj@gj@)V?vC+5m&m7M@A0pKZf!AQQs=4ByWL zcwZ7s*b`uy@8=4(T{r>Ag6A;l^wVbyp0ne^Phk@3=Qw!ZQ+7=FF-%JR90OFsW0<0j z2|tYFeb%QK?z2AI;OBjqxQ+@9R~B-RzO4ec?;&Yt-_TepUs3*3XsU72c=}XDxzM6;d3bL{crFS1 zSrN$NMNm>4#cg2&TmW)2JU7A1X4cP5Y!Kd>6b{14&m{OY2Dx0JU2yZ@r_WaJVsnIc zvfCr+GuJ!WY@zLNW8tUIWN&9Phql7KhM$>3*&w61%%LrjjN-C{GKX-k32-}p;@lUu z34E95lQMo5hOfUv!YDU8{0lxaXT!;7PfEkTr%zWioc}ii2L3<3vYA4DW(h@cU)f*q z*^Y94{(`Tn2z+k;WPeAVzu_x@|CQi3e0}{3Ka%0|@GpFy`JMd{$-=;GeTT30MZ@19 zzriyZ66gHCYxs%7XK?`_z%Y)8JPGa({5_-qe8owQJd@#n;lExKcrX813^*_USpxVj z|5*ySF8^63TrTn~2OOEtl9dCVDn|BM#ys9+Cn{iKIeOBWaMdNIE1vk^#wxWI{3{S&*zqHY7We1IdZx zLUJQ{ki1AfBtKFBDTow83L{03qDV2MI8p*BiIhT0BV~}XNI9fDQUR%mR6;5vRgkJk z3{nk=MXDn;keWy>q&89qsf*M@>LU%1hDal%G13HSio_w!ka(my(gJCTv_e`VZIHG| z0@4m?k90sfBAt-VNEf6l(hcd3^gwzdy^!8WAEYnR59yB#Kn5a%kip0hWGFHW8IB|( zBao5EC}cD;1{sTtL&hT$kcr47WHK@ZnTkw9rXw?unaC_;Hj;$QLFOX!kom|0WFfK$ zS&S?}mLkiL<;V(TC9(=xjjTb|BI}U#$OdF1vI*IYY(cgn+mP+Z4rC{?3)zkALG~j1 zkp0L3CGrY+jl4nLBJYs*$bZNO!S70`e*~RA=(ISj5a}=qH$<5G#+h^wm@5=t3c0;?PJ2kndYL;Irx(1GY6bTB#u9f}S^hogz; z2y`Sm3LTA(LC2!w(DCR5bRs$los3RFr=ru)>F5k}COQk9jV7UU(7EV5bUwNOU5GA1 z7o$tirRXwrIl2N}iLOFdqifK$=sI*gx&hsYZbCPsThOiOHgr3>1Ko-4LU*Hk(7otB zbU%6kJ%}Dc52HuWqv$d8IC=s-iJn4Fqi4{w=sEN}dI7zNUP3RUSJ12IHS{`q1HFmf zLT{sY(7Wh8^gj9keTY6nAEQsur|2{EIr;*9iM~Q#qi@i+=sWa1`XBlM{fK@-KcipJ zuV^y*4gHS(K!2jY(BJ4E^e=q!qZo$a7=e)(h0z#;1+XZnNQuTmSQvwEXfPfVFcFh5 z8B;J7(=Z(~FcY&d8*?xh^RN_HN-PzY8cTzv#nNHvu?$#7EEAR)%YtRavSHb=99T{) z7nU2#gXP8YVfnEFSV621Rv0US6~&5S#jz4tNvsrB8Y_d9#mZsju?kp4tP)lktAbU< zVz6phELI(>fz`xnVYRV3SY50hRv&ACHN+ZWjj<+JQ!EZ^hQ(veu@+cMtQFQ8YlF4L z60mkyd#nT25$l9?#=2l#v2Iv*tOwQ;>xK2k`e1#repr8O05%XCgbl`qU_-HC*l;Wn z8-b0)Mq#6|G1ypa95x=CfK9|EVUw{b*i>v9HXWOR&BSJ5v#}&>4mKB?ht0UU=OiJ*kkMo_7r=DJ;z>PFR@qHYwQj77JG-i$Ns}UU>~th*k|ku z_7zLUzG2_7AJ|Xq7xo+bgZ+gs{V0y%I8NXsPT@4p-~lKM4C2vv2oK}%A4QzU1zf}> zT*eh##Wh^V4cx>n+{PW;#XUR)o)S-mr^eIZY4LP;dOQQ35zmBY#p4o$)SsSG*hE9q)nn#Czer@jiH8ydT~lAAk?U2jPS9A^1>y7(N_N z#7E#G@lp6_d<;GoABT^}C*TwDN%&-Z3O*H|hEK<5;4|@A_-s50pM%fE=i&451^7aI z5xy8-f-l9F;mh$A_)2^gz8YVHuf^Bl>+ucvMtl>#8Q+3$#kb+x@g4Y1d>6hO--GYP z_u>2T1NcGw5Pldxf*-|?;m7e4_(}W}ei}c6pT*DN=kW{pMf?(e8NY&G#joMl@f-L} z{1$#2zk}b!@8S3H2lzw$5&jr|fS zL@pvXk%!1j}DpqBK#4C`*(h$`cicibN%%GEs%7 zO2iP=h*+XJQG=*S)FNsVb%?q|J)%C*fM`fGA{rA-h^9mw(Ts>EniDOEmP9L}HPMD> zOC%8Oi1tJWq9f6X=uC7Wx)R-p?nDowC((=OP4pr968(t&!~kL-F^CvU3?YUR!-(NT zA~Av(NsJ;!6Jv<6#5iI+F@cy!Od=)|Q;4a=G-5h2gP2LoB4!gw#2jKSF^`x}EFcyV zi-^U<5@IQ_j95;rAXXBqh}FazVlA}p&pNP-I z7vd|COnf806F-Qb#4qAE@rU?JAS6m+Bu)|}Nm3+DGGqV>LW5*986v|Z3*UtDq(F+K zM9QQ>s-#Bhq(PdbMcSl8x}-;@AXAd5$kb#SGA)^oOiyMYGm@Fe%w!faE18YVPUawU zlDWv-WF9gvnUBm*79b0fg~-BW5wa**j4V!;AWM>^$kJpPvMgDSEKgP-E0UGS%48L? zDj7poBV)JBioZ5$c|(uvNPF*>`HbcyOTZ0o@6hwH`#~mOZFrClLN?sRBHiXxJGq10N$w(dlY7X$ zr{B2SZN$g|`*@;rHgyhvUmFOyfutK>EEI(dV< zN!}uFlXu9w@;&(<`GNdMej-1U zU&yayGWm`CPW~W&lE28`;R7#_C%AicjqHM~cT*{+TP${WYRB9>>m6l3JrKd7b8L3QEW-1GnmC8nCr*cp^ zsa#ZUDi4*H%17m=3Qz^9LR4X@2vw9SMir+@P$j8SRB5UVRhBA8m8U9D6{$*8WvU8Q zm5QONQL$8Yss>e)szueN>QHs5dQ^R?0o9OdL^YkeHK$roEvZ&iYpM;^ zmP(-7QSGS?R7a{4)tTx-b)~vd-Kic_PpTKyo9aXLrTS6*sR7hLY7jM;8bS@FhEc<* zL}~;zk{U&grp8cXsd3bJY63NpnnX>erchIK=8UdO$s-9#M~}C)88w8TFicLA|72QLm{t)LZHu^`82V`apf8K2e{k zFVt5mnfgY3r+!dBsbAD@>JRmoLTHr6Xq+Z!lBQ^yX6OJE0te}6Iz)$QmgZ=l7HE-{ zXqi@MmDXsTHfWQ!Xq$Fum-grsbV@oEotjQVr=`=;>FEq~MmiInna)CIrL)o5=^S)U zIv1Ur&O_&=^U?X~0(3#T5M7uqLKmfr(Z%T!bV<4tU79XKm!-?m<>?A^MY3(#7dH_9;9z+kOhtNamVf1i1 zksd*hq({-C=`r+JdK^8ToUT(X;6!dJa98o=4B87tjmo zMf75N3B8nFMlYvV&@1Ux^lEwyy_Q}_uctTA8|h8-W_k;~mEJ~gr+3gh>0R`0dJnyq z-be4J56}ncL-b+#2z``3Mjxk7&?o6r^lADGeU?5)pQkU-7wJp%W%>$zmA*z_r*F_V z>09(|`VM`UzDM7uAJ7l!NAzR*3H_9QMn9)t&@bs%^lSPJ{g!@5zo-ABKhPiPPxNQ{ z3;mT&roYkO=^yk@`WOA1{zLzz5e8*224@I{WGIGa7$(3(F+nDp2{B=Yg;5mG2#m-` zjLayE%4m$v7>vnSjLkTV%Xmx*CMA=KNzJ5T(lY6o^h^dOBa?~A%w%D*GTE5yOb#X| zlZ(mCY)wn8r*KrYRH0G-KkK=1dEwCDV#&&9q_K zG6_sOrajYv>Bw|qIx}6Eu1q(kJJW;d$@F4+Gkuu8Oh2YSGk_V$3}OZ|Lztn=FlIQD z$c$h{GNYK$%ot`YGmaV0OkgH5lbFfO6lN+jjhW8OU}iG2nAuDcGl!YW%wy&=3z&t> zB4#nOgjvcgW0o^3n3c>bW;L^hS<9?r)-xNJjm#!yGqZ)+%4}n{Gdq}_%r0g(vxnKs z>|^#b2bhD*A?7f1ggMF_V~#T?n3K#Y<}`DLIm?`5&NCO7i_9hFGINEw%3NcvGdGx< z%q`|NbBDRh++*%D515C{Bjz#lgn7z5W1cfFn3v2e<~8$%dCR z_CwFeLFg7a41FR;p+n?&-~=>>oPxHhGtgUg4!W!^K-1MF=)k%XxEiP@E*LiAHY!i2`sW-pdlm~{O#Yt zwEhz;>%XBr{%-&QYdi)Pc>>Jx6xik&FwjSVl|C9g^tFYIKIkzk5LFOt zu7#tD{Oc(%@vo1(3^-fMMU{`L0H)eXQI)~mS~V&LEVi*=w5!>zSZKD#R+C{aG>JZft8YDV{;ks+2hoVQM z$D%jbtougw1GDr1a7+)18VqLYp;5!25hD>=Ge$zA#%QoNj|Io`c(6531Vi&=uu4w_ zU-WcvLeGRIiP_-qo&%oldEn$;5Va7T;)}r+zBFnXv`MT05BMtRnphJtdanm>_r^%` z^OlHNe0#(nz6&~9_CS}#K5z^l_}9*SB+|otJkq*+3feKwfZ_NYv}RoR*QR_0dR(r7 zefb8MnQuXd%N;N}-;25*X+C}gZ7om!wHUvE4vtq*uc4{qEf}cZM_PwJMmmPSfWbOB zVxImH^)q6~{u8lZqtJPRN7{d>NZ)TD7!?dc%Sb2~1_w9?o^SzLQY0{rD`5E6z|U=f z!`p&hEC*V#ykLr8%3!Ks>R_5++F-h1`e24&#$cvk=3tg!)?ha9^5*~-e=hLv=K zKCtW;0JDA}u;~{8gMKk+Q78eX{8C`YF9SaOa>4S@)KD>434Hfez;Pb~9S^aQ#@Cwv z+Fk1g>p@RM1L)mr6lrR08jK4z3&sbV2U`SN23rMNLyuY8U_!9nzgE>w&?D3ZTGP5g zlUfgGR_g_QYki;vsNcV~(?QViGXz?FhC!20B6Pux432{4xG}-8!EwRy!3n{M!Aa0e zHzhbVI1M^_WhP3Z91E zr?bIx!Sm4XbP@WTE<=yg)kw?a4QN=q1>I|RppWfdq%ZOzG;=-v*9G}J_#*f+_$v4s zdbQpL-v!_Q>u~%8Jy~C%8!P!=C*#k5-HU&N2-uRbi2IoYBQy<`=Rm~B91R-4Fu0dF za5@VSpR)}1XBF&&Iv5Gfh}X~o_n;SXBc}piVj6HLri)Gw9>I*@Ldp#0uB;I|V-9d| z<%)Rc@`9T#f5Z(|2+Uzcz%Et{>|-S&mbTJhZYv8uxAI_ms~BA=x^i?CaB9VXM=KUw zay7s&R}0)pb-;U953Fkqz=zieoN7(Ln-&+b@-_$GQp<>Yw@t*f+wPxLx6?m+Za45W z^#He0FEIP{0b5i*FhUK8cy9+s4*{psFmMeff-i7n#4I=lJYnO&95(@Ma+4w!+Nt28 zn+|rmnPB^x4Ti5d;I^9wzPkngEU`->&dufE=35zY!mWw;UDy9}xo(bFTetl`N9*p0 z>uMjEtPVtctA`_Y)ni~IJP~n9od)mW+30g%JG=mf!%JX)yb^JtUXQ*3=Eqy$dAtK= z$9vKDqaQ>+jD8gTIQmKS)97c>&!b;Nzl?qr{W|(h^xNon(eJ_Y_W@jhpTN`h1zc{) zV1@e*PQsrNXX78Rdm zh|B>%Z4LrLXUIP{Pa?1*BO_j(F~F&e1D0h1@Hvx!$(aH?&NN_fW&mw73s{?^&>SGr z=Y{42r@j!_^~J!mF9pVZdBk|L>Yv$WUBqFtF=DLQ67kb)|L3CF{m(hGA1LO7z&am} zSY(a?Reb_T>rI|w*u^hNU#H_KFJjfYII&yWSU(rj=SnFF@sa>0gN9@v)42OD$+fblE@H@`(9x2VP8 z?zAM_o0f(<)3R_+S|093E5dzfW#AO60=rl(;=ZT>lxD4PZJ;RY0@+zV+yHpVMnEz& z2{#SLg`0)r!_C7j!Y#wC!mYz?!fnF|;dbHn;SS-BKuvT87N#rki`{`N=?UCo?}+iC z9}tQIfaVzlB;pXbjUE$_=IsdY1kQGM#3-;Y;tn_% zJ_L;N5!kRg2HR98U}NeOY(<@c&8Ks)+jIdom@dJV(iPZ0x&}K&HzGSlw_#i8Ze%;? z!M|<$C;ztUUjR4#3V7-_k&T@9k-eLbk?oo!eu=+1)Gvh#inM{uxZ(J zYGFq+&B*7@Na} zaZ6yITLUlM7O3iWKwftMI=d6_+g)JKw;K?7J%ASL1>{*Dpws#Rzcv7^1OW zZ-Ehe|8JM@6Z@I{0vv5J&<@{$h4={!#qS6k;gb|T%|rlI;8O$)@C8u*!bO9oFAQn{ zj^jCj6FG^KIfYX>jng@UGdYX1IfrvOk4wR&JD z8<(BS!R6#~ak;rXTwX38m!B)Z732zWg}EYJQLY$QoGZbVI(zTs+sDYr(bT zT5+wpHe6dSfosRL=Q?m5xlUYXt_#&A8GdT>3tUR-ak57(FL$Mxq1a09tP++c19 zH)43VkOl}r8n@i&6aC5nN z+r45kLR27E%=sv zE50?~hHuL!@a_2ad6AsRHFVSyDm zffocp6eK|w6hRdd4+sJexZO+P$(o67K#W(g2SY zBvclv2vvm`p_&jYR2OOpHHBJ2ZJ~}(SEwh{7a9l+g+@YSp^4B`h!dI#@j`Q=pJ2`-KC-LE(^aSU4ga6^;qVg%iR_;goP%I3t`D&I#v*3&KU=l5knLB3u=& z3D<=i!cF0pa9g+|+!gK#_k{<-L*bF|Sa>2l6`l#tg%`q0;g#@Ocq6q(w#yh*4q?%9%o9SY$;` z@xy3wUUNN7TUo0RN6bp%k#Uf%+v6xs~EFqQ@ONph$GGbY=oLFA0AXXGB ziIv4FVpTCltR}{a)x{cOO|h0(TdX7273+!h#Rg(Sv60wVY$7%lez)gSb)LByJYBh+D;N;&yR|xKrFE z?iTlmd&Pa?e(`{KP&_0a7LSNW#be@e@q~C%JSCnM&xmKmbK-gNf_PE9BwiM;h*!mH z;&t(ccvHM3-WKnOcg1_+eer?#P<$jl7N3Yu#b@Gk@rC$Od?mgX--vI;cj9~TKk5?Itk|o)aBe{|%rI1oesif3W8Y!)mPD(FjkTOb{q|8zlDXWxC z$}Z)Qa!R?R+)^GXuar;9FBOmqN`<7tQW2@BR7@%^m5@qGrKHkQ8L6yPPAV@|kSa=* zq{>nisj3tsRg+?+>QW7)JSS9HIbT1aZ)oWUTQA2kXlNu zq}Ea!sjZYCwUgRQ9i)y@C#kd4Md~Vble$Yiq@GeQskhWe>MQk=`bz_(fzlvpurx#( zDh-o{ONr75X{0nt8ZC{H#!BO)@zMloqBKdGEKQN7O4Fq2(hO;)G)tN-B}sFnxzapo zzO+DEC@qo}OG~7s(lTkev_e`bt&&ztYoxW(I%&PMLE0#7k~T|Qq^;66X}h#T+9~al zc1wGtz0y8uzjQ!4C>@dxOGl)m(lP0{bV52Qosv#VXQZ>zIqAG~LAoeik}gYEq^r_3 z>AG}7x+&d~ZcBHhyV5=BzVtwPC_R!MOHZVy(lhC~^g?x_Z=|=IZ6)7(V(3UgEESf zd0CJ}S(0U0kyTlfb=iY49yj|WQ@054R zyX8IdUU{FqUp^ooln=>=Tho zd|kdF-;{63x8*zXUHP7TUw$Azlpo2DS4I?6!4zB}6jGrST49uc5~T!{Xe9&!QC8s; zUJ(>gkrY``6jjj_T`?3>u@qZz6j$+-6iP}Zm6BRXqoh^RDe09AN=7AL;Tgjv3Rq`qMl>$mZrI1osDWViriYdjF5=u#>lu}wLqm)(3Ddm+4N=2oT zQdy~@R8?Y>YD%n9U8$keRB9=;l{!jYrJhn>X`nPz8YzvHCQ4H!PHCpZE6tS_N=v1c z(pqVwv{e$6c1nAtgVIsyq;yugC|#9qN_VA)(o^ZB^j7*PeU*Mne`SC&P#L5QR)#1; zm0`+oB~clnj8sM`qm?nrSY@0tUYVdwR3<5tl_|l|{;8Wr?y>S*9#kRwyf#Rmy5*jj~o*r>s{tC>xbc%4TJYvQ^opY*%(DJC$9^ zZe@?MSJ|iRR}Lr#l|#y5<%n`rIi?&}PADgpQ_5-OjB-{vr<_+VC>NDW%4Ow>a#gve zTvu)=HSITSUjq+A`r@UAGQ$8pk zl~2lN<%{xFNmjlo-<2QAPvw{LTlu5>RS*?bF%?${l~gH}Rv9&*MnRQlG-%_)DywoT zuL`QDN~)|Xs;X+Lt{SSTTB@x&s;hcx3N@vgN=>b%QPZmF)bwfwHKUqI&8%iov#QzD z>}n1*r#hls`=FXY5}#NT1YLd7Ez0;#nj?z3ALnJN-eFHQOm03)beTtwW3-{ zt*lm2tEw?-H8obPuGUa%sM(VJ)XVI!&Ff&QNEnv((vYk~&A7tIkvB zs|(bH>LPWqxoAQE7XLK;8dPF^{9#fC2C)AVbDfP5^Mm?*ZQ_rgx)QjpR^|E?Jy{cYQ zud6rIo9Zp~wt7dstKL)Zs}IzN>Lc~B`b2%IK2x8oFVvUnEA_SdMt!TkQ{SuqsUOsj z>L>NH`bGV!Cad4n@9Gcrr}|6%t^QH}s)&Yan1*YFMrxEsYm64qqO_nE4K)H`jnz1f z*91+}Bu&;7P1Q6_*9^_nEX~#&&DA_Dg_crFrKQ%=Xlb={T6!&mmQl;3W!AE2S+#6h zb}fgNQ_H30*79h1wR~EBt$T6wL4R#B^@ zRo1F#Rkawcnii{7*J@}rwOU$jt&Ub#tEbi18fXo*Mp|R7iPlt$)0%1VT63+1)>3Pw zwbt5bZM6igoz`CKpmo$bX`Qt$T34-`)?MqN_0)Q4y|q4CU#*|kUmKte)COsTwISM2 zZJ0J(OVmbaBehZ5Xl;x(RvV{{*CuEawMp7!ZHhKko2E_IW@t0DS=wwZNt>h1)#hpQ zwFTNjZIQNETcR!1mTAki71~N|m9|=2qpj7}Y3sEO+D2`YwprVvZPm7E+qE6qPHmUA zTic`U)%I!owFBBg?T~g@JE9%cj%mlW6WU4bly+J>qn*{xY3H>I+C}Y>c3HckUDd8> z*R>nkP3@L;Tf3v()$VEcwFlZm?UD9ad!jwno@vju7urkhmG)YDqrKJMY45fFv=7=x z?UVLd`=Wi-lC^KzckPGvQ~Ra;*8XUJHAF{sOviOXCv{4vbw&^9P`Rr|>mfa?vpT2q zx}b}?q|3UZtGcG^x}lr8rQ5orySk^R&{OKE^wfG9J*}QjPp@atGwPZ2%z73*tDa5I zuIJEm>bdmXdLBKmo=?xO7tjmph4jLD5xuBhOfRmN&`av2^wN46y{ukNFRxe7E9#Z> z%6b*Osve_P(_{7OdJVm%UQ4g7*U{_h_4N9B1HGZ%NN=n+(VOaVdNVyjU(G`XGIi>f`kB`UHKVK1rXfPtm99)AZ^341K0POP{SL>2vhC`aFHU zzCd57FVYw5OZ27sGJUzeLSLz`(pT$i^tJjreZ9Ux->7fWH|tyUt@<{7yS_u;sqfNv z>wEOQ`aXTXen3B{AJPx&NA#omG5xrHLO-dW(ogGW^t1Xo{k(obzo=i*FY8zItNJzl zx_(2yso&CX>v#0K`aS)={y=}IKhhuTPxPnyGyS>#LVu~h(qHRu^tbvu{k{I5{z3n! zf6_neU-Ykfvi?o~uK&<~>c8~g`XBwTju@zc8Mr|hq(K?9!59GpN|=pks7nePtic() zAsC_|8M2`ms-YRWVHl=i8MfgVuHhLejFd(yBejvnNNc1s(i<6!j7BCSvysKfYGgCA z8##=eMlK__k;lku}Yl}JDXk1u4Xs0yV=9+Y4$REn|;i_WXpS&Pnxo9o<`{FVInEq!PB15$lg!EH6mzOM&75w|FlU;x%-Lp=Imeu9&NJtm z3(SS)B6G31#9V4FGnbny%$4RUbG5m~Tx+f~*P9#6jpinEv$@6GYHl;Pn>);%<}P!$ zxyRgV?lbqB2h4-!A@i_##5`&qGmo1m%#-FR^R#)!JZqja&zl#_i{>TsvU$b4YF;z1 zn>Wmx<}LHKdB?nK-ZSr;56p+=BlEHO#C&Q#GoPC;%$MdX^R@ZLd~3cl-<$uLAIy*D zC-bxU#r$d}o8Qdu<`46y`OExm{xScWh=p31gqGTd{%y|fK|{cWEHlGSVgU3R&lF@RnjVDmA1-QWvy~nd8>j|(W+!s zwyIcFtr)AC6>C+uYFIU`T2^hVj#byHXVteFSPiX4R%5G))zpf!npyEybE}2b(rRV3 zw%S;2tpux`)!yo0b+kHJovkibSF4-V-RfcWw0c>+tv*&?tDn{18ek2y23doxA=Xf9 zm^Iu=v_@DXtx?u!Ym7D48fT5SCRh`#N!Da*iZ#`mW=*$dSTn6z)@&=unq$qi=2`Qt z1=d1qk+s-bVlB0nS<9^z)=F!Ywc1)^t+m!!>#YseMr)I`+1g@lwYFK?tsT}*YnQd# z+GFjt_F4O_1J*(7kagHPVjZ=PS;wst)=BG>b=o>(owd$c=dBCYMeCAv*}7s~wXRv$ ztsB-&>y~xfx?|n7?pgP(2i8ODk@eVmVm-BxcEz`epsL{#bu4#71q*#%;nTZOW!?#tzs~cF>NtLw49^ZO-Ox z!4_@FmTkpWZOztg!!~Wpwr$6DZO=|&r?gYqsqHj&T05Pc-p*iWv@_Y6?JRayJDZ)| z&SB@YbJ@A=Ja%3?pPk<>U>CFt*@f*Qc2T>SUED5Vm$XaSrR_3yS-YHF-mYL*v@6+_ z?J9OvJI1bN$J*8H8g@;)mR;MfW7oCo+4b!Pc0;?7-PmqoH?`yJW_G;Y+-_mFv|HJ& z?KXB>JHc*ex3@dk9qmqbXS<8t)$V3@w|m$sJ zfxXaPWG}Xt*h}qY_HuiLz0zJ~ueR6NYwdORdV7Pt(cWZlwzt?@?QQmUdxyQ#-evE$ z_t<;wefEC)fPK(DWFNMV*hlSS_Hp}!ebPQizP8KJtlg-KQ zIlRDejbTN;;*S(oPwttW(Y@?^JLqI+dKt zP8FxB6XR5KVx8(v4X374%cU49uJ3XA9PA{jo)5q!S^mF<<1Dt`*AZM^M#2M-g zbA~&K&Io6uGs+q5jB&;~~eNH zdz`(_K4-skz&Yp~at=F3oTJV$=eTpiIq95oPCI9uv(7o^ymP_1=v;CxJ6D{m&Nb({ zbHlmm+;VO^cbvP*!TIQX zay~m>oUcx@^UeA0{BV9czntIBALp-wxTuS{xJ$UCOS!bmxB)lH4Z6{8$PK%!%elNO zxS}h$va7hNtGT*sxTb5lw(GdA>$xf1lx`|FwVTFG>!x$lyBXY!ZYDRgo5juQW^=Q< zIozCXE;qNE$Ia{JbMw0e+=6Z)x3F8pE$S9?i@PPy~rNyA|AuZY8&} zTg9#F#<#Goa%;PF+`4W(x4zrJZRj>~8@o;1rf!_u%#C-OyDi+7ZY#I7 z+s19{Cb;d~_HGBaqua^t>~?Xxy4~FFZV$Jo+sp0k_Hp~V{oMZU0C%7}$Q|qsafiCY z+~IDbJHj35j&eu4W8AUsICs1|!JX(%awoe}+^Oy~ce*>no$1bUXS+%69Cxle&z_o#c!J?@@xPr9ev)9xAftb5Kq?_O{(x|iI`?iKf{d(FM> z-f(Zax7^$A9rvz#&%N(Ha38vl+{f+{_o@5LeeS++U%Ic{*X|qlt^3Y>@BZh0a6h`A z+|TY8_p6)iesjOOKir@0FZZ|m$NlRf9_nEp?hzj8Q6B9vUcig;f*w>FdSOuga~|&r zp6E%Q>?xk=X`b#Gp6OYh?Kz(7d0q-HrI*S}?WOV3dg;9MUIs6tm&wcQW%06l*}Uvt z4lk#d%ggQM@$!24y!>7Pub@}RE9@2Vih9Mo;$8`_q*ux-?UnJ$dgZ+GUInkBSIMjF zRq?8NFl%Vo9@l#g(FdmFrs-X?Fex5eA)ZS%H!JG`CVE^oKD z$J^`e^Y(iOyo25$@342oJL(z(t?dl$Tm-X-s{cg4HvUGuJc zH@utPE$_B>$Ghv@^X_{OyocT+@3Hs9d+I&&o_jC6m)%H^d|KAioD121- Or0`jRVFMcj0|NkPz_+ac literal 0 HcmV?d00001 diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/quad.nas b/Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/quad.nas new file mode 100644 index 0000000000..016629be1a --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/quad.nas @@ -0,0 +1,40 @@ +round10 = func(v) { + if (v == nil) return 0; + return 0.1*int(v*10); +} + +round100 = func(v) { + if (v == nil) return 0; + return 0.01*int(v*100); +} + +var update_quad = func( ) { + asl_ft = getprop("/position/altitude-ft"); + ground = getprop("/position/ground-elev-ft"); + agl_m = (asl_ft - ground) * 0.3048; + + setprop("/apm/altitude", round10(agl_m)); + + setprop("/apm/pitch", round10(getprop("/orientation/pitch-deg"))); + setprop("/apm/roll", round10(getprop("/orientation/roll-deg"))); + setprop("/apm/heading", round10(getprop("/orientation/heading-deg"))); + + # airspeed-kt is actually in feet per second (FDM NET bug) + setprop("/apm/airspeed", round10(0.3048*getprop("/velocities/airspeed-kt"))); + + setprop("/apm/motor_right", round10(getprop("/engines/engine[0]/rpm")/10.0)); + setprop("/apm/motor_left", round10(getprop("/engines/engine[1]/rpm")/10.0)); + setprop("/apm/motor_front", round10(getprop("/engines/engine[2]/rpm")/10.0)); + setprop("/apm/motor_back", round10(getprop("/engines/engine[3]/rpm")/10.0)); +} + +var main_loop = func { + update_quad(); + settimer(main_loop, 0); +} + + +setlistener("/sim/signals/fdm-initialized", + func { + main_loop(); + }); diff --git a/Tools/ArdupilotMegaPlanner/defines.h b/Tools/ArdupilotMegaPlanner/defines.h deleted file mode 100644 index 74760c243c..0000000000 --- a/Tools/ArdupilotMegaPlanner/defines.h +++ /dev/null @@ -1,346 +0,0 @@ -// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: t -*- - -// Internal defines, don't edit and expect things to work -// ------------------------------------------------------- - -#define DEBUG 0 -#define LOITER_RANGE 30 // for calculating power outside of loiter radius - -// GPS baud rates -// -------------- -#define NO_GPS 38400 -#define NMEA_GPS 38400 -#define EM406_GPS 57600 -#define UBLOX_GPS 38400 -#define ARDU_IMU 38400 -#define MTK_GPS 38400 -#define SIM_GPS 38400 - -// GPS type codes - use the names, not the numbers -#define GPS_PROTOCOL_NONE -1 -#define GPS_PROTOCOL_NMEA 0 -#define GPS_PROTOCOL_SIRF 1 -#define GPS_PROTOCOL_UBLOX 2 -#define GPS_PROTOCOL_IMU 3 -#define GPS_PROTOCOL_MTK 4 - -// Radio channels -// Note channels are from 0! -// -// XXX these should be CH_n defines from RC.h at some point. -#define CH_ROLL 0 -#define CH_PITCH 1 -#define CH_THROTTLE 2 -#define CH_RUDDER 3 -#define CH_1 0 -#define CH_2 1 -#define CH_3 2 -#define CH_4 3 -#define CH_5 4 -#define CH_6 5 -#define CH_7 6 -#define CH_8 7 - -#define WP_START_BYTE 0x130 // where in memory home WP is stored + all other WP -#define WP_SIZE 14 - -// GCS enumeration -#define GCS_PROTOCOL_STANDARD 0 // standard APM protocol -#define GCS_PROTOCOL_SPECIAL 1 // special test protocol (?) -#define GCS_PROTOCOL_LEGACY 2 // legacy ArduPilot protocol -#define GCS_PROTOCOL_XPLANE 3 // X-Plane HIL simulation -#define GCS_PROTOCOL_IMU 4 // ArdiPilot IMU output -#define GCS_PROTOCOL_JASON 5 // Jason's special secret GCS protocol -#define GCS_PROTOCOL_DEBUGTERMINAL 6 // Text-based interactive GCS -#define GCS_PROTOCOL_NONE -1 // No GCS output - -// PID enumeration -// --------------- -#define CASE_SERVO_ROLL 0 -#define CASE_SERVO_PITCH 1 -#define CASE_SERVO_RUDDER 2 -#define CASE_NAV_ROLL 3 -#define CASE_NAV_PITCH_ASP 4 -#define CASE_NAV_PITCH_ALT 5 -#define CASE_TE_THROTTLE 6 -#define CASE_ALT_THROTTLE 7 - -// Feedforward cases -// ---------------- -#define CASE_PITCH_COMP 0 -#define CASE_RUDDER_MIX 1 -#define CASE_P_TO_T 2 -#define CASE_T_TO_P 3 - -// Auto Pilot modes -// ---------------- -#define MANUAL 0 -#define CIRCLE 1 // When flying sans GPS, and we loose the radio, just circle -#define STABILIZE 2 - -#define FLY_BY_WIRE_A 5 // Fly By Wire A has left stick horizontal => desired roll angle, left stick vertical => desired pitch angle, right stick vertical = manual throttle -#define FLY_BY_WIRE_B 6 // Fly By Wire B has left stick horizontal => desired roll angle, left stick vertical => desired pitch angle, right stick vertical => desired airspeed - // Fly By Wire B = Fly By Wire A if you have AIRSPEED_SENSOR 0 -#define AUTO 10 -#define RTL 11 -#define LOITER 12 -#define TAKEOFF 13 -#define LAND 14 - - -// Command IDs - Must -#define CMD_BLANK 0x00 // there is no command stored in the mem location requested -#define CMD_WAYPOINT 0x10 -#define CMD_LOITER 0x11 -#define CMD_LOITER_N_TURNS 0x12 -#define CMD_LOITER_TIME 0x13 -#define CMD_RTL 0x14 -#define CMD_LAND 0x15 -#define CMD_TAKEOFF 0x16 - -// Command IDs - May -#define CMD_DELAY 0x20 -#define CMD_CLIMB 0x21 // NOT IMPLEMENTED -#define CMD_LAND_OPTIONS 0x22 // pitch in deg, airspeed m/s, throttle %, track WP 1 or 0 - -// Command IDs - Now -//#define CMD_AP_MODE 0x30 -#define CMD_RESET_INDEX 0x31 -#define CMD_GOTO_INDEX 0x32 // NOT IMPLEMENTED -#define CMD_GETVAR_INDEX 0x33 -#define CMD_SENDVAR_INDEX 0x34 -#define CMD_TELEMETRY 0x35 - -#define CMD_THROTTLE_CRUISE 0x40 -#define CMD_AIRSPEED_CRUISE 0x41 -#define CMD_RESET_HOME 0x44 - -#define CMD_KP_GAIN 0x60 -#define CMD_KI_GAIN 0x61 -#define CMD_KD_GAIN 0x62 -#define CMD_KI_MAX 0x63 -#define CMD_KFF_GAIN 0x64 - -#define CMD_RADIO_TRIM 0x70 -#define CMD_RADIO_MAX 0x71 -#define CMD_RADIO_MIN 0x72 -#define CMD_RADIO_MIN 0x72 -#define CMD_ELEVON_TRIM 0x73 - -#define CMD_INDEX 0x75 // sets the current Must index -#define CMD_REPEAT 0x80 -#define CMD_RELAY 0x81 -#define CMD_SERVO 0x82 // move servo N to PWM value - -//repeating events -#define NO_REPEAT 0 -#define CH_4_TOGGLE 1 -#define CH_5_TOGGLE 2 -#define CH_6_TOGGLE 3 -#define CH_7_TOGGLE 4 -#define RELAY_TOGGLE 5 -#define STOP_REPEAT 10 - -// GCS Message ID's -#define MSG_ACKNOWLEDGE 0x00 -#define MSG_HEARTBEAT 0x01 -#define MSG_ATTITUDE 0x02 -#define MSG_LOCATION 0x03 -#define MSG_PRESSURE 0x04 -#define MSG_STATUS_TEXT 0x05 -#define MSG_PERF_REPORT 0x06 -#define MSG_COMMAND 0x22 -#define MSG_VALUE 0x32 -#define MSG_PID 0x42 -#define MSG_TRIMS 0x50 -#define MSG_MINS 0x51 -#define MSG_MAXS 0x52 -#define MSG_IMU_OUT 0x53 - -#define SEVERITY_LOW 1 -#define SEVERITY_MEDIUM 2 -#define SEVERITY_HIGH 3 -#define SEVERITY_CRITICAL 4 - -// Logging parameters -#define LOG_ATTITUDE_MSG 0x01 -#define LOG_GPS_MSG 0x02 -#define LOG_MODE_MSG 0X03 -#define LOG_CONTROL_TUNING_MSG 0X04 -#define LOG_NAV_TUNING_MSG 0X05 -#define LOG_PERFORMANCE_MSG 0X06 -#define LOG_RAW_MSG 0x07 -#define LOG_CMD_MSG 0x08 -#define LOG_STARTUP_MSG 0x09 -#define TYPE_AIRSTART_MSG 0x00 -#define TYPE_GROUNDSTART_MSG 0x01 - -#define MASK_LOG_ATTITUDE_FAST 0 -#define MASK_LOG_ATTITUDE_MED 2 -#define MASK_LOG_GPS 4 -#define MASK_LOG_PM 8 -#define MASK_LOG_CTUN 16 -#define MASK_LOG_NTUN 32 -#define MASK_LOG_MODE 64 -#define MASK_LOG_RAW 128 -#define MASK_LOG_CMD 256 - -// Yaw modes -#define YAW_MODE_COORDINATE_TURNS 0 -#define YAW_MODE_HOLD_HEADING 1 -#define YAW_MODE_SLIP 2 - -// Waypoint Modes -// ---------------- -#define ABS_WP 0 -#define REL_WP 1 - -// Command Queues -// --------------- -#define COMMAND_MUST 0 -#define COMMAND_MAY 1 -#define COMMAND_NOW 2 - -// Events -// ------ -#define EVENT_WILL_REACH_WAYPOINT 1 -#define EVENT_SET_NEW_WAYPOINT_INDEX 2 -#define EVENT_LOADED_WAYPOINT 3 -#define EVENT_LOOP 4 - -//GPS_fix -#define VALID_GPS 0x00 -#define BAD_GPS 0x01 -#define FAILED_GPS 0x03 - - - -#define BATTERY_VOLTAGE(x) (x*(INPUT_VOLTAGE/1024.0))*VOLT_DIV_RATIO - -#define AIRSPEED_CH 7 // The external ADC channel for the airspeed sensor -#define BATTERY_PIN1 0 // These are the pins for the voltage dividers -#define BATTERY_PIN2 1 -#define BATTERY_PIN3 2 -#define BATTERY_PIN4 3 -#define RELAY_PIN 47 - -// Hardware Parameters -#define SLIDE_SWITCH_PIN 40 -#define PUSHBUTTON_PIN 41 - -#define A_LED_PIN 37 //36 = B, 37 = A, 35 = C -#define B_LED_PIN 36 -#define C_LED_PIN 35 - -#define HOLD_ALT_ABOVE_HOME 8 // bitmask value - -// IMU Parameters - -#define ADC_CONSTRAINT 900 -#define TRUE 1 -#define FALSE 0 -#define ADC_WARM_CYCLES 200 -#define SPEEDFILT 400 // centimeters/second - -#define GYRO_TEMP_CH 3 // The ADC channel reading the gyro temperature - -// ADC : Voltage reference 3.3v / 12bits(4096 steps) => 0.8mV/ADC step -// ADXL335 Sensitivity(from datasheet) => 330mV/g, 0.8mV/ADC step => 330/0.8 = 412 -// Tested value : 418 -#define GRAVITY 418 //this equivalent to 1G in the raw data coming from the accelerometer -#define Accel_Scale(x) x*(GRAVITY/9.81)//Scaling the raw data of the accel to actual acceleration in meters for seconds square - -#define ToRad(x) (x*0.01745329252) // *pi/180 -#define ToDeg(x) (x*57.2957795131) // *180/pi - -// IDG500 Sensitivity (from datasheet) => 2.0mV/º/s, 0.8mV/ADC step => 0.8/3.33 = 0.4 -// Tested values : 0.4026, ?, 0.4192 -#define Gyro_Gain_X 0.4 //X axis Gyro gain -#define Gyro_Gain_Y 0.41 //Y axis Gyro gain -#define Gyro_Gain_Z 0.41 //Z axis Gyro gain -#define Gyro_Scaled_X(x) x*ToRad(Gyro_Gain_X) //Return the scaled ADC raw data of the gyro in radians for second -#define Gyro_Scaled_Y(x) x*ToRad(Gyro_Gain_Y) //Return the scaled ADC raw data of the gyro in radians for second -#define Gyro_Scaled_Z(x) x*ToRad(Gyro_Gain_Z) //Return the scaled ADC raw data of the gyro in radians for second - -#define Kp_ROLLPITCH 0.0014 // Pitch&Roll Drift Correction Proportional Gain -#define Ki_ROLLPITCH 0.0000003 // Pitch&Roll Drift Correction Integrator Gain -#define Kp_YAW 0.8 // Yaw Drift Correction Porportional Gain -#define Ki_YAW 0.00004 // Yaw Drift CorrectionIntegrator Gain - -/*For debugging purposes*/ -#define OUTPUTMODE 1 //If value = 1 will print the corrected data, 0 will print uncorrected data of the gyros (with drift), 2 Accel only data - - -#define EEPROM_MAX_ADDR 4096 - -// Radio setup -#define EE_TRIM 0x00 -#define EE_MIN 0x10 -#define EE_MAX 0x20 -#define EE_ELEVON1_TRIM 0x30 -#define EE_ELEVON2_TRIM 0x32 - -// user gains -#define EE_XTRACK_GAIN 0x34 -#define EE_XTRACK_ANGLE 0x36 -#define EE_ALT_MIX 0x3B -#define EE_HEAD_MAX 0x38 -#define EE_PITCH_MAX 0x39 -#define EE_PITCH_MIN 0x3A -#define EE_KP 0x40 -#define EE_KI 0x60 -#define EE_KD 0x80 -#define EE_IMAX 0xA0 -#define EE_KFF 0xC0 -#define EE_AN_OFFSET 0xE0 -#define EE_PITCH_TARGET 0x127 - -//mission specific -#define EE_CONFIG 0X0F8 -#define EE_WP_MODE 0x0F9 -#define EE_YAW_MODE 0x0FA // not used -#define EE_WP_TOTAL 0x0FB -#define EE_WP_INDEX 0x0FC -#define EE_WP_RADIUS 0x0FD -#define EE_LOITER_RADIUS 0x0FE -#define EE_ALT_HOLD_HOME 0x0FF - -// user configs -#define EE_AIRSPEED_CRUISE 0x103 -#define EE_AIRSPEED_RATIO 0x104 -#define EE_AIRSPEED_FBW_MIN 0x108 -#define EE_AIRSPEED_FBW_MAX 0x109 -#define EE_THROTTLE_MIN 0x10A -#define EE_THROTTLE_CRUISE 0x10B -#define EE_THROTTLE_MAX 0x10C -#define EE_THROTTLE_FAILSAFE 0x10D -#define EE_THROTTLE_FS_VALUE 0x10E -#define EE_THROTTLE_FAILSAFE_ACTION 0x110 -#define EE_FLIGHT_MODE_CHANNEL 0x112 -#define EE_AUTO_TRIM 0x113 -#define EE_LOG_BITMASK 0x114 -#define EE_REVERSE_SWITCH 0x120 -#define EE_FLIGHT_MODES 0x121 - -// sensors -#define EE_ABS_PRESS_GND 0x116 -#define EE_GND_TEMP 0x11A -#define EE_GND_ALT 0x11C -#define EE_AP_OFFSET 0x11E - -// log -#define EE_LAST_LOG_PAGE 0xE00 -#define EE_LAST_LOG_NUM 0xE02 -#define EE_LOG_1_START 0xE04 - -// bits in log_bitmask -#define LOGBIT_ATTITUDE_FAST (1<<0) -#define LOGBIT_ATTITUDE_MED (1<<1) -#define LOGBIT_GPS (1<<2) -#define LOGBIT_PM (1<<3) -#define LOGBIT_CTUN (1<<4) -#define LOGBIT_NTUN (1<<5) -#define LOGBIT_MODE (1<<6) -#define LOGBIT_RAW (1<<7) -#define LOGBIT_CMD (1<<8) -

    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 CxIzK| diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/Resources/Welcome_to_Michael_Oborne.rtf b/Tools/ArdupilotMegaPlanner/bin/Release/Resources/Welcome_to_Michael_Oborne.rtf index c537652c1f3437a9ffe70fd1cfb3a4ab63e6904d..e465a9a5f9e4513cda27a1170b3007d0d1c10f4a 100644 GIT binary patch delta 153 zcmeyvJ)L)h7^_}MVp2?!f^&XeNl|7}X-Q^&Ua>-2QGTvfOp<|uf@5AvQEItDP-042 zeo=~!!eo9{kEj@k9-qvlqQs)gVu(uj+{6OCywnmMh2V_DqJr$)94IR)vjC`4N5Qiw nKQExNBqKjhN5R_{EaYF1nit}&qY#yv;$D#SoSeF6-Eno%8 diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/Untitled.ac b/Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/Untitled.ac new file mode 100644 index 0000000000..5b9e7ed5b7 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/Untitled.ac @@ -0,0 +1,1094 @@ +AC3Db +MATERIAL "default" rgb 0.72 0.72 0.72 amb 0.8 0.8 0.8 emis 0.08 0.08 0.08 spec 0.2 0.2 0.2 shi 128 trans 0 +MATERIAL "material.006"1"1" rgb 0.0000 0.0000 0.0000 amb 0.0000 0.0000 0.0000 emis 0.0000 0.0000 0.0000 spec 0.2 0.2 0.2 shi 128 trans 0.0000 +OBJECT world +kids 1 +OBJECT poly +name "blah" +numvert 88 +0.008832 0.001373 -0.000873 +0.008506 0.000990 -0.000881 +0.009033 0.001338 -0.000893 +0.008326 0.001009 -0.000823 +0.007376 -0.000207 -0.000850 +0.007229 -0.000460 -0.000812 +0.007268 -0.000476 -0.000806 +0.007489 -0.000258 -0.000838 +0.007554 0.000049 -0.000887 +0.009654 0.002468 -0.000833 +0.009255 0.001925 -0.000848 +0.009734 0.002440 -0.000831 +0.009103 0.001954 -0.000835 +0.009555 0.002483 -0.000837 +0.008591 0.001436 -0.000825 +0.008638 0.001416 -0.000829 +0.009076 0.001982 -0.000840 +0.009396 0.001900 -0.000860 +0.005825 -0.001719 -0.000888 +0.005965 -0.001746 -0.000876 +0.005486 -0.002262 -0.000867 +0.006389 -0.001191 -0.000892 +0.006188 -0.001154 -0.000911 +0.009024 0.001954 -0.000833 +0.009502 0.002462 -0.000841 +0.008560 0.001453 -0.000824 +0.008093 0.000346 -0.000945 +0.007752 0.000090 -0.000908 +0.007754 0.000168 -0.000919 +0.008097 0.000505 -0.000954 +0.008326 0.000640 -0.000974 +0.007883 0.000406 -0.000928 +0.006630 -0.001281 -0.000850 +0.006117 -0.001776 -0.000863 +0.006144 -0.001803 -0.000868 +0.006660 -0.001276 -0.000843 +0.006197 -0.001776 -0.000860 +0.007844 0.000385 -0.000848 +0.007963 0.000343 -0.000869 +0.007663 0.000128 -0.000889 +0.007952 0.000649 -0.000800 +0.007991 0.000634 -0.000806 +0.007731 0.000435 -0.000835 +0.007128 -0.000157 -0.000946 +0.006895 -0.000448 -0.000980 +0.007044 -0.000422 -0.000905 +0.008263 0.001060 -0.000809 +0.008280 0.001025 -0.000814 +0.008638 0.001456 -0.000843 +0.008486 0.001037 -0.000911 +0.008683 0.000994 -0.000933 +0.005665 -0.002304 -0.000873 +0.005718 -0.002283 -0.000876 +0.006714 -0.000807 -0.000893 +0.006894 -0.000833 -0.000835 +0.006735 -0.000851 -0.000924 +0.006934 -0.000873 -0.000832 +0.006582 -0.001277 -0.000862 +0.007030 -0.000596 -0.000896 +0.007305 -0.000350 -0.000868 +0.006583 -0.001239 -0.000848 +0.007180 -0.000444 -0.000827 +0.006957 -0.000886 -0.000822 +0.005693 -0.002293 -0.000875 +0.006097 -0.001829 -0.000868 +0.007124 -0.000315 -0.000958 +0.007515 -0.000219 -0.000874 +0.007519 -0.000149 -0.000909 +0.007338 -0.000219 -0.000930 +0.006538 -0.000807 -0.000946 +0.009124 0.002008 -0.000839 +0.009527 0.002472 -0.000839 +0.007257 -0.000163 -0.000871 +0.007466 0.000089 -0.000906 +0.008176 0.000606 -0.000900 +0.008040 0.000619 -0.000821 +0.008191 0.000779 -0.000888 +0.007915 0.000530 -0.000864 +0.007328 -0.000058 -0.000926 +0.007560 0.000012 -0.000898 +0.007520 -0.000273 -0.000840 +0.007581 0.000176 -0.000871 +0.007657 0.000166 -0.000898 +0.007636 0.000000 -0.000871 +0.005566 -0.002290 -0.000869 +0.007705 0.000400 -0.000873 +0.007656 0.000213 -0.000903 +0.007701 0.000450 -0.000838 +numsurf 166 +SURF 0x30 +mat 1 +refs 3 +0 0 0 +1 0 0 +2 0 0 +SURF 0x30 +mat 1 +refs 3 +0 0 0 +3 0 0 +1 0 0 +SURF 0x30 +mat 1 +refs 3 +4 0 0 +5 0 0 +6 0 0 +SURF 0x30 +mat 1 +refs 3 +4 0 0 +6 0 0 +7 0 0 +SURF 0x30 +mat 1 +refs 3 +8 0 0 +4 0 0 +7 0 0 +SURF 0x30 +mat 1 +refs 3 +9 0 0 +10 0 0 +11 0 0 +SURF 0x30 +mat 1 +refs 3 +9 0 0 +12 0 0 +10 0 0 +SURF 0x30 +mat 1 +refs 3 +13 0 0 +12 0 0 +9 0 0 +SURF 0x30 +mat 1 +refs 3 +12 0 0 +14 0 0 +15 0 0 +SURF 0x30 +mat 1 +refs 3 +16 0 0 +14 0 0 +12 0 0 +SURF 0x30 +mat 1 +refs 3 +10 0 0 +0 0 0 +17 0 0 +SURF 0x30 +mat 1 +refs 3 +10 0 0 +15 0 0 +0 0 0 +SURF 0x30 +mat 1 +refs 3 +18 0 0 +19 0 0 +20 0 0 +SURF 0x30 +mat 1 +refs 3 +21 0 0 +19 0 0 +18 0 0 +SURF 0x30 +mat 1 +refs 3 +22 0 0 +21 0 0 +18 0 0 +SURF 0x30 +mat 1 +refs 3 +16 0 0 +14 0 0 +23 0 0 +SURF 0x30 +mat 1 +refs 3 +24 0 0 +16 0 0 +23 0 0 +SURF 0x30 +mat 1 +refs 3 +23 0 0 +14 0 0 +25 0 0 +SURF 0x30 +mat 1 +refs 3 +26 0 0 +27 0 0 +28 0 0 +SURF 0x30 +mat 1 +refs 3 +29 0 0 +26 0 0 +28 0 0 +SURF 0x30 +mat 1 +refs 3 +30 0 0 +26 0 0 +29 0 0 +SURF 0x30 +mat 1 +refs 3 +29 0 0 +28 0 0 +31 0 0 +SURF 0x30 +mat 1 +refs 3 +32 0 0 +33 0 0 +34 0 0 +SURF 0x30 +mat 1 +refs 3 +35 0 0 +32 0 0 +34 0 0 +SURF 0x30 +mat 1 +refs 3 +35 0 0 +34 0 0 +36 0 0 +SURF 0x30 +mat 1 +refs 3 +37 0 0 +27 0 0 +38 0 0 +SURF 0x30 +mat 1 +refs 3 +37 0 0 +39 0 0 +27 0 0 +SURF 0x30 +mat 1 +refs 3 +40 0 0 +37 0 0 +41 0 0 +SURF 0x30 +mat 1 +refs 3 +40 0 0 +42 0 0 +37 0 0 +SURF 0x30 +mat 1 +refs 3 +42 0 0 +39 0 0 +37 0 0 +SURF 0x30 +mat 1 +refs 3 +43 0 0 +44 0 0 +45 0 0 +SURF 0x30 +mat 1 +refs 3 +46 0 0 +47 0 0 +40 0 0 +SURF 0x30 +mat 1 +refs 3 +14 0 0 +47 0 0 +46 0 0 +SURF 0x30 +mat 1 +refs 3 +48 0 0 +47 0 0 +14 0 0 +SURF 0x30 +mat 1 +refs 3 +49 0 0 +50 0 0 +30 0 0 +SURF 0x30 +mat 1 +refs 3 +0 0 0 +50 0 0 +49 0 0 +SURF 0x30 +mat 1 +refs 3 +0 0 0 +2 0 0 +50 0 0 +SURF 0x30 +mat 1 +refs 3 +33 0 0 +51 0 0 +34 0 0 +SURF 0x30 +mat 1 +refs 3 +36 0 0 +34 0 0 +51 0 0 +SURF 0x30 +mat 1 +refs 3 +36 0 0 +51 0 0 +52 0 0 +SURF 0x30 +mat 1 +refs 3 +53 0 0 +22 0 0 +21 0 0 +SURF 0x30 +mat 1 +refs 3 +53 0 0 +21 0 0 +54 0 0 +SURF 0x30 +mat 1 +refs 3 +55 0 0 +56 0 0 +57 0 0 +SURF 0x30 +mat 1 +refs 3 +58 0 0 +56 0 0 +55 0 0 +SURF 0x30 +mat 1 +refs 3 +6 0 0 +56 0 0 +58 0 0 +SURF 0x30 +mat 1 +refs 3 +59 0 0 +6 0 0 +58 0 0 +SURF 0x30 +mat 1 +refs 3 +44 0 0 +58 0 0 +55 0 0 +SURF 0x30 +mat 1 +refs 3 +54 0 0 +21 0 0 +60 0 0 +SURF 0x30 +mat 1 +refs 3 +61 0 0 +54 0 0 +5 0 0 +SURF 0x30 +mat 1 +refs 3 +5 0 0 +54 0 0 +56 0 0 +SURF 0x30 +mat 1 +refs 3 +5 0 0 +56 0 0 +6 0 0 +SURF 0x30 +mat 1 +refs 3 +6 0 0 +56 0 0 +62 0 0 +SURF 0x30 +mat 1 +refs 3 +54 0 0 +60 0 0 +56 0 0 +SURF 0x30 +mat 1 +refs 3 +25 0 0 +46 0 0 +14 0 0 +SURF 0x30 +mat 1 +refs 3 +17 0 0 +0 0 0 +2 0 0 +SURF 0x30 +mat 1 +refs 3 +34 0 0 +63 0 0 +64 0 0 +SURF 0x30 +mat 1 +refs 3 +65 0 0 +58 0 0 +44 0 0 +SURF 0x30 +mat 1 +refs 3 +66 0 0 +6 0 0 +59 0 0 +SURF 0x30 +mat 1 +refs 3 +67 0 0 +66 0 0 +59 0 0 +SURF 0x30 +mat 1 +refs 3 +67 0 0 +59 0 0 +68 0 0 +SURF 0x30 +mat 1 +refs 3 +45 0 0 +44 0 0 +69 0 0 +SURF 0x30 +mat 1 +refs 3 +45 0 0 +69 0 0 +53 0 0 +SURF 0x30 +mat 1 +refs 3 +45 0 0 +53 0 0 +61 0 0 +SURF 0x30 +mat 1 +refs 3 +61 0 0 +53 0 0 +54 0 0 +SURF 0x30 +mat 1 +refs 3 +69 0 0 +22 0 0 +53 0 0 +SURF 0x30 +mat 1 +refs 3 +44 0 0 +55 0 0 +69 0 0 +SURF 0x30 +mat 1 +refs 3 +69 0 0 +55 0 0 +21 0 0 +SURF 0x30 +mat 1 +refs 3 +13 0 0 +23 0 0 +16 0 0 +SURF 0x30 +mat 1 +refs 3 +13 0 0 +24 0 0 +23 0 0 +SURF 0x30 +mat 1 +refs 3 +13 0 0 +9 0 0 +70 0 0 +SURF 0x30 +mat 1 +refs 3 +70 0 0 +48 0 0 +16 0 0 +SURF 0x30 +mat 1 +refs 3 +71 0 0 +70 0 0 +16 0 0 +SURF 0x30 +mat 1 +refs 3 +48 0 0 +49 0 0 +47 0 0 +SURF 0x30 +mat 1 +refs 3 +65 0 0 +59 0 0 +58 0 0 +SURF 0x30 +mat 1 +refs 3 +68 0 0 +59 0 0 +65 0 0 +SURF 0x30 +mat 1 +refs 3 +72 0 0 +61 0 0 +5 0 0 +SURF 0x30 +mat 1 +refs 3 +72 0 0 +5 0 0 +4 0 0 +SURF 0x30 +mat 1 +refs 3 +73 0 0 +72 0 0 +4 0 0 +SURF 0x30 +mat 1 +refs 3 +73 0 0 +4 0 0 +8 0 0 +SURF 0x30 +mat 1 +refs 3 +73 0 0 +43 0 0 +72 0 0 +SURF 0x30 +mat 1 +refs 3 +43 0 0 +45 0 0 +72 0 0 +SURF 0x30 +mat 1 +refs 3 +72 0 0 +45 0 0 +61 0 0 +SURF 0x30 +mat 1 +refs 3 +74 0 0 +38 0 0 +26 0 0 +SURF 0x30 +mat 1 +refs 3 +75 0 0 +38 0 0 +74 0 0 +SURF 0x30 +mat 1 +refs 3 +30 0 0 +74 0 0 +26 0 0 +SURF 0x30 +mat 1 +refs 3 +49 0 0 +76 0 0 +47 0 0 +SURF 0x30 +mat 1 +refs 3 +47 0 0 +76 0 0 +40 0 0 +SURF 0x30 +mat 1 +refs 3 +76 0 0 +77 0 0 +40 0 0 +SURF 0x30 +mat 1 +refs 3 +49 0 0 +30 0 0 +76 0 0 +SURF 0x30 +mat 1 +refs 3 +76 0 0 +30 0 0 +29 0 0 +SURF 0x30 +mat 1 +refs 3 +76 0 0 +29 0 0 +77 0 0 +SURF 0x30 +mat 1 +refs 3 +73 0 0 +78 0 0 +43 0 0 +SURF 0x30 +mat 1 +refs 3 +78 0 0 +65 0 0 +43 0 0 +SURF 0x30 +mat 1 +refs 3 +43 0 0 +65 0 0 +44 0 0 +SURF 0x30 +mat 1 +refs 3 +78 0 0 +68 0 0 +65 0 0 +SURF 0x30 +mat 1 +refs 3 +11 0 0 +17 0 0 +10 0 0 +SURF 0x30 +mat 1 +refs 3 +10 0 0 +17 0 0 +0 0 0 +SURF 0x30 +mat 1 +refs 3 +17 0 0 +2 0 0 +0 0 0 +SURF 0x30 +mat 1 +refs 3 +79 0 0 +67 0 0 +68 0 0 +SURF 0x30 +mat 1 +refs 3 +79 0 0 +68 0 0 +78 0 0 +SURF 0x30 +mat 1 +refs 3 +73 0 0 +8 0 0 +78 0 0 +SURF 0x30 +mat 1 +refs 3 +66 0 0 +80 0 0 +6 0 0 +SURF 0x30 +mat 1 +refs 3 +56 0 0 +60 0 0 +32 0 0 +SURF 0x30 +mat 1 +refs 3 +56 0 0 +32 0 0 +62 0 0 +SURF 0x30 +mat 1 +refs 3 +62 0 0 +32 0 0 +35 0 0 +SURF 0x30 +mat 1 +refs 3 +56 0 0 +62 0 0 +32 0 0 +SURF 0x30 +mat 1 +refs 3 +56 0 0 +32 0 0 +57 0 0 +SURF 0x30 +mat 1 +refs 3 +42 0 0 +81 0 0 +39 0 0 +SURF 0x30 +mat 1 +refs 3 +31 0 0 +28 0 0 +82 0 0 +SURF 0x30 +mat 1 +refs 3 +9 0 0 +10 0 0 +70 0 0 +SURF 0x30 +mat 1 +refs 3 +70 0 0 +10 0 0 +48 0 0 +SURF 0x30 +mat 1 +refs 3 +10 0 0 +0 0 0 +48 0 0 +SURF 0x30 +mat 1 +refs 3 +9 0 0 +11 0 0 +10 0 0 +SURF 0x30 +mat 1 +refs 3 +8 0 0 +7 0 0 +83 0 0 +SURF 0x30 +mat 1 +refs 3 +79 0 0 +83 0 0 +67 0 0 +SURF 0x30 +mat 1 +refs 3 +15 0 0 +3 0 0 +0 0 0 +SURF 0x30 +mat 1 +refs 3 +3 0 0 +41 0 0 +75 0 0 +SURF 0x30 +mat 1 +refs 3 +47 0 0 +41 0 0 +3 0 0 +SURF 0x30 +mat 1 +refs 3 +47 0 0 +40 0 0 +41 0 0 +SURF 0x30 +mat 1 +refs 3 +46 0 0 +40 0 0 +47 0 0 +SURF 0x30 +mat 1 +refs 3 +15 0 0 +47 0 0 +3 0 0 +SURF 0x30 +mat 1 +refs 3 +14 0 0 +47 0 0 +15 0 0 +SURF 0x30 +mat 1 +refs 3 +14 0 0 +46 0 0 +47 0 0 +SURF 0x30 +mat 1 +refs 3 +16 0 0 +25 0 0 +14 0 0 +SURF 0x30 +mat 1 +refs 3 +16 0 0 +23 0 0 +25 0 0 +SURF 0x30 +mat 1 +refs 3 +13 0 0 +16 0 0 +12 0 0 +SURF 0x30 +mat 1 +refs 3 +26 0 0 +38 0 0 +27 0 0 +SURF 0x30 +mat 1 +refs 3 +64 0 0 +51 0 0 +84 0 0 +SURF 0x30 +mat 1 +refs 3 +19 0 0 +64 0 0 +84 0 0 +SURF 0x30 +mat 1 +refs 3 +57 0 0 +64 0 0 +19 0 0 +SURF 0x30 +mat 1 +refs 3 +21 0 0 +57 0 0 +19 0 0 +SURF 0x30 +mat 1 +refs 3 +19 0 0 +84 0 0 +20 0 0 +SURF 0x30 +mat 1 +refs 3 +77 0 0 +29 0 0 +31 0 0 +SURF 0x30 +mat 1 +refs 3 +41 0 0 +38 0 0 +75 0 0 +SURF 0x30 +mat 1 +refs 3 +41 0 0 +37 0 0 +38 0 0 +SURF 0x30 +mat 1 +refs 3 +32 0 0 +36 0 0 +34 0 0 +SURF 0x30 +mat 1 +refs 3 +36 0 0 +52 0 0 +34 0 0 +SURF 0x30 +mat 1 +refs 3 +22 0 0 +18 0 0 +21 0 0 +SURF 0x30 +mat 1 +refs 3 +21 0 0 +18 0 0 +19 0 0 +SURF 0x30 +mat 1 +refs 3 +21 0 0 +19 0 0 +60 0 0 +SURF 0x30 +mat 1 +refs 3 +60 0 0 +19 0 0 +33 0 0 +SURF 0x30 +mat 1 +refs 3 +18 0 0 +20 0 0 +19 0 0 +SURF 0x30 +mat 1 +refs 3 +69 0 0 +21 0 0 +22 0 0 +SURF 0x30 +mat 1 +refs 3 +55 0 0 +57 0 0 +21 0 0 +SURF 0x30 +mat 1 +refs 3 +57 0 0 +32 0 0 +34 0 0 +SURF 0x30 +mat 1 +refs 3 +48 0 0 +0 0 0 +49 0 0 +SURF 0x30 +mat 1 +refs 3 +16 0 0 +48 0 0 +14 0 0 +SURF 0x30 +mat 1 +refs 3 +6 0 0 +62 0 0 +56 0 0 +SURF 0x30 +mat 1 +refs 3 +19 0 0 +20 0 0 +84 0 0 +SURF 0x30 +mat 1 +refs 3 +19 0 0 +84 0 0 +33 0 0 +SURF 0x30 +mat 1 +refs 3 +33 0 0 +84 0 0 +51 0 0 +SURF 0x30 +mat 1 +refs 3 +60 0 0 +33 0 0 +32 0 0 +SURF 0x30 +mat 1 +refs 3 +12 0 0 +15 0 0 +10 0 0 +SURF 0x30 +mat 1 +refs 3 +11 0 0 +10 0 0 +17 0 0 +SURF 0x30 +mat 1 +refs 3 +85 0 0 +86 0 0 +81 0 0 +SURF 0x30 +mat 1 +refs 3 +40 0 0 +85 0 0 +87 0 0 +SURF 0x30 +mat 1 +refs 3 +40 0 0 +77 0 0 +85 0 0 +SURF 0x30 +mat 1 +refs 3 +77 0 0 +86 0 0 +85 0 0 +SURF 0x30 +mat 1 +refs 3 +77 0 0 +31 0 0 +86 0 0 +SURF 0x30 +mat 1 +refs 3 +50 0 0 +74 0 0 +30 0 0 +SURF 0x30 +mat 1 +refs 3 +50 0 0 +1 0 0 +74 0 0 +SURF 0x30 +mat 1 +refs 3 +35 0 0 +36 0 0 +32 0 0 +SURF 0x30 +mat 1 +refs 3 +57 0 0 +34 0 0 +64 0 0 +SURF 0x30 +mat 1 +refs 3 +1 0 0 +75 0 0 +74 0 0 +SURF 0x30 +mat 1 +refs 3 +3 0 0 +75 0 0 +1 0 0 +SURF 0x30 +mat 1 +refs 3 +2 0 0 +1 0 0 +50 0 0 +kids 0 diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/plus_quad2.xml b/Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/plus_quad2.xml new file mode 100644 index 0000000000..d4bc4629ef --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/plus_quad2.xml @@ -0,0 +1,88 @@ + + + + plus_quad2.ac + + 0.0 + 0 + 0.0 + 0 + 180 + + + + noshadow + prop0 + + + spin + prop0 + /controls/engines/engine[0]/throttle + 12000 + + 0.000 + -0.288 + 0.046 + 0.000 + -0.288 + 0.012 + + + + + noshadow + prop1 + + + spin + prop1 + /controls/engines/engine[1]/throttle + 12000 + + 0.000 + 0.288 + 0.046 + 0.000 + 0.288 + 0.012 + + + + + noshadow + prop2 + + + spin + prop2 + /controls/engines/engine[2]/throttle + 12000 + + 0.288 + 0.000 + 0.046 + 0.288 + 0.000 + 0.012 + + + + + noshadow + prop3 + + + spin + prop3 + /controls/engines/engine[3]/throttle + 12000 + + -0.288 + 0.000 + 0.046 + -0.288 + 0.000 + 0.012 + + + diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/quad.3ds b/Tools/ArdupilotMegaPlanner/bin/Release/aircraft/arducopter/Models/quad.3ds new file mode 100644 index 0000000000000000000000000000000000000000..2f1e6be165c7589770283c6cda60f1649075dcdb GIT binary patch literal 59695 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