diff --git a/LocomativeProject/LocomativeProject/DrawningLocomotive.cs b/LocomativeProject/LocomativeProject/DrawningLocomotive.cs
index c4be050..4ed712e 100644
--- a/LocomativeProject/LocomativeProject/DrawningLocomotive.cs
+++ b/LocomativeProject/LocomativeProject/DrawningLocomotive.cs
@@ -30,7 +30,7 @@
///
/// Ширина прорисовки тепловоза
///
- private readonly int _drawningLocomotiveWidth = 110;
+ private readonly int _drawningLocomotiveWidth = 120;
///
/// Высота прорисовки тепловоза
@@ -67,9 +67,21 @@
///разместить объект в этих размерах
public bool SetPictureSize(int width, int height)
{
- _pictureWidth = width;
- _pictureHeight = height;
- return true;
+ if (width > _drawningLocomotiveWidth || height > _drawningLocomotiveHeight) // если ширина и высота окна больше чем объект
+ {
+ _pictureWidth = width;
+ _pictureHeight = height;
+ if (_startPosX + _drawningLocomotiveWidth > width || _startPosX < 0) // если координаты выходят за пределы, корректируем
+ {
+ _startPosX = 0;
+ }
+ if (_startPosY + _drawningLocomotiveHeight > height || _startPosY < 0)
+ {
+ _startPosY = 0;
+ }
+ return true;
+ }
+ return false;
}
///
/// Установка позиции
@@ -82,18 +94,27 @@
{
return;
}
- if (x < 0 || x + _drawningLocomotiveWidth > _pictureWidth || y < 0 || y + _drawningLocomotiveHeight > _pictureHeight)
- {
- _startPosX = 20;
- _startPosY = 20;
- }
- else
+
+ // если все нормально
+ if (x > 0 || x + _drawningLocomotiveWidth < _pictureWidth)
{
_startPosX = x;
+ }
+ if (y > 0 || y + _drawningLocomotiveHeight < _pictureHeight)
+ {
_startPosY = y;
}
+ // если не лезет, но мог бы влезть
+ if (x < 0 || x + _drawningLocomotiveWidth > _pictureWidth)
+ {
+ _startPosX = 0;
+ }
+ if (y < 0 || y + _drawningLocomotiveHeight > _pictureHeight)
+ {
+ _startPosY = 0;
+ }
}
-
+
///
/// Изменение направления перемещения
///
@@ -118,7 +139,7 @@
return true;
//вверх
case DirectionType.Up:
- if (_startPosY.Value - EntityLocomotive.Step > 0)
+ if (_startPosY.Value - EntityLocomotive.Step > 0) // 10 – высота трубы
{
_startPosY -= (int)EntityLocomotive.Step;
}
@@ -181,56 +202,56 @@
Brush whiteBrush = new SolidBrush(Color.White);
//границы тепловоза
DrawPolygon(g, pen, bodyBrush,
- _startPosX.Value, _startPosY.Value,
- _startPosX.Value + 100, _startPosY.Value,
- _startPosX.Value + 110, _startPosY.Value + 20,
- _startPosX.Value, _startPosY.Value + 20
+ _startPosX.Value + 5, _startPosY.Value + 10,
+ _startPosX.Value + 105, _startPosY.Value + 10,
+ _startPosX.Value + 115, _startPosY.Value + 20 + 10,
+ _startPosX.Value + 5, _startPosY.Value + 20 + 10
);
- g.FillRectangle(additionalBrush, _startPosX.Value, _startPosY.Value + 20, 110, 20);
- g.DrawRectangle(pen, _startPosX.Value, _startPosY.Value + 20, 110, 20);
- g.FillRectangle(blackBrush, _startPosX.Value - 5, _startPosY.Value + 5, 5, 30);
+ g.FillRectangle(additionalBrush, _startPosX.Value + 5, _startPosY.Value + +10 + 20, 110, 20);
+ g.DrawRectangle(pen, _startPosX.Value + 5, _startPosY.Value + 20 + 10, 110, 20);
+ g.FillRectangle(blackBrush, _startPosX.Value, _startPosY.Value + 5 + 10, 5, 30);
//шасси
DrawPolygon(g, pen, blackBrush,
- _startPosX.Value - 5, _startPosY.Value + 45,
- _startPosX.Value + 5, _startPosY.Value + 40,
- _startPosX.Value + 45, _startPosY.Value + 40,
- _startPosX.Value + 45, _startPosY.Value + 45
+ _startPosX.Value, _startPosY.Value + 45 + 10,
+ _startPosX.Value + 10, _startPosY.Value + 40 + 10,
+ _startPosX.Value + 50, _startPosY.Value + 40 + 10,
+ _startPosX.Value + 50, _startPosY.Value + 45 + 10
);
DrawPolygon(g, pen, blackBrush,
- _startPosX.Value + 65, _startPosY.Value + 40,
- _startPosX.Value + 105, _startPosY.Value + 40,
- _startPosX.Value + 115, _startPosY.Value + 45,
- _startPosX.Value + 65, _startPosY.Value + 45
+ _startPosX.Value + 70, _startPosY.Value + 40 + 10,
+ _startPosX.Value + 110, _startPosY.Value + 40 + 10,
+ _startPosX.Value + 120, _startPosY.Value + 45 + 10,
+ _startPosX.Value + 70, _startPosY.Value + 45 + 10
);
//колеса
- g.DrawEllipse(pen, _startPosX.Value + 10, _startPosY.Value + 40, 10, 10);
- g.FillEllipse(whiteBrush, _startPosX.Value + 10, _startPosY.Value + 40, 10, 10);
- g.DrawEllipse(pen, _startPosX.Value + 25, _startPosY.Value + 40, 10, 10);
- g.FillEllipse(whiteBrush, _startPosX.Value + 25, _startPosY.Value + 40, 10, 10);
- g.DrawEllipse(pen, _startPosX.Value + 75, _startPosY.Value + 40, 10, 10);
- g.FillEllipse(whiteBrush, _startPosX.Value + 75, _startPosY.Value + 40, 10, 10);
- g.DrawEllipse(pen, _startPosX.Value + 90, _startPosY.Value + 40, 10, 10);
- g.FillEllipse(whiteBrush, _startPosX.Value + 90, _startPosY.Value + 40, 10, 10);
+ g.DrawEllipse(pen, _startPosX.Value + 15, _startPosY.Value + 40 + 10, 10, 10);
+ g.FillEllipse(whiteBrush, _startPosX.Value + 15, _startPosY.Value + 40 + 10, 10, 10);
+ g.DrawEllipse(pen, _startPosX.Value + 30, _startPosY.Value + 40 + 10, 10, 10);
+ g.FillEllipse(whiteBrush, _startPosX.Value + 30, _startPosY.Value + 40 + 10, 10, 10);
+ g.DrawEllipse(pen, _startPosX.Value + 80, _startPosY.Value + 40 + 10, 10, 10);
+ g.FillEllipse(whiteBrush, _startPosX.Value + 80, _startPosY.Value + 40 + 10, 10, 10);
+ g.DrawEllipse(pen, _startPosX.Value + 95, _startPosY.Value + 40 + 10, 10, 10);
+ g.FillEllipse(whiteBrush, _startPosX.Value + 95, _startPosY.Value + 40 + 10, 10, 10);
//дверь
- g.FillRectangle(bodyBrush, _startPosX.Value + 50, _startPosY.Value + 10, 10, 20);
- g.DrawRectangle(pen, _startPosX.Value + 50, _startPosY.Value + 10, 10, 20);
+ g.FillRectangle(bodyBrush, _startPosX.Value + 50, _startPosY.Value + 10 + 10, 10, 20);
+ g.DrawRectangle(pen, _startPosX.Value + 50, _startPosY.Value + 10 + 10, 10, 20);
//окна
pen = new(Color.Blue);
- g.DrawRectangle(pen, _startPosX.Value + 85, _startPosY.Value + 5, 10, 10);
- g.DrawRectangle(pen, _startPosX.Value + 70, _startPosY.Value + 5, 10, 10);
- g.DrawRectangle(pen, _startPosX.Value + 5, _startPosY.Value + 5, 10, 10);
+ g.DrawRectangle(pen, _startPosX.Value + 85, _startPosY.Value + 5 + 10, 10, 10);
+ g.DrawRectangle(pen, _startPosX.Value + 70, _startPosY.Value + 5 + 10, 10, 10);
+ g.DrawRectangle(pen, _startPosX.Value + 10, _startPosY.Value + 5 + 10, 10, 10);
//труба
if (EntityLocomotive.ExehaustPipe)
{
Brush greyBrush = new SolidBrush(Color.Gray);
- g.FillRectangle(greyBrush, _startPosX.Value + 80, _startPosY.Value - 10, 5, 10);
- g.DrawRectangle(pen, _startPosX.Value + 80, _startPosY.Value - 10, 5, 10);
+ g.FillRectangle(greyBrush, _startPosX.Value + 80, _startPosY.Value, 5, 10);
+ g.DrawRectangle(pen, _startPosX.Value + 80, _startPosY.Value, 5, 10);
}
// отсек для топлива
if (EntityLocomotive.FuelCompartment)
{
- g.FillRectangle(bodyBrush, _startPosX.Value + 20, _startPosY.Value + 10, 10, 20);
- g.DrawRectangle(pen, _startPosX.Value + 20, _startPosY.Value + 10, 10, 20);
+ g.FillRectangle(bodyBrush, _startPosX.Value + 25, _startPosY.Value + 10 + 10, 10, 20);
+ g.DrawRectangle(pen, _startPosX.Value + 25, _startPosY.Value + 10 + 10, 10, 20);
}
}
diff --git a/LocomativeProject/LocomativeProject/LocomotiveProject.Designer.cs b/LocomativeProject/LocomativeProject/LocomotiveProject.Designer.cs
index 73b18b9..3898d85 100644
--- a/LocomativeProject/LocomativeProject/LocomotiveProject.Designer.cs
+++ b/LocomativeProject/LocomativeProject/LocomotiveProject.Designer.cs
@@ -29,106 +29,110 @@
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LocomotiveProject));
- this.pictureBox1 = new System.Windows.Forms.PictureBox();
- this.pictureBoxLocomotive = new System.Windows.Forms.PictureBox();
- this.create = new System.Windows.Forms.Button();
- this.buttonUp = new System.Windows.Forms.Button();
- this.buttonDown = new System.Windows.Forms.Button();
- this.buttonLeft = new System.Windows.Forms.Button();
- this.buttonRight = new System.Windows.Forms.Button();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBoxLocomotive)).BeginInit();
- this.SuspendLayout();
+ pictureBox1 = new PictureBox();
+ pictureBoxLocomotive = new PictureBox();
+ create = new Button();
+ buttonUp = new Button();
+ buttonDown = new Button();
+ buttonLeft = new Button();
+ buttonRight = new Button();
+ ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)pictureBoxLocomotive).BeginInit();
+ SuspendLayout();
//
// pictureBox1
//
- this.pictureBox1.Location = new System.Drawing.Point(0, 0);
- this.pictureBox1.Name = "pictureBox1";
- this.pictureBox1.Size = new System.Drawing.Size(100, 50);
- this.pictureBox1.TabIndex = 0;
- this.pictureBox1.TabStop = false;
+ pictureBox1.Location = new Point(0, 0);
+ pictureBox1.Name = "pictureBox1";
+ pictureBox1.Size = new Size(100, 50);
+ pictureBox1.TabIndex = 0;
+ pictureBox1.TabStop = false;
//
// pictureBoxLocomotive
//
- this.pictureBoxLocomotive.Dock = System.Windows.Forms.DockStyle.Fill;
- this.pictureBoxLocomotive.Location = new System.Drawing.Point(0, 0);
- this.pictureBoxLocomotive.Name = "pictureBoxLocomotive";
- this.pictureBoxLocomotive.Size = new System.Drawing.Size(800, 450);
- this.pictureBoxLocomotive.TabIndex = 1;
- this.pictureBoxLocomotive.TabStop = false;
+ pictureBoxLocomotive.Dock = DockStyle.Fill;
+ pictureBoxLocomotive.Location = new Point(0, 0);
+ pictureBoxLocomotive.Name = "pictureBoxLocomotive";
+ pictureBoxLocomotive.Size = new Size(800, 450);
+ pictureBoxLocomotive.TabIndex = 1;
+ pictureBoxLocomotive.TabStop = false;
//
// create
//
- this.create.Location = new System.Drawing.Point(12, 415);
- this.create.Name = "create";
- this.create.Size = new System.Drawing.Size(75, 23);
- this.create.TabIndex = 2;
- this.create.Text = "создать";
- this.create.UseVisualStyleBackColor = true;
- this.create.Click += new System.EventHandler(this.create_Click);
+ create.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
+ create.Location = new Point(12, 415);
+ create.Name = "create";
+ create.Size = new Size(75, 23);
+ create.TabIndex = 2;
+ create.Text = "создать";
+ create.UseVisualStyleBackColor = true;
+ create.Click += create_Click;
//
// buttonUp
//
- this.buttonUp.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonUp.BackgroundImage")));
- this.buttonUp.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
- this.buttonUp.Location = new System.Drawing.Point(691, 362);
- this.buttonUp.Name = "buttonUp";
- this.buttonUp.Size = new System.Drawing.Size(35, 35);
- this.buttonUp.TabIndex = 3;
- this.buttonUp.UseVisualStyleBackColor = true;
- this.buttonUp.Click += new System.EventHandler(this.ButtonMove_Click);
+ buttonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
+ buttonUp.BackgroundImage = (Image)resources.GetObject("buttonUp.BackgroundImage");
+ buttonUp.BackgroundImageLayout = ImageLayout.Stretch;
+ buttonUp.Location = new Point(691, 362);
+ buttonUp.Name = "buttonUp";
+ buttonUp.Size = new Size(35, 35);
+ buttonUp.TabIndex = 3;
+ buttonUp.UseVisualStyleBackColor = true;
+ buttonUp.Click += ButtonMove_Click;
//
// buttonDown
//
- this.buttonDown.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonDown.BackgroundImage")));
- this.buttonDown.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
- this.buttonDown.Location = new System.Drawing.Point(691, 403);
- this.buttonDown.Name = "buttonDown";
- this.buttonDown.Size = new System.Drawing.Size(35, 35);
- this.buttonDown.TabIndex = 4;
- this.buttonDown.UseVisualStyleBackColor = true;
- this.buttonDown.Click += new System.EventHandler(this.ButtonMove_Click);
+ buttonDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
+ buttonDown.BackgroundImage = (Image)resources.GetObject("buttonDown.BackgroundImage");
+ buttonDown.BackgroundImageLayout = ImageLayout.Stretch;
+ buttonDown.Location = new Point(691, 403);
+ buttonDown.Name = "buttonDown";
+ buttonDown.Size = new Size(35, 35);
+ buttonDown.TabIndex = 4;
+ buttonDown.UseVisualStyleBackColor = true;
+ buttonDown.Click += ButtonMove_Click;
//
// buttonLeft
//
- this.buttonLeft.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonLeft.BackgroundImage")));
- this.buttonLeft.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
- this.buttonLeft.Location = new System.Drawing.Point(650, 403);
- this.buttonLeft.Name = "buttonLeft";
- this.buttonLeft.Size = new System.Drawing.Size(35, 35);
- this.buttonLeft.TabIndex = 5;
- this.buttonLeft.UseVisualStyleBackColor = true;
- this.buttonLeft.Click += new System.EventHandler(this.ButtonMove_Click);
+ buttonLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
+ buttonLeft.BackgroundImage = (Image)resources.GetObject("buttonLeft.BackgroundImage");
+ buttonLeft.BackgroundImageLayout = ImageLayout.Stretch;
+ buttonLeft.Location = new Point(650, 403);
+ buttonLeft.Name = "buttonLeft";
+ buttonLeft.Size = new Size(35, 35);
+ buttonLeft.TabIndex = 5;
+ buttonLeft.UseVisualStyleBackColor = true;
+ buttonLeft.Click += ButtonMove_Click;
//
// buttonRight
//
- this.buttonRight.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonRight.BackgroundImage")));
- this.buttonRight.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
- this.buttonRight.Location = new System.Drawing.Point(732, 403);
- this.buttonRight.Name = "buttonRight";
- this.buttonRight.Size = new System.Drawing.Size(35, 35);
- this.buttonRight.TabIndex = 6;
- this.buttonRight.UseVisualStyleBackColor = true;
- this.buttonRight.Click += new System.EventHandler(this.ButtonMove_Click);
+ buttonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
+ buttonRight.BackgroundImage = (Image)resources.GetObject("buttonRight.BackgroundImage");
+ buttonRight.BackgroundImageLayout = ImageLayout.Stretch;
+ buttonRight.Location = new Point(732, 403);
+ buttonRight.Name = "buttonRight";
+ buttonRight.Size = new Size(35, 35);
+ buttonRight.TabIndex = 6;
+ buttonRight.UseVisualStyleBackColor = true;
+ buttonRight.Click += ButtonMove_Click;
//
// LocomotiveProject
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(800, 450);
- this.Controls.Add(this.buttonRight);
- this.Controls.Add(this.buttonLeft);
- this.Controls.Add(this.buttonDown);
- this.Controls.Add(this.buttonUp);
- this.Controls.Add(this.create);
- this.Controls.Add(this.pictureBoxLocomotive);
- this.Controls.Add(this.pictureBox1);
- this.Name = "LocomotiveProject";
- this.Text = "Тепловоз";
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBoxLocomotive)).EndInit();
- this.ResumeLayout(false);
-
+ AutoScaleDimensions = new SizeF(7F, 15F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(800, 450);
+ Controls.Add(buttonRight);
+ Controls.Add(buttonLeft);
+ Controls.Add(buttonDown);
+ Controls.Add(buttonUp);
+ Controls.Add(create);
+ Controls.Add(pictureBoxLocomotive);
+ Controls.Add(pictureBox1);
+ Name = "LocomotiveProject";
+ Text = "Тепловоз";
+ ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
+ ((System.ComponentModel.ISupportInitialize)pictureBoxLocomotive).EndInit();
+ ResumeLayout(false);
}
#endregion
diff --git a/LocomativeProject/LocomativeProject/LocomotiveProject.cs b/LocomativeProject/LocomativeProject/LocomotiveProject.cs
index a17fea0..12b9e36 100644
--- a/LocomativeProject/LocomativeProject/LocomotiveProject.cs
+++ b/LocomativeProject/LocomativeProject/LocomotiveProject.cs
@@ -39,20 +39,20 @@ namespace LocomativeProject
///
private void create_Click(object sender, EventArgs e)
{
- Random random = new ();
+ Random random = new();
_drawningLocomotive = new DrawningLocomotive();
_drawningLocomotive.Init
(
random.Next(100, 300),
random.Next(1000, 3000),
- Color.FromArgb( random.Next(0, 256), random.Next(0, 256), random.Next(0, 256) ),
- Color.FromArgb( random.Next(0, 256), random.Next(0, 256), random.Next(0, 256) ),
+ Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)),
+ Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)),
+ Convert.ToBoolean(random.Next(0, 2)),
Convert.ToBoolean(random.Next(0, 2)),
- Convert.ToBoolean( random.Next(0, 2) ),
random.Next(2, 6)
);
- _drawningLocomotive.SetPictureSize( pictureBoxLocomotive.Width, pictureBoxLocomotive.Height );
- _drawningLocomotive.SetPosition( random.Next(10, 100), random.Next(10, 100) );
+ _drawningLocomotive.SetPictureSize(pictureBoxLocomotive.Width, pictureBoxLocomotive.Height);
+ _drawningLocomotive.SetPosition(random.Next(10, 100), random.Next(10, 100));
Draw();
}
diff --git a/LocomativeProject/LocomativeProject/LocomotiveProject.resx b/LocomativeProject/LocomativeProject/LocomotiveProject.resx
index e45e5ca..e4ae198 100644
--- a/LocomativeProject/LocomativeProject/LocomotiveProject.resx
+++ b/LocomativeProject/LocomativeProject/LocomotiveProject.resx
@@ -1,4 +1,64 @@
-
+
+
+
@@ -177,7 +237,7 @@
iVBORw0KGgoAAAANSUhEUgAAAf0AAAIBCAYAAABDdGZ3AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- vQAADr0BR/uQrQAAIv9JREFUeF7t3YuS29axheH4KjmpvP97plyS7zrp2V4+bYQaSjNigyC+v+ovguRE
+ vAAADrwBlbxySQAAIv9JREFUeF7t3YuS29axheH4KjmpvP97plyS7zrp2V4+bYQaSjNigyC+v+ovguRE
sTnNvXYDaPkfH4Cdef/+/Z9HHz788ssvT4/ffPPNh3/84x/kof3qq6+eHn///fenuk59F3kNmEToY1d+
+umnP4/Wgvjtt9/+tWAKfj6Cb968eQr/8PPPP3/4448/hD52Qehjdyr4f/vtt6eFsYK+Bz95ZL///vun
x3T8PfyBPRD62JV0O2/fvv3bYvndd9/97Tl5VH/44Yenx17TRT/VD0wh9LEr1eF//fXXTwthdUE5rlOi
@@ -332,7 +392,7 @@
iVBORw0KGgoAAAANSUhEUgAAAgEAAAIHCAYAAAAGv498AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- vQAADr0BR/uQrQAAHmBJREFUeF7t3YuyG0XWrVH65gsd/f7vSRDGBgPNSpibtLy9JVtLUlXlGBGfJMzt
+ vAAADrwBlbxySQAAHmBJREFUeF7t3YuyG0XWrVH65gsd/f7vSRDGBgPNSpibtLy9JVtLUlXlGBGfJMzt
Pw3HNaWSk+9+BwCWZAQAwKKMAABYlBEAAIsyAgBgUUYAACzKCACARRkBALAoIwAAFmUEAMCijAAAWJQR
AACLMgIAYFFGAAAsyggAgEUZAQCwKCMAABZlBADAoowAAFiUEQAAizICAGBRRgAALMoIAIBFGQEAsCgj
AAAWZQQAwKKMAABYlBEAAIsyAgBgUUYAACzKCACARRkBALAoIwCu9PHjx79e/f77r7/++vtvv/322XN8
@@ -468,7 +528,7 @@
iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- vgAADr4B6kKxwAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAABq4SURBVHhe7d1X
+ vQAADr0BR/uQrQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAABq4SURBVHhe7d1X
0F1lvcfxAOMMioCAQbBhL9jBgqKCXcCC0WgsGFSMElIgBEgU4+g4OuOV114w44W3inKBBSxYsEdFRQWj
YAkaFYMFQcjyeZKlIcmTt+z3v/deaz2fz8z3cI5Jdlkvx/9vHI9nUQMAVMcAAIAKGQAAUCEDAAAqZAAA
QIUMAACokAEAABUyAACgQgYAAFTIAACAChkAAFAhAwAAKmQAAECFDAAAqJABAAAVMgAAoEIGAABUyAAA