From 82f37a5225d2c93faed9925065c651efdc79f057 Mon Sep 17 00:00:00 2001 From: bancika Date: Thu, 10 Sep 2020 12:21:48 +0200 Subject: [PATCH] Big update - replace Point with Point2D in most places to increase accuracy --- .../org/diylc/common/DefaultTransformer.java | 8 +- .../diylc/common/IComponentTransformer.java | 8 +- .../org/diylc/common/ISelectionProcessor.java | 16 +- .../common/SimpleComponentTransformer.java | 23 +- .../diylc/components/AbstractComponent.java | 39 ++-- .../components/AbstractCurvedComponent.java | 121 +++++----- .../transform/DefaultTransformer.java | 10 +- .../transform/LeadedComponentTransformer.java | 26 +-- .../src/org/diylc/core/IDIYComponent.java | 12 +- .../src/org/diylc/core/Template.java | 14 +- .../src/org/diylc/presenter/CalcUtils.java | 14 +- .../src/org/diylc/presenter/DrawingCache.java | 16 +- .../org/diylc/presenter/DrawingManager.java | 25 +- .../diylc/presenter/InstantiationManager.java | 132 +++++------ .../src/org/diylc/presenter/Presenter.java | 148 ++++++------ .../src/org/diylc/presenter/update.xml | 6 +- .../diylc/serialization/AreaConverter.java | 3 +- .../diylc/serialization/PointConverter.java | 30 +-- .../serialization/ProjectFileManager.java | 4 +- .../org/diylc/presenter/CalcUtilsTest.java | 25 ++ .../testcomponents/MockDIYComponent.java | 43 ++-- diylc/diylc-library/lib/diylc-core.jar | Bin 335073 -> 335996 bytes .../src/org/diylc/awt/StringUtils.java | 8 +- .../diylc/components/Abstract3LegSymbol.java | 73 +++--- .../components/AbstractLeadedComponent.java | 113 ++++----- .../AbstractSchematicLeadedSymbol.java | 9 +- .../org/diylc/components/RoundedPolygon.java | 30 +-- .../components/boards/AbstractBoard.java | 83 +++---- .../diylc/components/boards/BlankBoard.java | 16 +- .../diylc/components/boards/Breadboard.java | 3 +- .../diylc/components/boards/EyeletBoard.java | 29 +-- .../components/boards/MarshallPerfBoard.java | 27 +-- .../diylc/components/boards/PerfBoard.java | 31 +-- .../diylc/components/boards/ProtoBoard.java | 3 +- .../org/diylc/components/boards/TagStrip.java | 3 +- .../components/boards/TerminalStrip.java | 3 +- .../diylc/components/boards/TriPadBoard.java | 73 +++--- .../diylc/components/boards/VeroBoard.java | 47 ++-- .../components/chassis/ChassisPanel.java | 4 +- .../components/chassis/EllipticalCutout.java | 4 +- .../components/chassis/PolygonalCutout.java | 9 +- .../components/chassis/RectangularCutout.java | 4 +- .../components/connectivity/CutLine.java | 12 +- .../diylc/components/connectivity/Dot.java | 10 +- .../diylc/components/connectivity/Eyelet.java | 16 +- .../components/connectivity/GroundFill.java | 20 +- .../diylc/components/connectivity/Line.java | 26 ++- .../components/connectivity/SolderPad.java | 18 +- .../components/connectivity/TraceCut.java | 18 +- .../diylc/components/connectivity/Turret.java | 16 +- .../components/connectivity/TwistedWire.java | 2 +- .../electromechanical/BatterySnap9V.java | 59 ++--- .../electromechanical/CliffJack1_4.java | 49 ++-- .../electromechanical/ClosedJack1_4.java | 58 ++--- .../electromechanical/DIPSwitch.java | 52 ++--- .../electromechanical/FuseHolderPanel.java | 30 +-- .../electromechanical/IECSocket.java | 61 ++--- .../electromechanical/MiniRelay.java | 118 +++++----- .../electromechanical/MiniToggleSwitch.java | 132 ++++++----- .../electromechanical/OpenJack1_4.java | 39 ++-- .../electromechanical/PilotLampHolder.java | 28 +-- .../electromechanical/PinHeader.java | 55 ++--- .../electromechanical/PlasticDCJack.java | 45 ++-- .../components/electromechanical/RCAJack.java | 21 +- .../RotarySelectorSwitch.java | 28 +-- .../guitar/AbstractGuitarPickup.java | 32 +-- .../AbstractSingleOrHumbuckerPickup.java | 10 +- .../components/guitar/HumbuckerPickup.java | 8 +- .../components/guitar/JazzBassPickup.java | 8 +- .../org/diylc/components/guitar/LPSwitch.java | 68 +++--- .../diylc/components/guitar/LeverSwitch.java | 52 ++--- .../diylc/components/guitar/P90Pickup.java | 8 +- .../diylc/components/guitar/PBassPickup.java | 8 +- .../components/guitar/SingleCoilPickup.java | 14 +- .../src/org/diylc/components/misc/BOM.java | 52 ++--- .../diylc/components/misc/GroundSymbol.java | 32 +-- .../src/org/diylc/components/misc/Image.java | 49 ++-- .../src/org/diylc/components/misc/Label.java | 64 ++--- .../org/diylc/components/misc/Loadline.java | 20 +- .../diylc/components/misc/LoadlineCurve.java | 8 +- .../org/diylc/components/misc/PCBText.java | 66 +++--- .../org/diylc/components/misc/WrapLabel.java | 30 +-- .../passive/AbstractPotentiometer.java | 8 +- .../components/passive/AudioTransformer.java | 48 ++-- .../passive/MultiSectionCapacitor.java | 36 +-- .../passive/PotentiometerPanel.java | 59 ++--- .../passive/PotentiometerSymbol.java | 12 +- .../components/passive/TransformerCoil.java | 22 +- .../components/passive/TransformerCore.java | 14 +- .../passive/TrimmerPotentiometer.java | 25 +- .../AbstractTransistorPackage.java | 3 +- .../components/semiconductors/BJTSymbol.java | 28 +-- .../semiconductors/BridgeRectifier.java | 90 +++---- .../components/semiconductors/DIL_IC.java | 72 +++--- .../components/semiconductors/ICSymbol.java | 61 +++-- .../components/semiconductors/JFETSymbol.java | 24 +- .../semiconductors/LogicGateSymbol.java | 54 ++--- .../semiconductors/MOSFETSymbol.java | 24 +- .../components/semiconductors/SIL_IC.java | 54 ++--- .../semiconductors/TransistorTO3.java | 25 +- .../components/shapes/AbstractShape.java | 33 +-- .../org/diylc/components/shapes/Ellipse.java | 4 +- .../org/diylc/components/shapes/Polygon.java | 39 ++-- .../diylc/components/shapes/Rectangle.java | 4 +- .../diylc/components/shapes/TapeMeasure.java | 49 ++-- .../components/smd/PassiveSMDComponent.java | 98 ++++---- .../transform/BatterySnapTransformer.java | 37 +-- .../transform/CliffJackTransformer.java | 60 ++--- .../transform/ClosedJackTransformer.java | 40 ++-- .../transform/DIL_ICTransformer.java | 64 ++--- .../transform/PotentiometerTransformer.java | 38 +-- .../transform/SIL_ICTransformer.java | 36 +-- .../components/transform/TO1Transformer.java | 41 ++-- .../transform/TO220Transformer.java | 51 ++-- .../components/transform/TO92Transformer.java | 33 +-- .../transform/TerminalStripTransformer.java | 61 ++--- .../components/transform/TextTransformer.java | 12 +- .../transform/ThreeLegTransformer.java | 12 +- .../transform/TubeSymbolTransformer.java | 20 +- .../components/tube/AbstractTubeSymbol.java | 31 ++- .../diylc/components/tube/DiodeSymbol.java | 93 ++++---- .../diylc/components/tube/DuoDiodeSymbol.java | 102 ++++---- .../diylc/components/tube/PentodeSymbol.java | 95 ++++---- .../diylc/components/tube/SubminiTube.java | 80 +++---- .../diylc/components/tube/TriodeSymbol.java | 89 ++++--- .../org/diylc/components/tube/TubeSocket.java | 5 +- .../org/diylc/editor/FlexibleLeadsEditor.java | 50 ++-- .../org/diylc/serialization/V1FileParser.java | 219 +++++++++--------- diylc/diylc-swing/lib/diylc-core.jar | Bin 335073 -> 335996 bytes diylc/diylc-swing/library/main.jar | Bin 706697 -> 709952 bytes .../src/org/diylc/swing/gui/MainFrame.java | 1 - .../swing/loadline/LoadlineEditorFrame.java | 6 +- .../swing/plugins/canvas/CanvasPanel.java | 1 - .../swing/plugins/statusbar/StatusBar.java | 10 +- 134 files changed, 2458 insertions(+), 2452 deletions(-) create mode 100644 diylc/diylc-core/test/org/diylc/presenter/CalcUtilsTest.java diff --git a/diylc/diylc-core/src/org/diylc/common/DefaultTransformer.java b/diylc/diylc-core/src/org/diylc/common/DefaultTransformer.java index dfd98f91..d75110a8 100644 --- a/diylc/diylc-core/src/org/diylc/common/DefaultTransformer.java +++ b/diylc/diylc-core/src/org/diylc/common/DefaultTransformer.java @@ -21,8 +21,8 @@ */ package org.diylc.common; -import java.awt.Point; - +import java.awt.geom.Point2D; + import org.diylc.core.IDIYComponent; public class DefaultTransformer implements IComponentTransformer { @@ -43,11 +43,11 @@ public class DefaultTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { + public void rotate(IDIYComponent component, Point2D center, int direction) { } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { } } diff --git a/diylc/diylc-core/src/org/diylc/common/IComponentTransformer.java b/diylc/diylc-core/src/org/diylc/common/IComponentTransformer.java index 2d9d503d..e2cd78eb 100644 --- a/diylc/diylc-core/src/org/diylc/common/IComponentTransformer.java +++ b/diylc/diylc-core/src/org/diylc/common/IComponentTransformer.java @@ -21,8 +21,8 @@ */ package org.diylc.common; -import java.awt.Point; - +import java.awt.geom.Point2D; + import org.diylc.core.IDIYComponent; public interface IComponentTransformer { @@ -39,7 +39,7 @@ public interface IComponentTransformer { boolean mirroringChangesCircuit(); - void rotate(IDIYComponent component, Point center, int direction); + void rotate(IDIYComponent component, Point2D center, int direction); - void mirror(IDIYComponent component, Point center, int direction); + void mirror(IDIYComponent component, Point2D center, int direction); } diff --git a/diylc/diylc-core/src/org/diylc/common/ISelectionProcessor.java b/diylc/diylc-core/src/org/diylc/common/ISelectionProcessor.java index 8bab2c58..d3bce636 100644 --- a/diylc/diylc-core/src/org/diylc/common/ISelectionProcessor.java +++ b/diylc/diylc-core/src/org/diylc/common/ISelectionProcessor.java @@ -21,13 +21,13 @@ */ package org.diylc.common; -import java.awt.Point; -import java.awt.geom.Rectangle2D; -import java.util.Collection; -import java.util.List; - -import org.diylc.core.ExpansionMode; -import org.diylc.core.IDIYComponent; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; +import java.util.Collection; +import java.util.List; + +import org.diylc.core.ExpansionMode; +import org.diylc.core.IDIYComponent; import org.diylc.core.measures.Size; public interface ISelectionProcessor { @@ -55,7 +55,7 @@ public interface ISelectionProcessor { * @param includeLocked * @return */ - List> findComponentsAt(Point point, boolean includeLocked); + List> findComponentsAt(Point2D point, boolean includeLocked); /** * Expands the current selection to include surrounding components. Options are controlled with diff --git a/diylc/diylc-core/src/org/diylc/common/SimpleComponentTransformer.java b/diylc/diylc-core/src/org/diylc/common/SimpleComponentTransformer.java index d7ba55b3..899b8871 100644 --- a/diylc/diylc-core/src/org/diylc/common/SimpleComponentTransformer.java +++ b/diylc/diylc-core/src/org/diylc/common/SimpleComponentTransformer.java @@ -21,9 +21,10 @@ */ package org.diylc.common; -import java.awt.Point; -import java.awt.geom.AffineTransform; - +import java.awt.Point; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; + import org.diylc.core.IDIYComponent; public class SimpleComponentTransformer implements IComponentTransformer { @@ -44,23 +45,23 @@ public class SimpleComponentTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { for (int i = 0; i < component.getControlPointCount(); i++) { - Point p = component.getControlPoint(i); + Point2D p = component.getControlPoint(i); if (direction == IComponentTransformer.HORIZONTAL) { - component.setControlPoint(new Point(p.x - 2 * (p.x - center.x), p.y), i); + component.setControlPoint(new Point2D.Double(p.getX() - 2 * (p.getX() - center.getX()), p.getY()), i); } else { - component.setControlPoint(new Point(p.x, p.y - 2 * (p.y - center.y)), i); + component.setControlPoint(new Point.Double(p.getX(), p.getY() - 2 * (p.getY() - center.getY())), i); } } } diff --git a/diylc/diylc-core/src/org/diylc/components/AbstractComponent.java b/diylc/diylc-core/src/org/diylc/components/AbstractComponent.java index 4dcd0afd..12797e8e 100644 --- a/diylc/diylc-core/src/org/diylc/components/AbstractComponent.java +++ b/diylc/diylc-core/src/org/diylc/components/AbstractComponent.java @@ -23,8 +23,8 @@ package org.diylc.components; import java.awt.Color; import java.awt.Font; -import java.awt.Point; import java.awt.Shape; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.lang.reflect.Array; import java.lang.reflect.Field; @@ -117,23 +117,23 @@ public abstract class AbstractComponent implements IDIYComponent { return false; } } - int minX = Integer.MAX_VALUE; - int minY = Integer.MAX_VALUE; - int maxX = Integer.MIN_VALUE; - int maxY = Integer.MIN_VALUE; + double minX = Integer.MAX_VALUE; + double minY = Integer.MAX_VALUE; + double maxX = Integer.MIN_VALUE; + double maxY = Integer.MIN_VALUE; for (int i = 0; i < getControlPointCount(); i++) { - Point p = getControlPoint(i); - if (minX > p.x) { - minX = p.x; + Point2D p = getControlPoint(i); + if (minX > p.getX()) { + minX = p.getX(); } - if (maxX < p.x) { - maxX = p.x; + if (maxX < p.getX()) { + maxX = p.getX(); } - if (minY > p.y) { - minY = p.y; + if (minY > p.getY()) { + minY = p.getY(); } - if (maxY < p.y) { - maxY = p.y; + if (maxY < p.getY()) { + maxY = p.getY(); } } Rectangle2D rect = new Rectangle2D.Double(minX, minY, maxX - minX, maxY - minY); @@ -160,18 +160,19 @@ public abstract class AbstractComponent implements IDIYComponent { // Deep copy point arrays. // TODO: something nicer if (value != null && value.getClass().isArray() - && value.getClass().getComponentType().isAssignableFrom(Point.class)) { + && value.getClass().getComponentType().isAssignableFrom(Point2D.class)) { Object newArray = Array.newInstance(value.getClass().getComponentType(), Array.getLength(value)); for (int i = 0; i < Array.getLength(value); i++) { - Point p = (Point) Array.get(value, i); - Array.set(newArray, i, new Point(p)); + Point2D p = (Point2D) Array.get(value, i); + Array.set(newArray, i, new Point2D.Double(p.getX(), p.getY())); } value = newArray; } // Deep copy points. // TODO: something nicer - if (value != null && value instanceof Point) { - value = new Point((Point) value); + if (value != null && value instanceof Point2D) { + Point2D p = (Point2D) value; + value = new Point2D.Double(p.getX(), p.getY()); } field.set(newInstance, value); diff --git a/diylc/diylc-core/src/org/diylc/components/AbstractCurvedComponent.java b/diylc/diylc-core/src/org/diylc/components/AbstractCurvedComponent.java index a80a001c..6245b19f 100644 --- a/diylc/diylc-core/src/org/diylc/components/AbstractCurvedComponent.java +++ b/diylc/diylc-core/src/org/diylc/components/AbstractCurvedComponent.java @@ -21,7 +21,6 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.geom.CubicCurve2D; import java.awt.geom.Path2D; import java.awt.geom.Point2D; @@ -53,12 +52,12 @@ public abstract class AbstractCurvedComponent extends AbstractTransparentComp public static Size DEFAULT_SIZE = new Size(1d, SizeUnit.in); // for backward compatibility - protected Point[] controlPoints = null; + protected Point2D[] controlPoints = null; - protected Point[] controlPoints2 = new Point[] {new Point(0, 0), - new Point((int) (DEFAULT_SIZE.convertToPixels() / 2), 0), - new Point((int) (DEFAULT_SIZE.convertToPixels() / 2), (int) (DEFAULT_SIZE.convertToPixels())), - new Point((int) DEFAULT_SIZE.convertToPixels(), (int) DEFAULT_SIZE.convertToPixels())}; + protected Point2D[] controlPoints2 = new Point2D[] {new Point2D.Double(0, 0), + new Point2D.Double(DEFAULT_SIZE.convertToPixels() / 2, 0), + new Point2D.Double(DEFAULT_SIZE.convertToPixels() / 2, DEFAULT_SIZE.convertToPixels()), + new Point2D.Double(DEFAULT_SIZE.convertToPixels(), DEFAULT_SIZE.convertToPixels())}; protected Color color = getDefaultColor(); protected PointCount pointCount = PointCount.FOUR; @@ -102,7 +101,7 @@ public abstract class AbstractCurvedComponent extends AbstractTransparentComp return; } - Point[] p = getControlPoints(); + Point2D[] p = getControlPoints(); // smoothen the curve if needed if (getSmooth() && lastUpdatePointIndex >= 0) { @@ -127,25 +126,25 @@ public abstract class AbstractCurvedComponent extends AbstractTransparentComp g2d.setStroke(Constants.DASHED_STROKE); g2d.setColor(GUIDELINE_COLOR); for (int i = 0; i < p.length - 1; i++) { - g2d.drawLine(p[i].x, p[i].y, p[i + 1].x, p[i + 1].y); + g2d.drawLine((int)p[i].getX(), (int)p[i].getY(), (int)p[i + 1].getX(), (int)p[i + 1].getY()); } drawingObserver.startTracking(); } Path2D path = new Path2D.Double(); - path.moveTo(p[0].x, p[0].y); + path.moveTo(p[0].getX(), p[0].getY()); if (getPointCount() == PointCount.TWO) { - path.lineTo(p[1].x, p[1].y); + path.lineTo(p[1].getX(), p[1].getY()); } else if (getPointCount() == PointCount.THREE) { - path.curveTo(p[1].x, p[1].y, p[1].x, p[1].y, p[2].x, p[2].y); + path.curveTo(p[1].getX(), p[1].getY(), p[1].getX(), p[1].getY(), p[2].getX(), p[2].getY()); } else if (getPointCount() == PointCount.FOUR) { - path.curveTo(p[1].x, p[1].y, p[2].x, p[2].y, p[3].x, p[3].y); + path.curveTo(p[1].getX(), p[1].getY(), p[2].getX(), p[2].getY(), p[3].getX(), p[3].getY()); } else if (getPointCount() == PointCount.FIVE) { - path.quadTo(p[1].x, p[1].y, p[2].x, p[2].y); - path.quadTo(p[3].x, p[3].y, p[4].x, p[4].y); + path.quadTo(p[1].getX(), p[1].getY(), p[2].getX(), p[2].getY()); + path.quadTo(p[3].getX(), p[3].getY(), p[4].getX(), p[4].getY()); } else if (getPointCount() == PointCount.SEVEN) { - path.curveTo(p[1].x, p[1].y, p[2].x, p[2].y, p[3].x, p[3].y); - path.curveTo(p[4].x, p[4].y, p[5].x, p[5].y, p[6].x, p[6].y); + path.curveTo(p[1].getX(), p[1].getY(), p[2].getX(), p[2].getY(), p[3].getX(), p[3].getY()); + path.curveTo(p[4].getX(), p[4].getY(), p[5].getX(), p[5].getY(), p[6].getX(), p[6].getY()); } Composite oldComposite = g2d.getComposite(); @@ -166,23 +165,23 @@ public abstract class AbstractCurvedComponent extends AbstractTransparentComp return pointCount; } - protected Point[] getControlPoints() { + protected Point2D[] getControlPoints() { if (this.controlPoints != null) { // ensure backward compatibility by copying points from the old structure to the new one switch (getPointCount()) { case TWO: - this.controlPoints2 = new Point[2]; + this.controlPoints2 = new Point2D[2]; this.controlPoints2[0] = this.controlPoints[0]; this.controlPoints2[1] = this.controlPoints[3]; break; case THREE: - this.controlPoints2 = new Point[3]; + this.controlPoints2 = new Point2D[3]; this.controlPoints2[0] = this.controlPoints[0]; this.controlPoints2[1] = this.controlPoints[1]; this.controlPoints2[2] = this.controlPoints[3]; break; case FOUR: - this.controlPoints2 = new Point[4]; + this.controlPoints2 = new Point2D[4]; this.controlPoints2[0] = this.controlPoints[0]; this.controlPoints2[1] = this.controlPoints[1]; this.controlPoints2[2] = this.controlPoints[2]; @@ -198,42 +197,42 @@ public abstract class AbstractCurvedComponent extends AbstractTransparentComp } public void setPointCount(PointCount pointCount) { - Point[] p = getControlPoints(); - Point[] newPoints = new Point[pointCount.count]; + Point2D[] p = getControlPoints(); + Point2D[] newPoints = new Point2D[pointCount.count]; newPoints[0] = p[0]; newPoints[pointCount.count - 1] = p[p.length - 1]; if (pointCount == PointCount.THREE) { newPoints[1] = - new Point((newPoints[pointCount.count - 1].x + newPoints[0].x) / 2, - (newPoints[pointCount.count - 1].y + newPoints[0].y) / 2); + new Point2D.Double((newPoints[pointCount.count - 1].getX() + newPoints[0].getX()) / 2, + (newPoints[pointCount.count - 1].getY() + newPoints[0].getY()) / 2); } else if (pointCount == PointCount.FOUR) { newPoints[1] = - new Point((newPoints[pointCount.count - 1].x + newPoints[0].x) / 2, - (newPoints[pointCount.count - 1].y + newPoints[0].y) / 2); + new Point2D.Double((newPoints[pointCount.count - 1].getX() + newPoints[0].getX()) / 2, + (newPoints[pointCount.count - 1].getY() + newPoints[0].getY()) / 2); newPoints[2] = - new Point((newPoints[pointCount.count - 1].x + newPoints[0].x) / 2, - (newPoints[pointCount.count - 1].y + newPoints[0].y) / 2); + new Point2D.Double((newPoints[pointCount.count - 1].getX() + newPoints[0].getX()) / 2, + (newPoints[pointCount.count - 1].getY() + newPoints[0].getY()) / 2); } else if (pointCount == PointCount.FIVE) { newPoints[2] = - new Point((newPoints[pointCount.count - 1].x + newPoints[0].x) / 2, - (newPoints[pointCount.count - 1].y + newPoints[0].y) / 2); - newPoints[1] = new Point((newPoints[2].x + newPoints[0].x) / 2, (newPoints[2].y + newPoints[0].y) / 2); + new Point2D.Double((newPoints[pointCount.count - 1].getX() + newPoints[0].getX()) / 2, + (newPoints[pointCount.count - 1].getY() + newPoints[0].getY()) / 2); + newPoints[1] = new Point2D.Double((newPoints[2].getX() + newPoints[0].getX()) / 2, (newPoints[2].getY() + newPoints[0].getY()) / 2); newPoints[3] = - new Point((newPoints[pointCount.count - 1].x + newPoints[2].x) / 2, - (newPoints[pointCount.count - 1].y + newPoints[2].y) / 2); + new Point2D.Double((newPoints[pointCount.count - 1].getX() + newPoints[2].getX()) / 2, + (newPoints[pointCount.count - 1].getY() + newPoints[2].getY()) / 2); } else if (pointCount == PointCount.SEVEN) { newPoints[3] = - new Point((newPoints[pointCount.count - 1].x + newPoints[0].x) / 2, - (newPoints[pointCount.count - 1].y + newPoints[0].y) / 2); - newPoints[2] = new Point((newPoints[3].x + newPoints[0].x) / 2, (newPoints[3].y + newPoints[0].y) / 2); - newPoints[1] = new Point((newPoints[3].x + newPoints[0].x) / 2, (newPoints[3].y + newPoints[0].y) / 2); + new Point2D.Double((newPoints[pointCount.count - 1].getX() + newPoints[0].getX()) / 2, + (newPoints[pointCount.count - 1].getY() + newPoints[0].getY()) / 2); + newPoints[2] = new Point2D.Double((newPoints[3].getX() + newPoints[0].getX()) / 2, (newPoints[3].getY() + newPoints[0].getY()) / 2); + newPoints[1] = new Point2D.Double((newPoints[3].getX() + newPoints[0].getX()) / 2, (newPoints[3].getY() + newPoints[0].getY()) / 2); newPoints[4] = - new Point((newPoints[pointCount.count - 1].x + newPoints[3].x) / 2, - (newPoints[pointCount.count - 1].y + newPoints[3].y) / 2); + new Point2D.Double((newPoints[pointCount.count - 1].getX() + newPoints[3].getX()) / 2, + (newPoints[pointCount.count - 1].getY() + newPoints[3].getY()) / 2); newPoints[5] = - new Point((newPoints[pointCount.count - 1].x + newPoints[3].x) / 2, - (newPoints[pointCount.count - 1].y + newPoints[3].y) / 2); + new Point2D.Double((newPoints[pointCount.count - 1].getX() + newPoints[3].getX()) / 2, + (newPoints[pointCount.count - 1].getY() + newPoints[3].getY()) / 2); } this.controlPoints2 = newPoints; @@ -261,13 +260,13 @@ public abstract class AbstractCurvedComponent extends AbstractTransparentComp } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return getControlPoints()[index]; } @Override - public void setControlPoint(Point point, int index) { - Point[] p = getControlPoints(); + public void setControlPoint(Point2D point, int index) { + Point2D[] p = getControlPoints(); p[index].setLocation(point); this.lastUpdatePointIndex = index; // if (getSmooth()) { @@ -286,8 +285,8 @@ public abstract class AbstractCurvedComponent extends AbstractTransparentComp // } } - private Point findThirdPoint(Point p0, Point p) { - return new Point(2 * p0.x - p.x, 2 * p0.y - p.y); + private Point2D findThirdPoint(Point2D p0, Point2D p) { + return new Point2D.Double(2 * p0.getX() - p.getX(), 2 * p0.getY() - p.getY()); } @EditableProperty(name = "Color") @@ -335,7 +334,7 @@ public abstract class AbstractCurvedComponent extends AbstractTransparentComp public Size getLength() { double d = 0; try { - Point[] p = getControlPoints(); + Point2D[] p = getControlPoints(); if (getPointCount() == PointCount.TWO) { d = p[0].distance(p[1]); } else if (getPointCount() == PointCount.THREE) { @@ -364,21 +363,21 @@ public abstract class AbstractCurvedComponent extends AbstractTransparentComp @Override public Rectangle2D getCachingBounds() { - int minX = Integer.MAX_VALUE; - int maxX = Integer.MIN_VALUE; - int minY = Integer.MAX_VALUE; - int maxY = Integer.MIN_VALUE; - int margin = 50; // hard coded, replace with something meaningful + double minX = Integer.MAX_VALUE; + double maxX = Integer.MIN_VALUE; + double minY = Integer.MAX_VALUE; + double maxY = Integer.MIN_VALUE; + double margin = 50; // hard coded, replace with something meaningful for (int i = 0; i < getControlPointCount(); i++) { - Point p = getControlPoint(i); - if (p.x < minX) - minX = p.x; - if (p.x > maxX) - maxX = p.x; - if (p.y < minY) - minY = p.y; - if (p.y > maxY) - maxY = p.y; + Point2D p = getControlPoint(i); + if (p.getX() < minX) + minX = p.getX(); + if (p.getX() > maxX) + maxX = p.getX(); + if (p.getY() < minY) + minY = p.getY(); + if (p.getY() > maxY) + maxY = p.getY(); } return new Rectangle2D.Double(minX - margin, minY - margin, maxX - minX + 2 * margin, maxY - minY + 2 * margin); diff --git a/diylc/diylc-core/src/org/diylc/components/transform/DefaultTransformer.java b/diylc/diylc-core/src/org/diylc/components/transform/DefaultTransformer.java index 4afb8acc..28f931d7 100644 --- a/diylc/diylc-core/src/org/diylc/components/transform/DefaultTransformer.java +++ b/diylc/diylc-core/src/org/diylc/components/transform/DefaultTransformer.java @@ -21,9 +21,9 @@ */ package org.diylc.components.transform; -import java.awt.Point; - -import org.diylc.common.IComponentTransformer; +import java.awt.geom.Point2D; + +import org.diylc.common.IComponentTransformer; import org.diylc.core.IDIYComponent; public class DefaultTransformer implements IComponentTransformer { @@ -44,11 +44,11 @@ public class DefaultTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { + public void rotate(IDIYComponent component, Point2D center, int direction) { } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { } } diff --git a/diylc/diylc-core/src/org/diylc/components/transform/LeadedComponentTransformer.java b/diylc/diylc-core/src/org/diylc/components/transform/LeadedComponentTransformer.java index c1c3d4cb..ca6b7e71 100644 --- a/diylc/diylc-core/src/org/diylc/components/transform/LeadedComponentTransformer.java +++ b/diylc/diylc-core/src/org/diylc/components/transform/LeadedComponentTransformer.java @@ -21,10 +21,10 @@ */ package org.diylc.components.transform; -import java.awt.Point; -import java.awt.geom.AffineTransform; - -import org.diylc.common.IComponentTransformer; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; + +import org.diylc.common.IComponentTransformer; import org.diylc.core.IDIYComponent; public class LeadedComponentTransformer implements IComponentTransformer { @@ -45,23 +45,23 @@ public class LeadedComponentTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); - for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); + for (int index = 0; index < component.getControlPointCount(); index++) { + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { for (int i = 0; i < component.getControlPointCount(); i++) { - Point p = component.getControlPoint(i); + Point2D p = component.getControlPoint(i); if (direction == IComponentTransformer.HORIZONTAL) { - component.setControlPoint(new Point(p.x - 2 * (p.x - center.x), p.y), i); + component.setControlPoint(new Point2D.Double(p.getX() - 2 * (p.getX() - center.getX()), p.getY()), i); } else { - component.setControlPoint(new Point(p.x, p.y - 2 * (p.y - center.y)), i); + component.setControlPoint(new Point2D.Double(p.getX(), p.getY() - 2 * (p.getY() - center.getY())), i); } } } diff --git a/diylc/diylc-core/src/org/diylc/core/IDIYComponent.java b/diylc/diylc-core/src/org/diylc/core/IDIYComponent.java index 7bb4b5a3..af552ad9 100644 --- a/diylc/diylc-core/src/org/diylc/core/IDIYComponent.java +++ b/diylc/diylc-core/src/org/diylc/core/IDIYComponent.java @@ -21,12 +21,12 @@ */ package org.diylc.core; -import java.awt.Graphics2D; -import java.awt.Point; +import java.awt.Graphics2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; -import java.io.Serializable; +import java.io.Serializable; -import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; /** @@ -89,7 +89,7 @@ public interface IDIYComponent extends Serializable, Cloneable { * @param index * @return control point at the specified index. */ - Point getControlPoint(int index); + Point2D getControlPoint(int index); /** * Updates the control point at the specified index. @@ -97,7 +97,7 @@ public interface IDIYComponent extends Serializable, Cloneable { * @param point * @param index */ - void setControlPoint(Point point, int index); + void setControlPoint(Point2D point, int index); /** * @param index diff --git a/diylc/diylc-core/src/org/diylc/core/Template.java b/diylc/diylc-core/src/org/diylc/core/Template.java index a6fd837d..1ce520ac 100644 --- a/diylc/diylc-core/src/org/diylc/core/Template.java +++ b/diylc/diylc-core/src/org/diylc/core/Template.java @@ -20,16 +20,16 @@ */ package org.diylc.core; - -import java.awt.Point; -import java.util.List; + +import java.awt.geom.Point2D; +import java.util.List; import java.util.Map; public class Template { private String name; private Map values; - private List points; + private List points; @SuppressWarnings("unused") @Deprecated private boolean defaultFlag; @@ -37,7 +37,7 @@ public class Template { public Template() { } - public Template(String name, Map values, List points) { + public Template(String name, Map values, List points) { this.name = name; this.values = values; this.points = points; @@ -59,11 +59,11 @@ public class Template { this.values = values; } - public List getPoints() { + public List getPoints() { return points; } - public void setPoints(List points) { + public void setPoints(List points) { this.points = points; } diff --git a/diylc/diylc-core/src/org/diylc/presenter/CalcUtils.java b/diylc/diylc-core/src/org/diylc/presenter/CalcUtils.java index cfd7c6aa..6a4f10c3 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/CalcUtils.java +++ b/diylc/diylc-core/src/org/diylc/presenter/CalcUtils.java @@ -21,7 +21,7 @@ */ package org.diylc.presenter; -import java.awt.Point; +import java.awt.geom.Point2D; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -37,18 +37,18 @@ public class CalcUtils { * @param x * @return */ - public static int roundToGrid(double x, Size gridSpacing) { + public static double roundToGrid(double x, Size gridSpacing) { double grid = gridSpacing.convertToPixels(); - return (int) Math.round((Math.round(1f * x / grid) * grid)); + return (Math.round(1f * x / grid) * grid); } - public static void snapPointToGrid(Point point, Size gridSpacing) { - int x = roundToGrid(point.x, gridSpacing); - int y = roundToGrid(point.y, gridSpacing); + public static void snapPointToGrid(Point2D point, Size gridSpacing) { + double x = roundToGrid(point.getX(), gridSpacing); + double y = roundToGrid(point.getY(), gridSpacing); point.setLocation(x, y); } - public static void snapPointToObjects(Point point, Size gridSpacing, IDIYComponent component, List> components) { + public static void snapPointToObjects(Point2D point, Size gridSpacing, IDIYComponent component, List> components) { for (IDIYComponent c : components) { if (c == component) continue; diff --git a/diylc/diylc-core/src/org/diylc/presenter/DrawingCache.java b/diylc/diylc-core/src/org/diylc/presenter/DrawingCache.java index 598f4bcb..71f92aa0 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/DrawingCache.java +++ b/diylc/diylc-core/src/org/diylc/presenter/DrawingCache.java @@ -18,8 +18,8 @@ package org.diylc.presenter; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.geom.Area; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.util.HashMap; @@ -93,7 +93,7 @@ public class DrawingCache { if (type != null && type.getEnableCache()) { // if we need to apply caching - Point firstPoint = component.getControlPoint(0); + Point2D firstPoint = component.getControlPoint(0); CacheValue value = renderAndCache(component, g2d, componentState, outlineMode, project, zoom); @@ -107,8 +107,8 @@ public class DrawingCache { } try { // draw cached image - g2d.getCanvasGraphics().drawImage(value.getImage(), (int) ((firstPoint.x - value.getDx()) * zoom), - (int) ((firstPoint.y - value.getDy())* zoom), null); + g2d.getCanvasGraphics().drawImage(value.getImage(), (int) ((firstPoint.getX() - value.getDx()) * zoom), + (int) ((firstPoint.getY() - value.getDy())* zoom), null); } finally { if (Math.abs(1.0 - zoom) > 1e-4) { g2d.getCanvasGraphics().scale(zoom, zoom); @@ -157,7 +157,7 @@ public class DrawingCache { private CacheValue renderAndCache(IDIYComponent component, G2DWrapper g2d, ComponentState componentState, boolean outlineMode, Project project, double zoom) { // if we need to apply caching - Point firstPoint = component.getControlPoint(0); + Point2D firstPoint = component.getControlPoint(0); // cache hit! CacheValue value = null; @@ -172,8 +172,8 @@ public class DrawingCache { int width = (int)Math.round(rect.getWidth() * zoom); int height = (int)Math.round(rect.getHeight() * zoom); // calculate the position of the first point relative to the caching bounds - int dx = (int) (firstPoint.x - rect.getX()); - int dy = (int) (firstPoint.y - rect.getY()); + int dx = (int) (firstPoint.getX() - rect.getX()); + int dy = (int) (firstPoint.getY() - rect.getY()); // create image BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); @@ -191,7 +191,7 @@ public class DrawingCache { cg2d.scale(zoom, zoom); } // translate to make the top-left corner of the component match (0, 0) - cg2d.translate(-firstPoint.x + dx, -firstPoint.y + dy); + cg2d.translate(-firstPoint.getX() + dx, -firstPoint.getY() + dy); // wrap the graphics so we can track G2DWrapper wrapper = new G2DWrapper(cg2d, zoom); diff --git a/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java b/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java index 16894028..723eb1dd 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java +++ b/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java @@ -29,6 +29,7 @@ import java.awt.RenderingHints; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Line2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.util.ArrayList; import java.util.Collection; @@ -155,7 +156,7 @@ public class DrawingManager { */ public List> drawProject(Graphics2D g2d, Project project, Set drawOptions, IComponentFilter filter, Rectangle selectionRect, Collection> selectedComponents, - Set> lockedComponents, Set> groupedComponents, List controlPointSlot, + Set> lockedComponents, Set> groupedComponents, List controlPointSlot, List> componentSlot, boolean dragInProgress, Double externalZoom, Rectangle2D visibleRect) { long totalStartTime = System.nanoTime(); failedComponents.clear(); @@ -370,9 +371,9 @@ public class DrawingManager { .contains(component) && !selectedComponents.contains(component) && component .getControlPointVisibilityPolicy(i) == VisibilityPolicy.ALWAYS))) { g2dWrapper.setColor(CONTROL_POINT_COLOR); - Point controlPoint = component.getControlPoint(i); + Point2D controlPoint = component.getControlPoint(i); int pointSize = CONTROL_POINT_SIZE - 2; - g2dWrapper.fillOval(controlPoint.x - pointSize / 2, controlPoint.y - pointSize / 2, pointSize, pointSize); + g2dWrapper.fillOval((int)(controlPoint.getX() - pointSize / 2), (int)(controlPoint.getY() - pointSize / 2), pointSize, pointSize); } } } @@ -384,14 +385,14 @@ public class DrawingManager { && (component.getControlPointVisibilityPolicy(i) == VisibilityPolicy.WHEN_SELECTED || component .getControlPointVisibilityPolicy(i) == VisibilityPolicy.ALWAYS)) { - Point controlPoint = component.getControlPoint(i); + Point2D controlPoint = component.getControlPoint(i); int pointSize = CONTROL_POINT_SIZE; g2dWrapper.setColor(SELECTED_CONTROL_POINT_COLOR.darker()); - g2dWrapper.fillOval(controlPoint.x - pointSize / 2, controlPoint.y - pointSize / 2, pointSize, pointSize); + g2dWrapper.fillOval((int)(controlPoint.getX() - pointSize / 2), (int)(controlPoint.getY() - pointSize / 2), pointSize, pointSize); g2dWrapper.setColor(SELECTED_CONTROL_POINT_COLOR); - g2dWrapper.fillOval(controlPoint.x - CONTROL_POINT_SIZE / 2 + 1, controlPoint.y - CONTROL_POINT_SIZE / 2 - + 1, CONTROL_POINT_SIZE - 2, CONTROL_POINT_SIZE - 2); + g2dWrapper.fillOval((int)(controlPoint.getX() - CONTROL_POINT_SIZE / 2 + 1), (int)(controlPoint.getY() - CONTROL_POINT_SIZE / 2 + + 1), CONTROL_POINT_SIZE - 2, CONTROL_POINT_SIZE - 2); } } } @@ -417,13 +418,13 @@ public class DrawingManager { // Draw control points of the component in the slot. if (controlPointSlot != null) { - for (Point point : controlPointSlot) { + for (Point2D point : controlPointSlot) { if (point != null) { g2dWrapper.setColor(SELECTED_CONTROL_POINT_COLOR.darker()); - g2dWrapper.fillOval(point.x - CONTROL_POINT_SIZE / 2, point.y - CONTROL_POINT_SIZE / 2, CONTROL_POINT_SIZE, + g2dWrapper.fillOval((int)(point.getX() - CONTROL_POINT_SIZE / 2), (int)(point.getY() - CONTROL_POINT_SIZE / 2), CONTROL_POINT_SIZE, CONTROL_POINT_SIZE); g2dWrapper.setColor(SELECTED_CONTROL_POINT_COLOR); - g2dWrapper.fillOval(point.x - CONTROL_POINT_SIZE / 2 + 1, point.y - CONTROL_POINT_SIZE / 2 + 1, + g2dWrapper.fillOval((int)(point.getX() - CONTROL_POINT_SIZE / 2 + 1), (int)(point.getY() - CONTROL_POINT_SIZE / 2 + 1), CONTROL_POINT_SIZE - 2, CONTROL_POINT_SIZE - 2); } } @@ -539,7 +540,7 @@ public class DrawingManager { continuityAreaCache = null; } - public List> findComponentsAt(Point point, Project project) { + public List> findComponentsAt(Point2D point, Project project) { List> components = new ArrayList>(); for (int i = 0; i < project.getComponents().size(); i++) { ComponentArea area = componentAreaMap.get(project.getComponents().get(i)); @@ -588,7 +589,7 @@ public class DrawingManager { messageDispatcher.dispatchMessage(EventType.REPAINT); } - public void findContinuityAreaAtPoint(Project project, Point p) { + public void findContinuityAreaAtPoint(Project project, Point2D p) { if (continuityAreaCache == null) continuityAreaCache = getContinuityAreas(project); diff --git a/diylc/diylc-core/src/org/diylc/presenter/InstantiationManager.java b/diylc/diylc-core/src/org/diylc/presenter/InstantiationManager.java index a7b91fb6..7b0e0970 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/InstantiationManager.java +++ b/diylc/diylc-core/src/org/diylc/presenter/InstantiationManager.java @@ -21,29 +21,29 @@ */ package org.diylc.presenter; -import java.awt.Point; -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; +import java.awt.geom.Point2D; +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; import java.util.HashSet; -import java.util.List; -import java.util.Map; +import java.util.List; +import java.util.Map; import java.util.Set; -import org.apache.log4j.Logger; -import org.diylc.appframework.miscutils.ConfigurationManager; -import org.diylc.common.ComponentType; -import org.diylc.common.IPlugInPort; -import org.diylc.common.Orientation; -import org.diylc.common.OrientationHV; -import org.diylc.common.PropertyWrapper; -import org.diylc.core.CreationMethod; -import org.diylc.core.IDIYComponent; -import org.diylc.core.Project; -import org.diylc.core.Template; -import org.diylc.core.annotations.KeywordPolicy; +import org.apache.log4j.Logger; +import org.diylc.appframework.miscutils.ConfigurationManager; +import org.diylc.common.ComponentType; +import org.diylc.common.IPlugInPort; +import org.diylc.common.Orientation; +import org.diylc.common.OrientationHV; +import org.diylc.common.PropertyWrapper; +import org.diylc.core.CreationMethod; +import org.diylc.core.IDIYComponent; +import org.diylc.core.Project; +import org.diylc.core.Template; +import org.diylc.core.annotations.KeywordPolicy; import org.diylc.core.measures.Size; /** @@ -60,8 +60,8 @@ public class InstantiationManager { private ComponentType componentTypeSlot; private Template template; private List> componentSlot; - private Point firstControlPoint; - private Point potentialControlPoint; + private Point2D firstControlPoint; + private Point2D potentialControlPoint; public static final ComponentType clipboardType = new ComponentType("Clipboard contents", "Components from the clipboard", CreationMethod.SINGLE_CLICK, "Multi", "", "", null, null, 0, false, null, @@ -84,15 +84,15 @@ public class InstantiationManager { return componentSlot; } - public Point getFirstControlPoint() { + public Point2D getFirstControlPoint() { return firstControlPoint; } - public Point getPotentialControlPoint() { + public Point2D getPotentialControlPoint() { return potentialControlPoint; } - public void setPotentialControlPoint(Point potentialControlPoint) { + public void setPotentialControlPoint(Point2D potentialControlPoint) { this.potentialControlPoint = potentialControlPoint; } @@ -105,10 +105,10 @@ public class InstantiationManager { } else { switch (componentTypeSlot.getCreationMethod()) { case POINT_BY_POINT: - this.componentSlot = forceInstatiate ? instantiateComponent(componentTypeSlot, template, new Point(0, 0), currentProject) : null; + this.componentSlot = forceInstatiate ? instantiateComponent(componentTypeSlot, template, new Point2D.Double(0, 0), currentProject) : null; break; case SINGLE_CLICK: - this.componentSlot = instantiateComponent(componentTypeSlot, template, new Point(0, 0), currentProject); + this.componentSlot = instantiateComponent(componentTypeSlot, template, new Point2D.Double(0, 0), currentProject); break; } } @@ -116,7 +116,7 @@ public class InstantiationManager { this.potentialControlPoint = null; } - public void instatiatePointByPoint(Point scaledPoint, Project currentProject) throws Exception { + public void instatiatePointByPoint(Point2D scaledPoint, Project currentProject) throws Exception { firstControlPoint = scaledPoint; componentSlot = instantiateComponent(componentTypeSlot, template, firstControlPoint, currentProject); @@ -132,7 +132,7 @@ public class InstantiationManager { * @param scaledPoint * @return true, if any change is made */ - public boolean updatePointByPoint(Point scaledPoint) { + public boolean updatePointByPoint(Point2D scaledPoint) { boolean changeMade = !scaledPoint.equals(potentialControlPoint); potentialControlPoint = scaledPoint; if (componentSlot != null && !componentSlot.isEmpty()) { @@ -142,14 +142,14 @@ public class InstantiationManager { } @SuppressWarnings("unchecked") - public void pasteComponents(Collection> components, Point scaledPoint, boolean snapToGrid, + public void pasteComponents(Collection> components, Point2D scaledPoint, boolean snapToGrid, Size gridSpacing, boolean autoGroup, Project currentProject, boolean assignNewNames) { // Adjust location of components so they are centered under the mouse // cursor - int minX = Integer.MAX_VALUE; - int maxX = Integer.MIN_VALUE; - int minY = Integer.MAX_VALUE; - int maxY = Integer.MIN_VALUE; + double minX = Integer.MAX_VALUE; + double maxX = Integer.MIN_VALUE; + double minY = Integer.MAX_VALUE; + double maxY = Integer.MIN_VALUE; Set existingNames = new HashSet(); for (IDIYComponent c : currentProject.getComponents()) @@ -169,32 +169,32 @@ public class InstantiationManager { } for (int i = 0; i < component.getControlPointCount(); i++) { - Point p = component.getControlPoint(i); - if (p.x > maxX) { - maxX = p.x; + Point2D p = component.getControlPoint(i); + if (p.getX() > maxX) { + maxX = p.getX(); } - if (p.x < minX) { - minX = p.x; + if (p.getX() < minX) { + minX = p.getX(); } - if (p.y > maxY) { - maxY = p.y; + if (p.getY() > maxY) { + maxY = p.getY(); } - if (p.y < minY) { - minY = p.y; + if (p.getY() < minY) { + minY = p.getY(); } } } - int x = minX; - int y = minY; + double x = minX; + double y = minY; if (snapToGrid) { x = CalcUtils.roundToGrid(x, gridSpacing); x = CalcUtils.roundToGrid(x, gridSpacing); } for (IDIYComponent component : components) { for (int i = 0; i < component.getControlPointCount(); i++) { - Point p = component.getControlPoint(i); - p.translate(-x, -y); - component.setControlPoint(p, i); + Point2D p = component.getControlPoint(i); + Point2D newP = new Point2D.Double(p.getX() - x, p.getY() - y); + component.setControlPoint(newP, i); } } @@ -206,7 +206,7 @@ public class InstantiationManager { this.componentTypeSlot = autoGroup ? blockType : clipboardType; if (snapToGrid) { - scaledPoint = new Point(scaledPoint); + scaledPoint = new Point2D.Double(scaledPoint.getX(), scaledPoint.getY()); CalcUtils.snapPointToGrid(scaledPoint, gridSpacing); } // Update the location according to mouse location @@ -221,15 +221,15 @@ public class InstantiationManager { * @param gridSpacing * @return true if we need to refresh the canvas */ - public boolean updateSingleClick(Point scaledPoint, boolean snapToGrid, Size gridSpacing) { + public boolean updateSingleClick(Point2D scaledPoint, boolean snapToGrid, Size gridSpacing) { if (potentialControlPoint == null) { - potentialControlPoint = new Point(0, 0); + potentialControlPoint = new Point2D.Double(0, 0); } if (scaledPoint == null) { - scaledPoint = new Point(0, 0); + scaledPoint = new Point2D.Double(0, 0); } - int dx = scaledPoint.x - potentialControlPoint.x; - int dy = scaledPoint.y - potentialControlPoint.y; + double dx = scaledPoint.getX() - potentialControlPoint.getX(); + double dy = scaledPoint.getY() - potentialControlPoint.getY(); if (snapToGrid) { dx = CalcUtils.roundToGrid(dx, gridSpacing); dy = CalcUtils.roundToGrid(dy, gridSpacing); @@ -238,15 +238,15 @@ public class InstantiationManager { if (dx == 0 && dy == 0) { return false; } - potentialControlPoint.translate(dx, dy); + potentialControlPoint.setLocation(potentialControlPoint.getX() + dx, potentialControlPoint.getY() + dy); if (componentSlot == null) { LOG.error("Component slot should not be null!"); } else { - Point p = new Point(); + Point2D p = new Point2D.Double(); for (IDIYComponent component : componentSlot) { - for (int i = 0; i < component.getControlPointCount(); i++) { - p.setLocation(component.getControlPoint(i)); - p.translate(dx, dy); + for (int i = 0; i < component.getControlPointCount(); i++) { + Point2D oldP = component.getControlPoint(i); + p.setLocation(oldP.getX() + dx, oldP.getY() + dy); component.setControlPoint(p, i); } } @@ -255,7 +255,7 @@ public class InstantiationManager { } @SuppressWarnings("unchecked") - public List> instantiateComponent(ComponentType componentType, Template template, Point point, + public List> instantiateComponent(ComponentType componentType, Template template, Point2D point, Project currentProject) throws InstantiationException, IllegalAccessException { LOG.info("Instatiating component of type: " + componentType.getInstanceClass().getName()); @@ -266,9 +266,9 @@ public class InstantiationManager { // Translate them to the desired location. if (point != null) { - for (int j = 0; j < component.getControlPointCount(); j++) { - Point controlPoint = new Point(component.getControlPoint(j)); - controlPoint.translate(point.x, point.y); + for (int j = 0; j < component.getControlPointCount(); j++) { + Point2D p = component.getControlPoint(j); + Point2D controlPoint = new Point2D.Double(p.getX() + point.getX(), p.getY() + point.getY()); // snapPointToGrid(controlPoint); component.setControlPoint(controlPoint, j); } @@ -387,9 +387,9 @@ public class InstantiationManager { public void loadComponentShapeFromTemplate(IDIYComponent component, Template template) { if (template != null && template.getPoints() != null && template.getPoints().size() >= component.getControlPointCount()) { - for (int i = 0; i < component.getControlPointCount(); i++) { - Point p = new Point(component.getControlPoint(0)); - p.translate(template.getPoints().get(i).x, template.getPoints().get(i).y); + for (int i = 0; i < component.getControlPointCount(); i++) { + Point2D oldP = component.getControlPoint(0); + Point2D p = new Point2D.Double(oldP.getX() + template.getPoints().get(i).getX(), oldP.getY() + template.getPoints().get(i).getY()); component.setControlPoint(p, i); } } diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java index f8966c49..e189d791 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java +++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java @@ -202,10 +202,10 @@ public class Presenter implements IPlugInPort { // D&D private boolean dragInProgress = false; // Previous mouse location, not scaled for zoom factor. - private Point previousDragPoint = null; + private Point2D previousDragPoint = null; private Project preDragProject = null; private int dragAction; - private Point previousScaledPoint; + private Point2D previousScaledPoint; private DIYTest test = null; @@ -246,8 +246,8 @@ public class Presenter implements IPlugInPort { // IPlugInPort @Override - public Double[] getAvailableZoomLevels() { - return new Double[] {0.25d, 0.3333d, 0.5d, 0.6667d, 0.75d, 1d, 1.25d, 1.5d, 2d, 2.5d, 3d}; + public java.lang.Double[] getAvailableZoomLevels() { + return new java.lang.Double[] {0.25d, 0.3333d, 0.5d, 0.6667d, 0.75d, 1d, 1.25d, 1.5d, 2d, 2.5d, 3d}; } @Override @@ -502,7 +502,7 @@ public class Presenter implements IPlugInPort { } @Override - public void draw(Graphics2D g2d, Set drawOptions, final IComponentFilter filter, Double externalZoom, Rectangle2D visibleRect) { + public void draw(Graphics2D g2d, Set drawOptions, final IComponentFilter filter, java.lang.Double externalZoom, Rectangle2D visibleRect) { if (currentProject == null) { return; } @@ -566,7 +566,7 @@ public class Presenter implements IPlugInPort { * * @return */ - public List> findComponentsAtScaled(Point point, boolean includeLocked) { + public List> findComponentsAtScaled(Point2D point, boolean includeLocked) { List> components = drawingManager.findComponentsAt(point, currentProject); Iterator> iterator = components.iterator(); while (iterator.hasNext()) { @@ -579,8 +579,8 @@ public class Presenter implements IPlugInPort { } @Override - public List> findComponentsAt(Point point, boolean includeLocked) { - Point scaledPoint = scalePoint(point); + public List> findComponentsAt(Point2D point, boolean includeLocked) { + Point2D scaledPoint = scalePoint(point); List> components = findComponentsAtScaled(scaledPoint, includeLocked); return components; } @@ -601,7 +601,7 @@ public class Presenter implements IPlugInPort { test.addStep(DIYTest.MOUSE_CLICKED, params); } - Point scaledPoint = scalePoint(point); + Point2D scaledPoint = scalePoint(point); if (clickCount >= 2) { editSelection(); } else { @@ -728,9 +728,9 @@ public class Presenter implements IPlugInPort { } } - private void addPendingComponentsToProject(Point scaledPoint, ComponentType componentTypeSlot, Template template) { + private void addPendingComponentsToProject(Point2D scaledPoint, ComponentType componentTypeSlot, Template template) { List> componentSlot = instantiationManager.getComponentSlot(); - Point firstPoint = componentSlot.get(0).getControlPoint(0); + Point2D firstPoint = componentSlot.get(0).getControlPoint(0); // don't allow to create component with the same points if (scaledPoint == null || scaledPoint.equals(firstPoint)) return; @@ -924,7 +924,7 @@ public class Presenter implements IPlugInPort { for (int i = currentProject.getComponents().size() - 1; i >= 0; i--) { IDIYComponent component = currentProject.getComponents().get(i); for (int pointIndex = 0; pointIndex < component.getControlPointCount(); pointIndex++) { - Point controlPoint = component.getControlPoint(pointIndex); + Point2D controlPoint = component.getControlPoint(pointIndex); // Only consider selected components that are not grouped. if (selectedComponents.contains(component) && component.canPointMoveFreely(pointIndex) && findAllGroupedComponents(component).size() == 1) { @@ -945,7 +945,7 @@ public class Presenter implements IPlugInPort { } Point2D inPoint = - new Point2D.Double(1.0d * previousScaledPoint.x / Constants.PIXELS_PER_INCH, 1.0d * previousScaledPoint.y + new Point2D.Double(1.0d * previousScaledPoint.getX() / Constants.PIXELS_PER_INCH, 1.0d * previousScaledPoint.getY() / Constants.PIXELS_PER_INCH); Point2D mmPoint = new Point2D.Double(inPoint.getX() * SizeUnit.in.getFactor() / SizeUnit.cm.getFactor() * 10d, inPoint.getY() @@ -1123,7 +1123,7 @@ public class Presenter implements IPlugInPort { this.dragInProgress = true; this.dragAction = dragAction; this.preDragProject = currentProject.clone(); - Point scaledPoint = scalePoint(point); + Point2D scaledPoint = scalePoint(point); this.previousDragPoint = scaledPoint; List> components = forceSelectionRect ? null : findComponentsAtScaled(scaledPoint, false); if (controlPointMap != null && !this.controlPointMap.isEmpty()) { @@ -1207,9 +1207,9 @@ public class Presenter implements IPlugInPort { break; } for (Integer j : entry.getValue()) { - Point firstPoint = component.getControlPoint(i); + Point2D firstPoint = component.getControlPoint(i); if (entry.getKey().isControlPointSticky(j)) { - Point secondPoint = entry.getKey().getControlPoint(j); + Point2D secondPoint = entry.getKey().getControlPoint(j); // If they are close enough we can consider // them matched. if (firstPoint.distance(secondPoint) < DrawingManager.CONTROL_POINT_SIZE) { @@ -1278,23 +1278,24 @@ public class Presenter implements IPlugInPort { if (point == null || configManager.readBoolean(HIGHLIGHT_CONTINUITY_AREA, false)) { return false; } - Point scaledPoint = scalePoint(point); + Point2D scaledPoint = scalePoint(point); if (controlPointMap != null && !controlPointMap.isEmpty()) { // We're dragging control point(s). - int dx = (scaledPoint.x - previousDragPoint.x); - int dy = (scaledPoint.y - previousDragPoint.y); + int dx = (int) (scaledPoint.getX() - previousDragPoint.getX()); + int dy = (int) (scaledPoint.getY() - previousDragPoint.getY()); - Point actualD = moveComponents(this.controlPointMap, dx, dy, isSnapToGrid(), isSnapToObjects()); + Point2D actualD = moveComponents(this.controlPointMap, dx, dy, isSnapToGrid(), isSnapToObjects()); if (actualD == null) return true; - previousDragPoint.translate(actualD.x, actualD.y); + previousDragPoint.setLocation(previousDragPoint.getX() + actualD.getX(), previousDragPoint.getY() + actualD.getY()); } else if (selectedComponents.isEmpty() && instantiationManager.getComponentTypeSlot() == null && previousDragPoint != null) { // If there's no selection, the only thing to do is update the // selection rectangle and refresh. Rectangle oldSelectionRect = selectionRect == null ? null : new Rectangle(selectionRect); - this.selectionRect = Utils.createRectangle(scaledPoint, previousDragPoint); + this.selectionRect = Utils.createRectangle(new Point((int)scaledPoint.getX(), (int)scaledPoint.getY()), + new Point((int)previousDragPoint.getX(), (int)previousDragPoint.getY())); if (selectionRect.equals(oldSelectionRect)) { return true; } @@ -1308,11 +1309,11 @@ public class Presenter implements IPlugInPort { return true; } - private Point moveComponents(Map, Set> controlPointMap, int dx, int dy, boolean snapToGrid, boolean snapToObjects) { + private Point2D moveComponents(Map, Set> controlPointMap, int dx, int dy, boolean snapToGrid, boolean snapToObjects) { // After we make the transfer and snap to grid, calculate actual dx // and dy. We'll use them to translate the previous drag point. - int actualDx = 0; - int actualDy = 0; + double actualDx = 0; + double actualDy = 0; // For each component, do a simulation of the move to see if any of // them will overlap or go out of bounds. @@ -1323,17 +1324,16 @@ public class Presenter implements IPlugInPort { if (controlPointMap.size() == 1) { Map.Entry, Set> entry = controlPointMap.entrySet().iterator().next(); - Point firstPoint = entry.getKey().getControlPoint(entry.getValue().toArray(new Integer[] {})[0]); - Point testPoint = new Point(firstPoint); - testPoint.translate(dx, dy); + Point2D firstPoint = entry.getKey().getControlPoint(entry.getValue().toArray(new Integer[] {})[0]); + Point2D testPoint = new Point2D.Double(firstPoint.getX() + dx, firstPoint.getY() + dy); if (snapToGrid) { CalcUtils.snapPointToGrid(testPoint, currentProject.getGridSpacing()); } else if (snapToObjects) { CalcUtils.snapPointToObjects(testPoint, currentProject.getGridSpacing(), entry.getKey(), currentProject.getComponents()); } - actualDx = testPoint.x - firstPoint.x; - actualDy = testPoint.y - firstPoint.y; + actualDx = testPoint.getX() - firstPoint.getX(); + actualDy = testPoint.getY() - firstPoint.getY(); } else if (snapToGrid) { actualDx = CalcUtils.roundToGrid(dx, currentProject.getGridSpacing()); actualDy = CalcUtils.roundToGrid(dy, currentProject.getGridSpacing()); @@ -1350,16 +1350,16 @@ public class Presenter implements IPlugInPort { // Validate if moving can be done. for (Map.Entry, Set> entry : controlPointMap.entrySet()) { IDIYComponent component = entry.getKey(); - Point[] controlPoints = new Point[component.getControlPointCount()]; + Point2D[] controlPoints = new Point2D[component.getControlPointCount()]; for (int index = 0; index < component.getControlPointCount(); index++) { - controlPoints[index] = new Point(component.getControlPoint(index)); + Point2D p = component.getControlPoint(index); + controlPoints[index] = new Point2D.Double(p.getX(), p.getY()); // When the first point is moved, calculate how much it // actually moved after snapping. if (entry.getValue().contains(index)) { - controlPoints[index].translate(actualDx, actualDy); - controlPoints[index].translate((int) extraSpace, (int) extraSpace); - if (controlPoints[index].x < 0 || controlPoints[index].y < 0 || controlPoints[index].x > d.width - || controlPoints[index].y > d.height) { + controlPoints[index].setLocation(controlPoints[index].getX() + actualDx + extraSpace, controlPoints[index].getY() + actualDy + extraSpace); + if (controlPoints[index].getX() < 0 || controlPoints[index].getY() < 0 || controlPoints[index].getX() > d.width + || controlPoints[index].getY() > d.height) { // At least one control point went out of bounds. return null; } @@ -1386,8 +1386,8 @@ public class Presenter implements IPlugInPort { for (Map.Entry, Set> entry : controlPointMap.entrySet()) { IDIYComponent c = entry.getKey(); for (Integer index : entry.getValue()) { - Point p = new Point(c.getControlPoint(index)); - p.translate(actualDx, actualDy); + Point2D oldP = c.getControlPoint(index); + Point2D p = new Point2D.Double(oldP.getX() + actualDx, oldP.getY() + actualDy); c.setControlPoint(p, index); } } @@ -1396,7 +1396,7 @@ public class Presenter implements IPlugInPort { drawingManager.clearComponentAreaMap(); drawingManager.clearContinuityArea(); - return new Point(actualDx, actualDy); + return new Point2D.Double(actualDx, actualDy); } @Override @@ -1418,7 +1418,7 @@ public class Presenter implements IPlugInPort { */ @SuppressWarnings("unchecked") private void rotateComponents(Collection> components, int direction, boolean snapToGrid) { - Point center = getCenterOf(components, snapToGrid); + Point2D center = getCenterOf(components, snapToGrid); boolean canRotate = true; for (IDIYComponent component : selectedComponents) { @@ -1527,7 +1527,7 @@ public class Presenter implements IPlugInPort { @SuppressWarnings("unchecked") private void mirrorComponents(Collection> components, int direction, boolean snapToGrid) { - Point center = getCenterOf(components, snapToGrid); + Point2D center = getCenterOf(components, snapToGrid); boolean canMirror = true; boolean changesCircuit = false; @@ -1567,38 +1567,38 @@ public class Presenter implements IPlugInPort { drawingManager.clearContinuityArea(); } - private Point getCenterOf(Collection> components, boolean snapToGrid) { + private Point2D getCenterOf(Collection> components, boolean snapToGrid) { // Determine center of rotation - int minX = Integer.MAX_VALUE; - int minY = Integer.MAX_VALUE; - int maxX = Integer.MIN_VALUE; - int maxY = Integer.MIN_VALUE; + double minX = Integer.MAX_VALUE; + double minY = Integer.MAX_VALUE; + double maxX = Integer.MIN_VALUE; + double maxY = Integer.MIN_VALUE; for (IDIYComponent component : components) { for (int i = 0; i < component.getControlPointCount(); i++) { - Point p = component.getControlPoint(i); - if (minX > p.x) { - minX = p.x; + Point2D p = component.getControlPoint(i); + if (minX > p.getX()) { + minX = p.getX(); } - if (maxX < p.x) { - maxX = p.x; + if (maxX < p.getX()) { + maxX = p.getX(); } - if (minY > p.y) { - minY = p.y; + if (minY > p.getY()) { + minY = p.getY(); } - if (maxY < p.y) { - maxY = p.y; + if (maxY < p.getY()) { + maxY = p.getY(); } } } - int centerX = (maxX + minX) / 2; - int centerY = (maxY + minY) / 2; + double centerX = (maxX + minX) / 2; + double centerY = (maxY + minY) / 2; if (snapToGrid) { CalcUtils.roundToGrid(centerX, this.currentProject.getGridSpacing()); CalcUtils.roundToGrid(centerY, this.currentProject.getGridSpacing()); } - return new Point(centerX, centerY); + return new Point2D.Double(centerX, centerY); } @Override @@ -1613,7 +1613,7 @@ public class Presenter implements IPlugInPort { test.addStep(DIYTest.DRAG_END, params); } - Point scaledPoint = scalePoint(point); + Point2D scaledPoint = scalePoint(point); if (!dragInProgress && instantiationManager.getComponentSlot() == null) { return; @@ -1623,7 +1623,8 @@ public class Presenter implements IPlugInPort { // If there's no selection finalize selectionRect and see which // components intersect with it. if (scaledPoint != null) { - this.selectionRect = Utils.createRectangle(scaledPoint, previousDragPoint); + this.selectionRect = Utils.createRectangle(new Point((int)scaledPoint.getX(), (int)scaledPoint.getY()), + new Point((int)previousDragPoint.getX(), (int)previousDragPoint.getY()));; } List> newSelection = new ArrayList>(); if (!configManager.readBoolean(HIGHLIGHT_CONTINUITY_AREA, false)) @@ -1691,8 +1692,8 @@ public class Presenter implements IPlugInPort { cloned.setName(instantiationManager.createUniqueName(componentType, currentProject.getComponents())); newSelection.add(cloned); for (int i = 0; i < component.getControlPointCount(); i++) { - Point p = component.getControlPoint(i); - Point newPoint = new Point(p.x + grid, p.y + grid); + Point2D p = component.getControlPoint(i); + Point2D newPoint = new Point2D.Double(p.getX() + grid, p.getY() + grid); cloned.setControlPoint(newPoint, i); } currentProject.getComponents().add(cloned); @@ -2500,16 +2501,17 @@ public class Presenter implements IPlugInPort { } catch (Exception e) { } } - List points = new ArrayList(); + List points = new ArrayList(); for (int i = 0; i < component.getControlPointCount(); i++) { - Point p = new Point(component.getControlPoint(i)); + Point2D oldP = component.getControlPoint(i); + Point2D p = new Point2D.Double(oldP.getX(), oldP.getY()); points.add(p); } - int x = points.iterator().next().x; - int y = points.iterator().next().y; - for (Point point : points) { - point.translate(-x, -y); + double x = points.iterator().next().getX(); + double y = points.iterator().next().getY(); + for (Point2D point : points) { + point.setLocation(point.getX() + x, point.getY() + y); } Template template = new Template(variantName, values, points); @@ -2853,14 +2855,14 @@ public class Presenter implements IPlugInPort { * @param point * @return */ - private Point scalePoint(Point point) { - Point p = - point == null ? null : new Point((int) (point.x / drawingManager.getZoomLevel()), - (int) (point.y / drawingManager.getZoomLevel())); + private Point2D scalePoint(Point2D point) { + Point2D p = + point == null ? null : new Point2D.Double(point.getX() / drawingManager.getZoomLevel(), + point.getY() / drawingManager.getZoomLevel()); if (p != null && configManager.readBoolean(EXTRA_SPACE_KEY, true)) { double extraSpace = drawingManager.getExtraSpace(currentProject); - p.translate((int) (-extraSpace), (int) (-extraSpace)); + p.setLocation(p.getX() - extraSpace, p.getY() - extraSpace); } return p; } diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml index bb4e0e06..a55f42f1 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/update.xml +++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml @@ -3165,7 +3165,11 @@ 2020-09-04 00:00:00.000 CET - + + + IMPROVEMENT + Improved rendering precision, especially when using metric units + NEW_FEATURE On MacOS the app registers to open .DIY files diff --git a/diylc/diylc-core/src/org/diylc/serialization/AreaConverter.java b/diylc/diylc-core/src/org/diylc/serialization/AreaConverter.java index 569bb253..147171ab 100644 --- a/diylc/diylc-core/src/org/diylc/serialization/AreaConverter.java +++ b/diylc/diylc-core/src/org/diylc/serialization/AreaConverter.java @@ -21,7 +21,6 @@ */ package org.diylc.serialization; -import java.awt.Point; import java.awt.geom.Area; import java.awt.geom.Path2D; import java.awt.geom.PathIterator; @@ -35,7 +34,7 @@ import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; /** - * Serializes {@link Point} objects by converting coordinates from pixels to inches, thus avoiding + * Serializes {@link Area} objects by converting coordinates from pixels to inches, thus avoiding * the resolution to affect point placement. * * @author Branislav Stojkovic diff --git a/diylc/diylc-core/src/org/diylc/serialization/PointConverter.java b/diylc/diylc-core/src/org/diylc/serialization/PointConverter.java index f7a186aa..c08ac51b 100644 --- a/diylc/diylc-core/src/org/diylc/serialization/PointConverter.java +++ b/diylc/diylc-core/src/org/diylc/serialization/PointConverter.java @@ -20,19 +20,19 @@ */ package org.diylc.serialization; - -import java.awt.Point; - -import org.diylc.utils.Constants; - -import com.thoughtworks.xstream.converters.Converter; -import com.thoughtworks.xstream.converters.MarshallingContext; -import com.thoughtworks.xstream.converters.UnmarshallingContext; -import com.thoughtworks.xstream.io.HierarchicalStreamReader; + +import java.awt.geom.Point2D; + +import org.diylc.utils.Constants; + +import com.thoughtworks.xstream.converters.Converter; +import com.thoughtworks.xstream.converters.MarshallingContext; +import com.thoughtworks.xstream.converters.UnmarshallingContext; +import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; /** - * Serializes {@link Point} objects by converting coordinates from pixels to inches, thus avoiding + * Serializes {@link Point2D} objects by converting coordinates from pixels to inches, thus avoiding * the resolution to affect point placement. * * @author Branislav Stojkovic @@ -41,21 +41,21 @@ public class PointConverter implements Converter { @Override public void marshal(Object object, HierarchicalStreamWriter writer, MarshallingContext context) { - Point point = (Point) object; - writer.addAttribute("x", Double.toString(1d * point.x / Constants.PIXELS_PER_INCH)); - writer.addAttribute("y", Double.toString(1d * point.y / Constants.PIXELS_PER_INCH)); + Point2D point = (Point2D) object; + writer.addAttribute("x", Double.toString(1d * point.getX() / Constants.PIXELS_PER_INCH)); + writer.addAttribute("y", Double.toString(1d * point.getY() / Constants.PIXELS_PER_INCH)); } @Override public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { double x = Double.parseDouble(reader.getAttribute("x")); double y = Double.parseDouble(reader.getAttribute("y")); - return new Point((int) Math.round(x * Constants.PIXELS_PER_INCH), (int) Math.round(y * Constants.PIXELS_PER_INCH)); + return new Point2D.Double(x * Constants.PIXELS_PER_INCH, y * Constants.PIXELS_PER_INCH); } @SuppressWarnings("rawtypes") @Override public boolean canConvert(Class clazz) { - return Point.class.isAssignableFrom(clazz); + return Point2D.class.isAssignableFrom(clazz); } } diff --git a/diylc/diylc-core/src/org/diylc/serialization/ProjectFileManager.java b/diylc/diylc-core/src/org/diylc/serialization/ProjectFileManager.java index 067dcc83..a4df56d4 100644 --- a/diylc/diylc-core/src/org/diylc/serialization/ProjectFileManager.java +++ b/diylc/diylc-core/src/org/diylc/serialization/ProjectFileManager.java @@ -97,7 +97,7 @@ public class ProjectFileManager { } }; xStream.autodetectAnnotations(true); - xStream.alias("point", java.awt.Point.class); + xStream.alias("point", java.awt.geom.Point2D.class); xStream.alias("font", java.awt.Font.class); xStream.alias("project", Project.class); xStream.aliasPackage("diylc", "org.diylc.components"); @@ -107,7 +107,7 @@ public class ProjectFileManager { xStream.registerConverter(new MeasureConverter()); xStream.registerConverter(new AreaConverter()); xStream.addImmutableType(Color.class); - xStream.addImmutableType(java.awt.Point.class); + xStream.addImmutableType(java.awt.geom.Point2D.class); xStream.addImmutableType(org.diylc.core.measures.Voltage.class); xStream.addImmutableType(org.diylc.core.measures.Resistance.class); xStream.addImmutableType(org.diylc.core.measures.Capacitance.class); diff --git a/diylc/diylc-core/test/org/diylc/presenter/CalcUtilsTest.java b/diylc/diylc-core/test/org/diylc/presenter/CalcUtilsTest.java new file mode 100644 index 00000000..9a868739 --- /dev/null +++ b/diylc/diylc-core/test/org/diylc/presenter/CalcUtilsTest.java @@ -0,0 +1,25 @@ +package org.diylc.presenter; + +import static org.junit.Assert.assertTrue; + +import org.diylc.core.measures.Size; +import org.diylc.core.measures.SizeUnit; +import org.junit.Test; + +public class CalcUtilsTest { + + @Test + public void TestRoundToGrid() { + Size spacing = new Size(1d, SizeUnit.mm); + int value = 5; + double s = spacing.convertToPixels(); + double targetPrev = (value - 1) * s; + double target = value * s; + double targetNext = (value + 1) * s; + for (int i = -100; i <= 100; i++) { + double rounded = CalcUtils.roundToGrid(target + i / 100.0 * s, spacing); + double expected = i < -50 ? targetPrev : (i >= 50 ? targetNext : target); + assertTrue("Failed at " + i + " rounded = " + rounded + "; expected = " + expected, Math.abs(rounded - expected) < 1e-10); + } + } +} diff --git a/diylc/diylc-core/test/org/diylc/testcomponents/MockDIYComponent.java b/diylc/diylc-core/test/org/diylc/testcomponents/MockDIYComponent.java index c5733499..22e06c01 100644 --- a/diylc/diylc-core/test/org/diylc/testcomponents/MockDIYComponent.java +++ b/diylc/diylc-core/test/org/diylc/testcomponents/MockDIYComponent.java @@ -21,23 +21,24 @@ */ package org.diylc.testcomponents; -import java.awt.Color; -import java.awt.Graphics2D; -import java.awt.Point; - -import org.diylc.components.AbstractComponent; -import org.diylc.core.ComponentState; -import org.diylc.core.IDIYComponent; -import org.diylc.core.IDrawingObserver; -import org.diylc.core.Project; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.ComponentDescriptor; -import org.diylc.core.annotations.EditableProperty; -import org.diylc.core.measures.Capacitance; -import org.diylc.core.measures.CapacitanceUnit; -import org.diylc.core.measures.Resistance; -import org.diylc.core.measures.ResistanceUnit; -import org.diylc.core.measures.Size; +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.geom.Point2D; + +import org.diylc.components.AbstractComponent; +import org.diylc.core.ComponentState; +import org.diylc.core.IDIYComponent; +import org.diylc.core.IDrawingObserver; +import org.diylc.core.Project; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.measures.Capacitance; +import org.diylc.core.measures.CapacitanceUnit; +import org.diylc.core.measures.Resistance; +import org.diylc.core.measures.ResistanceUnit; +import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; @ComponentDescriptor(name = "Mock", author = "bancika", category = "Sample", instanceNamePrefix = "M", @@ -51,7 +52,7 @@ public class MockDIYComponent extends AbstractComponent { private Resistance r = new Resistance(123d, ResistanceUnit.K); private Size s = new Size(1d, SizeUnit.cm); private Color color = Color.green; - private Point leftTopCorner = new Point(0, 0); + private Point2D leftTopCorner = new Point(0, 0); private String name = "something"; public MockDIYComponent(String testField, Capacitance c, Resistance r, Size s, Color color, Point leftTopCorner) { @@ -98,12 +99,12 @@ public class MockDIYComponent extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return leftTopCorner; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { leftTopCorner.setLocation(point); } @@ -157,7 +158,7 @@ public class MockDIYComponent extends AbstractComponent { public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, IDrawingObserver drawingObserver) { g2d.setColor(componentState.equals(ComponentState.SELECTED) ? color : color.darker()); - g2d.fillRect(leftTopCorner.x, leftTopCorner.y, 200, 50); + g2d.fillRect((int)leftTopCorner.getX(), (int)leftTopCorner.getY(), 200, 50); } @Override diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 12cccbe863c5d66e40e5b504cfe977cefef76b4d..f864f5dbc86a5a0a0f788c6e7e8486f0d640cc09 100644 GIT binary patch delta 105676 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 1) { @@ -214,7 +214,7 @@ public class StringUtils { GlyphVector glyphVector = font.createGlyphVector(renderContext, text); Rectangle visualBounds = glyphVector.getVisualBounds().getBounds(); - int textX = 0; + double textX = 0; switch (horizontalAlignment) { case CENTER: textX = x - stringBounds.width / 2; @@ -227,7 +227,7 @@ public class StringUtils { break; } - int textY = 0; + double textY = 0; switch (verticalAlignment) { case TOP: textY = y; @@ -240,6 +240,6 @@ public class StringUtils { break; } - g2d.drawString(text, textX, textY); + g2d.drawString(text, (int)Math.round(textX), (int)Math.round(textY)); } } diff --git a/diylc/diylc-library/src/org/diylc/components/Abstract3LegSymbol.java b/diylc/diylc-library/src/org/diylc/components/Abstract3LegSymbol.java index ca916839..119d52c2 100644 --- a/diylc/diylc-library/src/org/diylc/components/Abstract3LegSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/Abstract3LegSymbol.java @@ -24,10 +24,10 @@ package org.diylc.components; import java.awt.Color; import java.awt.FontMetrics; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -57,7 +57,7 @@ public abstract class Abstract3LegSymbol extends AbstractComponent { public static Color COLOR = Color.black; protected String value = ""; - protected Point[] controlPoints = new Point[] { new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0) }; + protected Point2D[] controlPoints = new Point2D[] { new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0) }; protected Color color = COLOR; protected SymbolFlipping flip = SymbolFlipping.NONE; protected Display display = Display.NAME; @@ -71,17 +71,17 @@ public abstract class Abstract3LegSymbol extends AbstractComponent { controlPoints[3] = getDefaultLabelPosition(controlPoints); } - public Point[] getControlPoints() { + public Point2D[] getControlPoints() { if (controlPoints.length == 3) { - controlPoints = new Point[] { controlPoints[0], controlPoints[1], controlPoints[2], getDefaultLabelPosition(controlPoints) }; + controlPoints = new Point2D[] { controlPoints[0], controlPoints[1], controlPoints[2], getDefaultLabelPosition(controlPoints) }; } return controlPoints; } - protected Point getDefaultLabelPosition(Point[] oldControlPoints) { + protected Point2D getDefaultLabelPosition(Point2D[] oldControlPoints) { int f = flip == SymbolFlipping.X ? -1 : 1; int d = flip == SymbolFlipping.X ? (int) PIN_SPACING.convertToPixels() / 2 : 0; - return new Point(oldControlPoints[0].x + f * (int) (PIN_SPACING.convertToPixels() * 1.5 + d), oldControlPoints[0].y); + return new Point2D.Double(oldControlPoints[0].getX() + f * (PIN_SPACING.convertToPixels() * 1.5 + d), oldControlPoints[0].getY()); } @Override @@ -110,16 +110,16 @@ public abstract class Abstract3LegSymbol extends AbstractComponent { AffineTransform old = g2d.getTransform(); - Point[] controlPoints = getControlPoints(); + Point2D[] controlPoints = getControlPoints(); if (this.flip == SymbolFlipping.Y) { - g2d.translate(0, controlPoints[0].y); + g2d.translate(0, controlPoints[0].getY()); g2d.scale(1, -1); - g2d.translate(0, -1 * controlPoints[0].y); + g2d.translate(0, -1 * controlPoints[0].getY()); } else if (this.flip == SymbolFlipping.X) { - g2d.translate(controlPoints[0].x, 0); + g2d.translate(controlPoints[0].getX(), 0); g2d.scale(-1, 1); - g2d.translate(-1 * controlPoints[0].x, 0); + g2d.translate(-1 * controlPoints[0].getX(), 0); } g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(2)); @@ -160,7 +160,7 @@ public abstract class Abstract3LegSymbol extends AbstractComponent { Rectangle shapeRect = body[0].getBounds().union(body[1].getBounds()).union(body[2].getBounds()); if (getMoveLabel()) { - StringUtils.drawCenteredText(g2d, label, controlPoints[3].x, controlPoints[3].y, flip == SymbolFlipping.X ? HorizontalAlignment.RIGHT + StringUtils.drawCenteredText(g2d, label, controlPoints[3].getX(), controlPoints[3].getY(), flip == SymbolFlipping.X ? HorizontalAlignment.RIGHT : HorizontalAlignment.CENTER, VerticalAlignment.CENTER); } else { StringUtils.drawCenteredText(g2d, label, getLabelX(shapeRect, textRect, fontMetrics, outlineMode), @@ -170,7 +170,7 @@ public abstract class Abstract3LegSymbol extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return getControlPoints()[index]; } @@ -179,39 +179,36 @@ public abstract class Abstract3LegSymbol extends AbstractComponent { return getControlPoints().length; } - protected int getLabelX(Rectangle2D shapeRect, Rectangle2D textRect, FontMetrics fontMetrics, boolean outlineMode) { + protected double getLabelX(Rectangle2D shapeRect, Rectangle2D textRect, FontMetrics fontMetrics, boolean outlineMode) { int f = flip == SymbolFlipping.X ? -1 : 1; int d = flip == SymbolFlipping.X ? (int) PIN_SPACING.convertToPixels() / 2 : 0; - return getControlPoints()[0].x + f * (int) (PIN_SPACING.convertToPixels() * 1.5 + d); + return getControlPoints()[0].getX() + f * (int) (PIN_SPACING.convertToPixels() * 1.5 + d); } - protected int getLabelY(Rectangle2D shapeRect, Rectangle2D textRect, FontMetrics fontMetrics, boolean outlineMode) { - return getControlPoints()[0].y; + protected double getLabelY(Rectangle2D shapeRect, Rectangle2D textRect, FontMetrics fontMetrics, boolean outlineMode) { + return getControlPoints()[0].getY(); } protected void updateControlPoints() { int pinSpacing = (int) PIN_SPACING.convertToPixels(); - Point[] controlPoints = getControlPoints(); + Point2D[] controlPoints = getControlPoints(); - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); - // set default point positions - controlPoints[1].x = x + pinSpacing * 2; - controlPoints[1].y = y - pinSpacing * 2; + // set default point positions + controlPoints[1].setLocation(x + pinSpacing * 2, y - pinSpacing * 2); - controlPoints[2].x = x + pinSpacing * 2; - controlPoints[2].y = y + pinSpacing * 2; + controlPoints[2].setLocation(x + pinSpacing * 2, y + pinSpacing * 2); - controlPoints[3].x = x + (int) (PIN_SPACING.convertToPixels() * 2); - controlPoints[3].y = y; + controlPoints[3].setLocation(x + PIN_SPACING.convertToPixels() * 2, y); // apply rotation if needed if (getOrientation() != Orientation.DEFAULT) { - Point first = controlPoints[0]; + Point2D first = controlPoints[0]; double angle = Double.parseDouble(getOrientation().name().replace("_", "")); - AffineTransform rotate = AffineTransform.getRotateInstance(Math.toRadians(angle), first.x, first.y); + AffineTransform rotate = AffineTransform.getRotateInstance(Math.toRadians(angle), first.getX(), first.getY()); for (int i = 1; i < controlPoints.length; i++) { rotate.transform(controlPoints[i], controlPoints[i]); } @@ -219,14 +216,14 @@ public abstract class Abstract3LegSymbol extends AbstractComponent { // flip at the end if (flip == SymbolFlipping.X) { - controlPoints[1].x = controlPoints[0].x - (controlPoints[1].x - controlPoints[0].x); - controlPoints[2].x = controlPoints[0].x - (controlPoints[2].x - controlPoints[0].x); - controlPoints[3].x = controlPoints[0].x - (controlPoints[3].x - controlPoints[0].x); + controlPoints[1].setLocation(controlPoints[0].getX() - (controlPoints[1].getX() - controlPoints[0].getX()), controlPoints[1].getY()); + controlPoints[2].setLocation(controlPoints[0].getX() - (controlPoints[2].getX() - controlPoints[0].getX()), controlPoints[2].getY()); + controlPoints[3].setLocation(controlPoints[0].getX() - (controlPoints[3].getX() - controlPoints[0].getX()), controlPoints[3].getY()); } if (flip == SymbolFlipping.Y) { - controlPoints[1].y = controlPoints[0].y - (controlPoints[1].y - controlPoints[0].y); - controlPoints[2].y = controlPoints[0].y - (controlPoints[2].y - controlPoints[0].y); - controlPoints[3].y = controlPoints[0].y - (controlPoints[3].y - controlPoints[0].y); + controlPoints[1].setLocation(controlPoints[1].getX(), controlPoints[0].getY() - (controlPoints[1].getY() - controlPoints[0].getY())); + controlPoints[2].setLocation(controlPoints[2].getX(), controlPoints[0].getY() - (controlPoints[2].getY() - controlPoints[0].getY())); + controlPoints[3].setLocation(controlPoints[3].getX(), controlPoints[0].getY() - (controlPoints[3].getY() - controlPoints[0].getY())); } } @@ -252,7 +249,7 @@ public abstract class Abstract3LegSymbol extends AbstractComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { getControlPoints()[index].setLocation(point); // make sure we have a new drawing @@ -329,9 +326,9 @@ public abstract class Abstract3LegSymbol extends AbstractComponent { if (getOrientation() == Orientation.DEFAULT) return; - Point first = getControlPoints()[0]; + Point2D first = getControlPoints()[0]; double angle = Double.parseDouble(getOrientation().name().replace("_", "")); - AffineTransform rotate = AffineTransform.getRotateInstance(Math.toRadians(angle), first.x, first.y); + AffineTransform rotate = AffineTransform.getRotateInstance(Math.toRadians(angle), first.getX(), first.getY()); if (body != null) { for (int i = 0; i < body.length; i++) { diff --git a/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java b/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java index a7115119..292d6f14 100644 --- a/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java +++ b/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java @@ -32,6 +32,7 @@ import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -73,8 +74,8 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp protected Size length; protected Size width; - protected Point[] points = new Point[] {new Point((int) (-DEFAULT_SIZE.convertToPixels() / 2), 0), - new Point((int) (DEFAULT_SIZE.convertToPixels() / 2), 0), new Point(0, 0)}; + protected Point2D[] points = new Point2D[] {new Point2D.Double(-DEFAULT_SIZE.convertToPixels() / 2, 0), + new Point2D.Double(DEFAULT_SIZE.convertToPixels() / 2, 0), new Point2D.Double(0, 0)}; protected Color bodyColor = Color.white; protected Color borderColor = Color.black; protected Color labelColor = LABEL_COLOR; @@ -85,8 +86,8 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp protected boolean moveLabel = false; // parameters for adjusting the label control point - protected transient Double gamma = null; - protected transient Double r = null; + protected transient java.lang.Double gamma = null; + protected transient java.lang.Double r = null; private Boolean hideShortLeads = false; @@ -107,10 +108,10 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp return false; } - protected Point[] getPoints() { + protected Point2D[] getPoints() { // convert old points to new if (points.length == 2) { - points = new Point[] { points[0], points[1], calculateLabelPosition(points[0], points[1]) }; + points = new Point2D[] { points[0], points[1], calculateLabelPosition(points[0], points[1]) }; // to make standing components backward compatible and not show a label until the user switches the display to something else if (isStanding()) display = Display.NONE; @@ -118,10 +119,10 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp return points; } - protected Point calculateLabelPosition(Point point1, Point point2) { - double x = (point1.x + point2.x) / 2.0; - double y = (point1.y + point2.y) / 2.0; - return new Point((int) x, (int) y); + protected Point2D calculateLabelPosition(Point2D point1, Point2D point2) { + double x = (point1.getX() + point2.getX()) / 2.0; + double y = (point1.getY() + point2.getY()) / 2.0; + return new Point2D.Double(x, y); } @Override @@ -129,9 +130,9 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp IDrawingObserver drawingObserver) { if (gamma != null) { // recalculate center position and theta, then adjust label point accordingly, while preserving alpha and p - double x = (getPoints()[1].x + getPoints()[0].x) / 2.0; - double y = (getPoints()[1].y + getPoints()[0].y) / 2.0; - double theta = Math.atan2(getPoints()[1].y - getPoints()[0].y, getPoints()[1].x - getPoints()[0].x); + double x = (getPoints()[1].getX() + getPoints()[0].getX()) / 2.0; + double y = (getPoints()[1].getY() + getPoints()[0].getY()) / 2.0; + double theta = Math.atan2(getPoints()[1].getY() - getPoints()[0].getY(), getPoints()[1].getX() - getPoints()[0].getX()); double beta = gamma - (Math.PI / 2 - theta); getPoints()[2].setLocation(x + Math.cos(beta) * r, y + Math.sin(beta) * r); gamma = null; @@ -150,15 +151,15 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp double width; double length; Rectangle shapeRect; - double theta = Math.atan2(getPoints()[1].y - getPoints()[0].y, getPoints()[1].x - getPoints()[0].x); + double theta = Math.atan2(getPoints()[1].getY() - getPoints()[0].getY(), getPoints()[1].getX() - getPoints()[0].getX()); if (isStanding()) { // When ending points are too close draw the component in standing // mode. width = length = getClosestOdd(this.width.convertToPixels()); Shape body = - new Ellipse2D.Double((getFlipStanding() ? getPoints()[1] : getPoints()[0]).x - width / 2, - (getFlipStanding() ? getPoints()[1] : getPoints()[0]).y - width / 2, width, width); + new Ellipse2D.Double((getFlipStanding() ? getPoints()[1] : getPoints()[0]).getX() - width / 2, + (getFlipStanding() ? getPoints()[1] : getPoints()[0]).getY() - width / 2, width, width); shapeRect = body.getBounds(); Composite oldComposite = g2d.getComposite(); if (alpha < MAX_ALPHA) { @@ -214,14 +215,14 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp Area leadArea = new Area(); - int endX = (int) (getPoints()[0].x + Math.cos(theta) * leadLength); - int endY = (int) (getPoints()[0].y + Math.sin(theta) * leadLength); - Line2D line = new Line2D.Double(getPoints()[0].x, getPoints()[0].y, endX, endY); + int endX = (int) (getPoints()[0].getX() + Math.cos(theta) * leadLength); + int endY = (int) (getPoints()[0].getY() + Math.sin(theta) * leadLength); + Line2D line = new Line2D.Double(getPoints()[0].getX(), getPoints()[0].getY(), endX, endY); leadArea.add(new Area(leadStroke.createStrokedShape(line))); - endX = (int) (getPoints()[1].x + Math.cos(theta - Math.PI) * leadLength); - endY = (int) (getPoints()[1].y + Math.sin(theta - Math.PI) * leadLength); - line = new Line2D.Double(getPoints()[1].x, getPoints()[1].y, endX, endY); + endX = (int) (getPoints()[1].getX() + Math.cos(theta - Math.PI) * leadLength); + endY = (int) (getPoints()[1].getY() + Math.sin(theta - Math.PI) * leadLength); + line = new Line2D.Double(getPoints()[1].getX(), getPoints()[1].getY(), endX, endY); leadArea.add(new Area(leadStroke.createStrokedShape(line))); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1f)); @@ -247,7 +248,7 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp width = getWidth().convertToPixels(); length = getLength().convertToPixels(); } - g2d.translate((getPoints()[0].x + getPoints()[1].x - length) / 2, (getPoints()[0].y + getPoints()[1].y - width) / 2); + g2d.translate((getPoints()[0].getX() + getPoints()[1].getX() - length) / 2, (getPoints()[0].getY() + getPoints()[1].getY() - width) / 2); g2d.rotate(theta, length / 2, width / 2); // Draw body. Composite oldComposite = g2d.getComposite(); @@ -317,7 +318,7 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp // Draw label. g2d.setFont(project.getFont()); if (useShapeRectAsPosition()) { - g2d.translate(shapeRect.x, shapeRect.y); + g2d.translate(shapeRect.getX(), shapeRect.getY()); } Color finalLabelColor; if (outlineMode) { @@ -356,7 +357,7 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp if (getMoveLabel()) { g2d.setTransform(oldTransform); - g2d.translate(getPoints()[2].x, getPoints()[2].y); + g2d.translate(getPoints()[2].getX(), getPoints()[2].getY()); if (getLabelOriantation() != LabelOriantation.Horizontal) { g2d.rotate(theta); } @@ -365,8 +366,8 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp } else { if (isStanding() || getLabelOriantation() == LabelOriantation.Horizontal) { g2d.setTransform(oldTransform); - double x = (getPoints()[0].x + getPoints()[1].x - length) / 2.0; - double y = (getPoints()[0].y + getPoints()[1].y - width) / 2.0; + double x = (getPoints()[0].getX() + getPoints()[1].getX() - length) / 2.0; + double y = (getPoints()[0].getY() + getPoints()[1].getY() - width) / 2.0; g2d.drawString(label, (int) (x + (length - textRect.getWidth()) / 2 + offset), (int)(y + calculateLabelYOffset(shapeRect, textRect, fontMetrics))); } else { @@ -377,7 +378,7 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp } // if (getLabelOriantation() == LabelOriantation.Horizontal) { // -// drawCenteredText(g2d, label, getNewPoints()[2].x, getNewPoints()[2].x, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); +// drawCenteredText(g2d, label, getNewPoints()[2].getX(), getNewPoints()[2].getX(), HorizontalAlignment.CENTER, VerticalAlignment.CENTER); // g2d.drawString(label, (int) (x + (length - textRect.getWidth()) / 2 + offset), // (int)(y + calculateLabelYCoordinate(shapeRect, textRect, fontMetrics))); // } else { @@ -392,13 +393,13 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp } private void drawLeads(Graphics2D g2d, double theta, double leadLength) { - double endX = getPoints()[0].x + Math.cos(theta) * leadLength; - double endY = getPoints()[0].y + Math.sin(theta) * leadLength; - g2d.draw(new Line2D.Double(getPoints()[0].x, getPoints()[0].y, endX, endY)); + double endX = getPoints()[0].getX() + Math.cos(theta) * leadLength; + double endY = getPoints()[0].getY() + Math.sin(theta) * leadLength; + g2d.draw(new Line2D.Double(getPoints()[0].getX(), getPoints()[0].getY(), endX, endY)); - endX = getPoints()[1].x + Math.cos(theta - Math.PI) * leadLength; - endY = getPoints()[1].y + Math.sin(theta - Math.PI) * leadLength; - g2d.draw(new Line2D.Double(getPoints()[1].x, getPoints()[1].y, endX, endY)); + endX = getPoints()[1].getX() + Math.cos(theta - Math.PI) * leadLength; + endY = getPoints()[1].getY() + Math.sin(theta - Math.PI) * leadLength; + g2d.draw(new Line2D.Double(getPoints()[1].getX(), getPoints()[1].getY(), endX, endY)); } private void drawLead(Graphics2D g2d, ComponentState componentState, IDrawingObserver observer, boolean isCopperArea) { @@ -407,7 +408,7 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp float thickness = getLeadThickness(); - Line2D line = new Line2D.Double(getPoints()[0].x, getPoints()[0].y, getPoints()[1].x, getPoints()[1].y); + Line2D line = new Line2D.Double(getPoints()[0].getX(), getPoints()[0].getY(), getPoints()[1].getX(), getPoints()[1].getY()); if (shouldShadeLeads()) { // for some reason the stroked line gets approx 1px thicker when converted to shape @@ -548,8 +549,8 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp } @Override - public Point getControlPoint(int index) { - return (Point) getPoints()[index]; + public Point2D getControlPoint(int index) { + return (Point2D) getPoints()[index]; } @Override @@ -568,14 +569,14 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { // when moving one of the ending points, try to retain the angle and distance from the center point to label point if (index < 2) { if (gamma == null) { - double x = (getPoints()[1].x + getPoints()[0].x) / 2.0; - double y = (getPoints()[1].y + getPoints()[0].y) / 2.0; - double theta = Math.atan2(getPoints()[1].y - getPoints()[0].y, getPoints()[1].x - getPoints()[0].x); - double beta = Math.atan2(getPoints()[2].y - y, getPoints()[2].x - x); + double x = (getPoints()[1].getX() + getPoints()[0].getX()) / 2.0; + double y = (getPoints()[1].getY() + getPoints()[0].getY()) / 2.0; + double theta = Math.atan2(getPoints()[1].getY() - getPoints()[0].getY(), getPoints()[1].getX() - getPoints()[0].getX()); + double beta = Math.atan2(getPoints()[2].getY() - y, getPoints()[2].getX() - x); gamma = beta + (Math.PI / 2 - theta); r = getPoints()[2].distance(x, y); } @@ -699,21 +700,21 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp @Override public Rectangle2D getCachingBounds() { - int minX = Integer.MAX_VALUE; - int maxX = Integer.MIN_VALUE; - int minY = Integer.MAX_VALUE; - int maxY = Integer.MIN_VALUE; - int margin = (int) Math.max(Math.max(getWidth().convertToPixels(), getLength().convertToPixels()), getLeadThickness()); + double minX = Integer.MAX_VALUE; + double maxX = Integer.MIN_VALUE; + double minY = Integer.MAX_VALUE; + double maxY = Integer.MIN_VALUE; + double margin = (int) Math.max(Math.max(getWidth().convertToPixels(), getLength().convertToPixels()), getLeadThickness()); for (int i = 0; i < getControlPointCount(); i++) { - Point p = getControlPoint(i); - if (p.x < minX) - minX = p.x; - if (p.x > maxX) - maxX = p.x; - if (p.y < minY) - minY = p.y; - if (p.y > maxY) - maxY = p.y; + Point2D p = getControlPoint(i); + if (p.getX() < minX) + minX = p.getX(); + if (p.getX() > maxX) + maxX = p.getX(); + if (p.getY() < minY) + minY = p.getY(); + if (p.getY() > maxY) + maxY = p.getY(); } return new Rectangle2D.Double(minX - margin, minY - margin, maxX - minX + 2 * margin, maxY - minY + 2 * margin); diff --git a/diylc/diylc-library/src/org/diylc/components/AbstractSchematicLeadedSymbol.java b/diylc/diylc-library/src/org/diylc/components/AbstractSchematicLeadedSymbol.java index f5fd05e5..9699fe07 100644 --- a/diylc/diylc-library/src/org/diylc/components/AbstractSchematicLeadedSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/AbstractSchematicLeadedSymbol.java @@ -24,6 +24,7 @@ package org.diylc.components; import java.awt.Color; import java.awt.FontMetrics; import java.awt.Point; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.common.LabelPosition; @@ -72,10 +73,10 @@ public abstract class AbstractSchematicLeadedSymbol extends AbstractLeadedCom } @Override - protected Point calculateLabelPosition(Point point1, Point point2) { - double x = (point1.x + point2.x) / 2.0; - double y = (point1.y + point2.y) / 2.0; - double theta = Math.atan2(point2.y - point1.y, point2.x - point2.x) - Math.PI / 2; + protected Point2D calculateLabelPosition(Point2D point1, Point2D point2) { + double x = (point1.getX() + point2.getX()) / 2.0; + double y = (point1.getY() + point2.getY()) / 2.0; + double theta = Math.atan2(point2.getY() - point1.getY(), point2.getX() - point2.getX()) - Math.PI / 2; double r = width.convertToPixels() / 2 + LABEL_FONT.getSize() / 2; return new Point((int) (x + Math.cos(theta) * r), (int) (y + Math.sin(theta) * r)); } diff --git a/diylc/diylc-library/src/org/diylc/components/RoundedPolygon.java b/diylc/diylc-library/src/org/diylc/components/RoundedPolygon.java index 18e6adca..5bd2355e 100644 --- a/diylc/diylc-library/src/org/diylc/components/RoundedPolygon.java +++ b/diylc/diylc-library/src/org/diylc/components/RoundedPolygon.java @@ -21,31 +21,31 @@ */ package org.diylc.components; -import java.awt.Point; import java.awt.geom.Path2D; +import java.awt.geom.Point2D; public class RoundedPolygon extends Path2D.Double { private static final long serialVersionUID = 1L; - public RoundedPolygon(Point[] points, double[] radiuses) { + public RoundedPolygon(Point2D[] points, double[] radiuses) { super(); - moveTo(points[0].x, points[0].y); + moveTo(points[0].getX(), points[0].getY()); for (int i = 0; i < points.length - 1; i++) { - Point first = points[i]; - Point second = points[i + 1 >= points.length ? i + 1 - points.length : i + 1]; - Point third = points[i + 2 >= points.length ? i + 2 - points.length : i + 2]; + Point2D first = points[i]; + Point2D second = points[i + 1 >= points.length ? i + 1 - points.length : i + 1]; + Point2D third = points[i + 2 >= points.length ? i + 2 - points.length : i + 2]; - Point p1 = new Point(0, 0); - Point p2 = new Point(0, 0); + Point2D p1 = new Point2D.Double(0, 0); + Point2D p2 = new Point2D.Double(0, 0); locateTwoPoints(first, second, third, radiuses.length <= i ? radiuses[radiuses.length - 1] : radiuses[i], p1, p2); - lineTo(p1.x, p1.y); - quadTo(second.x, second.y, p2.x, p2.y); + lineTo(p1.getX(), p1.getY()); + quadTo(second.getX(), second.getY(), p2.getX(), p2.getY()); } closePath(); } - private void locateTwoPoints(Point first, Point second, Point third, double radius, Point p1, Point p2) { + private void locateTwoPoints(Point2D first, Point2D second, Point2D third, double radius, Point2D p1, Point2D p2) { double d1 = distance(first, second); double d2 = distance(second, third); double t1 = 1 - radius / d1; @@ -54,11 +54,11 @@ public class RoundedPolygon extends Path2D.Double { interpolate(second, third, t2, p2); } - private void interpolate(Point p1, Point p2, double t, Point p) { - p.setLocation((int)Math.round(p1.x * (1-t) + p2.x * t), (int)Math.round(p1.y * (1-t) + p2.y * t)); + private void interpolate(Point2D p1, Point2D p2, double t, Point2D p) { + p.setLocation((int)Math.round(p1.getX() * (1-t) + p2.getX() * t), (int)Math.round(p1.getY() * (1-t) + p2.getY() * t)); } - private double distance(Point p1, Point p2) { - return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y)); + private double distance(Point2D p1, Point2D p2) { + return Math.sqrt((p1.getX() - p2.getX()) * (p1.getX() - p2.getX()) + (p1.getY() - p2.getY()) * (p1.getY() - p2.getY())); } } diff --git a/diylc/diylc-library/src/org/diylc/components/boards/AbstractBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/AbstractBoard.java index de9724c7..7d34e27c 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/AbstractBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/AbstractBoard.java @@ -26,6 +26,7 @@ import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; import java.awt.Point; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.awt.StringUtils; @@ -53,10 +54,10 @@ public abstract class AbstractBoard extends AbstractTransparentComponent public static Size DEFAULT_HEIGHT = new Size(1.2d, SizeUnit.in); protected String value = ""; - protected Point[] controlPoints = new Point[] {new Point(0, 0), - new Point((int) DEFAULT_WIDTH.convertToPixels(), (int) DEFAULT_HEIGHT.convertToPixels())}; - protected Point firstPoint = new Point(); - protected Point secondPoint = new Point(); + protected Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), + new Point2D.Double(DEFAULT_WIDTH.convertToPixels(), DEFAULT_HEIGHT.convertToPixels())}; + protected Point2D firstPoint = new Point2D.Double(); + protected Point2D secondPoint = new Point.Double(); protected Color boardColor = BOARD_COLOR; protected Color borderColor = BORDER_COLOR; @@ -76,7 +77,7 @@ public abstract class AbstractBoard extends AbstractTransparentComponent IDrawingObserver drawingObserver) { g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); - Point finalSecondPoint = getFinalSecondPoint(); + Point2D finalSecondPoint = getFinalSecondPoint(); Composite oldComposite = g2d.getComposite(); // render as transparent when dragging @@ -85,7 +86,7 @@ public abstract class AbstractBoard extends AbstractTransparentComponent g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } g2d.setColor(boardColor); - g2d.fillRect(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, finalSecondPoint.y - firstPoint.y); + g2d.fillRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()), (int)(finalSecondPoint.getY() - firstPoint.getY())); g2d.setComposite(oldComposite); // Do not track any changes that follow because the whole board has been @@ -93,55 +94,56 @@ public abstract class AbstractBoard extends AbstractTransparentComponent drawingObserver.stopTracking(); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : borderColor); - g2d.drawRect(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, finalSecondPoint.y - firstPoint.y); + g2d.drawRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()), (int)(finalSecondPoint.getY() - firstPoint.getY())); } - protected Point getFinalSecondPoint() { - Point finalSecondPoint; + protected Point2D getFinalSecondPoint() { + Point2D finalSecondPoint; if (getMode() == BoardSizingMode.TwoPoints) finalSecondPoint = secondPoint; else - finalSecondPoint = new Point((int)(firstPoint.x + getLength().convertToPixels()), - (int)(firstPoint.y + getWidth().convertToPixels())); + finalSecondPoint = new Point2D.Double(firstPoint.getX() + getLength().convertToPixels(), + firstPoint.getY() + getWidth().convertToPixels()); return finalSecondPoint; } - protected void drawCoordinates(Graphics2D g2d, int spacing, Project project) { + protected void drawCoordinates(Graphics2D g2d, double spacing, Project project) { g2d.setColor(coordinateColor); g2d.setFont(project.getFont().deriveFont(COORDINATE_FONT_SIZE)); // The half space is used to do rounding when calculating the range. - int halfSpace = spacing / 2; + double halfSpace = spacing / 2; CoordinateOrigin origin = getCoordinateOrigin(); - Point finalSecondPoint = getFinalSecondPoint(); + Point2D finalSecondPoint = getFinalSecondPoint(); if (getCoordinateDisplay() != CoordinateDisplay.None) { int range; - int yOffset; + double yOffset; CoordinateType yType = getyType(); - Point drawPoint = new Point(firstPoint); - + double y = firstPoint.getY(); + if (origin == CoordinateOrigin.Top_Left || origin == CoordinateOrigin.Top_Right) { - range = (int) ((finalSecondPoint.y - firstPoint.y + halfSpace) / spacing); + range = (int) ((finalSecondPoint.getY() - firstPoint.getY() + halfSpace) / spacing); yOffset = spacing; } else { - range = (int) ((finalSecondPoint.y - firstPoint.y + halfSpace) / spacing); + range = (int) ((finalSecondPoint.getY() - firstPoint.getY() + halfSpace) / spacing); yOffset = -spacing; - drawPoint.y = finalSecondPoint.y; + y = finalSecondPoint.getY(); } for (int c = 1; c < range; c++) { int xOffset = (yType == CoordinateType.Numbers && c >= 10) || (yType == CoordinateType.Letters && c >= 27) ? 0 : 2; String label = yType == CoordinateType.Letters ? getCoordinateLabel(c) : Integer.toString(c); - drawPoint.y += yOffset; + y += yOffset; + StringUtils.drawCenteredText(g2d, label, - firstPoint.x + xOffset, drawPoint.y, + firstPoint.getX() + xOffset, y, HorizontalAlignment.LEFT, VerticalAlignment.CENTER); if (getCoordinateDisplay() == CoordinateDisplay.Both_Sides) { StringUtils.drawCenteredText(g2d, label, - finalSecondPoint.x - xOffset, drawPoint.y, + finalSecondPoint.getX() - xOffset, y, HorizontalAlignment.RIGHT, VerticalAlignment.CENTER); } } @@ -149,29 +151,30 @@ public abstract class AbstractBoard extends AbstractTransparentComponent if (getCoordinateDisplay() != CoordinateDisplay.None) { int range; - int xOffset; + double xOffset; CoordinateType xType = getxType(); - Point drawPoint = new Point(firstPoint); + double x = firstPoint.getX(); if (origin == CoordinateOrigin.Top_Left || origin == CoordinateOrigin.Bottom_Left) { - range = (int) ((finalSecondPoint.x - firstPoint.x + halfSpace) / spacing); + range = (int) ((finalSecondPoint.getX() - firstPoint.getX() + halfSpace) / spacing); xOffset = spacing; } else { - range = (int) ((finalSecondPoint.x - firstPoint.x + halfSpace) / spacing); + range = (int) ((finalSecondPoint.getX() - firstPoint.getX() + halfSpace) / spacing); xOffset = -spacing; - drawPoint.x = finalSecondPoint.x; + x = finalSecondPoint.getX(); } for (int c = 1; c < range; c++) { String label = xType == CoordinateType.Letters ? getCoordinateLabel(c) : Integer.toString(c); - drawPoint.x += xOffset; + x += xOffset; + StringUtils.drawCenteredText(g2d, label, - drawPoint.x, firstPoint.y + 2, + x, firstPoint.getY() + 2, HorizontalAlignment.CENTER, VerticalAlignment.BOTTOM); if (getCoordinateDisplay() == CoordinateDisplay.Both_Sides) { StringUtils.drawCenteredText(g2d, label, - drawPoint.x, (int) (finalSecondPoint.y - COORDINATE_FONT_SIZE), + x, (int) (finalSecondPoint.getY() - COORDINATE_FONT_SIZE), HorizontalAlignment.CENTER, VerticalAlignment.BOTTOM); } } @@ -271,7 +274,7 @@ public abstract class AbstractBoard extends AbstractTransparentComponent } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -286,12 +289,12 @@ public abstract class AbstractBoard extends AbstractTransparentComponent } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); - firstPoint.setLocation(Math.min(controlPoints[0].x, controlPoints[1].x), - Math.min(controlPoints[0].y, controlPoints[1].y)); - secondPoint.setLocation(Math.max(controlPoints[0].x, controlPoints[1].x), - Math.max(controlPoints[0].y, controlPoints[1].y)); + firstPoint.setLocation(Math.min(controlPoints[0].getX(), controlPoints[1].getX()), + Math.min(controlPoints[0].getY(), controlPoints[1].getY())); + secondPoint.setLocation(Math.max(controlPoints[0].getX(), controlPoints[1].getX()), + Math.max(controlPoints[0].getY(), controlPoints[1].getY())); } @EditableProperty @@ -336,9 +339,9 @@ public abstract class AbstractBoard extends AbstractTransparentComponent @Override public Rectangle2D getCachingBounds() { - Point finalSecondPoint = getFinalSecondPoint(); - return new Rectangle2D.Double(Math.min(firstPoint.x, finalSecondPoint.x), Math.min(firstPoint.y, finalSecondPoint.y), - Math.abs(finalSecondPoint.x - firstPoint.x) + 2, Math.abs(finalSecondPoint.y - firstPoint.y) + 2); + Point2D finalSecondPoint = getFinalSecondPoint(); + return new Rectangle2D.Double(Math.min(firstPoint.getX(), finalSecondPoint.getX()), Math.min(firstPoint.getY(), finalSecondPoint.getY()), + Math.abs(finalSecondPoint.getX() - firstPoint.getX()) + 2, Math.abs(finalSecondPoint.getY() - firstPoint.getY()) + 2); } public static enum CoordinateType { diff --git a/diylc/diylc-library/src/org/diylc/components/boards/BlankBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/BlankBoard.java index 14138937..0e2b228c 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/BlankBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/BlankBoard.java @@ -25,8 +25,8 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; +import java.awt.geom.Point2D; import org.diylc.common.ObjectCache; import org.diylc.common.SimpleComponentTransformer; @@ -59,11 +59,11 @@ public class BlankBoard extends AbstractBoard { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, IDrawingObserver drawingObserver) { - Point finalSecondPoint = getFinalSecondPoint(); + Point2D finalSecondPoint = getFinalSecondPoint(); Shape clip = g2d.getClip(); - if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, finalSecondPoint.y) - && !clip.contains(finalSecondPoint.x, firstPoint.y)) { + if (checkPointsClipped(clip) && !clip.contains(firstPoint.getX(), finalSecondPoint.getY()) + && !clip.contains(finalSecondPoint.getX(), firstPoint.getY())) { return; } @@ -75,9 +75,9 @@ public class BlankBoard extends AbstractBoard { } g2d.setColor(boardColor); if (getType() == Type.SQUARE) - g2d.fillRect(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, finalSecondPoint.y - firstPoint.y); + g2d.fillRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()), (int)(finalSecondPoint.getY() - firstPoint.getY())); else - g2d.fillOval(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, finalSecondPoint.y - firstPoint.y); + g2d.fillOval((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()), (int)(finalSecondPoint.getY() - firstPoint.getY())); g2d.setComposite(oldComposite); } // Do not track any changes that follow because the whole board has been @@ -86,9 +86,9 @@ public class BlankBoard extends AbstractBoard { g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : borderColor); if (getType() == Type.SQUARE) - g2d.drawRect(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, finalSecondPoint.y - firstPoint.y); + g2d.drawRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()), (int)(finalSecondPoint.getY() - firstPoint.getY())); else - g2d.drawOval(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, finalSecondPoint.y - firstPoint.y); + g2d.drawOval((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()), (int)(finalSecondPoint.getY() - firstPoint.getY())); } @Override diff --git a/diylc/diylc-library/src/org/diylc/components/boards/Breadboard.java b/diylc/diylc-library/src/org/diylc/components/boards/Breadboard.java index 292247c4..7898a4bc 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/Breadboard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/Breadboard.java @@ -27,6 +27,7 @@ import java.awt.Composite; import java.awt.Graphics2D; import java.awt.Point; import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.awt.StringUtils; @@ -361,7 +362,7 @@ public class Breadboard extends AbstractComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { if (index == 0) this.point.setLocation(point); } diff --git a/diylc/diylc-library/src/org/diylc/components/boards/EyeletBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/EyeletBoard.java index b000f070..8196abbd 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/EyeletBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/EyeletBoard.java @@ -24,8 +24,8 @@ package org.diylc.components.boards; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; +import java.awt.geom.Point2D; import org.diylc.common.SimpleComponentTransformer; import org.diylc.core.ComponentState; @@ -69,11 +69,11 @@ public class EyeletBoard extends AbstractBoard { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, IDrawingObserver drawingObserver) { - Point finalSecondPoint = getFinalSecondPoint(); + Point2D finalSecondPoint = getFinalSecondPoint(); Shape clip = g2d.getClip(); - if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, finalSecondPoint.y) - && !clip.contains(finalSecondPoint.x, firstPoint.y)) { + if (checkPointsClipped(clip) && !clip.contains(firstPoint.getX(), finalSecondPoint.getY()) + && !clip.contains(finalSecondPoint.getX(), firstPoint.getY())) { return; } super.draw(g2d, componentState, outlineMode, project, drawingObserver); @@ -81,24 +81,25 @@ public class EyeletBoard extends AbstractBoard { if (alpha < MAX_ALPHA) { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } - Point p = new Point(firstPoint); + double x = firstPoint.getX(); + double y = finalSecondPoint.getY(); int diameter = getClosestOdd((int) EYELET_SIZE.convertToPixels()); int holeDiameter = getClosestOdd((int) HOLE_SIZE.convertToPixels()); int spacing = (int) this.spacing.convertToPixels(); - while (p.y < finalSecondPoint.y - spacing) { - p.x = firstPoint.x; - p.y += spacing; - while (p.x < finalSecondPoint.x - spacing - diameter) { - p.x += spacing; + while (y < finalSecondPoint.getY() - spacing) { + x = firstPoint.getX(); + y += spacing; + while (x < finalSecondPoint.getX() - spacing - diameter) { + x += spacing; g2d.setColor(eyeletColor); - g2d.fillOval(p.x - diameter / 2, p.y - diameter / 2, diameter, diameter); + g2d.fillOval((int)(x - diameter / 2), (int)(y - diameter / 2), diameter, diameter); g2d.setColor(eyeletColor.darker()); - g2d.drawOval(p.x - diameter / 2, p.y - diameter / 2, diameter, diameter); + g2d.drawOval((int)(x - diameter / 2), (int)(y - diameter / 2), diameter, diameter); g2d.setColor(Constants.CANVAS_COLOR); - g2d.fillOval(p.x - holeDiameter / 2, p.y - holeDiameter / 2, holeDiameter, holeDiameter); + g2d.fillOval((int)(x - holeDiameter / 2), (int)(y - holeDiameter / 2), holeDiameter, holeDiameter); g2d.setColor(eyeletColor.darker()); - g2d.drawOval(p.x - holeDiameter / 2, p.y - holeDiameter / 2, holeDiameter, holeDiameter); + g2d.drawOval((int)(x - holeDiameter / 2), (int)(y - holeDiameter / 2), holeDiameter, holeDiameter); } } super.drawCoordinates(g2d, spacing, project); diff --git a/diylc/diylc-library/src/org/diylc/components/boards/MarshallPerfBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/MarshallPerfBoard.java index 6a74a0bc..3404b146 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/MarshallPerfBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/MarshallPerfBoard.java @@ -24,8 +24,8 @@ package org.diylc.components.boards; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; +import java.awt.geom.Point2D; import org.diylc.common.SimpleComponentTransformer; import org.diylc.core.ComponentState; @@ -67,11 +67,11 @@ public class MarshallPerfBoard extends AbstractBoard { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, IDrawingObserver drawingObserver) { - Point finalSecondPoint = getFinalSecondPoint(); + Point2D finalSecondPoint = getFinalSecondPoint(); Shape clip = g2d.getClip(); - if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, finalSecondPoint.y) - && !clip.contains(finalSecondPoint.x, firstPoint.y)) { + if (checkPointsClipped(clip) && !clip.contains(firstPoint.getX(), finalSecondPoint.getY()) + && !clip.contains(finalSecondPoint.getX(), firstPoint.getY())) { return; } super.draw(g2d, componentState, outlineMode, project, drawingObserver); @@ -79,19 +79,20 @@ public class MarshallPerfBoard extends AbstractBoard { if (alpha < MAX_ALPHA) { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } - Point p = new Point(firstPoint); + double x = firstPoint.getX(); + double y = firstPoint.getY(); int holeDiameter = getClosestOdd((int) HOLE_SIZE.convertToPixels()); - int spacing = (int) this.spacing.convertToPixels(); + double spacing = this.spacing.convertToPixels(); - while (p.y < finalSecondPoint.y - spacing) { - p.x = firstPoint.x; - p.y += spacing; - while (p.x < finalSecondPoint.x - spacing - holeDiameter) { - p.x += spacing; + while (y < finalSecondPoint.getY() - spacing) { + x = firstPoint.getX(); + y += spacing; + while (x < finalSecondPoint.getX() - spacing - holeDiameter) { + x += spacing; g2d.setColor(Constants.CANVAS_COLOR); - g2d.fillOval(p.x - holeDiameter / 2, p.y - holeDiameter / 2, holeDiameter, holeDiameter); + g2d.fillOval((int)(x - holeDiameter / 2), (int)(y - holeDiameter / 2), holeDiameter, holeDiameter); g2d.setColor(borderColor); - g2d.drawOval(p.x - holeDiameter / 2, p.y - holeDiameter / 2, holeDiameter, holeDiameter); + g2d.drawOval((int)(x - holeDiameter / 2), (int)(y - holeDiameter / 2), holeDiameter, holeDiameter); } } super.drawCoordinates(g2d, spacing, project); diff --git a/diylc/diylc-library/src/org/diylc/components/boards/PerfBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/PerfBoard.java index 85e9d34b..69805b7a 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/PerfBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/PerfBoard.java @@ -24,8 +24,8 @@ package org.diylc.components.boards; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; +import java.awt.geom.Point2D; import org.diylc.common.SimpleComponentTransformer; import org.diylc.core.ComponentState; @@ -62,11 +62,11 @@ public class PerfBoard extends AbstractBoard { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, IDrawingObserver drawingObserver) { - Point finalSecondPoint = getFinalSecondPoint(); + Point2D finalSecondPoint = getFinalSecondPoint(); Shape clip = g2d.getClip(); - if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, finalSecondPoint.y) - && !clip.contains(finalSecondPoint.x, firstPoint.y)) { + if (checkPointsClipped(clip) && !clip.contains(firstPoint.getX(), finalSecondPoint.getY()) + && !clip.contains(finalSecondPoint.getX(), firstPoint.getY())) { return; } super.draw(g2d, componentState, outlineMode, project, drawingObserver); @@ -74,24 +74,25 @@ public class PerfBoard extends AbstractBoard { if (alpha < MAX_ALPHA) { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } - Point p = new Point(firstPoint); + double x = firstPoint.getX(); + double y = firstPoint.getY(); int diameter = getClosestOdd((int) PAD_SIZE.convertToPixels()); int holeDiameter = getClosestOdd((int) HOLE_SIZE.convertToPixels()); - int spacing = (int) this.spacing.convertToPixels(); + double spacing = this.spacing.convertToPixels(); - while (p.y < finalSecondPoint.y - spacing) { - p.x = firstPoint.x; - p.y += spacing; - while (p.x < finalSecondPoint.x - spacing - diameter) { - p.x += spacing; + while (y < finalSecondPoint.getY() - spacing) { + x = firstPoint.getX(); + y += spacing; + while (x < finalSecondPoint.getX() - spacing - diameter) { + x += spacing; g2d.setColor(padColor); - g2d.fillOval(p.x - diameter / 2, p.y - diameter / 2, diameter, diameter); + g2d.fillOval((int)(x - diameter / 2), (int)(y - diameter / 2), diameter, diameter); g2d.setColor(padColor.darker()); - g2d.drawOval(p.x - diameter / 2, p.y - diameter / 2, diameter, diameter); + g2d.drawOval((int)(x - diameter / 2), (int)(y - diameter / 2), diameter, diameter); g2d.setColor(Constants.CANVAS_COLOR); - g2d.fillOval(p.x - holeDiameter / 2, p.y - holeDiameter / 2, holeDiameter, holeDiameter); + g2d.fillOval((int)(x - holeDiameter / 2), (int)(y - holeDiameter / 2), holeDiameter, holeDiameter); g2d.setColor(padColor.darker()); - g2d.drawOval(p.x - holeDiameter / 2, p.y - holeDiameter / 2, holeDiameter, holeDiameter); + g2d.drawOval((int)(x - holeDiameter / 2), (int)(y - holeDiameter / 2), holeDiameter, holeDiameter); } } super.drawCoordinates(g2d, spacing, project); diff --git a/diylc/diylc-library/src/org/diylc/components/boards/ProtoBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/ProtoBoard.java index c6d176d9..39ec562a 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/ProtoBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/ProtoBoard.java @@ -25,6 +25,7 @@ import java.awt.Color; import java.awt.Graphics2D; import java.awt.Point; import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.awt.StringUtils; @@ -679,7 +680,7 @@ public class ProtoBoard extends AbstractComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { if (index == 0) this.point.setLocation(point); } diff --git a/diylc/diylc-library/src/org/diylc/components/boards/TagStrip.java b/diylc/diylc-library/src/org/diylc/components/boards/TagStrip.java index 32b1af9a..7f7ec4c1 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/TagStrip.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/TagStrip.java @@ -28,6 +28,7 @@ import java.awt.Graphics2D; import java.awt.Point; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -149,7 +150,7 @@ public class TagStrip extends AbstractTransparentComponent implements IC } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } diff --git a/diylc/diylc-library/src/org/diylc/components/boards/TerminalStrip.java b/diylc/diylc-library/src/org/diylc/components/boards/TerminalStrip.java index 8e5dac54..07658b91 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/TerminalStrip.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/TerminalStrip.java @@ -28,6 +28,7 @@ import java.awt.Graphics2D; import java.awt.Point; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.RoundRectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -186,7 +187,7 @@ public class TerminalStrip extends AbstractTransparentComponent implemen } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } diff --git a/diylc/diylc-library/src/org/diylc/components/boards/TriPadBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/TriPadBoard.java index 612909c8..a95ae7e4 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/TriPadBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/TriPadBoard.java @@ -25,8 +25,8 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; +import java.awt.geom.Point2D; import org.diylc.common.OrientationHV; import org.diylc.common.SimpleComponentTransformer; @@ -65,11 +65,11 @@ public class TriPadBoard extends AbstractBoard { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, IDrawingObserver drawingObserver) { - Point finalSecondPoint = getFinalSecondPoint(); + Point2D finalSecondPoint = getFinalSecondPoint(); Shape clip = g2d.getClip(); - if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, finalSecondPoint.y) - && !clip.contains(finalSecondPoint.x, firstPoint.y)) { + if (checkPointsClipped(clip) && !clip.contains(firstPoint.getX(), finalSecondPoint.getY()) + && !clip.contains(finalSecondPoint.getX(), firstPoint.getY())) { return; } super.draw(g2d, componentState, outlineMode, project, drawingObserver); @@ -78,20 +78,21 @@ public class TriPadBoard extends AbstractBoard { if (alpha < MAX_ALPHA) { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } - Point p = new Point(firstPoint); + double x = firstPoint.getX(); + double y = firstPoint.getY(); int stripSize = getClosestOdd((int) STRIP_SIZE.convertToPixels()); int holeSize = getClosestOdd((int) HOLE_SIZE.convertToPixels()); - int spacing = (int) this.spacing.convertToPixels(); + double spacing = this.spacing.convertToPixels(); if (orientation == OrientationHV.HORIZONTAL) { - while (p.y < finalSecondPoint.y - spacing) { - p.x = firstPoint.x; - p.y += spacing; + while (y < finalSecondPoint.getY() - spacing) { + x = firstPoint.getX(); + y += spacing; - while (p.x + spacing < finalSecondPoint.x) { + while (x + spacing < finalSecondPoint.getX()) { - int remainingSpace = finalSecondPoint.x - p.x; - int spacesToDraw = stripSpan; + double remainingSpace = finalSecondPoint.getX() - x; + double spacesToDraw = stripSpan; if (remainingSpace < (stripSize + (stripSpan * spacing))) { spacesToDraw = (remainingSpace - stripSize) / spacing; @@ -99,37 +100,37 @@ public class TriPadBoard extends AbstractBoard { g2d.setColor(stripColor); drawingObserver.startTrackingContinuityArea(true); - g2d.fillRect(p.x + spacing - stripSize / 2, p.y - stripSize / 2, spacing * (spacesToDraw - 1) + stripSize, + g2d.fillRect((int)(x + spacing - stripSize / 2), (int)(y - stripSize / 2), (int)(spacing * (spacesToDraw - 1) + stripSize), stripSize); drawingObserver.stopTrackingContinuityArea(); g2d.setColor(stripColor.darker()); - g2d.drawRect(p.x + spacing - stripSize / 2, p.y - stripSize / 2, spacing * (spacesToDraw - 1) + stripSize, + g2d.drawRect((int)(x + spacing - stripSize / 2), (int)(y - stripSize / 2), (int)(spacing * (spacesToDraw - 1) + stripSize), stripSize); - p.x += spacing * spacesToDraw; + x += spacing * spacesToDraw; } // draw holes - p.x = firstPoint.x; + x = firstPoint.getX(); - while (p.x < finalSecondPoint.x - spacing - holeSize) { - p.x += spacing; + while (x < finalSecondPoint.getX() - spacing - holeSize) { + x += spacing; g2d.setColor(Constants.CANVAS_COLOR); - g2d.fillOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); + g2d.fillOval((int)(x - holeSize / 2), (int)(y - holeSize / 2), holeSize, holeSize); g2d.setColor(stripColor.darker()); - g2d.drawOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); + g2d.drawOval((int)(x - holeSize / 2), (int)(y - holeSize / 2), holeSize, holeSize); } } } else { - while (p.x < finalSecondPoint.x - spacing) { - p.x += spacing; - p.y = firstPoint.y; + while (x < finalSecondPoint.getX() - spacing) { + x += spacing; + y = firstPoint.getY(); - while (p.y + spacing < finalSecondPoint.y) { + while (y + spacing < finalSecondPoint.getY()) { - int remainingSpace = finalSecondPoint.y - p.y; - int spacesToDraw = stripSpan; + double remainingSpace = finalSecondPoint.getY() - y; + double spacesToDraw = stripSpan; if (remainingSpace < (stripSize + (stripSpan * spacing))) { spacesToDraw = (remainingSpace - stripSize) / spacing; @@ -137,25 +138,25 @@ public class TriPadBoard extends AbstractBoard { g2d.setColor(stripColor); drawingObserver.startTrackingContinuityArea(true); - g2d.fillRect(p.x - stripSize / 2, p.y + spacing - stripSize / 2, stripSize, spacing * (spacesToDraw - 1) - + stripSize); + g2d.fillRect((int)(x - stripSize / 2), (int)(y + spacing - stripSize / 2), stripSize, (int)(spacing * (spacesToDraw - 1) + + stripSize)); drawingObserver.stopTrackingContinuityArea(); g2d.setColor(stripColor.darker()); - g2d.drawRect(p.x - stripSize / 2, p.y + spacing - stripSize / 2, stripSize, spacing * (spacesToDraw - 1) - + stripSize); + g2d.drawRect((int)(x - stripSize / 2), (int)(y + spacing - stripSize / 2), stripSize, (int)(spacing * (spacesToDraw - 1) + + stripSize)); - p.y += spacing * spacesToDraw; + y += spacing * spacesToDraw; } // draw holes - p.y = firstPoint.y; + y = firstPoint.getY(); - while (p.y < finalSecondPoint.y - spacing - holeSize) { - p.y += spacing; + while (y < finalSecondPoint.getY() - spacing - holeSize) { + y += spacing; g2d.setColor(Constants.CANVAS_COLOR); - g2d.fillOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); + g2d.fillOval((int)(x - holeSize / 2), (int)(y - holeSize / 2), holeSize, holeSize); g2d.setColor(stripColor.darker()); - g2d.drawOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); + g2d.drawOval((int)(x - holeSize / 2), (int)(y - holeSize / 2), holeSize, holeSize); } } } diff --git a/diylc/diylc-library/src/org/diylc/components/boards/VeroBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/VeroBoard.java index a87019d7..d17a4dc3 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/VeroBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/VeroBoard.java @@ -25,8 +25,8 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; +import java.awt.geom.Point2D; import org.diylc.common.OrientationHV; import org.diylc.common.SimpleComponentTransformer; @@ -65,11 +65,11 @@ public class VeroBoard extends AbstractBoard { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, IDrawingObserver drawingObserver) { - Point finalSecondPoint = getFinalSecondPoint(); + Point2D finalSecondPoint = getFinalSecondPoint(); Shape clip = g2d.getClip(); - if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, finalSecondPoint.y) - && !clip.contains(finalSecondPoint.x, firstPoint.y)) { + if (checkPointsClipped(clip) && !clip.contains(firstPoint.getX(), finalSecondPoint.getY()) + && !clip.contains(finalSecondPoint.getX(), firstPoint.getY())) { return; } super.draw(g2d, componentState, outlineMode, project, drawingObserver); @@ -78,45 +78,46 @@ public class VeroBoard extends AbstractBoard { if (alpha < MAX_ALPHA) { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } - Point p = new Point(firstPoint); + double x = firstPoint.getX(); + double y = finalSecondPoint.getY(); int stripSize = getClosestOdd((int) STRIP_SIZE.convertToPixels()); int holeSize = getClosestOdd((int) HOLE_SIZE.convertToPixels()); int spacing = (int) this.spacing.convertToPixels(); if (orientation == OrientationHV.HORIZONTAL) { - while (p.y < finalSecondPoint.y - spacing) { - p.x = firstPoint.x; - p.y += spacing; + while (y < finalSecondPoint.getY() - spacing) { + x = firstPoint.getX(); + y += spacing; g2d.setColor(stripColor); drawingObserver.startTrackingContinuityArea(true); - g2d.fillRect(p.x + spacing / 2, p.y - stripSize / 2, finalSecondPoint.x - spacing - p.x, stripSize); + g2d.fillRect((int)(x + spacing / 2), (int)(y - stripSize / 2), (int)(finalSecondPoint.getX() - spacing - x), stripSize); drawingObserver.stopTrackingContinuityArea(); g2d.setColor(stripColor.darker()); - g2d.drawRect(p.x + spacing / 2, p.y - stripSize / 2, finalSecondPoint.x - spacing - p.x, stripSize); - while (p.x < finalSecondPoint.x - spacing - holeSize) { - p.x += spacing; + g2d.drawRect((int)(x + spacing / 2), (int)(y - stripSize / 2), (int)(finalSecondPoint.getX() - spacing - x), stripSize); + while (x < finalSecondPoint.getX() - spacing - holeSize) { + x += spacing; g2d.setColor(Constants.CANVAS_COLOR); - g2d.fillOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); + g2d.fillOval((int)(x - holeSize / 2), (int)(y - holeSize / 2), holeSize, holeSize); g2d.setColor(stripColor.darker()); - g2d.drawOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); + g2d.drawOval((int)(x - holeSize / 2), (int)(y - holeSize / 2), holeSize, holeSize); } } } else { - while (p.x < finalSecondPoint.x - spacing) { - p.x += spacing; - p.y = firstPoint.y; + while (x < finalSecondPoint.getX() - spacing) { + x += spacing; + y = firstPoint.getY(); g2d.setColor(stripColor); drawingObserver.startTrackingContinuityArea(true); - g2d.fillRect(p.x - stripSize / 2, p.y + spacing / 2, stripSize, finalSecondPoint.y - spacing - p.y); + g2d.fillRect((int)(x - stripSize / 2), (int)(y + spacing / 2), stripSize, (int)(finalSecondPoint.getY() - spacing - y)); drawingObserver.stopTrackingContinuityArea(); g2d.setColor(stripColor.darker()); - g2d.drawRect(p.x - stripSize / 2, p.y + spacing / 2, stripSize, finalSecondPoint.y - spacing - p.y); - while (p.y < finalSecondPoint.y - spacing - holeSize) { - p.y += spacing; + g2d.drawRect((int)(x - stripSize / 2), (int)(y + spacing / 2), stripSize, (int)(finalSecondPoint.getY() - spacing - y)); + while (y < finalSecondPoint.getY() - spacing - holeSize) { + y += spacing; g2d.setColor(Constants.CANVAS_COLOR); - g2d.fillOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); + g2d.fillOval((int)(x - holeSize / 2), (int)(y - holeSize / 2), holeSize, holeSize); g2d.setColor(stripColor.darker()); - g2d.drawOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); + g2d.drawOval((int)(x - holeSize / 2), (int)(y - holeSize / 2), holeSize, holeSize); } } } diff --git a/diylc/diylc-library/src/org/diylc/components/chassis/ChassisPanel.java b/diylc/diylc-library/src/org/diylc/components/chassis/ChassisPanel.java index bf351d5e..a3d1a199 100644 --- a/diylc/diylc-library/src/org/diylc/components/chassis/ChassisPanel.java +++ b/diylc/diylc-library/src/org/diylc/components/chassis/ChassisPanel.java @@ -64,7 +64,7 @@ public class ChassisPanel extends AbstractShape { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } g2d.setColor(color); - g2d.fillRoundRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y, radius, + g2d.fillRoundRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY()), radius, radius); g2d.setComposite(oldComposite); } @@ -73,7 +73,7 @@ public class ChassisPanel extends AbstractShape { drawingObserver.stopTracking(); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : borderColor); - g2d.drawRoundRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y, radius, + g2d.drawRoundRect((int)(firstPoint.getX()), (int)(firstPoint.getY()), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY()), radius, radius); } diff --git a/diylc/diylc-library/src/org/diylc/components/chassis/EllipticalCutout.java b/diylc/diylc-library/src/org/diylc/components/chassis/EllipticalCutout.java index c1ec859e..647185ac 100644 --- a/diylc/diylc-library/src/org/diylc/components/chassis/EllipticalCutout.java +++ b/diylc/diylc-library/src/org/diylc/components/chassis/EllipticalCutout.java @@ -53,7 +53,7 @@ public class EllipticalCutout extends AbstractShape { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } g2d.setColor(color); - g2d.fillOval(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y); + g2d.fillOval((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY())); g2d.setComposite(oldComposite); } // Do not track any changes that follow because the whole oval has been @@ -61,7 +61,7 @@ public class EllipticalCutout extends AbstractShape { drawingObserver.stopTracking(); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : borderColor); - g2d.drawOval(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y); + g2d.drawOval((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY())); } @Override diff --git a/diylc/diylc-library/src/org/diylc/components/chassis/PolygonalCutout.java b/diylc/diylc-library/src/org/diylc/components/chassis/PolygonalCutout.java index ea528b47..02f022ce 100644 --- a/diylc/diylc-library/src/org/diylc/components/chassis/PolygonalCutout.java +++ b/diylc/diylc-library/src/org/diylc/components/chassis/PolygonalCutout.java @@ -22,6 +22,7 @@ import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; import java.awt.Point; +import java.awt.geom.Point2D; import java.util.Arrays; import org.diylc.common.ObjectCache; @@ -61,8 +62,8 @@ public class PolygonalCutout extends AbstractShape { int[] xPoints = new int[controlPoints.length]; int[] yPoints = new int[controlPoints.length]; for (int i = 0; i < controlPoints.length; i++) { - xPoints[i] = controlPoints[i].x; - yPoints[i] = controlPoints[i].y; + xPoints[i] = (int)controlPoints[i].getX(); + yPoints[i] = (int)controlPoints[i].getY(); } Composite oldComposite = g2d.getComposite(); @@ -97,8 +98,8 @@ public class PolygonalCutout extends AbstractShape { this.controlPoints[newPointCount - 1] = this.controlPoints[oldPointCount - 1]; for (int i = oldPointCount - 1; i < newPointCount - 1; i++) { this.controlPoints[i] = - new Point((this.controlPoints[i - 1].x + this.controlPoints[newPointCount - 1].x) / 2, - (this.controlPoints[i - 1].y + this.controlPoints[newPointCount - 1].y) / 2); + new Point2D.Double((this.controlPoints[i - 1].getX() + this.controlPoints[newPointCount - 1].getX()) / 2, + (this.controlPoints[i - 1].getY() + this.controlPoints[newPointCount - 1].getY()) / 2); } } this.pointCount = pointCount; diff --git a/diylc/diylc-library/src/org/diylc/components/chassis/RectangularCutout.java b/diylc/diylc-library/src/org/diylc/components/chassis/RectangularCutout.java index 2901f55a..fffd9e99 100644 --- a/diylc/diylc-library/src/org/diylc/components/chassis/RectangularCutout.java +++ b/diylc/diylc-library/src/org/diylc/components/chassis/RectangularCutout.java @@ -59,7 +59,7 @@ public class RectangularCutout extends AbstractShape { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } g2d.setColor(color); - g2d.fillRoundRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y, radius, + g2d.fillRoundRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY()), radius, radius); g2d.setComposite(oldComposite); } @@ -68,7 +68,7 @@ public class RectangularCutout extends AbstractShape { drawingObserver.stopTracking(); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : borderColor); - g2d.drawRoundRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y, radius, + g2d.drawRoundRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY()), radius, radius); } diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/CutLine.java b/diylc/diylc-library/src/org/diylc/components/connectivity/CutLine.java index 3cca31b5..a0499f3b 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/CutLine.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/CutLine.java @@ -21,7 +21,7 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; +import java.awt.geom.Point2D; import org.diylc.common.ObjectCache; import org.diylc.common.OrientationHV; @@ -52,7 +52,7 @@ public class CutLine extends AbstractTransparentComponent { private Size width = WIDTH; private Size length = LENGTH; private Color color = COLOR; - private Point point = new Point(0, 0); + private Point2D point = new Point2D.Double(0, 0); private OrientationHV orientation = OrientationHV.VERTICAL; @Override @@ -70,9 +70,9 @@ public class CutLine extends AbstractTransparentComponent { } if (getOrientation() == OrientationHV.HORIZONTAL) - g2d.drawLine(point.x, point.y, point.x + l, point.y); + g2d.drawLine((int)point.getX(), (int)point.getY(), (int)point.getX() + l, (int)point.getY()); else - g2d.drawLine(point.x, point.y, point.x, point.y + l); + g2d.drawLine((int)point.getX(), (int)point.getY(), (int)point.getX(), (int)point.getY() + l); g2d.setComposite(oldComposite); } @@ -132,12 +132,12 @@ public class CutLine extends AbstractTransparentComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return point; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.point.setLocation(point); } diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/Dot.java b/diylc/diylc-library/src/org/diylc/components/connectivity/Dot.java index eebc046c..7aa5a350 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/Dot.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/Dot.java @@ -23,7 +23,7 @@ package org.diylc.components.connectivity; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; +import java.awt.geom.Point2D; import org.diylc.common.SimpleComponentTransformer; import org.diylc.components.AbstractComponent; @@ -51,7 +51,7 @@ public class Dot extends AbstractComponent { private Size size = SIZE; private Color color = COLOR; - private Point point = new Point(0, 0); + private Point2D point = new Point2D.Double(0, 0); @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, @@ -62,7 +62,7 @@ public class Dot extends AbstractComponent { int diameter = getClosestOdd((int) getSize().convertToPixels()); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : color); - g2d.fillOval(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter); + g2d.fillOval((int)(point.getX() - diameter / 2), (int)(point.getY() - diameter / 2), diameter, diameter); } @Override @@ -102,12 +102,12 @@ public class Dot extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return point; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.point.setLocation(point); } diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java b/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java index 61b505b8..7762746e 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java @@ -23,7 +23,7 @@ package org.diylc.components.connectivity; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.common.ObjectCache; @@ -60,7 +60,7 @@ public class Eyelet extends AbstractComponent { private Size size = SIZE; private Size holeSize = HOLE_SIZE; private Color color = COLOR; - private Point point = new Point(0, 0); + private Point2D point = new Point2D.Double(0, 0); private String value = ""; @Override @@ -74,16 +74,16 @@ public class Eyelet extends AbstractComponent { g2d.setStroke(ObjectCache.getInstance().fetchZoomableStroke(1f)); g2d.setColor(color); drawingObserver.startTrackingContinuityArea(true); - g2d.fillOval(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter); + g2d.fillOval((int)(point.getX() - diameter / 2), (int)(point.getY() - diameter / 2), diameter, diameter); drawingObserver.stopTrackingContinuityArea(); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : color.darker()); - g2d.drawOval(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter); + g2d.drawOval((int)(point.getX() - diameter / 2), (int)(point.getY() - diameter / 2), diameter, diameter); g2d.setColor(Constants.CANVAS_COLOR); - g2d.fillOval(point.x - holeDiameter / 2, point.y - holeDiameter / 2, holeDiameter, holeDiameter); + g2d.fillOval((int)(point.getX() - holeDiameter / 2), (int)(point.getY() - holeDiameter / 2), holeDiameter, holeDiameter); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : color.darker()); - g2d.drawOval(point.x - holeDiameter / 2, point.y - holeDiameter / 2, holeDiameter, holeDiameter); + g2d.drawOval((int)(point.getX() - holeDiameter / 2), (int)(point.getY() - holeDiameter / 2), holeDiameter, holeDiameter); } @Override @@ -139,12 +139,12 @@ public class Eyelet extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return point; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.point.setLocation(point); } diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/GroundFill.java b/diylc/diylc-library/src/org/diylc/components/connectivity/GroundFill.java index 28609ae3..b5bebe31 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/GroundFill.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/GroundFill.java @@ -23,7 +23,7 @@ package org.diylc.components.connectivity; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; +import java.awt.geom.Point2D; import java.util.Arrays; import org.diylc.common.ObjectCache; @@ -52,9 +52,9 @@ public class GroundFill extends AbstractComponent { public static Size DEFAULT_WIDTH = new Size(1.5d, SizeUnit.in); public static Size DEFAULT_HEIGHT = new Size(1.2d, SizeUnit.in); - protected Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, (int) DEFAULT_HEIGHT.convertToPixels()), - new Point((int) DEFAULT_WIDTH.convertToPixels(), (int) DEFAULT_HEIGHT.convertToPixels()), - new Point((int) DEFAULT_WIDTH.convertToPixels(), 0)}; + protected Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, (int) DEFAULT_HEIGHT.convertToPixels()), + new Point2D.Double((int) DEFAULT_WIDTH.convertToPixels(), (int) DEFAULT_HEIGHT.convertToPixels()), + new Point2D.Double((int) DEFAULT_WIDTH.convertToPixels(), 0)}; protected Color color = COLOR; protected PointCount pointCount = PointCount._4; @@ -71,8 +71,8 @@ public class GroundFill extends AbstractComponent { int[] xPoints = new int[controlPoints.length]; int[] yPoints = new int[controlPoints.length]; for (int i = 0; i < controlPoints.length; i++) { - xPoints[i] = controlPoints[i].x; - yPoints[i] = controlPoints[i].y; + xPoints[i] = (int)controlPoints[i].getX(); + yPoints[i] = (int)controlPoints[i].getY(); } drawingObserver.startTrackingContinuityArea(true); g2d.fillPolygon(xPoints, yPoints, controlPoints.length); @@ -97,7 +97,7 @@ public class GroundFill extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -112,7 +112,7 @@ public class GroundFill extends AbstractComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); } @@ -131,8 +131,8 @@ public class GroundFill extends AbstractComponent { this.controlPoints[newPointCount - 1] = this.controlPoints[oldPointCount - 1]; for (int i = oldPointCount - 1; i < newPointCount - 1; i++) { this.controlPoints[i] = - new Point((this.controlPoints[i - 1].x + this.controlPoints[newPointCount - 1].x) / 2, - (this.controlPoints[i - 1].y + this.controlPoints[newPointCount - 1].y) / 2); + new Point2D.Double((this.controlPoints[i - 1].getX() + this.controlPoints[newPointCount - 1].getX()) / 2, + (this.controlPoints[i - 1].getY() + this.controlPoints[newPointCount - 1].getY()) / 2); } } this.pointCount = pointCount; diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/Line.java b/diylc/diylc-library/src/org/diylc/components/connectivity/Line.java index 9ebe1973..d34ef3df 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/Line.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/Line.java @@ -24,11 +24,11 @@ package org.diylc.components.connectivity; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Polygon; import java.awt.Shape; import java.awt.Stroke; import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; import org.diylc.common.Display; import org.diylc.common.LineStyle; @@ -91,13 +91,15 @@ public class Line extends AbstractLeadedComponent { g2d.setStroke(stroke); g2d.setColor(componentState == ComponentState.SELECTED ? SELECTION_COLOR : color); - Point startPoint = new Point(getControlPoint(0)); - Point endPoint = new Point(getControlPoint(1)); + Point2D first = getControlPoint(0); + Point2D second = getControlPoint(1); + Point2D startPoint = new Point2D.Double(first.getX(), first.getY()); + Point2D endPoint = new Point2D.Double(second.getX(), second.getY()); if (arrowStart) { arrowTx.setToIdentity(); - double angle = Math.atan2(getControlPoint(1).y - getControlPoint(0).y, getControlPoint(1).x - getControlPoint(0).x); - arrowTx.translate(getControlPoint(0).x, getControlPoint(0).y); + double angle = Math.atan2(getControlPoint(1).getY() - getControlPoint(0).getY(), getControlPoint(1).getX() - getControlPoint(0).getX()); + arrowTx.translate(getControlPoint(0).getX(), getControlPoint(0).getY()); arrowTx.rotate((angle + Math.PI / 2d)); AffineTransform oldTx = g2d.getTransform(); g2d.transform(arrowTx); @@ -110,8 +112,8 @@ public class Line extends AbstractLeadedComponent { } if (arrowEnd) { arrowTx.setToIdentity(); - double angle = Math.atan2(getControlPoint(1).y - getControlPoint(0).y, getControlPoint(1).x - getControlPoint(0).x); - arrowTx.translate(getControlPoint(1).x, getControlPoint(1).y); + double angle = Math.atan2(getControlPoint(1).getY() - getControlPoint(0).getY(), getControlPoint(1).getX() - getControlPoint(0).getX()); + arrowTx.translate(getControlPoint(1).getX(), getControlPoint(1).getY()); arrowTx.rotate((angle - Math.PI / 2d)); AffineTransform oldTx = g2d.getTransform(); g2d.transform(arrowTx); @@ -123,15 +125,15 @@ public class Line extends AbstractLeadedComponent { interpolate(endPoint, startPoint, getArrowSize().convertToPixels() * 0.9 / distance, endPoint); } - g2d.drawLine(startPoint.x, startPoint.y, endPoint.x, endPoint.y); + g2d.drawLine((int)startPoint.getX(), (int)startPoint.getY(), (int)endPoint.getX(), (int)endPoint.getY()); } - private void interpolate(Point p1, Point p2, double t, Point p) { - p.setLocation((int)Math.round(p1.x * (1-t) + p2.x * t), (int)Math.round(p1.y * (1-t) + p2.y * t)); + private void interpolate(Point2D p1, Point2D p2, double t, Point2D p) { + p.setLocation((int)Math.round(p1.getX() * (1-t) + p2.getX() * t), (int)Math.round(p1.getY() * (1-t) + p2.getY() * t)); } - private double distance(Point p1, Point p2) { - return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y)); + private double distance(Point2D p1, Point2D p2) { + return Math.sqrt((p1.getX() - p2.getX()) * (p1.getX() - p2.getX()) + (p1.getY() - p2.getY()) * (p1.getY() - p2.getY())); } @Override diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java b/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java index 2d38158f..0c3a15d5 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java @@ -19,8 +19,8 @@ package org.diylc.components.connectivity; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.common.PCBLayer; @@ -55,7 +55,7 @@ public class SolderPad extends AbstractComponent { private Size size = SIZE; private Color color = COLOR; - private Point point = new Point(0, 0); + private Point2D point = new Point2D.Double(0, 0); private Type type = Type.ROUND; private Size holeSize = HOLE_SIZE; private PCBLayer layer = PCBLayer._1; @@ -72,18 +72,18 @@ public class SolderPad extends AbstractComponent { : color); drawingObserver.startTrackingContinuityArea(true); if (type == Type.ROUND) { - g2d.fill(new Ellipse2D.Double(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter)); + g2d.fill(new Ellipse2D.Double(point.getX() - diameter / 2, point.getY() - diameter / 2, diameter, diameter)); } else if (type == Type.OVAL_HORIZONTAL) { - g2d.fill(new Ellipse2D.Double(point.x - diameter / 2, point.y - diameter * 3 / 8, diameter, diameter * 3 / 4)); + g2d.fill(new Ellipse2D.Double(point.getX() - diameter / 2, point.getY() - diameter * 3 / 8, diameter, diameter * 3 / 4)); } else if (type == Type.OVAL_VERTICAL) { - g2d.fill(new Ellipse2D.Double(point.x - diameter * 3 / 8, point.y - diameter / 2, diameter * 3 / 4, diameter)); + g2d.fill(new Ellipse2D.Double(point.getX() - diameter * 3 / 8, point.getY() - diameter / 2, diameter * 3 / 4, diameter)); } else { - g2d.fill(new Rectangle2D.Double(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter)); + g2d.fill(new Rectangle2D.Double(point.getX() - diameter / 2, point.getY() - diameter / 2, diameter, diameter)); } drawingObserver.stopTrackingContinuityArea(); if (getHoleSize().getValue() > 0) { g2d.setColor(Constants.CANVAS_COLOR); - g2d.fill(new Ellipse2D.Double(point.x - holeDiameter / 2, point.y - holeDiameter / 2, holeDiameter, holeDiameter)); + g2d.fill(new Ellipse2D.Double(point.getX() - holeDiameter / 2, point.getY() - holeDiameter / 2, holeDiameter, holeDiameter)); } } @@ -151,12 +151,12 @@ public class SolderPad extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return point; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.point.setLocation(point); } diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/TraceCut.java b/diylc/diylc-library/src/org/diylc/components/connectivity/TraceCut.java index 08750409..ee8a8ee2 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/TraceCut.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/TraceCut.java @@ -23,7 +23,7 @@ package org.diylc.components.connectivity; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.common.ObjectCache; @@ -70,7 +70,7 @@ public class TraceCut extends AbstractComponent { private OrientationHV orientation = OrientationHV.VERTICAL; private Size holeSpacing = VeroBoard.SPACING; - protected Point point = new Point(0, 0); + protected Point2D point = new Point2D.Double(0, 0); @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, @@ -87,22 +87,22 @@ public class TraceCut extends AbstractComponent { : getBoardColor()); drawingObserver.startTrackingContinuityArea(false); if (getOrientation() == OrientationHV.VERTICAL) - g2d.fillRect(point.x - holeSpacing / 2 - cutWidth / 2, point.y - size / 2 - 1, cutWidth, size + 2); + g2d.fillRect((int)(point.getX() - holeSpacing / 2 - cutWidth / 2), (int)(point.getY() - size / 2 - 1), cutWidth, size + 2); else - g2d.fillRect(point.x - size / 2 - 1, point.y - holeSpacing / 2 - cutWidth / 2, size + 2, cutWidth); + g2d.fillRect((int)(point.getX() - size / 2 - 1), (int)(point.getY() - holeSpacing / 2 - cutWidth / 2), size + 2, cutWidth); drawingObserver.stopTrackingContinuityArea(); } else { g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : getBoardColor()); drawingObserver.startTrackingContinuityArea(false); - g2d.fillRoundRect(point.x - size / 2, point.y - size / 2, size, size, size, size); + g2d.fillRoundRect((int)(point.getX() - size / 2), (int)(point.getY() - size / 2), size, size, size, size); drawingObserver.stopTrackingContinuityArea(); g2d.setColor(Constants.CANVAS_COLOR); int holeSize = getClosestOdd((int) HOLE_SIZE.convertToPixels()); - g2d.fillOval(point.x - holeSize / 2, point.y - holeSize / 2, holeSize, holeSize); + g2d.fillOval((int)(point.getX() - holeSize / 2), (int)(point.getY() - holeSize / 2), holeSize, holeSize); g2d.setColor(getBoardColor().darker()); - g2d.drawOval(point.x - holeSize / 2, point.y - holeSize / 2, holeSize, holeSize); + g2d.drawOval((int)(point.getX() - holeSize / 2), (int)(point.getY() - holeSize / 2), holeSize, holeSize); } } @@ -145,7 +145,7 @@ public class TraceCut extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return point; } @@ -160,7 +160,7 @@ public class TraceCut extends AbstractComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.point.setLocation(point); } diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/Turret.java b/diylc/diylc-library/src/org/diylc/components/connectivity/Turret.java index 257e009c..ee49eda5 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/Turret.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/Turret.java @@ -23,7 +23,7 @@ package org.diylc.components.connectivity; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.common.ObjectCache; @@ -58,7 +58,7 @@ public class Turret extends AbstractComponent { private Size size = SIZE; private Size holeSize = HOLE_SIZE; private Color color = COLOR; - private Point point = new Point(0, 0); + private Point2D point = new Point2D.Double(0, 0); private String value = ""; @Override @@ -72,16 +72,16 @@ public class Turret extends AbstractComponent { g2d.setColor(color); g2d.setStroke(ObjectCache.getInstance().fetchZoomableStroke(1f)); drawingObserver.startTrackingContinuityArea(true); - g2d.fillOval(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter); + g2d.fillOval((int)(point.getX() - diameter / 2), (int)(point.getY() - diameter / 2), diameter, diameter); drawingObserver.stopTrackingContinuityArea(); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : color.darker()); - g2d.drawOval(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter); + g2d.drawOval((int)(point.getX() - diameter / 2), (int)(point.getY() - diameter / 2), diameter, diameter); g2d.setColor(Constants.CANVAS_COLOR); - g2d.fillOval(point.x - holeDiameter / 2, point.y - holeDiameter / 2, holeDiameter, holeDiameter); + g2d.fillOval((int)(point.getX() - holeDiameter / 2), (int)(point.getY() - holeDiameter / 2), holeDiameter, holeDiameter); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : color.darker()); - g2d.drawOval(point.x - holeDiameter / 2, point.y - holeDiameter / 2, holeDiameter, holeDiameter); + g2d.drawOval((int)(point.getX() - holeDiameter / 2), (int)(point.getY() - holeDiameter / 2), holeDiameter, holeDiameter); } @Override @@ -137,12 +137,12 @@ public class Turret extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return point; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.point.setLocation(point); } diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/TwistedWire.java b/diylc/diylc-library/src/org/diylc/components/connectivity/TwistedWire.java index f5f5922b..5565fcd5 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/TwistedWire.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/TwistedWire.java @@ -172,7 +172,7 @@ public class TwistedWire extends AbstractCurvedComponent implements IConti } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { super.setControlPoint(point, index); // invalidate cached areas diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/BatterySnap9V.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/BatterySnap9V.java index ee4150ab..86442bc7 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/BatterySnap9V.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/BatterySnap9V.java @@ -21,34 +21,35 @@ */ package org.diylc.components.electromechanical; -import java.awt.AlphaComposite; -import java.awt.Color; -import java.awt.Composite; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Polygon; -import java.awt.Shape; -import java.awt.geom.AffineTransform; -import java.awt.geom.Area; -import java.awt.geom.Ellipse2D; -import java.awt.geom.Rectangle2D; - -import org.diylc.appframework.miscutils.ConfigurationManager; -import org.diylc.common.IPlugInPort; -import org.diylc.common.ObjectCache; -import org.diylc.common.Orientation; -import org.diylc.components.AbstractTransparentComponent; -import org.diylc.components.transform.BatterySnapTransformer; -import org.diylc.core.ComponentState; -import org.diylc.core.IDIYComponent; -import org.diylc.core.IDrawingObserver; -import org.diylc.core.Project; -import org.diylc.core.Theme; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.ComponentDescriptor; -import org.diylc.core.annotations.EditableProperty; -import org.diylc.core.measures.Size; -import org.diylc.core.measures.SizeUnit; +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Composite; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.Polygon; +import java.awt.Shape; +import java.awt.geom.AffineTransform; +import java.awt.geom.Area; +import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; + +import org.diylc.appframework.miscutils.ConfigurationManager; +import org.diylc.common.IPlugInPort; +import org.diylc.common.ObjectCache; +import org.diylc.common.Orientation; +import org.diylc.components.AbstractTransparentComponent; +import org.diylc.components.transform.BatterySnapTransformer; +import org.diylc.core.ComponentState; +import org.diylc.core.IDIYComponent; +import org.diylc.core.IDrawingObserver; +import org.diylc.core.Project; +import org.diylc.core.Theme; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.measures.Size; +import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @ComponentDescriptor(name = "9V Battery Snap", category = "Electro-Mechanical", author = "Branislav Stojkovic", @@ -235,7 +236,7 @@ public class BatterySnap9V extends AbstractTransparentComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.controlPoint.setLocation(point); // Invalidate the body body = null; diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/CliffJack1_4.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/CliffJack1_4.java index e44b0a47..d0413e8d 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/CliffJack1_4.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/CliffJack1_4.java @@ -25,12 +25,11 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -74,7 +73,7 @@ public class CliffJack1_4 extends AbstractMultiPartComponent { private static Size BODY_LENGTH = new Size(0.9d, SizeUnit.in); private static Size TAIL_LENGTH = new Size(0.1d, SizeUnit.in); - private Point[] controlPoints = new Point[] {new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0)}; private JackType type = JackType.MONO; private Orientation orientation = Orientation.DEFAULT; transient private Area[] body; @@ -88,18 +87,18 @@ public class CliffJack1_4 extends AbstractMultiPartComponent { private void updateControlPoints() { // invalidate body shape body = null; - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int spacing = (int) SPACING.convertToPixels(); - controlPoints = new Point[type == JackType.STEREO ? 6 : 4]; + controlPoints = new Point2D[type == JackType.STEREO ? 6 : 4]; - controlPoints[0] = new Point(x, y); - controlPoints[1] = new Point(x, y + 2 * spacing); - controlPoints[2] = new Point(x + 2 * spacing, y); - controlPoints[3] = new Point(x + 2 * spacing, y + 2 * spacing); + controlPoints[0] = new Point2D.Double(x, y); + controlPoints[1] = new Point2D.Double(x, y + 2 * spacing); + controlPoints[2] = new Point2D.Double(x + 2 * spacing, y); + controlPoints[3] = new Point2D.Double(x + 2 * spacing, y + 2 * spacing); if (type == JackType.STEREO) { - controlPoints[4] = new Point(x + spacing, y); - controlPoints[5] = new Point(x + spacing, y + 2 * spacing); + controlPoints[4] = new Point2D.Double(x + spacing, y); + controlPoints[5] = new Point2D.Double(x + spacing, y + 2 * spacing); } // Apply rotation if necessary @@ -139,9 +138,9 @@ public class CliffJack1_4 extends AbstractMultiPartComponent { // Create body. int bodyLength = (int) BODY_LENGTH.convertToPixels(); int bodyWidth = (int) BODY_WIDTH.convertToPixels(); - int centerX = (controlPoints[0].x + controlPoints[3].x) / 2; - int centerY = (controlPoints[0].y + controlPoints[3].y) / 2; - body[0] = new Area(new Rectangle(centerX - bodyLength / 2, centerY - bodyWidth / 2, bodyLength, bodyWidth)); + double centerX = (controlPoints[0].getX() + controlPoints[3].getX()) / 2; + double centerY = (controlPoints[0].getY() + controlPoints[3].getY()) / 2; + body[0] = new Area(new Rectangle2D.Double(centerX - bodyLength / 2, centerY - bodyWidth / 2, bodyLength, bodyWidth)); int tailLength = (int) TAIL_LENGTH.convertToPixels(); body[1] = new Area(new RoundRectangle2D.Double(centerX - bodyLength / 2 - tailLength, centerY - bodyWidth / 4, tailLength * 2, @@ -150,9 +149,9 @@ public class CliffJack1_4 extends AbstractMultiPartComponent { tailArea.subtract(new Area(body[0])); body[1] = tailArea; - body[2] = new Area(new Rectangle(centerX + bodyLength / 2, centerY - bodyWidth / 4, tailLength, bodyWidth / 2)); + body[2] = new Area(new Rectangle2D.Double(centerX + bodyLength / 2, centerY - bodyWidth / 4, tailLength, bodyWidth / 2)); - body[3] = new Area(new Rectangle(centerX + bodyLength / 2 + tailLength, centerY - bodyWidth / 4, tailLength, bodyWidth / 2)); + body[3] = new Area(new Rectangle2D.Double(centerX + bodyLength / 2 + tailLength, centerY - bodyWidth / 4, tailLength, bodyWidth / 2)); tailArea = new Area(body[3]); int radius = bodyLength / 2 + tailLength * 2; tailArea.intersect(new Area(new Ellipse2D.Double(centerX - radius, centerY - radius, radius * 2, radius * 2))); @@ -177,12 +176,12 @@ public class CliffJack1_4 extends AbstractMultiPartComponent { int pinWidth = (int) PIN_WIDTH.convertToPixels(); int pinThickness = (int) PIN_THICKNESS.convertToPixels(); for (int i = 0; i < getControlPointCount(); i++) { - Point point = getControlPoint(i); - Rectangle pin; + Point2D point = getControlPoint(i); + Rectangle2D pin; if (orientation == Orientation.DEFAULT || orientation == Orientation._180) { - pin = new Rectangle(point.x - pinWidth / 2, point.y - pinThickness / 2, pinWidth, pinThickness); + pin = new Rectangle2D.Double(point.getX() - pinWidth / 2, point.getY() - pinThickness / 2, pinWidth, pinThickness); } else { - pin = new Rectangle(point.x - pinThickness / 2, point.y - pinWidth / 2, pinThickness, pinWidth); + pin = new Rectangle2D.Double(point.getX() - pinThickness / 2, point.getY() - pinWidth / 2, pinThickness, pinWidth); } pins.add(new Area(pin)); } @@ -249,8 +248,8 @@ public class CliffJack1_4 extends AbstractMultiPartComponent { } g2d.setColor(finalLabelColor); g2d.setFont(project.getFont()); - int centerX = (controlPoints[0].x + controlPoints[3].x) / 2; - int centerY = (controlPoints[0].y + controlPoints[3].y) / 2; + double centerX = (controlPoints[0].getX() + controlPoints[3].getX()) / 2; + double centerY = (controlPoints[0].getY() + controlPoints[3].getY()) / 2; StringUtils.drawCenteredText(g2d, name, centerX, centerY, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); drawSelectionOutline(g2d, componentState, outlineMode, project, drawingObserver); @@ -293,12 +292,12 @@ public class CliffJack1_4 extends AbstractMultiPartComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/ClosedJack1_4.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/ClosedJack1_4.java index 21a1374e..1e9dec70 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/ClosedJack1_4.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/ClosedJack1_4.java @@ -25,13 +25,13 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.GeneralPath; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -75,7 +75,7 @@ public class ClosedJack1_4 extends AbstractMultiPartComponent { private static Size BODY_WIDTH = new Size(0.65d, SizeUnit.in); private static Size BODY_LENGTH = new Size(0.8d, SizeUnit.in); - private Point[] controlPoints = new Point[] {new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0)}; private JackType type = JackType.MONO; private Orientation orientation = Orientation.DEFAULT; transient private Shape[] body; @@ -89,16 +89,16 @@ public class ClosedJack1_4 extends AbstractMultiPartComponent { private void updateControlPoints() { // invalidate body shape body = null; - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int spacing = (int) SPACING.convertToPixels(); int bodyLength = (int) BODY_LENGTH.convertToPixels(); - controlPoints = new Point[type == JackType.STEREO ? 3 : 2]; + controlPoints = new Point2D[type == JackType.STEREO ? 3 : 2]; - controlPoints[0] = new Point(x, y); - controlPoints[1] = new Point(x + bodyLength, y); + controlPoints[0] = new Point2D.Double(x, y); + controlPoints[1] = new Point2D.Double(x + bodyLength, y); if (type == JackType.STEREO) { - controlPoints[2] = new Point(x, y + 2 * spacing); + controlPoints[2] = new Point2D.Double(x, y + 2 * spacing); } // Apply rotation if necessary @@ -136,18 +136,18 @@ public class ClosedJack1_4 extends AbstractMultiPartComponent { body = new Shape[5]; // Create body. - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int lugWidth = (int) LUG_WIDTH.convertToPixels(); int lugLength = (int) LUG_LENGTH.convertToPixels(); int lugHoleSize = (int) LUG_HOLE_SIZE.convertToPixels(); int bodyLength = (int) BODY_LENGTH.convertToPixels(); int bodyWidth = (int) BODY_WIDTH.convertToPixels(); - body[0] = new Area(new Rectangle(x + lugLength, y - bodyWidth / 2, bodyLength, bodyWidth)); + body[0] = new Area(new Rectangle2D.Double(x + lugLength, y - bodyWidth / 2, bodyLength, bodyWidth)); int shaftLength = (int) SHAFT_LENGTH.convertToPixels(); int shaftWidth = (int) SHAFT_WIDTH.convertToPixels(); - Area shaft = new Area(new Rectangle(x + lugLength + bodyLength, y - shaftWidth / 2, shaftLength, shaftWidth)); + Area shaft = new Area(new Rectangle2D.Double(x + lugLength + bodyLength, y - shaftWidth / 2, shaftLength, shaftWidth)); body[1] = shaft; double angle = getAngle(); @@ -158,17 +158,17 @@ public class ClosedJack1_4 extends AbstractMultiPartComponent { GeneralPath path = new GeneralPath(); int step = 4; - for (int i = x + lugLength + bodyLength + step; i <= x + lugLength + bodyLength + shaftLength; i += step) { - Point p = new Point(i, y - shaftWidth / 2 + 1); + for (double i = x + lugLength + bodyLength + step; i <= x + lugLength + bodyLength + shaftLength; i += step) { + Point2D p = new Point2D.Double(i, y - shaftWidth / 2 + 1); if (rotation != null) { rotation.transform(p, p); } - path.moveTo(p.x, p.y); - p = new Point(i - step, y + shaftWidth / 2 - 1); + path.moveTo(p.getX(), p.getY()); + p = new Point2D.Double(i - step, y + shaftWidth / 2 - 1); if (rotation != null) { rotation.transform(p, p); } - path.lineTo(p.x, p.y); + path.lineTo(p.getX(), p.getY()); } // Area pathArea = new Area(path); // pathArea.intersect(shaft); @@ -178,19 +178,19 @@ public class ClosedJack1_4 extends AbstractMultiPartComponent { Area lugs = new Area(); int spacing = (int) SPACING.convertToPixels(); - Point[] untransformedControlPoints = new Point[type == JackType.STEREO ? 3 : 2]; + Point2D[] untransformedControlPoints = new Point2D[type == JackType.STEREO ? 3 : 2]; - untransformedControlPoints[0] = new Point(x, y); - untransformedControlPoints[1] = new Point(x + bodyLength, y); + untransformedControlPoints[0] = new Point2D.Double(x, y); + untransformedControlPoints[1] = new Point2D.Double(x + bodyLength, y); if (type == JackType.STEREO) { - untransformedControlPoints[2] = new Point(x, y + 2 * spacing); + untransformedControlPoints[2] = new Point2D.Double(x, y + 2 * spacing); } for (int i = 0; i < untransformedControlPoints.length; i++) { - Point point = untransformedControlPoints[i]; - Area lug = new Area(new Ellipse2D.Double(point.x - lugWidth / 2, point.y - lugWidth / 2, lugWidth, lugWidth)); - lug.add(new Area(new Rectangle(point.x, point.y - lugWidth / 2, lugLength, lugWidth))); - lug.subtract(new Area(new Ellipse2D.Double(point.x - lugHoleSize / 2, point.y - lugHoleSize / 2, lugHoleSize, + Point2D point = untransformedControlPoints[i]; + Area lug = new Area(new Ellipse2D.Double(point.getX() - lugWidth / 2, point.getY() - lugWidth / 2, lugWidth, lugWidth)); + lug.add(new Area(new Rectangle2D.Double(point.getX(), point.getY() - lugWidth / 2, lugLength, lugWidth))); + lug.subtract(new Area(new Ellipse2D.Double(point.getX() - lugHoleSize / 2, point.getY() - lugHoleSize / 2, lugHoleSize, lugHoleSize))); lugs.add(lug); } @@ -269,8 +269,8 @@ public class ClosedJack1_4 extends AbstractMultiPartComponent { g2d.setColor(finalLabelColor); g2d.setFont(project.getFont()); Rectangle bounds = body[0].getBounds(); - int centerX = bounds.x + bounds.width / 2; - int centerY = bounds.y + bounds.height / 2; + double centerX = bounds.getX() + bounds.width / 2; + double centerY = bounds.getY() + bounds.height / 2; StringUtils.drawCenteredText(g2d, name, centerX, centerY, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); drawSelectionOutline(g2d, componentState, outlineMode, project, drawingObserver); @@ -303,12 +303,12 @@ public class ClosedJack1_4 extends AbstractMultiPartComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/DIPSwitch.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/DIPSwitch.java index 87e5295e..1f3bc212 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/DIPSwitch.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/DIPSwitch.java @@ -26,10 +26,10 @@ import java.awt.Color; import java.awt.Composite; import java.awt.FontMetrics; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Rectangle; import java.awt.geom.AffineTransform; import java.awt.geom.Area; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -79,7 +79,7 @@ public class DIPSwitch extends AbstractTransparentComponent implements I private SwitchCount switchCount = SwitchCount._8; private Size pinSpacing = new Size(0.1d, SizeUnit.in); private Size rowSpacing = new Size(0.3d, SizeUnit.in); - private Point[] controlPoints = new Point[] {new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0)}; protected Display display = Display.NONE; private Color bodyColor = BODY_COLOR; private Color borderColor = BORDER_COLOR; @@ -179,7 +179,7 @@ public class DIPSwitch extends AbstractTransparentComponent implements I } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -194,14 +194,14 @@ public class DIPSwitch extends AbstractTransparentComponent implements I } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } private void updateControlPoints() { - Point firstPoint = controlPoints[0]; - controlPoints = new Point[switchCount.getValue() * 2]; + Point2D firstPoint = controlPoints[0]; + controlPoints = new Point2D[switchCount.getValue() * 2]; controlPoints[0] = firstPoint; double pinSpacing = this.pinSpacing.convertToPixels(); double rowSpacing = this.rowSpacing.convertToPixels(); @@ -239,16 +239,16 @@ public class DIPSwitch extends AbstractTransparentComponent implements I default: throw new RuntimeException("Unexpected orientation: " + orientation); } - controlPoints[i] = new Point((int) (firstPoint.x + dx1), (int) (firstPoint.y + dy1)); - controlPoints[i + switchCount.getValue()] = new Point((int) (firstPoint.x + dx2), (int) (firstPoint.y + dy2)); + controlPoints[i] = new Point2D.Double(firstPoint.getX() + dx1, firstPoint.getY() + dy1); + controlPoints[i + switchCount.getValue()] = new Point2D.Double(firstPoint.getX() + dx2, firstPoint.getY() + dy2); } } public Area[] getBody() { if (body == null) { body = new Area[3]; - double x = controlPoints[0].x; - double y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); double width; double height; double pinSpacing = this.pinSpacing.convertToPixels(); @@ -265,8 +265,8 @@ public class DIPSwitch extends AbstractTransparentComponent implements I x -= (bodyWidth - rowSpacing) / 2; y -= pinSpacing / 2; for (int i = 0; i < getSwitchCount().getValue(); i++) { - tickHoleArea.add(new Area(new Rectangle2D.Double(controlPoints[i].x + (rowSpacing - tickHoleLength) / 2, controlPoints[i].y - tickSize / 2, tickHoleLength, tickSize))); - tickArea.add(new Area(new Rectangle2D.Double(controlPoints[i].x + (rowSpacing - tickHoleLength) / 2, controlPoints[i].y - tickSize / 2, tickSize, tickSize))); + tickHoleArea.add(new Area(new Rectangle2D.Double(controlPoints[i].getX() + (rowSpacing - tickHoleLength) / 2, controlPoints[i].getY() - tickSize / 2, tickHoleLength, tickSize))); + tickArea.add(new Area(new Rectangle2D.Double(controlPoints[i].getX() + (rowSpacing - tickHoleLength) / 2, controlPoints[i].getY() - tickSize / 2, tickSize, tickSize))); } break; case _90: @@ -275,8 +275,8 @@ public class DIPSwitch extends AbstractTransparentComponent implements I x -= (pinSpacing / 2) + width - pinSpacing; y -= (bodyWidth - rowSpacing) / 2; for (int i = 0; i < getSwitchCount().getValue(); i++) { - tickHoleArea.add(new Area(new Rectangle2D.Double(controlPoints[i].x - tickSize / 2, controlPoints[i].y + (rowSpacing - tickHoleLength) / 2, tickSize, tickHoleLength))); - tickArea.add(new Area(new Rectangle2D.Double(controlPoints[i].x - tickSize / 2, controlPoints[i].y + (rowSpacing - tickHoleLength) / 2, tickSize, tickSize))); + tickHoleArea.add(new Area(new Rectangle2D.Double(controlPoints[i].getX() - tickSize / 2, controlPoints[i].getY() + (rowSpacing - tickHoleLength) / 2, tickSize, tickHoleLength))); + tickArea.add(new Area(new Rectangle2D.Double(controlPoints[i].getX() - tickSize / 2, controlPoints[i].getY() + (rowSpacing - tickHoleLength) / 2, tickSize, tickSize))); } break; case _180: @@ -285,8 +285,8 @@ public class DIPSwitch extends AbstractTransparentComponent implements I x -= rowSpacing + (bodyWidth - rowSpacing) / 2; y -= (pinSpacing / 2) + height - pinSpacing; for (int i = getSwitchCount().getValue(); i < controlPoints.length; i++) { - tickHoleArea.add(new Area(new Rectangle2D.Double(controlPoints[i].x + (rowSpacing - tickHoleLength) / 2, controlPoints[i].y - tickSize / 2, tickHoleLength, tickSize))); - tickArea.add(new Area(new Rectangle2D.Double(controlPoints[i].x + (rowSpacing + tickHoleLength) / 2 - tickSize, controlPoints[i].y - tickSize / 2, tickSize, tickSize))); + tickHoleArea.add(new Area(new Rectangle2D.Double(controlPoints[i].getX() + (rowSpacing - tickHoleLength) / 2, controlPoints[i].getY() - tickSize / 2, tickHoleLength, tickSize))); + tickArea.add(new Area(new Rectangle2D.Double(controlPoints[i].getX() + (rowSpacing + tickHoleLength) / 2 - tickSize, controlPoints[i].getY() - tickSize / 2, tickSize, tickSize))); } break; case _270: @@ -295,8 +295,8 @@ public class DIPSwitch extends AbstractTransparentComponent implements I x -= pinSpacing / 2; y -= rowSpacing + (bodyWidth - rowSpacing) / 2; for (int i = getSwitchCount().getValue(); i < controlPoints.length; i++) { - tickHoleArea.add(new Area(new Rectangle2D.Double(controlPoints[i].x - tickSize / 2, controlPoints[i].y + (rowSpacing - tickHoleLength) / 2, tickSize, tickHoleLength))); - tickArea.add(new Area(new Rectangle2D.Double(controlPoints[i].x - tickSize / 2, controlPoints[i].y + (rowSpacing - tickHoleLength) / 2 + tickHoleLength - tickSize, tickSize, tickSize))); + tickHoleArea.add(new Area(new Rectangle2D.Double(controlPoints[i].getX() - tickSize / 2, controlPoints[i].getY() + (rowSpacing - tickHoleLength) / 2, tickSize, tickHoleLength))); + tickArea.add(new Area(new Rectangle2D.Double(controlPoints[i].getX() - tickSize / 2, controlPoints[i].getY() + (rowSpacing - tickHoleLength) / 2 + tickHoleLength - tickSize, tickSize, tickSize))); } break; default: @@ -319,13 +319,13 @@ public class DIPSwitch extends AbstractTransparentComponent implements I Area mainArea = getBody()[0]; if (!outlineMode) { int pinSize = (int) PIN_SIZE.convertToPixels() / 2 * 2; - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { g2d.setColor(PIN_COLOR); int pinWidth = getClosestOdd(pinSize / (getOrientation() == Orientation.DEFAULT || getOrientation() == Orientation._180 ? 2f : 1f)); int pinHeight = getClosestOdd(pinSize / (getOrientation() == Orientation.DEFAULT || getOrientation() == Orientation._180 ? 1f : 2f)); - g2d.fillRect(point.x - pinWidth / 2, point.y - pinHeight / 2, pinWidth, pinHeight); + g2d.fillRect((int)(point.getX() - pinWidth / 2), (int)(point.getY() - pinHeight / 2), pinWidth, pinHeight); g2d.setColor(PIN_BORDER_COLOR); - g2d.drawRect(point.x - pinWidth / 2, point.y - pinHeight / 2, pinWidth, pinHeight); + g2d.drawRect((int)(point.getX() - pinWidth / 2), (int)(point.getY() - pinHeight / 2), pinWidth, pinHeight); } } Composite oldComposite = g2d.getComposite(); @@ -407,14 +407,14 @@ public class DIPSwitch extends AbstractTransparentComponent implements I int textWidth = (int) (rect.getWidth()); // Center text horizontally and vertically Rectangle bounds = mainArea.getBounds(); - int x = bounds.x + (bounds.width - textWidth) / 2; - int y = bounds.y + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); + double x = bounds.getX() + (bounds.width - textWidth) / 2; + double y = bounds.getY() + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); AffineTransform oldTransform = g2d.getTransform(); if (getOrientation() == Orientation.DEFAULT || getOrientation() == Orientation._180) { - int centerX = bounds.x + bounds.width / 2; - int centerY = bounds.y + bounds.height / 2; + double centerX = bounds.getX() + bounds.width / 2; + double centerY = bounds.getY() + bounds.height / 2; g2d.rotate(-Math.PI / 2, centerX, centerY); } @@ -425,7 +425,7 @@ public class DIPSwitch extends AbstractTransparentComponent implements I g2d.translate(0, textHeight / 2); } - g2d.drawString(l, x, y); + g2d.drawString(l, (int)x, (int)y); g2d.setTransform(oldTransform); } diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/FuseHolderPanel.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/FuseHolderPanel.java index 999a8091..d937ee85 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/FuseHolderPanel.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/FuseHolderPanel.java @@ -26,11 +26,11 @@ import java.awt.Color; import java.awt.Composite; import java.awt.FontMetrics; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -69,7 +69,7 @@ public class FuseHolderPanel extends AbstractMultiPartComponent { private static Color BORDER_COLOR = BODY_COLOR.darker(); private static Color LABEL_COLOR = Color.white; - protected Point[] controlPoints = new Point[] { new Point(0, 0), new Point(0, 0) }; + protected Point2D[] controlPoints = new Point2D[] { new Point2D.Double(0, 0), new Point2D.Double(0, 0) }; transient protected Area[] body; protected String name; protected String value = ""; @@ -87,14 +87,14 @@ public class FuseHolderPanel extends AbstractMultiPartComponent { } private void updateControlPoints() { - Point firstPoint = controlPoints[0]; + Point2D firstPoint = controlPoints[0]; int spacing = (int) SPACING.convertToPixels(); - controlPoints[1].setLocation(firstPoint.x + (orientation == OrientationHV.HORIZONTAL ? spacing : 0), firstPoint.y + (orientation == OrientationHV.HORIZONTAL ? 0 : spacing)); + controlPoints[1].setLocation(firstPoint.getX() + (orientation == OrientationHV.HORIZONTAL ? spacing : 0), firstPoint.getY() + (orientation == OrientationHV.HORIZONTAL ? 0 : spacing)); } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -114,7 +114,7 @@ public class FuseHolderPanel extends AbstractMultiPartComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); // Reset body shape. body = null; @@ -213,13 +213,13 @@ public class FuseHolderPanel extends AbstractMultiPartComponent { lugWidth = p; } - for (Point p : controlPoints) { + for (Point2D p : controlPoints) { if (outlineMode) { g2d.setColor(theme.getOutlineColor()); - g2d.drawRect(p.x - lugWidth / 2, p.y - lugHeight / 2, lugWidth, lugHeight); + g2d.drawRect((int)(p.getX() - lugWidth / 2), (int)(p.getY() - lugHeight / 2), lugWidth, lugHeight); } else { g2d.setColor(METAL_COLOR); - g2d.fillRect(p.x - lugWidth / 2, p.y - lugHeight / 2, lugWidth, lugHeight); + g2d.fillRect((int)(p.getX() - lugWidth / 2), (int)(p.getY() - lugHeight / 2), lugWidth, lugHeight); } } @@ -250,9 +250,9 @@ public class FuseHolderPanel extends AbstractMultiPartComponent { int textWidth = (int) (rect.getWidth()); // Center text horizontally and vertically Rectangle bounds = body[0].getBounds(); - int x = bounds.x + (bounds.width - textWidth) / 2; - int y = bounds.y + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); - g2d.drawString(label, x, y); + double x = bounds.getX() + (bounds.width - textWidth) / 2; + double y = bounds.getY() + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); + g2d.drawString(label, (int)x, (int)y); drawSelectionOutline(g2d, componentState, outlineMode, project, drawingObserver); } @@ -260,7 +260,7 @@ public class FuseHolderPanel extends AbstractMultiPartComponent { @Override public Area[] getBody() { if (body == null) { - Point firstPoint = controlPoints[0]; + Point2D firstPoint = controlPoints[0]; int spacing = (int) SPACING.convertToPixels(); int outerDiameter = (int) OUTER_DIAMETER.convertToPixels(); int innerDiameter = (int) INNER_DIAMETER.convertToPixels(); @@ -272,8 +272,8 @@ public class FuseHolderPanel extends AbstractMultiPartComponent { else dy = spacing / 2; body = new Area[2]; - body[0] = new Area(new Ellipse2D.Double(firstPoint.x + dx - outerDiameter / 2, firstPoint.y + dy - outerDiameter / 2, outerDiameter, outerDiameter)); - body[1] = new Area(new Ellipse2D.Double(firstPoint.x + dx - innerDiameter / 2, firstPoint.y + dy - innerDiameter / 2, innerDiameter, innerDiameter)); + body[0] = new Area(new Ellipse2D.Double(firstPoint.getX() + dx - outerDiameter / 2, firstPoint.getY() + dy - outerDiameter / 2, outerDiameter, outerDiameter)); + body[1] = new Area(new Ellipse2D.Double(firstPoint.getX() + dx - innerDiameter / 2, firstPoint.getY() + dy - innerDiameter / 2, innerDiameter, innerDiameter)); } return body; } diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/IECSocket.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/IECSocket.java index 6006cab5..82bf7026 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/IECSocket.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/IECSocket.java @@ -29,6 +29,7 @@ import java.awt.Point; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -79,7 +80,7 @@ public class IECSocket extends AbstractMultiPartComponent { private static Color BODY_COLOR = Color.decode("#555555"); private static Color BORDER_COLOR = BODY_COLOR.darker(); - protected Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, 0), new Point(0, 0)}; + protected Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; transient protected Area[] body; protected String name; protected String value; @@ -95,12 +96,12 @@ public class IECSocket extends AbstractMultiPartComponent { @SuppressWarnings("incomplete-switch") private void updateControlPoints() { - Point firstPoint = controlPoints[0]; + Point2D firstPoint = controlPoints[0]; int hSpacing = (int) HORIZONTAL_SPACING.convertToPixels(); int vSpacing = (int) VERTICAL_SPACING.convertToPixels(); - controlPoints[1].setLocation(firstPoint.x - hSpacing, firstPoint.y + vSpacing); - controlPoints[2].setLocation(firstPoint.x + hSpacing, firstPoint.y + vSpacing); + controlPoints[1].setLocation(firstPoint.getX() - hSpacing, firstPoint.getY() + vSpacing); + controlPoints[2].setLocation(firstPoint.getX() + hSpacing, firstPoint.getY() + vSpacing); if (orientation != Orientation.DEFAULT) { double theta = 0; @@ -115,7 +116,7 @@ public class IECSocket extends AbstractMultiPartComponent { theta = Math.PI * 3 / 2; break; } - AffineTransform rotation = AffineTransform.getRotateInstance(theta, firstPoint.x, firstPoint.y); + AffineTransform rotation = AffineTransform.getRotateInstance(theta, firstPoint.getX(), firstPoint.getY()); for (int i = 1; i < controlPoints.length; i++) { rotation.transform(controlPoints[i], controlPoints[i]); @@ -124,7 +125,7 @@ public class IECSocket extends AbstractMultiPartComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -144,7 +145,7 @@ public class IECSocket extends AbstractMultiPartComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); // Reset body shape. body = null; @@ -235,13 +236,13 @@ public class IECSocket extends AbstractMultiPartComponent { lugWidth = p; } - for (Point p : controlPoints) { + for (Point2D p : controlPoints) { if (outlineMode) { g2d.setColor(theme.getOutlineColor()); - g2d.drawRect(p.x - lugWidth / 2, p.y - lugHeight / 2, lugWidth, lugHeight); + g2d.drawRect((int)(p.getX() - lugWidth / 2), (int)(p.getY() - lugHeight / 2), lugWidth, lugHeight); } else { g2d.setColor(METAL_COLOR); - g2d.fillRect(p.x - lugWidth / 2, p.y - lugHeight / 2, lugWidth, lugHeight); + g2d.fillRect((int)(p.getX() - lugWidth / 2), (int)(p.getY() - lugHeight / 2), lugWidth, lugHeight); } } @@ -251,7 +252,7 @@ public class IECSocket extends AbstractMultiPartComponent { @SuppressWarnings("incomplete-switch") public Area[] getBody() { if (body == null) { - Point firstPoint = controlPoints[0]; + Point2D firstPoint = controlPoints[0]; int vSpacing = (int) VERTICAL_SPACING.convertToPixels(); double cutoutRadius; @@ -278,13 +279,13 @@ public class IECSocket extends AbstractMultiPartComponent { outerRadius = SIMPLE_OUTER_RADIUS.convertToPixels(); Point[] outerPoints = new Point[] { - new Point((int) Math.round(firstPoint.x), (int) Math.round(firstPoint.y + vSpacing / 2 - baseWidth / 2)), - new Point((int) Math.round(firstPoint.x + baseLength / 2), (int) Math.round(firstPoint.y + vSpacing / 2 - baseWidth / 2)), - new Point((int) Math.round(firstPoint.x + length / 2), (int) Math.round(firstPoint.y + vSpacing / 2)), - new Point((int) Math.round(firstPoint.x + baseLength / 2), (int) Math.round(firstPoint.y + vSpacing / 2 + baseWidth / 2)), - new Point((int) Math.round(firstPoint.x - baseLength / 2), (int) Math.round(firstPoint.y + vSpacing / 2 + baseWidth / 2)), - new Point((int) Math.round(firstPoint.x - length / 2), (int) Math.round(firstPoint.y + vSpacing / 2)), - new Point((int) Math.round(firstPoint.x - baseLength / 2), (int) Math.round(firstPoint.y + vSpacing / 2 - baseWidth / 2)), + new Point((int) Math.round(firstPoint.getX()), (int) Math.round(firstPoint.getY() + vSpacing / 2 - baseWidth / 2)), + new Point((int) Math.round(firstPoint.getX() + baseLength / 2), (int) Math.round(firstPoint.getY() + vSpacing / 2 - baseWidth / 2)), + new Point((int) Math.round(firstPoint.getX() + length / 2), (int) Math.round(firstPoint.getY() + vSpacing / 2)), + new Point((int) Math.round(firstPoint.getX() + baseLength / 2), (int) Math.round(firstPoint.getY() + vSpacing / 2 + baseWidth / 2)), + new Point((int) Math.round(firstPoint.getX() - baseLength / 2), (int) Math.round(firstPoint.getY() + vSpacing / 2 + baseWidth / 2)), + new Point((int) Math.round(firstPoint.getX() - length / 2), (int) Math.round(firstPoint.getY() + vSpacing / 2)), + new Point((int) Math.round(firstPoint.getX() - baseLength / 2), (int) Math.round(firstPoint.getY() + vSpacing / 2 - baseWidth / 2)), }; double[] outerRadiuses = new double[] { @@ -297,19 +298,19 @@ public class IECSocket extends AbstractMultiPartComponent { }; body[0] = new Area(new RoundedPolygon(outerPoints, outerRadiuses)); - body[0].subtract(new Area(new Ellipse2D.Double(firstPoint.x - holeSpacing / 2 - holeDiameter / 2, firstPoint.y + vSpacing / 2 - holeDiameter / 2, holeDiameter, holeDiameter))); - body[0].subtract(new Area(new Ellipse2D.Double(firstPoint.x + holeSpacing / 2 - holeDiameter / 2, firstPoint.y + vSpacing / 2 - holeDiameter / 2, holeDiameter, holeDiameter))); + body[0].subtract(new Area(new Ellipse2D.Double(firstPoint.getX() - holeSpacing / 2 - holeDiameter / 2, firstPoint.getY() + vSpacing / 2 - holeDiameter / 2, holeDiameter, holeDiameter))); + body[0].subtract(new Area(new Ellipse2D.Double(firstPoint.getX() + holeSpacing / 2 - holeDiameter / 2, firstPoint.getY() + vSpacing / 2 - holeDiameter / 2, holeDiameter, holeDiameter))); - body[1] = new Area(new RoundRectangle2D.Double(firstPoint.x - baseLength / 2, firstPoint.y + vSpacing / 2 - baseWidth / 2, baseLength, baseWidth, baseRadius, baseRadius)); + body[1] = new Area(new RoundRectangle2D.Double(firstPoint.getX() - baseLength / 2, firstPoint.getY() + vSpacing / 2 - baseWidth / 2, baseLength, baseWidth, baseRadius, baseRadius)); - Point[] cutoutPoints = new Point[] { - new Point(firstPoint.x, (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2)), - new Point((int) (firstPoint.x + cutoutLength / 2 - cutoutSlant), (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2)), - new Point((int) (firstPoint.x + cutoutLength / 2), (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2 + cutoutSlant)), - new Point((int) (firstPoint.x + cutoutLength / 2), (int) (firstPoint.y + vSpacing / 2 + cutoutWidth / 2)), - new Point((int) (firstPoint.x - cutoutLength / 2), (int) (firstPoint.y + vSpacing / 2 + cutoutWidth / 2)), - new Point((int) (firstPoint.x - cutoutLength / 2), (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2 + cutoutSlant)), - new Point((int) (firstPoint.x - cutoutLength / 2 + cutoutSlant), (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2)), + Point2D[] cutoutPoints = new Point2D[] { + new Point2D.Double(firstPoint.getX(), firstPoint.getY() + vSpacing / 2 - cutoutWidth / 2), + new Point2D.Double(firstPoint.getX() + cutoutLength / 2 - cutoutSlant, (int) (firstPoint.getY() + vSpacing / 2 - cutoutWidth / 2)), + new Point2D.Double(firstPoint.getX() + cutoutLength / 2, firstPoint.getY() + vSpacing / 2 - cutoutWidth / 2 + cutoutSlant), + new Point2D.Double(firstPoint.getX() + cutoutLength / 2, firstPoint.getY() + vSpacing / 2 + cutoutWidth / 2), + new Point2D.Double(firstPoint.getX() - cutoutLength / 2, firstPoint.getY() + vSpacing / 2 + cutoutWidth / 2), + new Point2D.Double(firstPoint.getX() - cutoutLength / 2, firstPoint.getY() + vSpacing / 2 - cutoutWidth / 2 + cutoutSlant), + new Point2D.Double(firstPoint.getX() - cutoutLength / 2 + cutoutSlant, firstPoint.getY() + vSpacing / 2 - cutoutWidth / 2), }; double[] cutoutRadiuses = new double[] { @@ -331,7 +332,7 @@ public class IECSocket extends AbstractMultiPartComponent { theta = Math.PI * 3 / 2; break; } - AffineTransform rotation = AffineTransform.getRotateInstance(theta, firstPoint.x, firstPoint.y); + AffineTransform rotation = AffineTransform.getRotateInstance(theta, firstPoint.getX(), firstPoint.getY()); for (Area a : body) if (a != null) a.transform(rotation); diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/MiniRelay.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/MiniRelay.java index 8523a383..75730776 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/MiniRelay.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/MiniRelay.java @@ -21,35 +21,35 @@ */ package org.diylc.components.electromechanical; -import java.awt.AlphaComposite; -import java.awt.Color; -import java.awt.Composite; -import java.awt.FontMetrics; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Rectangle; -import java.awt.geom.Area; -import java.awt.geom.Rectangle2D; -import java.awt.geom.RoundRectangle2D; +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Composite; +import java.awt.FontMetrics; +import java.awt.Graphics2D; +import java.awt.Rectangle; +import java.awt.geom.Area; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; +import java.awt.geom.RoundRectangle2D; -import org.diylc.appframework.miscutils.ConfigurationManager; -import org.diylc.common.Display; -import org.diylc.common.IPlugInPort; -import org.diylc.common.ObjectCache; -import org.diylc.common.Orientation; -import org.diylc.components.AbstractTransparentComponent; -import org.diylc.core.ComponentState; -import org.diylc.core.IDIYComponent; -import org.diylc.core.IDrawingObserver; -import org.diylc.core.Project; -import org.diylc.core.Theme; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.ComponentDescriptor; -import org.diylc.core.annotations.EditableProperty; -import org.diylc.core.measures.Size; -import org.diylc.core.measures.SizeUnit; -import org.diylc.core.measures.Voltage; -import org.diylc.core.measures.VoltageUnit; +import org.diylc.appframework.miscutils.ConfigurationManager; +import org.diylc.common.Display; +import org.diylc.common.IPlugInPort; +import org.diylc.common.ObjectCache; +import org.diylc.common.Orientation; +import org.diylc.components.AbstractTransparentComponent; +import org.diylc.core.ComponentState; +import org.diylc.core.IDIYComponent; +import org.diylc.core.IDrawingObserver; +import org.diylc.core.Project; +import org.diylc.core.Theme; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.measures.Size; +import org.diylc.core.measures.SizeUnit; +import org.diylc.core.measures.Voltage; +import org.diylc.core.measures.VoltageUnit; import org.diylc.utils.Constants; @ComponentDescriptor(name = "Mini Relay", author = "Branislav Stojkovic", category = "Electro-Mechanical", @@ -85,7 +85,7 @@ public class MiniRelay extends AbstractTransparentComponent { private String value = ""; private Orientation orientation = Orientation.DEFAULT; - private Point[] controlPoints = new Point[] {new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0)}; protected Display display = Display.NAME; private RelayType type = RelayType.DPDT; private RelaySize size = RelaySize.Miniature; @@ -136,7 +136,7 @@ public class MiniRelay extends AbstractTransparentComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -151,13 +151,13 @@ public class MiniRelay extends AbstractTransparentComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } private void updateControlPoints() { - Point firstPoint = controlPoints[0]; + Point2D firstPoint = controlPoints[0]; int pinCount = 0; switch (type) { case DPDT: @@ -169,7 +169,7 @@ public class MiniRelay extends AbstractTransparentComponent { default: throw new RuntimeException("Unexpected type: " + type); } - controlPoints = new Point[pinCount]; + controlPoints = new Point2D[pinCount]; controlPoints[0] = firstPoint; int pinSpacing = size == RelaySize.Miniature ? (int) MINI_PIN_SPACING.convertToPixels() : (int) ULTRA_PIN_SPACING @@ -218,18 +218,18 @@ public class MiniRelay extends AbstractTransparentComponent { default: throw new RuntimeException("Unexpected orientation: " + orientation); } - controlPoints[i] = new Point(firstPoint.x + dx1, firstPoint.y + dy1); - controlPoints[i + pinCount / 2] = new Point(firstPoint.x + dx2, firstPoint.y + dy2); + controlPoints[i] = new Point2D.Double(firstPoint.getX() + dx1, firstPoint.getY() + dy1); + controlPoints[i + pinCount / 2] = new Point2D.Double(firstPoint.getX() + dx2, firstPoint.getY() + dy2); } } public Area[] getBody() { if (body == null) { body = new Area[2]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; - int centerX = (controlPoints[0].x + controlPoints[controlPoints.length - 1].x) / 2; - int centerY = (controlPoints[0].y + controlPoints[controlPoints.length - 1].y) / 2; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); + double centerX = (controlPoints[0].getX() + controlPoints[controlPoints.length - 1].getX()) / 2; + double centerY = (controlPoints[0].getY() + controlPoints[controlPoints.length - 1].getY()) / 2; int bodyMargin = getClosestOdd(BODY_MARGIN.convertToPixels()); int width = 0; int height = 0; @@ -308,13 +308,13 @@ public class MiniRelay extends AbstractTransparentComponent { Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME); int pinSize = (int) PIN_SIZE.convertToPixels() / 2 * 2; - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { if (!outlineMode) { g2d.setColor(PIN_COLOR); - g2d.fillOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.fillOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } g2d.setColor(outlineMode ? theme.getOutlineColor() : PIN_BORDER_COLOR); - g2d.drawOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.drawOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } Color finalBorderColor; @@ -367,9 +367,9 @@ public class MiniRelay extends AbstractTransparentComponent { int textWidth = (int) (rect.getWidth()); // Center text horizontally and vertically Rectangle bounds = mainArea.getBounds(); - int x = bounds.x + (bounds.width - textWidth) / 2; - int y = bounds.y + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); - g2d.drawString(label, x, y); + double x = bounds.getX() + (bounds.width - textWidth) / 2; + double y = bounds.getY() + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); + g2d.drawString(label, (int)x, (int)y); } @Override @@ -434,21 +434,21 @@ public class MiniRelay extends AbstractTransparentComponent { @Override public Rectangle2D getCachingBounds() { - int minX = Integer.MAX_VALUE; - int maxX = Integer.MIN_VALUE; - int minY = Integer.MAX_VALUE; - int maxY = Integer.MIN_VALUE; - int margin = 50; + double minX = Integer.MAX_VALUE; + double maxX = Integer.MIN_VALUE; + double minY = Integer.MAX_VALUE; + double maxY = Integer.MIN_VALUE; + double margin = 50; for (int i = 0; i < getControlPointCount(); i++) { - Point p = getControlPoint(i); - if (p.x < minX) - minX = p.x; - if (p.x > maxX) - maxX = p.x; - if (p.y < minY) - minY = p.y; - if (p.y > maxY) - maxY = p.y; + Point2D p = getControlPoint(i); + if (p.getX() < minX) + minX = p.getX(); + if (p.getX() > maxX) + maxX = p.getX(); + if (p.getY() < minY) + minY = p.getY(); + if (p.getY() > maxY) + maxY = p.getY(); } return new Rectangle2D.Double(minX - margin, minY - margin, maxX - minX + 2 * margin, maxY - minY + 2 * margin); diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/MiniToggleSwitch.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/MiniToggleSwitch.java index bccab91d..2708fb10 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/MiniToggleSwitch.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/MiniToggleSwitch.java @@ -25,10 +25,10 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -68,7 +68,7 @@ public class MiniToggleSwitch extends AbstractTransparentComponent { private static Size HOLE_TO_EDGE = new Size(0.063d, SizeUnit.in); private String value = ""; - private Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, 0), new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; transient Area[] body; @Deprecated private Orientation orientation = Orientation.DEFAULT; @@ -161,27 +162,27 @@ public class OpenJack1_4 extends AbstractMultiPartComponent { g2d.setFont(project.getFont().deriveFont(project.getFont().getSize2D() * 0.8f)); int springLength = (int) SPRING_LENGTH.convertToPixels(); int holeToEdge = (int) HOLE_TO_EDGE.convertToPixels(); - int centerY = controlPoints[0].y + springLength - holeToEdge; - Point tipLabel = new Point(controlPoints[0].x, (int) (controlPoints[0].y + holeToEdge * 1.25)); - AffineTransform ringTransform = AffineTransform.getRotateInstance(getType() == OpenJackType.SWITCHED ? SWITCH_THETA : RING_THETA, controlPoints[0].x, centerY); - AffineTransform sleeveTransform = AffineTransform.getRotateInstance(getType() == OpenJackType.SWITCHED ? SLEEVE_SWITCHED_THETA : SLEEVE_THETA, controlPoints[0].x, centerY); + double centerY = controlPoints[0].getY() + springLength - holeToEdge; + Point2D tipLabel = new Point2D.Double(controlPoints[0].getX(), (int) (controlPoints[0].getY() + holeToEdge * 1.25)); + AffineTransform ringTransform = AffineTransform.getRotateInstance(getType() == OpenJackType.SWITCHED ? SWITCH_THETA : RING_THETA, controlPoints[0].getX(), centerY); + AffineTransform sleeveTransform = AffineTransform.getRotateInstance(getType() == OpenJackType.SWITCHED ? SLEEVE_SWITCHED_THETA : SLEEVE_THETA, controlPoints[0].getX(), centerY); Point ringOrSwitchLabel = new Point(0, 0); Point sleeveLabel = new Point(0, 0); ringTransform.transform(tipLabel, ringOrSwitchLabel); sleeveTransform.transform(tipLabel, sleeveLabel); if (getTheta() != 0) { - AffineTransform rotation = AffineTransform.getRotateInstance(getTheta(), controlPoints[0].x, controlPoints[0].y); + AffineTransform rotation = AffineTransform.getRotateInstance(getTheta(), controlPoints[0].getX(), controlPoints[0].getY()); rotation.transform(tipLabel, tipLabel); rotation.transform(ringOrSwitchLabel, ringOrSwitchLabel); rotation.transform(sleeveLabel, sleeveLabel); } - StringUtils.drawCenteredText(g2d, "T", tipLabel.x, tipLabel.y, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); - StringUtils.drawCenteredText(g2d, "S", sleeveLabel.x, sleeveLabel.y, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); + StringUtils.drawCenteredText(g2d, "T", tipLabel.getX(), tipLabel.getY(), HorizontalAlignment.CENTER, VerticalAlignment.CENTER); + StringUtils.drawCenteredText(g2d, "S", sleeveLabel.getX(), sleeveLabel.getY(), HorizontalAlignment.CENTER, VerticalAlignment.CENTER); if (getType() == OpenJackType.STEREO) - StringUtils.drawCenteredText(g2d, "R", ringOrSwitchLabel.x, ringOrSwitchLabel.y, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); + StringUtils.drawCenteredText(g2d, "R", ringOrSwitchLabel.getX(), ringOrSwitchLabel.getY(), HorizontalAlignment.CENTER, VerticalAlignment.CENTER); if (getType() == OpenJackType.SWITCHED) - StringUtils.drawCenteredText(g2d, "Sw", ringOrSwitchLabel.x, ringOrSwitchLabel.y, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); + StringUtils.drawCenteredText(g2d, "Sw", ringOrSwitchLabel.getX(), ringOrSwitchLabel.getY(), HorizontalAlignment.CENTER, VerticalAlignment.CENTER); } drawSelectionOutline(g2d, componentState, outlineMode, project, drawingObserver); @@ -191,8 +192,8 @@ public class OpenJack1_4 extends AbstractMultiPartComponent { if (body == null) { body = new Area[4]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int outerDiameter = getClosestOdd(OUTER_DIAMETER.convertToPixels()); int innerDiameter = getClosestOdd(INNER_DIAMETER.convertToPixels()); int ringDiameter = getClosestOdd(RING_DIAMETER.convertToPixels()); @@ -201,7 +202,7 @@ public class OpenJack1_4 extends AbstractMultiPartComponent { int holeDiameter = getClosestOdd(HOLE_DIAMETER.convertToPixels()); int holeToEdge = (int) HOLE_TO_EDGE.convertToPixels(); - int centerY = y + springLength - holeToEdge; + double centerY = y + springLength - holeToEdge; Area wafer = new Area(new Ellipse2D.Double(x - outerDiameter / 2, centerY - outerDiameter / 2, outerDiameter, @@ -264,13 +265,13 @@ public class OpenJack1_4 extends AbstractMultiPartComponent { } private void updateControlPoints() { - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int springLength = (int) SPRING_LENGTH.convertToPixels(); int holeToEdge = (int) HOLE_TO_EDGE.convertToPixels(); - int centerY = y + springLength - holeToEdge; + double centerY = y + springLength - holeToEdge; AffineTransform.getRotateInstance(getType() == OpenJackType.SWITCHED ? SLEEVE_SWITCHED_THETA : SLEEVE_THETA, x, centerY).transform(controlPoints[0], controlPoints[1]); AffineTransform.getRotateInstance(getType() == OpenJackType.SWITCHED ? SWITCH_THETA : RING_THETA, x, centerY).transform(controlPoints[0], controlPoints[2]); @@ -278,7 +279,7 @@ public class OpenJack1_4 extends AbstractMultiPartComponent { // Rotate if needed if (getTheta() != 0) { AffineTransform rotation = AffineTransform.getRotateInstance(getTheta(), x, y); - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { rotation.transform(point, point); } } @@ -328,12 +329,12 @@ public class OpenJack1_4 extends AbstractMultiPartComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.controlPoints[index].setLocation(point); // Invalidate the body body = null; diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/PilotLampHolder.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/PilotLampHolder.java index 67b42e2d..f7fd2ccc 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/PilotLampHolder.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/PilotLampHolder.java @@ -25,12 +25,12 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.Path2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -76,7 +76,7 @@ public class PilotLampHolder extends AbstractMultiPartComponent { private static Size HOLE_SPACING = new Size(0.1d, SizeUnit.in); private String value = ""; - private Point[] controlPoints = new Point[] { new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0) }; + private Point2D[] controlPoints = new Point2D[] { new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0) }; transient Area[] body; @Deprecated private Orientation orientation = Orientation.DEFAULT; @@ -162,8 +162,8 @@ public class PilotLampHolder extends AbstractMultiPartComponent { if (body == null) { body = new Area[6]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int threadOuterDiameter = getClosestOdd(THREAD_OUTER_DIAMETER.convertToPixels()); int threadThickness = getClosestOdd(THREAD_THICKNESS.convertToPixels()); int nutDiameter = getClosestOdd(NUT_DIAMETER.convertToPixels()); @@ -175,7 +175,7 @@ public class PilotLampHolder extends AbstractMultiPartComponent { int holeDiameter = getClosestOdd(HOLE_DIAMETER.convertToPixels()); int holeToEdge = (int) HOLE_TO_EDGE.convertToPixels(); - int centerY = y + springLength - holeToEdge; + double centerY = y + springLength - holeToEdge; Area wafer = new Area(new Ellipse2D.Double(x - waferDiameter / 2, centerY - waferDiameter / 2, waferDiameter, @@ -244,34 +244,34 @@ public class PilotLampHolder extends AbstractMultiPartComponent { } for (int i = 1; i <= 2; i++) - for (Point p : controlPoints) - body[i].subtract(new Area(new Ellipse2D.Double(p.x - holeDiameter / 2, p.y - holeDiameter / 2, holeDiameter, holeDiameter))); + for (Point2D p : controlPoints) + body[i].subtract(new Area(new Ellipse2D.Double(p.getX() - holeDiameter / 2, p.getY() - holeDiameter / 2, holeDiameter, holeDiameter))); } return body; } private void updateControlPoints() { - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int springLength = (int) SPRING_LENGTH.convertToPixels(); int holeToEdge = (int) HOLE_TO_EDGE.convertToPixels(); int holeSpacing = (int) HOLE_SPACING.convertToPixels(); - int centerY = y + springLength - holeToEdge; + double centerY = y + springLength - holeToEdge; AffineTransform rotation = AffineTransform.getRotateInstance(Math.PI * 0.295, x, centerY); rotation.transform(controlPoints[0], controlPoints[1]); - controlPoints[2].setLocation(controlPoints[0].x, controlPoints[0].y + holeSpacing); + controlPoints[2].setLocation(controlPoints[0].getX(), controlPoints[0].getY() + holeSpacing); rotation.transform(controlPoints[2], controlPoints[3]); // Rotate if needed if (getTheta() != 0) { rotation = AffineTransform.getRotateInstance(getTheta(), x, y); - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { rotation.transform(point, point); } } @@ -365,12 +365,12 @@ public class PilotLampHolder extends AbstractMultiPartComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.controlPoints[index].setLocation(point); // Invalidate the body body = null; diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/PinHeader.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/PinHeader.java index bab9bb5b..c8ff1044 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/PinHeader.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/PinHeader.java @@ -29,6 +29,7 @@ import java.awt.Point; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -65,7 +66,7 @@ public class PinHeader extends AbstractTransparentComponent { private Orientation orientation = Orientation.DEFAULT; - private Point[] controlPoints = new Point[] {new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0)}; private int rowCount = 2; private int columnCount = 5; private Size spacing = PIN_SPACING; @@ -99,7 +100,7 @@ public class PinHeader extends AbstractTransparentComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -114,26 +115,26 @@ public class PinHeader extends AbstractTransparentComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } private void updateControlPoints() { - Point firstPoint = controlPoints[0]; + Point2D firstPoint = controlPoints[0]; int pinCount = rowCount * columnCount; - controlPoints = new Point[pinCount]; + controlPoints = new Point2D[pinCount]; controlPoints[0] = firstPoint; double pinSpacing = spacing.convertToPixels(); for (int i = 0; i < columnCount; i++) for (int j = 0; j < rowCount; j++) - controlPoints[i + j * columnCount] = new Point((int)Math.round(firstPoint.x + j * pinSpacing), (int)Math.round(firstPoint.y + i * pinSpacing)); + controlPoints[i + j * columnCount] = new Point((int)Math.round(firstPoint.getX() + j * pinSpacing), (int)Math.round(firstPoint.getY() + i * pinSpacing)); // Apply rotation if necessary double angle = getAngle(); if (angle != 0) { - AffineTransform rotation = AffineTransform.getRotateInstance(angle, controlPoints[0].x, controlPoints[0].y); + AffineTransform rotation = AffineTransform.getRotateInstance(angle, controlPoints[0].getX(), controlPoints[0].getY()); for (int i = 1; i < controlPoints.length; i++) { rotation.transform(controlPoints[i], controlPoints[i]); } @@ -163,11 +164,11 @@ public class PinHeader extends AbstractTransparentComponent { public Area[] getBody() { if (body == null) { body = new Area[2]; - int centerX = (controlPoints[0].x + controlPoints[controlPoints.length - 1].x) / 2; - int centerY = (controlPoints[0].y + controlPoints[controlPoints.length - 1].y) / 2; + double centerX = (controlPoints[0].getX() + controlPoints[controlPoints.length - 1].getX()) / 2; + double centerY = (controlPoints[0].getY() + controlPoints[controlPoints.length - 1].getY()) / 2; double pinSpacing = spacing.convertToPixels(); - double width = Math.abs((controlPoints[0].x - controlPoints[controlPoints.length - 1].x)) + pinSpacing; - double height = Math.abs((controlPoints[0].y - controlPoints[controlPoints.length - 1].y)) + pinSpacing; + double width = Math.abs((controlPoints[0].getX() - controlPoints[controlPoints.length - 1].getX())) + pinSpacing; + double height = Math.abs((controlPoints[0].getY() - controlPoints[controlPoints.length - 1].getY())) + pinSpacing; if (shrouded) { if (orientation == Orientation.DEFAULT || orientation == Orientation._180) { height += 2 * pinSpacing; @@ -236,13 +237,13 @@ public class PinHeader extends AbstractTransparentComponent { Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME); int pinSize = (int) PIN_SIZE.convertToPixels() / 2 * 2; - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { if (!outlineMode) { g2d.setColor(PIN_COLOR); - g2d.fillRect(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.fillRect((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } g2d.setColor(outlineMode ? theme.getOutlineColor() : PIN_BORDER_COLOR); - g2d.drawRect(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.drawRect((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } Color finalBorderColor; @@ -358,21 +359,21 @@ public class PinHeader extends AbstractTransparentComponent { @Override public Rectangle2D getCachingBounds() { - int minX = Integer.MAX_VALUE; - int maxX = Integer.MIN_VALUE; - int minY = Integer.MAX_VALUE; - int maxY = Integer.MIN_VALUE; + double minX = Integer.MAX_VALUE; + double maxX = Integer.MIN_VALUE; + double minY = Integer.MAX_VALUE; + double maxY = Integer.MIN_VALUE; int margin = 50; for (int i = 0; i < getControlPointCount(); i++) { - Point p = getControlPoint(i); - if (p.x < minX) - minX = p.x; - if (p.x > maxX) - maxX = p.x; - if (p.y < minY) - minY = p.y; - if (p.y > maxY) - maxY = p.y; + Point2D p = getControlPoint(i); + if (p.getX() < minX) + minX = p.getX(); + if (p.getX() > maxX) + maxX = p.getX(); + if (p.getY() < minY) + minY = p.getY(); + if (p.getY() > maxY) + maxY = p.getY(); } return new Rectangle2D.Double(minX - margin, minY - margin, maxX - minX + 2 * margin, maxY - minY + 2 * margin); diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/PlasticDCJack.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/PlasticDCJack.java index f593d4e2..6330abd1 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/PlasticDCJack.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/PlasticDCJack.java @@ -25,11 +25,10 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -67,7 +66,7 @@ public class PlasticDCJack extends AbstractMultiPartComponent { private static Color BORDER_COLOR = Color.black; private static Color MARKING_COLOR = Color.lightGray; - private Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, 0), new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; private String value = ""; private DCPolarity polarity = DCPolarity.CENTER_NEGATIVE; transient private Area[] body; @@ -80,12 +79,12 @@ public class PlasticDCJack extends AbstractMultiPartComponent { // invalidate body shape body = null; - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int spacing = (int) SPACING.convertToPixels(); - controlPoints[1] = new Point(x + spacing, y + spacing); - controlPoints[2] = new Point(x - spacing, y + spacing * 2); + controlPoints[1] = new Point2D.Double(x + spacing, y + spacing); + controlPoints[2] = new Point2D.Double(x - spacing, y + spacing * 2); } @Override @@ -93,36 +92,36 @@ public class PlasticDCJack extends AbstractMultiPartComponent { if (body == null) { body = new Area[4]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int spacing = (int) SPACING.convertToPixels(); int diameter = getClosestOdd(DIAMETER.convertToPixels()); body[0] = new Area(new Ellipse2D.Double(x - diameter / 2, y + spacing - diameter / 2, diameter, diameter)); int rectWidth = (int) (diameter / Math.sqrt(2)) - 2; - body[1] = new Area(new Rectangle(x - rectWidth / 2, y + spacing - rectWidth / 2, rectWidth, rectWidth)); + body[1] = new Area(new Rectangle2D.Double(x - rectWidth / 2, y + spacing - rectWidth / 2, rectWidth, rectWidth)); int lugWidth = getClosestOdd(LUG_WIDTH.convertToPixels()); int lugThickness = getClosestOdd(LUG_THICKNESS.convertToPixels()); - Point groundPoint = controlPoints[controlPoints.length - 1]; + Point2D groundPoint = controlPoints[controlPoints.length - 1]; Area groundLug = - new Area(new Ellipse2D.Double(groundPoint.x + spacing - lugWidth / 2, groundPoint.y - lugWidth / 2, lugWidth, + new Area(new Ellipse2D.Double(groundPoint.getX() + spacing - lugWidth / 2, groundPoint.getY() - lugWidth / 2, lugWidth, lugWidth)); - groundLug.add(new Area(new Rectangle(groundPoint.x, groundPoint.y - lugWidth / 2, spacing, lugWidth))); - groundLug.subtract(new Area(new Ellipse2D.Double(groundPoint.x + spacing - lugWidth / 6, groundPoint.y - lugWidth + groundLug.add(new Area(new Rectangle2D.Double(groundPoint.getX(), groundPoint.getY() - lugWidth / 2, spacing, lugWidth))); + groundLug.subtract(new Area(new Ellipse2D.Double(groundPoint.getX() + spacing - lugWidth / 6, groundPoint.getY() - lugWidth / 6, lugWidth / 3, lugWidth / 3))); body[2] = groundLug; Area lugArea = new Area(); for (int i = 0; i < controlPoints.length; i++) { - Point point = controlPoints[i]; + Point2D point = controlPoints[i]; if (i == getControlPointCount() - 1) { lugArea.add(new Area( - new Rectangle(point.x - lugThickness / 2, point.y - lugWidth / 2, lugThickness, lugWidth))); + new Rectangle2D.Double(point.getX() - lugThickness / 2, point.getY() - lugWidth / 2, lugThickness, lugWidth))); } else { lugArea.add(new Area( - new Rectangle(point.x - lugWidth / 2, point.y - lugThickness / 2, lugWidth, lugThickness))); + new Rectangle2D.Double(point.getX() - lugWidth / 2, point.getY() - lugThickness / 2, lugWidth, lugThickness))); } } body[3] = lugArea; @@ -184,10 +183,10 @@ public class PlasticDCJack extends AbstractMultiPartComponent { int spacing = (int) SPACING.convertToPixels(); g2d.setColor(MARKING_COLOR); g2d.setFont(project.getFont().deriveFont(12f)); - StringUtils.drawCenteredText(g2d, getPolarity() == DCPolarity.CENTER_NEGATIVE ? "+" : "-", controlPoints[0].x, - controlPoints[0].y - spacing * 7 / 16, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); - StringUtils.drawCenteredText(g2d, getPolarity() == DCPolarity.CENTER_NEGATIVE ? "_" : "+", controlPoints[2].x, - controlPoints[2].y - spacing * 3 / 4, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); + StringUtils.drawCenteredText(g2d, getPolarity() == DCPolarity.CENTER_NEGATIVE ? "+" : "-", controlPoints[0].getX(), + controlPoints[0].getY() - spacing * 7 / 16, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); + StringUtils.drawCenteredText(g2d, getPolarity() == DCPolarity.CENTER_NEGATIVE ? "_" : "+", controlPoints[2].getX(), + controlPoints[2].getY() - spacing * 3 / 4, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); } drawSelectionOutline(g2d, componentState, outlineMode, project, drawingObserver); @@ -222,12 +221,12 @@ public class PlasticDCJack extends AbstractMultiPartComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); this.body = null; } diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/RCAJack.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/RCAJack.java index 68ae0876..6ac6a1a9 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/RCAJack.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/RCAJack.java @@ -25,7 +25,6 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; @@ -71,7 +70,7 @@ public class RCAJack extends AbstractMultiPartComponent { private static Size HOLE_TO_EDGE = new Size(0.063d, SizeUnit.in); private String value = ""; - private Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, 0) }; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0) }; transient Area[] body; private Orientation orientation = Orientation.DEFAULT; @@ -147,10 +146,10 @@ public class RCAJack extends AbstractMultiPartComponent { if (body == null) { body = new Area[4]; - int x0 = controlPoints[0].x; - int y0 = controlPoints[0].y; - int x1 = controlPoints[1].x; - int y1 = controlPoints[1].y; + double x0 = controlPoints[0].getX(); + double y0 = controlPoints[0].getY(); + double x1 = controlPoints[1].getX(); + double y1 = controlPoints[1].getY(); int bodyDiameter = getClosestOdd(BODY_DIAMETER.convertToPixels()); int waferDiameter = getClosestOdd(WAFER_DIAMETER.convertToPixels()); int springWidth = (int) SPRING_WIDTH.convertToPixels(); @@ -202,13 +201,13 @@ public class RCAJack extends AbstractMultiPartComponent { @SuppressWarnings("incomplete-switch") private void updateControlPoints() { - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int springLength = (int) SPRING_LENGTH.convertToPixels(); int holeToEdge = (int) HOLE_TO_EDGE.convertToPixels(); - int centerY = y + springLength - holeToEdge; + double centerY = y + springLength - holeToEdge; controlPoints[1].setLocation(x, centerY); @@ -284,12 +283,12 @@ public class RCAJack extends AbstractMultiPartComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.controlPoints[index].setLocation(point); // Invalidate the body body = null; diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/RotarySelectorSwitch.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/RotarySelectorSwitch.java index 7b80e327..3f7a8148 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/RotarySelectorSwitch.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/RotarySelectorSwitch.java @@ -22,11 +22,11 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -73,8 +73,8 @@ public class RotarySelectorSwitch extends AbstractMultiPartComponent { private static Size HOLE_DIAMETER = new Size(2.5d, SizeUnit.mm); private String value = ""; - private Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, 0), new Point(0, 0), - new Point(0, 0), new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), + new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; transient Area[] body; private Orientation orientation = Orientation.DEFAULT; private boolean showLabels = true; @@ -154,8 +154,8 @@ public class RotarySelectorSwitch extends AbstractMultiPartComponent { g2d.setFont(project.getFont().deriveFont(project.getFont().getSize2D() * 0.8f)); for (int i = 2; i < body.length; i++) { Rectangle2D bounds = body[i].getBounds2D(); - int x = (int) ((bounds.getCenterX() + controlPoints[i - 2].x) / 2); - int y = (int) ((bounds.getCenterY() + controlPoints[i - 2].y) / 2); + double x = (int) ((bounds.getCenterX() + controlPoints[i - 2].getX()) / 2); + double y = (int) ((bounds.getCenterY() + controlPoints[i - 2].getY()) / 2); StringUtils.drawCenteredText(g2d, i == 2 ? "C" : String.valueOf(i - 2), x, y, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); } @@ -168,8 +168,8 @@ public class RotarySelectorSwitch extends AbstractMultiPartComponent { if (body == null) { body = new Area[3 + getPositionCount().getCount()]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int outerDiameter = getClosestOdd(OUTER_DIAMETER.convertToPixels()); int innerDiameter = getClosestOdd(INNER_DIAMETER.convertToPixels()); int springLength = (int) TERMINAL_LENGTH.convertToPixels(); @@ -177,7 +177,7 @@ public class RotarySelectorSwitch extends AbstractMultiPartComponent { int holeDiameter = getClosestOdd(HOLE_DIAMETER.convertToPixels()); int holeDistance = (int) HOLE_DISTANCE.convertToPixels(); - int centerY = y - holeDistance; + double centerY = y - holeDistance; Area main = new Area(new Ellipse2D.Double(x - outerDiameter / 2, centerY - outerDiameter / 2, outerDiameter, outerDiameter)); @@ -218,12 +218,12 @@ public class RotarySelectorSwitch extends AbstractMultiPartComponent { } private void updateControlPoints() { - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int holeDistance = (int) HOLE_DISTANCE.convertToPixels(); - int centerY = y - holeDistance; + double centerY = y - holeDistance; for (int i = 1; i < controlPoints.length; i++) { double theta = -i * Math.PI / 4; @@ -236,7 +236,7 @@ public class RotarySelectorSwitch extends AbstractMultiPartComponent { // Rotate if needed if (theta != 0) { AffineTransform rotation = AffineTransform.getRotateInstance(theta, x, y); - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { rotation.transform(point, point); } } @@ -292,12 +292,12 @@ public class RotarySelectorSwitch extends AbstractMultiPartComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.controlPoints[index].setLocation(point); // Invalidate the body body = null; diff --git a/diylc/diylc-library/src/org/diylc/components/guitar/AbstractGuitarPickup.java b/diylc/diylc-library/src/org/diylc/components/guitar/AbstractGuitarPickup.java index b1087501..152b2af9 100644 --- a/diylc/diylc-library/src/org/diylc/components/guitar/AbstractGuitarPickup.java +++ b/diylc/diylc-library/src/org/diylc/components/guitar/AbstractGuitarPickup.java @@ -20,11 +20,11 @@ package org.diylc.components.guitar; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -56,8 +56,8 @@ public abstract class AbstractGuitarPickup extends AbstractTransparentComponent< protected Orientation orientation = Orientation.DEFAULT; protected transient Shape[] body; - protected Point controlPoint = new Point(0, 0); - protected Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0)}; + protected Point2D controlPoint = new Point2D.Double(0, 0); + protected Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; protected Polarity polarity = Polarity.North; @@ -68,7 +68,7 @@ public abstract class AbstractGuitarPickup extends AbstractTransparentComponent< } protected void drawlTerminalLabels(Graphics2D g2d, Color color, Project project) { - Point[] points = getControlPoints(); + Point2D[] points = getControlPoints(); g2d.setColor(color); g2d.setFont(project.getFont().deriveFont(TERMINAL_FONT_SIZE * 1f)); @@ -93,8 +93,8 @@ public abstract class AbstractGuitarPickup extends AbstractTransparentComponent< break; } - StringUtils.drawCenteredText(g2d, "N", (points[0].x + points[1].x) / 2 + dx, (points[0].y + points[1].y) / 2 + dy, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); - StringUtils.drawCenteredText(g2d, "S", (points[2].x + points[3].x) / 2 + dx, (points[2].y + points[3].y) / 2 + dy, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); + StringUtils.drawCenteredText(g2d, "N", (points[0].getX() + points[1].getX()) / 2 + dx, (points[0].getY() + points[1].getY()) / 2 + dy, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); + StringUtils.drawCenteredText(g2d, "S", (points[2].getX() + points[3].getX()) / 2 + dx, (points[2].getY() + points[3].getY()) / 2 + dy, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); } protected void drawMainLabel(Graphics2D g2d, Project project, boolean outlineMode, ComponentState componentState) { @@ -115,7 +115,7 @@ public abstract class AbstractGuitarPickup extends AbstractTransparentComponent< Rectangle bounds = getBody()[0].getBounds(); AffineTransform originalTx = g2d.getTransform(); - g2d.translate(bounds.x + bounds.width / 2, bounds.y + bounds.height / 2); + g2d.translate(bounds.getX() + bounds.width / 2, bounds.getY() + bounds.height / 2); if (orientation == Orientation._90) g2d.rotate(Math.PI / 2); else if (orientation == Orientation._270){ @@ -159,11 +159,11 @@ public abstract class AbstractGuitarPickup extends AbstractTransparentComponent< updateControlPoints(); } - protected Point[] getControlPoints() { + protected Point2D[] getControlPoints() { if (controlPoints == null) { controlPoints = - new Point[] {controlPoint, new Point(controlPoint.x, controlPoint.y), - new Point(controlPoint.x, controlPoint.y), new Point(controlPoint.x, controlPoint.y)}; + new Point2D[] {controlPoint, new Point2D.Double(controlPoint.getX(), controlPoint.getY()), + new Point2D.Double(controlPoint.getX(), controlPoint.getY()), new Point2D.Double(controlPoint.getX(), controlPoint.getY())}; updateControlPoints(); } return controlPoints; @@ -181,12 +181,12 @@ public abstract class AbstractGuitarPickup extends AbstractTransparentComponent< @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return getControlPoints()[index]; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { getControlPoints()[index].setLocation(point); // Invalidate the body body = null; @@ -225,7 +225,7 @@ public abstract class AbstractGuitarPickup extends AbstractTransparentComponent< @SuppressWarnings("incomplete-switch") protected void updateControlPoints() { - Point[] points = getControlPoints(); + Point2D[] points = getControlPoints(); int pointSpacing = (int) POINT_SPACING.convertToPixels(); int dx = getControlPointDirection() == OrientationHV.HORIZONTAL ? 1 : 0; int dy = getControlPointDirection() == OrientationHV.HORIZONTAL ? 0 : 1; @@ -245,11 +245,11 @@ public abstract class AbstractGuitarPickup extends AbstractTransparentComponent< break; } } - points[1].setLocation(points[0].x + dx * pointSpacing, points[0].y + dy * pointSpacing); + points[1].setLocation(points[0].getX() + dx * pointSpacing, points[0].getY() + dy * pointSpacing); points[2] - .setLocation(points[0].x + 2 * dx * pointSpacing, points[0].y + 2 * dy * pointSpacing); + .setLocation(points[0].getX() + 2 * dx * pointSpacing, points[0].getY() + 2 * dy * pointSpacing); points[3] - .setLocation(points[0].x + 3 * dx * pointSpacing, points[0].y + 3 * dy * pointSpacing); + .setLocation(points[0].getX() + 3 * dx * pointSpacing, points[0].getY() + 3 * dy * pointSpacing); } @Override diff --git a/diylc/diylc-library/src/org/diylc/components/guitar/AbstractSingleOrHumbuckerPickup.java b/diylc/diylc-library/src/org/diylc/components/guitar/AbstractSingleOrHumbuckerPickup.java index 5e1b7c87..17595347 100644 --- a/diylc/diylc-library/src/org/diylc/components/guitar/AbstractSingleOrHumbuckerPickup.java +++ b/diylc/diylc-library/src/org/diylc/components/guitar/AbstractSingleOrHumbuckerPickup.java @@ -19,7 +19,7 @@ package org.diylc.components.guitar; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; +import java.awt.geom.Point2D; import org.diylc.awt.StringUtils; import org.diylc.common.HorizontalAlignment; @@ -35,7 +35,7 @@ public abstract class AbstractSingleOrHumbuckerPickup extends AbstractGuitarPick @Override protected void drawlTerminalLabels(Graphics2D g2d, Color color, Project project) { - Point[] points = getControlPoints(); + Point2D[] points = getControlPoints(); g2d.setColor(color); g2d.setFont(project.getFont().deriveFont(TERMINAL_FONT_SIZE * 1f)); @@ -61,11 +61,11 @@ public abstract class AbstractSingleOrHumbuckerPickup extends AbstractGuitarPick } if (getPolarity() == Polarity.North || getPolarity() == Polarity.South) { - StringUtils.drawCenteredText(g2d, getPolarity().name().substring(0, 1), (points[1].x + points[2].x) / 2 + dx, (points[1].y + points[2].y) / 2 + dy, HorizontalAlignment.CENTER, + StringUtils.drawCenteredText(g2d, getPolarity().name().substring(0, 1), (points[1].getX() + points[2].getX()) / 2 + dx, (points[1].getY() + points[2].getY()) / 2 + dy, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); } else { - StringUtils.drawCenteredText(g2d, "N", (points[0].x + points[1].x) / 2 + dx, (points[0].y + points[1].y) / 2 + dy, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); - StringUtils.drawCenteredText(g2d, "S", (points[2].x + points[3].x) / 2 + dx, (points[2].y + points[3].y) / 2 + dy, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); + StringUtils.drawCenteredText(g2d, "N", (points[0].getX() + points[1].getX()) / 2 + dx, (points[0].getY() + points[1].getY()) / 2 + dy, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); + StringUtils.drawCenteredText(g2d, "S", (points[2].getX() + points[3].getX()) / 2 + dx, (points[2].getY() + points[3].getY()) / 2 + dy, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); } } diff --git a/diylc/diylc-library/src/org/diylc/components/guitar/HumbuckerPickup.java b/diylc/diylc-library/src/org/diylc/components/guitar/HumbuckerPickup.java index 8c0801a2..052f7191 100644 --- a/diylc/diylc-library/src/org/diylc/components/guitar/HumbuckerPickup.java +++ b/diylc/diylc-library/src/org/diylc/components/guitar/HumbuckerPickup.java @@ -21,13 +21,13 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; import java.awt.Stroke; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.Path2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -187,9 +187,9 @@ public class HumbuckerPickup extends AbstractGuitarPickup { if (body == null) { body = new Shape[7]; - Point[] points = getControlPoints(); - int x = points[0].x; - int y = points[0].y; + Point2D[] points = getControlPoints(); + double x = points[0].getX(); + double y = points[0].getY(); int width = (int) getType().getWidth().convertToPixels(); int length = (int) getType().getLength().convertToPixels(); int lipWidth = (int) LIP_WIDTH.convertToPixels(); diff --git a/diylc/diylc-library/src/org/diylc/components/guitar/JazzBassPickup.java b/diylc/diylc-library/src/org/diylc/components/guitar/JazzBassPickup.java index 2056b92c..a20d0be0 100644 --- a/diylc/diylc-library/src/org/diylc/components/guitar/JazzBassPickup.java +++ b/diylc/diylc-library/src/org/diylc/components/guitar/JazzBassPickup.java @@ -25,11 +25,11 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.RoundRectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -144,9 +144,9 @@ public class JazzBassPickup extends AbstractSingleOrHumbuckerPickup { if (body == null) { body = new Shape[4]; - Point[] points = getControlPoints(); - int x = points[0].x; - int y = points[0].y; + Point2D[] points = getControlPoints(); + double x = points[0].getX(); + double y = points[0].getY(); int width = (int) WIDTH.convertToPixels(); int length = (int) LENGTH.convertToPixels(); int edgeRadius = (int) EDGE_RADIUS.convertToPixels(); diff --git a/diylc/diylc-library/src/org/diylc/components/guitar/LPSwitch.java b/diylc/diylc-library/src/org/diylc/components/guitar/LPSwitch.java index 73097b04..b94f23e4 100644 --- a/diylc/diylc-library/src/org/diylc/components/guitar/LPSwitch.java +++ b/diylc/diylc-library/src/org/diylc/components/guitar/LPSwitch.java @@ -21,33 +21,33 @@ */ package org.diylc.components.guitar; -import java.awt.AlphaComposite; -import java.awt.Color; -import java.awt.Composite; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Shape; -import java.awt.geom.AffineTransform; -import java.awt.geom.Area; -import java.awt.geom.GeneralPath; -import java.awt.geom.Rectangle2D; +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Composite; +import java.awt.Graphics2D; +import java.awt.Shape; +import java.awt.geom.AffineTransform; +import java.awt.geom.Area; +import java.awt.geom.GeneralPath; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; -import org.diylc.appframework.miscutils.ConfigurationManager; -import org.diylc.common.IPlugInPort; -import org.diylc.common.ObjectCache; -import org.diylc.common.Orientation; -import org.diylc.components.AbstractTransparentComponent; -import org.diylc.core.ComponentState; -import org.diylc.core.IDIYComponent; -import org.diylc.core.IDrawingObserver; +import org.diylc.appframework.miscutils.ConfigurationManager; +import org.diylc.common.IPlugInPort; +import org.diylc.common.ObjectCache; +import org.diylc.common.Orientation; +import org.diylc.components.AbstractTransparentComponent; +import org.diylc.core.ComponentState; +import org.diylc.core.IDIYComponent; +import org.diylc.core.IDrawingObserver; import org.diylc.core.ISwitch; -import org.diylc.core.Project; -import org.diylc.core.Theme; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.ComponentDescriptor; -import org.diylc.core.annotations.EditableProperty; -import org.diylc.core.measures.Size; -import org.diylc.core.measures.SizeUnit; +import org.diylc.core.Project; +import org.diylc.core.Theme; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.measures.Size; +import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @ComponentDescriptor(name = "LP Toggle Switch", category = "Guitar", author = "Branislav Stojkovic", @@ -66,7 +66,7 @@ public class LPSwitch extends AbstractTransparentComponent implements IS private static Size TERMINAL_SPACING = new Size(0.2d, SizeUnit.in); private String value = ""; - private Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; transient Shape[] body; private Orientation orientation = Orientation.DEFAULT; @@ -135,8 +135,8 @@ public class LPSwitch extends AbstractTransparentComponent implements IS if (body == null) { body = new Shape[3]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int baseLength = (int) BASE_LENGTH.convertToPixels(); int length = (int) LENGTH.convertToPixels(); int waferThickness = getClosestOdd(WAFER_THICKNESS.convertToPixels()); @@ -145,7 +145,7 @@ public class LPSwitch extends AbstractTransparentComponent implements IS new Rectangle2D.Double(x - waferThickness / 2, y, waferThickness - 1, baseLength + (length - baseLength) / 2); body[0] = new Area(ground); - int bodyY = y + (length - baseLength) / 2; + double bodyY = y + (length - baseLength) / 2; Area waferArea = new Area();//new Area(new Rectangle2D.Double(x - waferThickness * 3 / 2, bodyY, waferThickness, baseLength)); waferArea.add(new Area(new Rectangle2D.Double(x + waferThickness / 2, bodyY, waferThickness *3, baseLength))); @@ -215,8 +215,8 @@ public class LPSwitch extends AbstractTransparentComponent implements IS @SuppressWarnings("incomplete-switch") private void updateControlPoints() { - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int terminalSpacing = (int) TERMINAL_SPACING.convertToPixels(); int length = (int) LENGTH.convertToPixels(); @@ -239,7 +239,7 @@ public class LPSwitch extends AbstractTransparentComponent implements IS break; } AffineTransform rotation = AffineTransform.getRotateInstance(theta, x, y); - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { rotation.transform(point, point); } } @@ -290,12 +290,12 @@ public class LPSwitch extends AbstractTransparentComponent implements IS } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.controlPoints[index].setLocation(point); // Invalidate the body body = null; diff --git a/diylc/diylc-library/src/org/diylc/components/guitar/LeverSwitch.java b/diylc/diylc-library/src/org/diylc/components/guitar/LeverSwitch.java index d30c730d..312a7fd9 100644 --- a/diylc/diylc-library/src/org/diylc/components/guitar/LeverSwitch.java +++ b/diylc/diylc-library/src/org/diylc/components/guitar/LeverSwitch.java @@ -25,11 +25,11 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -77,7 +77,7 @@ public class LeverSwitch extends AbstractTransparentComponent implements private static Size TERMINAL_SPACING = new Size(0.1d, SizeUnit.in); private String value = ""; - private Point[] controlPoints = new Point[] {new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0)}; transient Shape[] body; private Orientation orientation = Orientation.DEFAULT; private LeverSwitchType type = LeverSwitchType.DP3T; @@ -147,7 +147,7 @@ public class LeverSwitch extends AbstractTransparentComponent implements // g2d.setColor(Color.black); // for(int i = 0; i < getControlPointCount(); i++) { -// g2d.drawString(i + "", controlPoints[i].x, controlPoints[i].y); +// g2d.drawString(i + "", controlPoints[i].getX(), controlPoints[i].getY()); // } } @@ -156,8 +156,8 @@ public class LeverSwitch extends AbstractTransparentComponent implements if (body == null) { body = new Shape[4]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int baseWidth = (int) BASE_WIDTH.convertToPixels(); int baseLength = (int) BASE_LENGTH.convertToPixels(); int holeSize = getClosestOdd(HOLE_SIZE.convertToPixels()); @@ -177,8 +177,8 @@ public class LeverSwitch extends AbstractTransparentComponent implements yOffset = 12; } - int baseX = x - terminalLength / 2 - waferSpacing; - int baseY = y - (baseLength - terminalSpacing * yOffset) / 2; + double baseX = x - terminalLength / 2 - waferSpacing; + double baseY = y - (baseLength - terminalSpacing * yOffset) / 2; Area baseArea = new Area(new Rectangle2D.Double(baseX, baseY, baseWidth, baseLength)); baseArea.subtract(new Area(new Ellipse2D.Double(baseX + baseWidth / 2 - holeSize / 2, baseY + (baseLength - holeSpacing) / 2 - holeSize / 2, holeSize, holeSize))); @@ -217,15 +217,15 @@ public class LeverSwitch extends AbstractTransparentComponent implements Area terminalArea = new Area(); Area commonTerminalArea = new Area(); for (int i = 0; i < controlPoints.length; i++) { - Point point = controlPoints[i]; + Point2D point = controlPoints[i]; Area terminal = - new Area(new RoundRectangle2D.Double(point.x - terminalLength / 2, point.y - terminalWidth / 2, + new Area(new RoundRectangle2D.Double(point.getX() - terminalLength / 2, point.getY() - terminalWidth / 2, terminalLength, terminalWidth, terminalWidth / 2, terminalWidth / 2)); - terminal.subtract(new Area(new RoundRectangle2D.Double(point.x - terminalLength / 4, point.y - terminalWidth + terminal.subtract(new Area(new RoundRectangle2D.Double(point.getX() - terminalLength / 4, point.getY() - terminalWidth / 4, terminalLength / 2, terminalWidth / 2, terminalWidth / 2, terminalWidth / 2))); // Rotate the terminal if needed if (theta != 0) { - AffineTransform rotation = AffineTransform.getRotateInstance(theta, point.x, point.y); + AffineTransform rotation = AffineTransform.getRotateInstance(theta, point.getX(), point.getY()); terminal.transform(rotation); } terminalArea.add(terminal); @@ -242,7 +242,7 @@ public class LeverSwitch extends AbstractTransparentComponent implements // Rotate if needed if (theta != 0) { - AffineTransform rotation = AffineTransform.getRotateInstance(theta, controlPoints[0].x, controlPoints[0].y); + AffineTransform rotation = AffineTransform.getRotateInstance(theta, controlPoints[0].getX(), controlPoints[0].getY()); // Skip the last two because terminals are already rotated for (int i = 0; i < body.length - 2; i++) { Shape shape = body[i]; @@ -256,8 +256,8 @@ public class LeverSwitch extends AbstractTransparentComponent implements @SuppressWarnings("incomplete-switch") private void updateControlPoints() { - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int waferSpacing = (int) WAFER_SPACING.convertToPixels(); int terminalSpacing = (int) TERMINAL_SPACING.convertToPixels(); int terminalLength = (int) TERMINAL_LENGTH.convertToPixels(); @@ -265,28 +265,28 @@ public class LeverSwitch extends AbstractTransparentComponent implements switch (type) { case DP3T: case DP3T_5pos: - controlPoints = new Point[8]; + controlPoints = new Point2D[8]; for (int i = 0; i < 8; i++) { - controlPoints[i] = new Point(x + (i % 2 == 1 ? terminalLength : 0), y + i * terminalSpacing); + controlPoints[i] = new Point2D.Double(x + (i % 2 == 1 ? terminalLength : 0), y + i * terminalSpacing); } break; case DP4T: - controlPoints = new Point[10]; + controlPoints = new Point2D[10]; for (int i = 0; i < 10; i++) { - controlPoints[i] = new Point(x + (i % 2 == 1 ? terminalLength : 0), y + i * terminalSpacing); + controlPoints[i] = new Point2D.Double(x + (i % 2 == 1 ? terminalLength : 0), y + i * terminalSpacing); } break; case DP5T: - controlPoints = new Point[12]; + controlPoints = new Point2D[12]; for (int i = 0; i < 12; i++) { - controlPoints[i] = new Point(x, y + i * terminalSpacing + (i >= 6 ? terminalSpacing : 0)); + controlPoints[i] = new Point2D.Double(x, y + i * terminalSpacing + (i >= 6 ? terminalSpacing : 0)); } break; case _4P5T: - controlPoints = new Point[24]; + controlPoints = new Point2D[24]; for (int i = 0; i < 12; i++) { - controlPoints[i] = new Point(x, y + i * terminalSpacing + (i >= 6 ? terminalSpacing : 0)); - controlPoints[i + 12] = new Point(x + waferSpacing, y + i * terminalSpacing + (i >= 6 ? terminalSpacing : 0)); + controlPoints[i] = new Point2D.Double(x, y + i * terminalSpacing + (i >= 6 ? terminalSpacing : 0)); + controlPoints[i + 12] = new Point2D.Double(x + waferSpacing, y + i * terminalSpacing + (i >= 6 ? terminalSpacing : 0)); } break; } @@ -306,7 +306,7 @@ public class LeverSwitch extends AbstractTransparentComponent implements break; } AffineTransform rotation = AffineTransform.getRotateInstance(theta, x, y); - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { rotation.transform(point, point); } } @@ -360,12 +360,12 @@ public class LeverSwitch extends AbstractTransparentComponent implements } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.controlPoints[index].setLocation(point); // Invalidate the body body = null; diff --git a/diylc/diylc-library/src/org/diylc/components/guitar/P90Pickup.java b/diylc/diylc-library/src/org/diylc/components/guitar/P90Pickup.java index e26cfbea..5a278fce 100644 --- a/diylc/diylc-library/src/org/diylc/components/guitar/P90Pickup.java +++ b/diylc/diylc-library/src/org/diylc/components/guitar/P90Pickup.java @@ -25,13 +25,13 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Polygon; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.RoundRectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -195,9 +195,9 @@ public class P90Pickup extends AbstractSingleOrHumbuckerPickup { if (body == null) { body = new Shape[4]; - Point[] points = getControlPoints(); - int x = points[0].x; - int y = points[0].y; + Point2D[] points = getControlPoints(); + double x = points[0].getX(); + double y = points[0].getY(); int width = (int) getType().getWidth().convertToPixels(); int length = (int) getType().getLength().convertToPixels(); int edgeRadius = (int) getType().getEdgeRadius().convertToPixels(); diff --git a/diylc/diylc-library/src/org/diylc/components/guitar/PBassPickup.java b/diylc/diylc-library/src/org/diylc/components/guitar/PBassPickup.java index 8986c498..d2e99207 100644 --- a/diylc/diylc-library/src/org/diylc/components/guitar/PBassPickup.java +++ b/diylc/diylc-library/src/org/diylc/components/guitar/PBassPickup.java @@ -25,11 +25,11 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.RoundRectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -142,9 +142,9 @@ public class PBassPickup extends AbstractSingleOrHumbuckerPickup { if (body == null) { body = new Shape[4]; - Point[] points = getControlPoints(); - int x = points[0].x; - int y = points[0].y; + Point2D[] points = getControlPoints(); + double x = points[0].getX(); + double y = points[0].getY(); int width = (int) WIDTH.convertToPixels(); int length = (int) LENGTH.convertToPixels(); int edgeRadius = (int) EDGE_RADIUS.convertToPixels(); diff --git a/diylc/diylc-library/src/org/diylc/components/guitar/SingleCoilPickup.java b/diylc/diylc-library/src/org/diylc/components/guitar/SingleCoilPickup.java index 777145d5..7b29bb5b 100644 --- a/diylc/diylc-library/src/org/diylc/components/guitar/SingleCoilPickup.java +++ b/diylc/diylc-library/src/org/diylc/components/guitar/SingleCoilPickup.java @@ -25,11 +25,11 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -186,9 +186,9 @@ public class SingleCoilPickup extends AbstractSingleOrHumbuckerPickup { if (body == null) { body = new Shape[5]; - Point[] points = getControlPoints(); - int x = (points[0].x + points[3].x) / 2; - int y = (points[0].y + points[3].y) / 2;; + Point2D[] points = getControlPoints(); + double x = (points[0].getX() + points[3].getX()) / 2; + double y = (points[0].getY() + points[3].getY()) / 2;; int width = (int) WIDTH.convertToPixels(); int length = (int) LENGTH.convertToPixels(); int stratInnerLength = (int) STRAT_INNER_LENGTH.convertToPixels(); @@ -327,9 +327,9 @@ public class SingleCoilPickup extends AbstractSingleOrHumbuckerPickup { body[1] = new Area(); double lugHole = getClosestOdd(lugDiameter * 0.4); for (int i = getPolarity() == Polarity.Humbucking ? 0 : 1; i < (getPolarity() == Polarity.Humbucking ? 4 : 3); i++) { - Point p = points[i]; - ((Area)body[1]).add(new Area(new Ellipse2D.Double(p.x - lugDiameter / 2, p.y - lugDiameter / 2, lugDiameter, lugDiameter))); - ((Area)body[1]).subtract(new Area(new Ellipse2D.Double(p.x - lugHole / 2, p.y - lugHole / 2, lugHole, lugHole))); + Point2D p = points[i]; + ((Area)body[1]).add(new Area(new Ellipse2D.Double(p.getX() - lugDiameter / 2, p.getY() - lugDiameter / 2, lugDiameter, lugDiameter))); + ((Area)body[1]).subtract(new Area(new Ellipse2D.Double(p.getX() - lugHole / 2, p.getY() - lugHole / 2, lugHole, lugHole))); } } return body; diff --git a/diylc/diylc-library/src/org/diylc/components/misc/BOM.java b/diylc/diylc-library/src/org/diylc/components/misc/BOM.java index e7087628..d2de13cd 100644 --- a/diylc/diylc-library/src/org/diylc/components/misc/BOM.java +++ b/diylc/diylc-library/src/org/diylc/components/misc/BOM.java @@ -21,27 +21,27 @@ */ package org.diylc.components.misc; -import java.awt.Color; -import java.awt.Font; -import java.awt.FontMetrics; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.geom.Rectangle2D; -import java.util.Iterator; -import java.util.List; +import java.awt.Color; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics2D; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; +import java.util.Iterator; +import java.util.List; -import org.diylc.components.AbstractComponent; -import org.diylc.core.ComponentState; -import org.diylc.core.IDIYComponent; -import org.diylc.core.IDrawingObserver; -import org.diylc.core.Project; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.BomPolicy; -import org.diylc.core.annotations.ComponentDescriptor; -import org.diylc.core.annotations.EditableProperty; -import org.diylc.core.measures.Size; -import org.diylc.core.measures.SizeUnit; -import org.diylc.utils.BomEntry; +import org.diylc.components.AbstractComponent; +import org.diylc.core.ComponentState; +import org.diylc.core.IDIYComponent; +import org.diylc.core.IDrawingObserver; +import org.diylc.core.Project; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.BomPolicy; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.measures.Size; +import org.diylc.core.measures.SizeUnit; +import org.diylc.utils.BomEntry; import org.diylc.utils.BomMaker; @ComponentDescriptor(name = "Bill of Materials", author = "Branislav Stojkovic", category = "Misc", description = "", @@ -57,7 +57,7 @@ public class BOM extends AbstractComponent { private static final long serialVersionUID = 1L; private Size size = DEFAULT_SIZE; - private Point point = new Point(0, 0); + private Point2D point = new Point2D.Double(0, 0); private Color color = COLOR; @Override @@ -116,7 +116,7 @@ public class BOM extends AbstractComponent { int columnWidth = (int) size.convertToPixels() / columnCount; int entriesPerColumn = (int) Math.ceil(1.d * bom.size() / columnCount); if (entriesPerColumn == 0) { - g2d.drawString(DEFAULT_TEXT, point.x, point.y); + g2d.drawString(DEFAULT_TEXT, (int)point.getX(), (int)point.getY()); return; } for (int i = 0; i < bom.size(); i++) { @@ -129,8 +129,8 @@ public class BOM extends AbstractComponent { } int columnIndex = i / entriesPerColumn; int rowIndex = i % entriesPerColumn; - int x = point.x + columnIndex * columnWidth; - int y = point.y + rowIndex * maxHeight; + int x = (int)(point.getX() + columnIndex * columnWidth); + int y = (int)(point.getY() + rowIndex * maxHeight); g2d.drawString(entry.getName(), x, y); x += maxNameWidth + SPACING.convertToPixels(); g2d.drawString(valueStr, x, y); @@ -176,7 +176,7 @@ public class BOM extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return point; } @@ -191,7 +191,7 @@ public class BOM extends AbstractComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.point.setLocation(point); } diff --git a/diylc/diylc-library/src/org/diylc/components/misc/GroundSymbol.java b/diylc/diylc-library/src/org/diylc/components/misc/GroundSymbol.java index bf574740..2779f5b3 100644 --- a/diylc/diylc-library/src/org/diylc/components/misc/GroundSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/misc/GroundSymbol.java @@ -23,8 +23,8 @@ package org.diylc.components.misc; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Polygon; +import java.awt.geom.Point2D; import org.diylc.common.ObjectCache; import org.diylc.common.Orientation; @@ -50,7 +50,7 @@ public class GroundSymbol extends AbstractComponent { public static Color COLOR = Color.black; public static Size SIZE = new Size(0.15d, SizeUnit.in); - private Point point = new Point(0, 0); + private Point2D point = new Point2D.Double(0, 0); private Color color = COLOR; private Size size = SIZE; private GroundSymbolType type = GroundSymbolType.DEFAULT; @@ -60,35 +60,35 @@ public class GroundSymbol extends AbstractComponent { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, IDrawingObserver drawingObserver) { - int sizePx = (int) size.convertToPixels(); + double sizePx = size.convertToPixels(); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setColor(color); - int x = point.x; - int y = point.y; + double x = point.getX(); + double y = point.getY(); switch (getOrientation()) { case _90: - g2d.rotate(Math.PI / 2, point.x, point.y); + g2d.rotate(Math.PI / 2, point.getX(), point.getY()); break; case _180: - g2d.rotate(Math.PI, point.x, point.y); + g2d.rotate(Math.PI, point.getX(), point.getY()); break; case _270: - g2d.rotate(Math.PI * 3 / 2, point.x, point.y); + g2d.rotate(Math.PI * 3 / 2, point.getX(), point.getY()); break; } - g2d.drawLine(x, y, x, y + sizePx / 6); + g2d.drawLine((int)x, (int)y, (int)x, (int)(y + sizePx / 6)); if (type == GroundSymbolType.DEFAULT) { - int delta = sizePx / 7; + double delta = sizePx / 7; for (int i = 0; i < 5; i++) { - g2d.drawLine(x - sizePx / 2 + delta * i, y + sizePx / 6 * (i + 1), x + sizePx / 2 - delta * i, y + sizePx / 6 - * (i + 1)); + g2d.drawLine((int)(x - sizePx / 2 + delta * i), (int)(y + sizePx / 6 * (i + 1)), (int)(x + sizePx / 2 - delta * i), (int)(y + sizePx / 6 + * (i + 1))); } } else { Polygon poly = - new Polygon(new int[] {x - sizePx / 2, x + sizePx / 2, x}, new int[] {y + sizePx / 6, y + sizePx / 6, - y + sizePx}, 3); + new Polygon(new int[] {(int)(x - sizePx / 2), (int)(x + sizePx / 2), (int)x}, new int[] {(int)(y + sizePx / 6), (int)(y + sizePx / 6), + (int)(y + sizePx)}, 3); g2d.draw(poly); } } @@ -126,7 +126,7 @@ public class GroundSymbol extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return point; } @@ -159,7 +159,7 @@ public class GroundSymbol extends AbstractComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.point.setLocation(point); } // diff --git a/diylc/diylc-library/src/org/diylc/components/misc/Image.java b/diylc/diylc-library/src/org/diylc/components/misc/Image.java index bf2ce398..9fc1082b 100644 --- a/diylc/diylc-library/src/org/diylc/components/misc/Image.java +++ b/diylc/diylc-library/src/org/diylc/components/misc/Image.java @@ -20,8 +20,8 @@ package org.diylc.components.misc; import java.awt.AlphaComposite; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; @@ -47,7 +47,6 @@ import org.diylc.core.annotations.PercentEditor; import com.thoughtworks.xstream.annotations.XStreamConverter; - @ComponentDescriptor(name = "Image", author = "Branislav Stojkovic", category = "Misc", description = "User defined image", instanceNamePrefix = "Img", zOrder = IDIYComponent.COMPONENT, flexibleZOrder = true, bomPolicy = BomPolicy.NEVER_SHOW) @@ -57,6 +56,9 @@ public class Image extends AbstractTransparentComponent { public static String DEFAULT_TEXT = "Double click to edit text"; private static ImageIcon ICON; private static byte DEFAULT_SCALE = 25; + + private Point2D point = new Point2D.Double(0, 0); + private Point2D secondPoint = null; static { String name = "image.png"; @@ -69,10 +71,7 @@ public class Image extends AbstractTransparentComponent { @Override public String getControlPointNodeName(int index) { return null; - } - - private Point point = new Point(0, 0); - private Point secondPoint = null; + } @XStreamConverter(IconImageConverter.class) @Deprecated @@ -99,9 +98,9 @@ public class Image extends AbstractTransparentComponent { if (getSizingMode() == ImageSizingMode.Scale) { scaleX = scaleY = 1d * getScale() / DEFAULT_SCALE; } else { - Point secondPoint = getControlPoint(1); - scaleX = 1d * Math.abs(point.x - secondPoint.x) / imageIcon.getIconWidth(); - scaleY = 1d * Math.abs(point.y - secondPoint.y) / imageIcon.getIconHeight(); + Point2D secondPoint = getControlPoint(1); + scaleX = 1d * Math.abs(point.getX() - secondPoint.getX()) / imageIcon.getIconWidth(); + scaleY = 1d * Math.abs(point.getY() - secondPoint.getY()) / imageIcon.getIconHeight(); } Shape clip = g2d.getClip().getBounds(); @@ -114,16 +113,16 @@ public class Image extends AbstractTransparentComponent { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } - int x; - int y; + double x; + double y; if (getSizingMode() == ImageSizingMode.Scale) { - x = point.x; - y = point.y; + x = point.getX(); + y = point.getY(); } else { - Point secondPoint = getControlPoint(1); - x = Math.min(point.x, secondPoint.x); - y = Math.min(point.y, secondPoint.y); + Point2D secondPoint = getControlPoint(1); + x = Math.min(point.getX(), secondPoint.getX()); + y = Math.min(point.getY(), secondPoint.getY()); } g2d.scale(scaleX, scaleY); @@ -133,13 +132,13 @@ public class Image extends AbstractTransparentComponent { g2d.scale(1 / scaleX, 1 / scaleY); g2d.setColor(SELECTION_COLOR); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1f)); - g2d.drawRect(x, y, (int) (imageIcon.getIconWidth() * scaleX), (int) (imageIcon.getIconHeight() * scaleY)); + g2d.drawRect((int)x, (int)y, (int) (imageIcon.getIconWidth() * scaleX), (int) (imageIcon.getIconHeight() * scaleY)); } } @Override public void drawIcon(Graphics2D g2d, int width, int height) { - g2d.drawImage(ICON.getImage(), point.x, point.y, null); + g2d.drawImage(ICON.getImage(), (int)point.getX(), (int)point.getY(), null); } @Override @@ -148,12 +147,12 @@ public class Image extends AbstractTransparentComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { if (index == 0) return point; if (secondPoint == null) { ImageIcon imageIcon = getImage(); - secondPoint = new Point(point.x + imageIcon.getIconWidth(), point.y + imageIcon.getIconHeight()); + secondPoint = new Point2D.Double(point.getX() + imageIcon.getIconWidth(), point.getY() + imageIcon.getIconHeight()); } return secondPoint; } @@ -169,14 +168,14 @@ public class Image extends AbstractTransparentComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { if (index == 0) { - this.point.setLocation(point); + this.point.setLocation(point.getX(), point.getY()); } else { if (secondPoint == null) - secondPoint = new Point(point); + secondPoint = new Point2D.Double(point.getX(), point.getY()); else - secondPoint.setLocation(point); + secondPoint.setLocation(point.getX(), point.getY()); } } @@ -208,7 +207,7 @@ public class Image extends AbstractTransparentComponent { this.image = null; if (getSizingMode() == ImageSizingMode.TwoPoints) { ImageIcon imageIcon = getImage(); - setControlPoint(new Point(point.x + imageIcon.getIconWidth(), point.y + imageIcon.getIconHeight()), 1); + setControlPoint(new Point2D.Double(point.getX() + imageIcon.getIconWidth(), point.getY() + imageIcon.getIconHeight()), 1); } } diff --git a/diylc/diylc-library/src/org/diylc/components/misc/Label.java b/diylc/diylc-library/src/org/diylc/components/misc/Label.java index d3f48210..75e77bfb 100644 --- a/diylc/diylc-library/src/org/diylc/components/misc/Label.java +++ b/diylc/diylc-library/src/org/diylc/components/misc/Label.java @@ -21,25 +21,25 @@ */ package org.diylc.components.misc; -import java.awt.Color; -import java.awt.Font; -import java.awt.FontMetrics; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.geom.Rectangle2D; +import java.awt.Color; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics2D; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; -import org.diylc.common.HorizontalAlignment; -import org.diylc.common.Orientation; -import org.diylc.common.VerticalAlignment; -import org.diylc.components.AbstractComponent; +import org.diylc.common.HorizontalAlignment; +import org.diylc.common.Orientation; +import org.diylc.common.VerticalAlignment; +import org.diylc.components.AbstractComponent; import org.diylc.components.transform.TextTransformer; -import org.diylc.core.ComponentState; -import org.diylc.core.IDIYComponent; -import org.diylc.core.IDrawingObserver; -import org.diylc.core.Project; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.BomPolicy; -import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.ComponentState; +import org.diylc.core.IDIYComponent; +import org.diylc.core.IDrawingObserver; +import org.diylc.core.Project; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.BomPolicy; +import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; @ComponentDescriptor(name = "Label", author = "Branislav Stojkovic", category = "Misc", @@ -51,7 +51,7 @@ public class Label extends AbstractComponent { private static final long serialVersionUID = 1L; - private Point point = new Point(0, 0); + private Point2D point = new Point2D.Double(0, 0); private String text = DEFAULT_TEXT; private Font font = LABEL_FONT; private Color color = LABEL_COLOR; @@ -74,30 +74,30 @@ public class Label extends AbstractComponent { int textHeight = (int) rect.getHeight(); int textWidth = (int) rect.getWidth(); - int x = point.x; - int y = point.y; + double x = point.getX(); + double y = point.getY(); switch (getVerticalAlignment()) { case CENTER: - y = point.y - textHeight / 2 + fontMetrics.getAscent(); + y = point.getY() - textHeight / 2 + fontMetrics.getAscent(); break; case TOP: - y = point.y - textHeight + fontMetrics.getAscent(); + y = point.getY() - textHeight + fontMetrics.getAscent(); break; case BOTTOM: - y = point.y + fontMetrics.getAscent(); + y = point.getY() + fontMetrics.getAscent(); break; default: throw new RuntimeException("Unexpected alignment: " + getVerticalAlignment()); } switch (getHorizontalAlignment()) { case CENTER: - x = point.x - textWidth / 2; + x = point.getX() - textWidth / 2; break; case LEFT: - x = point.x; + x = point.getX(); break; case RIGHT: - x = point.x - textWidth; + x = point.getX() - textWidth; break; default: throw new RuntimeException("Unexpected alignment: " + getHorizontalAlignment()); @@ -105,16 +105,16 @@ public class Label extends AbstractComponent { switch (getOrientation()) { case _90: - g2d.rotate(Math.PI / 2, point.x, point.y); + g2d.rotate(Math.PI / 2, point.getX(), point.getY()); break; case _180: - g2d.rotate(Math.PI, point.x, point.y); + g2d.rotate(Math.PI, point.getX(), point.getY()); break; case _270: - g2d.rotate(Math.PI * 3 / 2, point.x, point.y); + g2d.rotate(Math.PI * 3 / 2, point.getX(), point.getY()); break; } - g2d.drawString(text, x, y); + g2d.drawString(text, (int)x, (int)y); } @Override @@ -216,7 +216,7 @@ public class Label extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return point; } @@ -231,7 +231,7 @@ public class Label extends AbstractComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.point.setLocation(point); } diff --git a/diylc/diylc-library/src/org/diylc/components/misc/Loadline.java b/diylc/diylc-library/src/org/diylc/components/misc/Loadline.java index fcc4e979..f477c163 100644 --- a/diylc/diylc-library/src/org/diylc/components/misc/Loadline.java +++ b/diylc/diylc-library/src/org/diylc/components/misc/Loadline.java @@ -22,18 +22,14 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; +import java.awt.geom.Point2D; import org.diylc.common.ObjectCache; -import org.diylc.common.SimpleComponentTransformer; import org.diylc.components.boards.AbstractBoard; import org.diylc.core.ComponentState; -import org.diylc.core.IDIYComponent; import org.diylc.core.IDrawingObserver; import org.diylc.core.Project; -import org.diylc.core.annotations.BomPolicy; -import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; //@ComponentDescriptor(name = "Loadline", category = "Misc", author = "Branislav Stojkovic", @@ -66,11 +62,11 @@ public class Loadline extends AbstractBoard { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, IDrawingObserver drawingObserver) { - Point finalSecondPoint = getFinalSecondPoint(); + Point2D finalSecondPoint = getFinalSecondPoint(); Shape clip = g2d.getClip(); - if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, finalSecondPoint.y) - && !clip.contains(finalSecondPoint.x, firstPoint.y)) { + if (checkPointsClipped(clip) && !clip.contains(firstPoint.getX(), finalSecondPoint.getY()) + && !clip.contains(finalSecondPoint.getX(), firstPoint.getY())) { return; } @@ -83,8 +79,8 @@ public class Loadline extends AbstractBoard { } g2d.setColor(boardColor); - g2d.fillRect(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, - finalSecondPoint.y - firstPoint.y); + g2d.fillRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()), + (int)(finalSecondPoint.getY() - firstPoint.getY())); g2d.setComposite(oldComposite); } @@ -96,8 +92,8 @@ public class Loadline extends AbstractBoard { ? SELECTION_COLOR : borderColor); - g2d.drawRect(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, - finalSecondPoint.y - firstPoint.y); + g2d.drawRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()), + (int)(finalSecondPoint.getY() - firstPoint.getY())); } diff --git a/diylc/diylc-library/src/org/diylc/components/misc/LoadlineCurve.java b/diylc/diylc-library/src/org/diylc/components/misc/LoadlineCurve.java index 2832c9b1..60aae247 100644 --- a/diylc/diylc-library/src/org/diylc/components/misc/LoadlineCurve.java +++ b/diylc/diylc-library/src/org/diylc/components/misc/LoadlineCurve.java @@ -3,7 +3,7 @@ package org.diylc.components.misc; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; -import java.awt.Point; +import java.awt.geom.Point2D; import org.diylc.awt.StringUtils; import org.diylc.common.HorizontalAlignment; @@ -34,10 +34,10 @@ public class LoadlineCurve extends CurvedTrace { g2d.setColor(Color.black); Font oldFont = g2d.getFont(); g2d.setFont(project.getFont().deriveFont(12f).deriveFont(Font.BOLD)); - Point lastPoint = getControlPoint(getControlPointCount() - 1); + Point2D lastPoint = getControlPoint(getControlPointCount() - 1); int spacing = (int) LABEL_SPACING.convertToPixels(); - int x = lastPoint.x + spacing; - int y = lastPoint.y - spacing; + double x = lastPoint.getX() + spacing; + double y = lastPoint.getY() - spacing; StringUtils.drawCenteredText(g2d, getVoltage().toString(), x, y, HorizontalAlignment.LEFT, VerticalAlignment.TOP); g2d.setFont(oldFont); } diff --git a/diylc/diylc-library/src/org/diylc/components/misc/PCBText.java b/diylc/diylc-library/src/org/diylc/components/misc/PCBText.java index b72216ee..7ce5c6a7 100644 --- a/diylc/diylc-library/src/org/diylc/components/misc/PCBText.java +++ b/diylc/diylc-library/src/org/diylc/components/misc/PCBText.java @@ -21,27 +21,27 @@ */ package org.diylc.components.misc; -import java.awt.Color; -import java.awt.Font; -import java.awt.FontMetrics; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.geom.AffineTransform; -import java.awt.geom.Rectangle2D; +import java.awt.Color; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics2D; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; -import org.diylc.common.HorizontalAlignment; -import org.diylc.common.Orientation; +import org.diylc.common.HorizontalAlignment; +import org.diylc.common.Orientation; import org.diylc.common.PCBLayer; -import org.diylc.common.VerticalAlignment; -import org.diylc.components.AbstractComponent; +import org.diylc.common.VerticalAlignment; +import org.diylc.components.AbstractComponent; import org.diylc.components.transform.TextTransformer; -import org.diylc.core.ComponentState; -import org.diylc.core.IDIYComponent; -import org.diylc.core.IDrawingObserver; -import org.diylc.core.Project; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.BomPolicy; -import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.ComponentState; +import org.diylc.core.IDIYComponent; +import org.diylc.core.IDrawingObserver; +import org.diylc.core.Project; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.BomPolicy; +import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; @ComponentDescriptor(name = "PCB Text", author = "Branislav Stojkovic", category = "Misc", @@ -55,7 +55,7 @@ public class PCBText extends AbstractComponent { private static final long serialVersionUID = 1L; - private Point point = new Point(0, 0); + private Point2D point = new Point2D.Double(0, 0); private String text = DEFAULT_TEXT; private Font font = DEFAULT_FONT; private Color color = LABEL_COLOR; @@ -77,30 +77,30 @@ public class PCBText extends AbstractComponent { int textHeight = (int) rect.getHeight(); int textWidth = (int) rect.getWidth(); - int x = point.x; - int y = point.y; + double x = point.getX(); + double y = point.getY(); switch (getVerticalAlignment()) { case CENTER: - y = point.y - textHeight / 2 + fontMetrics.getAscent(); + y = point.getY() - textHeight / 2 + fontMetrics.getAscent(); break; case TOP: - y = point.y - textHeight + fontMetrics.getAscent(); + y = point.getY() - textHeight + fontMetrics.getAscent(); break; case BOTTOM: - y = point.y + fontMetrics.getAscent(); + y = point.getY() + fontMetrics.getAscent(); break; default: throw new RuntimeException("Unexpected alignment: " + getVerticalAlignment()); } switch (getHorizontalAlignment()) { case CENTER: - x = point.x - textWidth / 2; + x = point.getX() - textWidth / 2; break; case LEFT: - x = point.x; + x = point.getX(); break; case RIGHT: - x = point.x - textWidth; + x = point.getX() - textWidth; break; default: throw new RuntimeException("Unexpected alignment: " + getHorizontalAlignment()); @@ -108,13 +108,13 @@ public class PCBText extends AbstractComponent { switch (getOrientation()) { case _90: - g2d.rotate(Math.PI / 2, point.x, point.y); + g2d.rotate(Math.PI / 2, point.getX(), point.getY()); break; case _180: - g2d.rotate(Math.PI, point.x, point.y); + g2d.rotate(Math.PI, point.getX(), point.getY()); break; case _270: - g2d.rotate(Math.PI * 3 / 2, point.x, point.y); + g2d.rotate(Math.PI * 3 / 2, point.getX(), point.getY()); break; } @@ -125,7 +125,7 @@ public class PCBText extends AbstractComponent { tx.translate(-2 * x - textWidth, 0); g2d.transform(tx); - g2d.drawString(text, x, y); + g2d.drawString(text, (int)x, (int)y); g2d.setTransform(oldTx); } @@ -231,7 +231,7 @@ public class PCBText extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return point; } @@ -246,7 +246,7 @@ public class PCBText extends AbstractComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.point.setLocation(point); } diff --git a/diylc/diylc-library/src/org/diylc/components/misc/WrapLabel.java b/diylc/diylc-library/src/org/diylc/components/misc/WrapLabel.java index 8dc59170..5b6533ed 100644 --- a/diylc/diylc-library/src/org/diylc/components/misc/WrapLabel.java +++ b/diylc/diylc-library/src/org/diylc/components/misc/WrapLabel.java @@ -25,7 +25,7 @@ import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; -import java.awt.Point; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.awt.StringUtils; @@ -54,10 +54,10 @@ public class WrapLabel extends AbstractComponent { public static Size DEFAULT_WIDTH = new Size(1.5d, SizeUnit.in); public static Size DEFAULT_HEIGHT = new Size(0.5d, SizeUnit.in); - protected Point[] controlPoints = new Point[] {new Point(0, 0), - new Point((int) DEFAULT_WIDTH.convertToPixels(), (int) DEFAULT_HEIGHT.convertToPixels())}; - protected Point firstPoint = new Point(); - protected Point secondPoint = new Point(); + protected Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), + new Point2D.Double((int) DEFAULT_WIDTH.convertToPixels(), (int) DEFAULT_HEIGHT.convertToPixels())}; + protected Point2D firstPoint = new Point2D.Double(); + protected Point2D secondPoint = new Point2D.Double(); private Font font = LABEL_FONT; private Color color = LABEL_COLOR; @@ -86,17 +86,17 @@ public class WrapLabel extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); - firstPoint.setLocation(Math.min(controlPoints[0].x, controlPoints[1].x), - Math.min(controlPoints[0].y, controlPoints[1].y)); - secondPoint.setLocation(Math.max(controlPoints[0].x, controlPoints[1].x), - Math.max(controlPoints[0].y, controlPoints[1].y)); + firstPoint.setLocation(Math.min(controlPoints[0].getX(), controlPoints[1].getX()), + Math.min(controlPoints[0].getY(), controlPoints[1].getY())); + secondPoint.setLocation(Math.max(controlPoints[0].getX(), controlPoints[1].getX()), + Math.max(controlPoints[0].getY(), controlPoints[1].getY())); } @Override @@ -178,11 +178,11 @@ public class WrapLabel extends AbstractComponent { g2d.setColor(componentState == ComponentState.SELECTED ? LABEL_COLOR_SELECTED : color); g2d.setFont(font); - int x = firstPoint.x; - int y = firstPoint.y; - int maxWidth = secondPoint.x - firstPoint.x; + double x = firstPoint.getX(); + double y = firstPoint.getY(); + double maxWidth = secondPoint.getX() - firstPoint.getX(); - StringUtils.drawWrappedText(value, g2d, x, y, maxWidth, horizontalAlignment); + StringUtils.drawWrappedText(value, g2d, (int)x, (int)y, (int)maxWidth, horizontalAlignment); } @Override diff --git a/diylc/diylc-library/src/org/diylc/components/passive/AbstractPotentiometer.java b/diylc/diylc-library/src/org/diylc/components/passive/AbstractPotentiometer.java index f3c994f8..c52f99b1 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/AbstractPotentiometer.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/AbstractPotentiometer.java @@ -21,7 +21,7 @@ */ package org.diylc.components.passive; -import java.awt.Point; +import java.awt.geom.Point2D; import org.diylc.common.Orientation; import org.diylc.components.AbstractTransparentComponent; @@ -34,7 +34,7 @@ public abstract class AbstractPotentiometer extends AbstractTransparentComponent private static final long serialVersionUID = 1L; - protected Point[] controlPoints; + protected Point2D[] controlPoints; protected Resistance resistance = null; protected Orientation orientation = Orientation.DEFAULT; @@ -46,12 +46,12 @@ public abstract class AbstractPotentiometer extends AbstractTransparentComponent } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); } diff --git a/diylc/diylc-library/src/org/diylc/components/passive/AudioTransformer.java b/diylc/diylc-library/src/org/diylc/components/passive/AudioTransformer.java index 77dce4fd..8e2f3eec 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/AudioTransformer.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/AudioTransformer.java @@ -26,10 +26,10 @@ import java.awt.Color; import java.awt.Composite; import java.awt.FontMetrics; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Rectangle; import java.awt.geom.AffineTransform; import java.awt.geom.Area; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -82,7 +82,7 @@ public class AudioTransformer extends AbstractMultiPartComponent { private Size coreWidth = new Size(0.6, SizeUnit.in); private Size coilWidth = new Size(0.5, SizeUnit.in); private Size coilLength = new Size(0.6, SizeUnit.in); - private Point[] controlPoints = new Point[] {new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0)}; protected Display display = Display.BOTH; private Color coreColor = CORE_COLOR; private Color coreBorderColor = CORE_BORDER_COLOR; @@ -163,7 +163,7 @@ public class AudioTransformer extends AbstractMultiPartComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -178,24 +178,24 @@ public class AudioTransformer extends AbstractMultiPartComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } private void updateControlPoints() { - Point firstPoint = controlPoints[0]; + Point2D firstPoint = controlPoints[0]; int pinCount = 4 + (primaryCT ? 1 : 0) + (secondaryCT ? 1 : 0); - controlPoints = new Point[pinCount]; + controlPoints = new Point2D[pinCount]; controlPoints[0] = firstPoint; double leadSpacing = this.leadSpacing.convertToPixels(); double windingSpacing = this.windingSpacing.convertToPixels(); // Update control points. for (int i = 1; i < 2 + (primaryCT ? 1 : 0); i++) - controlPoints[i] = new Point(firstPoint.x, (int) (firstPoint.y + i * leadSpacing * (primaryCT ? 1 : 2))); + controlPoints[i] = new Point2D.Double(firstPoint.getX(), firstPoint.getY() + i * leadSpacing * (primaryCT ? 1 : 2)); for (int i = 0; i < 2 + (secondaryCT ? 1 : 0); i++) - controlPoints[2 + (primaryCT ? 1 : 0) + i] = new Point((int) (firstPoint.x + windingSpacing), (int) (firstPoint.y + i * leadSpacing * (secondaryCT ? 1 : 2))); + controlPoints[2 + (primaryCT ? 1 : 0) + i] = new Point2D.Double(firstPoint.getX() + windingSpacing, firstPoint.getY() + i * leadSpacing * (secondaryCT ? 1 : 2)); AffineTransform tx = getTx(); @@ -212,8 +212,8 @@ public class AudioTransformer extends AbstractMultiPartComponent { body = new Area[2]; double leadSpacing = this.leadSpacing.convertToPixels(); double windingSpacing = this.windingSpacing.convertToPixels(); - int centerX = (int) (controlPoints[0].x + windingSpacing / 2); - int centerY = (int) (controlPoints[0].y + leadSpacing); + double centerX = (int) (controlPoints[0].getX() + windingSpacing / 2); + double centerY = (int) (controlPoints[0].getY() + leadSpacing); int coreWidth = getClosestOdd(this.coreWidth.convertToPixels()); int coreThickness = getClosestOdd(this.coreThickness.convertToPixels()); int coilWidth = getClosestOdd(this.coilWidth.convertToPixels()); @@ -235,8 +235,8 @@ public class AudioTransformer extends AbstractMultiPartComponent { @SuppressWarnings("incomplete-switch") private AffineTransform getTx() { - double x = controlPoints[0].x; - double y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); if (orientation == Orientation.DEFAULT) return null; @@ -269,11 +269,11 @@ public class AudioTransformer extends AbstractMultiPartComponent { if (!outlineMode) { int pinSize = (int) PIN_SIZE.convertToPixels() / 2 * 2; - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { g2d.setColor(PIN_COLOR); - g2d.fillOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.fillOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); g2d.setColor(PIN_BORDER_COLOR); - g2d.drawOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.drawOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } } Composite oldComposite = g2d.getComposite(); @@ -312,15 +312,15 @@ public class AudioTransformer extends AbstractMultiPartComponent { g2d.setFont(project.getFont()); // Draw winding designations - Point wPoint = new Point((int) (controlPoints[0].x + project.getFontSize()), (int) (controlPoints[0].y + leadSpacing.convertToPixels())); + Point2D wPoint = new Point2D.Double((int) (controlPoints[0].getX() + project.getFontSize()), (int) (controlPoints[0].getY() + leadSpacing.convertToPixels())); AffineTransform tx = getTx(); if (tx != null) tx.transform(wPoint, wPoint); - StringUtils.drawCenteredText(g2d, "P", wPoint.x, wPoint.y, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); - wPoint = new Point((int) (controlPoints[0].x + windingSpacing.convertToPixels() - project.getFontSize()), (int) (controlPoints[0].y + leadSpacing.convertToPixels())); + StringUtils.drawCenteredText(g2d, "P", wPoint.getX(), wPoint.getY(), HorizontalAlignment.CENTER, VerticalAlignment.CENTER); + wPoint = new Point2D.Double((int) (controlPoints[0].getX() + windingSpacing.convertToPixels() - project.getFontSize()), (int) (controlPoints[0].getY() + leadSpacing.convertToPixels())); if (tx != null) tx.transform(wPoint, wPoint); - StringUtils.drawCenteredText(g2d, "S", wPoint.x, wPoint.y, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); + StringUtils.drawCenteredText(g2d, "S", wPoint.getX(), wPoint.getY(), HorizontalAlignment.CENTER, VerticalAlignment.CENTER); // Draw label. Color finalLabelColor; @@ -356,14 +356,14 @@ public class AudioTransformer extends AbstractMultiPartComponent { int textWidth = (int) (rect.getWidth()); // Center text horizontally and vertically Rectangle bounds = coreArea.getBounds(); - int x = bounds.x + (bounds.width - textWidth) / 2; - int y = bounds.y + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); + double x = bounds.getX() + (bounds.width - textWidth) / 2; + double y = bounds.getY() + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); AffineTransform oldTransform = g2d.getTransform(); if (getOrientation() == Orientation.DEFAULT || getOrientation() == Orientation._180) { - int centerX = bounds.x + bounds.width / 2; - int centerY = bounds.y + bounds.height / 2; + double centerX = bounds.getX() + bounds.width / 2; + double centerY = bounds.getY() + bounds.height / 2; g2d.rotate(-Math.PI / 2, centerX, centerY); } @@ -374,7 +374,7 @@ public class AudioTransformer extends AbstractMultiPartComponent { g2d.translate(0, textHeight / 2); } - g2d.drawString(l, x, y); + g2d.drawString(l, (int)x, (int)y); g2d.setTransform(oldTransform); } diff --git a/diylc/diylc-library/src/org/diylc/components/passive/MultiSectionCapacitor.java b/diylc/diylc-library/src/org/diylc/components/passive/MultiSectionCapacitor.java index bbc1fc48..998b7cd7 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/MultiSectionCapacitor.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/MultiSectionCapacitor.java @@ -25,10 +25,10 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Rectangle; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.text.DecimalFormat; import java.text.Format; @@ -79,7 +79,7 @@ public class MultiSectionCapacitor extends AbstractTransparentComponent 0) - g2d.drawLine(x, (int)(y - markerSize / 2), x, (int)(y + markerSize / 2)); + g2d.drawLine((int)x, (int)(y - markerSize / 2), (int)x, (int)(y + markerSize / 2)); } } diff --git a/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerPanel.java b/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerPanel.java index bcd262fa..63dad3f5 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerPanel.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerPanel.java @@ -30,6 +30,7 @@ import java.awt.Point; import java.awt.Polygon; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -93,20 +94,20 @@ public class PotentiometerPanel extends AbstractPotentiometer { int spacing = (int) this.spacing.convertToPixels(); switch (orientation) { case DEFAULT: - controlPoints[1].setLocation(controlPoints[0].x + spacing, controlPoints[0].y); - controlPoints[2].setLocation(controlPoints[0].x + 2 * spacing, controlPoints[0].y); + controlPoints[1].setLocation(controlPoints[0].getX() + spacing, controlPoints[0].getY()); + controlPoints[2].setLocation(controlPoints[0].getX() + 2 * spacing, controlPoints[0].getY()); break; case _90: - controlPoints[1].setLocation(controlPoints[0].x, controlPoints[0].y + spacing); - controlPoints[2].setLocation(controlPoints[0].x, controlPoints[0].y + 2 * spacing); + controlPoints[1].setLocation(controlPoints[0].getX(), controlPoints[0].getY() + spacing); + controlPoints[2].setLocation(controlPoints[0].getX(), controlPoints[0].getY() + 2 * spacing); break; case _180: - controlPoints[1].setLocation(controlPoints[0].x - spacing, controlPoints[0].y); - controlPoints[2].setLocation(controlPoints[0].x - 2 * spacing, controlPoints[0].y); + controlPoints[1].setLocation(controlPoints[0].getX() - spacing, controlPoints[0].getY()); + controlPoints[2].setLocation(controlPoints[0].getX() - 2 * spacing, controlPoints[0].getY()); break; case _270: - controlPoints[1].setLocation(controlPoints[0].x, controlPoints[0].y - spacing); - controlPoints[2].setLocation(controlPoints[0].x, controlPoints[0].y - 2 * spacing); + controlPoints[1].setLocation(controlPoints[0].getX(), controlPoints[0].getY() - spacing); + controlPoints[2].setLocation(controlPoints[0].getX(), controlPoints[0].getY() - 2 * spacing); break; default: break; @@ -124,66 +125,66 @@ public class PotentiometerPanel extends AbstractPotentiometer { // Add lugs. int pinWidth = (int) PIN_SIZE.convertToPixels(); - int centerX = 0; - int centerY = 0; + double centerX = 0; + double centerY = 0; double waferWidth = 2.5 * spacing; double waferHeight = spacing; switch (orientation) { case DEFAULT: - centerX = controlPoints[0].x + spacing; - centerY = controlPoints[0].y - spacing / 2 - diameter / 2; + centerX = controlPoints[0].getX() + spacing; + centerY = controlPoints[0].getY() - spacing / 2 - diameter / 2; body[9] = - new Area(new RoundRectangle2D.Double(centerX - waferWidth / 2, controlPoints[0].y - waferHeight - spacing + new Area(new RoundRectangle2D.Double(centerX - waferWidth / 2, controlPoints[0].getY() - waferHeight - spacing / 2, waferWidth, waferHeight, spacing / 4, spacing / 4)); for (int i = 0; i < 3; i++) { body[i] = - new Area(new Rectangle2D.Double(controlPoints[i].x - pinWidth / 2, controlPoints[i].y + new Area(new Rectangle2D.Double(controlPoints[i].getX() - pinWidth / 2, controlPoints[i].getY() - (spacing + diameter) / 2, pinWidth, (spacing + diameter) / 2)); } break; case _90: - centerX = controlPoints[0].x + spacing / 2 + diameter / 2; - centerY = controlPoints[0].y + spacing; + centerX = controlPoints[0].getX() + spacing / 2 + diameter / 2; + centerY = controlPoints[0].getY() + spacing; body[9] = - new Area(new RoundRectangle2D.Double(controlPoints[0].x + spacing / 2, centerY - waferWidth / 2, + new Area(new RoundRectangle2D.Double(controlPoints[0].getX() + spacing / 2, centerY - waferWidth / 2, waferHeight, waferWidth, spacing / 4, spacing / 4)); for (int i = 0; i < 3; i++) { body[i] = - new Area(new Rectangle2D.Double(controlPoints[i].x, controlPoints[i].y - pinWidth / 2, + new Area(new Rectangle2D.Double(controlPoints[i].getX(), controlPoints[i].getY() - pinWidth / 2, (spacing + diameter) / 2, pinWidth)); } break; case _180: - centerX = controlPoints[0].x - spacing; - centerY = controlPoints[0].y + spacing / 2 + diameter / 2; + centerX = controlPoints[0].getX() - spacing; + centerY = controlPoints[0].getY() + spacing / 2 + diameter / 2; body[9] = - new Area(new RoundRectangle2D.Double(centerX - waferWidth / 2, controlPoints[0].y + spacing / 2, + new Area(new RoundRectangle2D.Double(centerX - waferWidth / 2, controlPoints[0].getY() + spacing / 2, waferWidth, waferHeight, spacing / 4, spacing / 4)); for (int i = 0; i < 3; i++) { body[i] = - new Area(new Rectangle2D.Double(controlPoints[i].x - pinWidth / 2, controlPoints[i].y, pinWidth, + new Area(new Rectangle2D.Double(controlPoints[i].getX() - pinWidth / 2, controlPoints[i].getY(), pinWidth, (spacing + diameter) / 2)); } break; case _270: - centerX = controlPoints[0].x - spacing / 2 - diameter / 2; - centerY = controlPoints[0].y - spacing; + centerX = controlPoints[0].getX() - spacing / 2 - diameter / 2; + centerY = controlPoints[0].getY() - spacing; body[9] = - new Area(new RoundRectangle2D.Double(controlPoints[0].x - waferHeight - spacing / 2, centerY - waferWidth + new Area(new RoundRectangle2D.Double(controlPoints[0].getX() - waferHeight - spacing / 2, centerY - waferWidth / 2, waferHeight, waferWidth, spacing / 4, spacing / 4)); for (int i = 0; i < 3; i++) { body[i] = - new Area(new Rectangle2D.Double(controlPoints[i].x - (spacing + diameter) / 2, controlPoints[i].y + new Area(new Rectangle2D.Double(controlPoints[i].getX() - (spacing + diameter) / 2, controlPoints[i].getY() - pinWidth / 2, (spacing + diameter) / 2, pinWidth)); } break; @@ -205,7 +206,7 @@ public class PotentiometerPanel extends AbstractPotentiometer { for (int i = 0; i < 3; i++) { Area area = - new Area(new Ellipse2D.Double(controlPoints[i].x - lugDiameter / 2, controlPoints[i].y - lugDiameter / 2, + new Area(new Ellipse2D.Double(controlPoints[i].getX() - lugDiameter / 2, controlPoints[i].getY() - lugDiameter / 2, lugDiameter, lugDiameter)); body[4 + i] = area; } @@ -217,7 +218,7 @@ public class PotentiometerPanel extends AbstractPotentiometer { } // Make holes in the lugs. for (int i = 0; i < 3; i++) { - body[4 + i].subtract(new Area(new Ellipse2D.Double(controlPoints[i].x - holeDiameter / 2, controlPoints[i].y + body[4 + i].subtract(new Area(new Ellipse2D.Double(controlPoints[i].getX() - holeDiameter / 2, controlPoints[i].getY() - holeDiameter / 2, holeDiameter, holeDiameter))); } } @@ -241,7 +242,7 @@ public class PotentiometerPanel extends AbstractPotentiometer { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { super.setControlPoint(point, index); body = null; } diff --git a/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerSymbol.java b/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerSymbol.java index cf446c54..eaeda6cf 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerSymbol.java @@ -24,10 +24,10 @@ package org.diylc.components.passive; import java.awt.Color; import java.awt.FontMetrics; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Polygon; import java.awt.Shape; import java.awt.geom.GeneralPath; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.components.Abstract3LegSymbol; @@ -51,9 +51,9 @@ public class PotentiometerSymbol extends Abstract3LegSymbol { public Shape[] getBody() { Shape[] body = new Shape[3]; - Point[] controlPoints = getControlPoints(); - int x = controlPoints[0].x; - int y = controlPoints[0].y; + Point2D[] controlPoints = getControlPoints(); + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int pinSpacing = (int) PIN_SPACING.convertToPixels(); GeneralPath polyline = new GeneralPath(); @@ -92,8 +92,8 @@ public class PotentiometerSymbol extends Abstract3LegSymbol { } @Override - protected int getLabelX(Rectangle2D shapeRect, Rectangle2D textRect, FontMetrics fontMetrics, boolean outlineMode) { - int x = super.getLabelX(shapeRect, textRect, fontMetrics, outlineMode); + protected double getLabelX(Rectangle2D shapeRect, Rectangle2D textRect, FontMetrics fontMetrics, boolean outlineMode) { + double x = super.getLabelX(shapeRect, textRect, fontMetrics, outlineMode); if (getFlip() == SymbolFlipping.X) return x - (int) (PIN_SPACING.convertToPixels() / 2); return x + (int) PIN_SPACING.convertToPixels(); diff --git a/diylc/diylc-library/src/org/diylc/components/passive/TransformerCoil.java b/diylc/diylc-library/src/org/diylc/components/passive/TransformerCoil.java index 3c9871b5..14f222eb 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/TransformerCoil.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/TransformerCoil.java @@ -23,9 +23,9 @@ package org.diylc.components.passive; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Shape; import java.awt.geom.GeneralPath; +import java.awt.geom.Point2D; import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.common.IPlugInPort; @@ -60,7 +60,7 @@ public class TransformerCoil extends AbstractComponent { public static Size SPACING = new Size(0.025d, SizeUnit.in); public static Color COLOR = Color.blue; - private Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; protected Color color = COLOR; @@ -68,12 +68,12 @@ public class TransformerCore extends AbstractComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return this.controlPoints[index]; } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { this.controlPoints[index].setLocation(point); } @@ -115,7 +115,7 @@ public class TransformerCore extends AbstractComponent { } double theta = - Math.atan2(this.controlPoints[1].y - this.controlPoints[0].y, this.controlPoints[1].x - this.controlPoints[0].x) + Math.atan2(this.controlPoints[1].getY() - this.controlPoints[0].getY(), this.controlPoints[1].getX() - this.controlPoints[0].getX()) + Math.PI / 2; double spacing = SPACING.convertToPixels(); // System.out.println(theta); @@ -124,9 +124,9 @@ public class TransformerCore extends AbstractComponent { g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.translate(spacing * Math.cos(theta) / 2, spacing * Math.sin(theta) / 2); - g2d.drawLine(this.controlPoints[0].x, this.controlPoints[0].y, this.controlPoints[1].x, this.controlPoints[1].y); + g2d.drawLine((int)this.controlPoints[0].getX(), (int)this.controlPoints[0].getY(), (int)this.controlPoints[1].getX(), (int)this.controlPoints[1].getY()); g2d.translate(-spacing * Math.cos(theta), -spacing * Math.sin(theta)); - g2d.drawLine(this.controlPoints[0].x, this.controlPoints[0].y, this.controlPoints[1].x, this.controlPoints[1].y); + g2d.drawLine((int)this.controlPoints[0].getX(), (int)this.controlPoints[0].getY(), (int)this.controlPoints[1].getX(), (int)this.controlPoints[1].getY()); } @Override diff --git a/diylc/diylc-library/src/org/diylc/components/passive/TrimmerPotentiometer.java b/diylc/diylc-library/src/org/diylc/components/passive/TrimmerPotentiometer.java index 88c8985f..7ea2711e 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/TrimmerPotentiometer.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/TrimmerPotentiometer.java @@ -27,6 +27,7 @@ import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -283,8 +284,8 @@ public class TrimmerPotentiometer extends AbstractPotentiometer { default: break; } - controlPoints[1].setLocation(controlPoints[0].x + dx1, controlPoints[0].y + dy1); - controlPoints[2].setLocation(controlPoints[0].x + dx2, controlPoints[0].y + dy2); + controlPoints[1].setLocation(controlPoints[0].getX() + dx1, controlPoints[0].getY() + dy1); + controlPoints[2].setLocation(controlPoints[0].getX() + dx2, controlPoints[0].getY() + dy2); } public Shape[] getBody() { @@ -293,12 +294,12 @@ public class TrimmerPotentiometer extends AbstractPotentiometer { // Calculate the center point as center of the minimum bounding // rectangle. - int centerX = - (Math.max(Math.max(controlPoints[0].x, controlPoints[1].x), controlPoints[2].x) + Math.min( - Math.min(controlPoints[0].x, controlPoints[1].x), controlPoints[2].x)) / 2; - int centerY = - (Math.max(Math.max(controlPoints[0].y, controlPoints[1].y), controlPoints[2].y) + Math.min( - Math.min(controlPoints[0].y, controlPoints[1].y), controlPoints[2].y)) / 2; + double centerX = + (Math.max(Math.max(controlPoints[0].getX(), controlPoints[1].getX()), controlPoints[2].getX()) + Math.min( + Math.min(controlPoints[0].getX(), controlPoints[1].getX()), controlPoints[2].getX())) / 2; + double centerY = + (Math.max(Math.max(controlPoints[0].getY(), controlPoints[1].getY()), controlPoints[2].getY()) + Math.min( + Math.min(controlPoints[0].getY(), controlPoints[1].getY()), controlPoints[2].getY())) / 2; // Calculate body dimensions based on the selected type. int length = 0; @@ -350,7 +351,7 @@ public class TrimmerPotentiometer extends AbstractPotentiometer { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { super.setControlPoint(point, index); body = null; } @@ -404,13 +405,13 @@ public class TrimmerPotentiometer extends AbstractPotentiometer { // Draw pins. int pinSize = getClosestOdd(PIN_SIZE.convertToPixels()); - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { if (!outlineMode) { g2d.setColor(PIN_COLOR); - g2d.fillOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.fillOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } g2d.setColor(outlineMode ? theme.getOutlineColor() : PIN_BORDER_COLOR); - g2d.drawOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.drawOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } // Draw label. diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/AbstractTransistorPackage.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/AbstractTransistorPackage.java index 23dfac1d..a30816aa 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/AbstractTransistorPackage.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/AbstractTransistorPackage.java @@ -26,6 +26,7 @@ import java.awt.Font; import java.awt.Graphics2D; import java.awt.Point; import java.awt.geom.Area; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.awt.StringUtils; @@ -157,7 +158,7 @@ public abstract class AbstractTransistorPackage extends AbstractTransparentCompo } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/BJTSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/BJTSymbol.java index 0e3f6f30..51db5fab 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/BJTSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/BJTSymbol.java @@ -21,20 +21,20 @@ */ package org.diylc.components.semiconductors; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Polygon; -import java.awt.Shape; -import java.awt.geom.AffineTransform; -import java.awt.geom.Area; -import java.awt.geom.GeneralPath; +import java.awt.Graphics2D; +import java.awt.Polygon; +import java.awt.Shape; +import java.awt.geom.AffineTransform; +import java.awt.geom.Area; +import java.awt.geom.GeneralPath; +import java.awt.geom.Point2D; -import org.diylc.common.ObjectCache; +import org.diylc.common.ObjectCache; import org.diylc.components.Abstract3LegSymbol; import org.diylc.components.transform.ThreeLegTransformer; -import org.diylc.core.IDIYComponent; -import org.diylc.core.annotations.ComponentDescriptor; -import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.IDIYComponent; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; @ComponentDescriptor(name = "BJT", author = "Branislav Stojkovic", category = "Schematic Symbols", @@ -48,9 +48,9 @@ public class BJTSymbol extends Abstract3LegSymbol { public Shape[] getBody() { Shape[] body = new Shape[3]; - Point[] controlPoints = getControlPoints(); - int x = controlPoints[0].x; - int y = controlPoints[0].y; + Point2D[] controlPoints = getControlPoints(); + int x = (int) controlPoints[0].getX(); + int y = (int) controlPoints[0].getY(); int pinSpacing = (int) PIN_SPACING.convertToPixels(); GeneralPath polyline = new GeneralPath(); diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/BridgeRectifier.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/BridgeRectifier.java index d1042df2..1e6ba8c9 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/BridgeRectifier.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/BridgeRectifier.java @@ -26,11 +26,11 @@ import java.awt.Color; import java.awt.Composite; import java.awt.FontMetrics; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Rectangle; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -103,7 +103,7 @@ public class BridgeRectifier extends AbstractTransparentComponent { private String value = ""; private Orientation orientation = Orientation.DEFAULT; - private Point[] controlPoints = new Point[] { new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0) }; + private Point2D[] controlPoints = new Point2D[] { new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0) }; private String[] pointLabels = new String[] { "+", "~", "~", "-" }; protected Display display = Display.BOTH; private Color bodyColor = BODY_COLOR; @@ -160,7 +160,7 @@ public class BridgeRectifier extends AbstractTransparentComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -175,14 +175,14 @@ public class BridgeRectifier extends AbstractTransparentComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } @SuppressWarnings("incomplete-switch") private void updateControlPoints() { - Point firstPoint = controlPoints[0]; + Point2D firstPoint = controlPoints[0]; int hSpacing; int vSpacing; @@ -191,40 +191,40 @@ public class BridgeRectifier extends AbstractTransparentComponent { case MiniDIP1: hSpacing = (int) MINI_HORIZONTAL_SPACING.convertToPixels(); vSpacing = (int) MINI_VERTICAL_SPACING.convertToPixels(); - controlPoints[1].setLocation(firstPoint.x + hSpacing, firstPoint.y); - controlPoints[2].setLocation(firstPoint.x + hSpacing, firstPoint.y + vSpacing); - controlPoints[3].setLocation(firstPoint.x, firstPoint.y + vSpacing); + controlPoints[1].setLocation(firstPoint.getX() + hSpacing, firstPoint.getY()); + controlPoints[2].setLocation(firstPoint.getX() + hSpacing, firstPoint.getY() + vSpacing); + controlPoints[3].setLocation(firstPoint.getX(), firstPoint.getY() + vSpacing); break; case MiniDIP2: hSpacing = (int) MINI_HORIZONTAL_SPACING.convertToPixels(); vSpacing = (int) MINI_VERTICAL_SPACING.convertToPixels(); - controlPoints[1].setLocation(firstPoint.x + hSpacing, firstPoint.y); - controlPoints[2].setLocation(firstPoint.x, firstPoint.y + vSpacing); - controlPoints[3].setLocation(firstPoint.x + hSpacing, firstPoint.y + vSpacing); + controlPoints[1].setLocation(firstPoint.getX() + hSpacing, firstPoint.getY()); + controlPoints[2].setLocation(firstPoint.getX(), firstPoint.getY() + vSpacing); + controlPoints[3].setLocation(firstPoint.getX() + hSpacing, firstPoint.getY() + vSpacing); break; case MiniRound1: hSpacing = vSpacing = (int) MINI_ROUND_SPACING.convertToPixels(); - controlPoints[1].setLocation(firstPoint.x + hSpacing, firstPoint.y); - controlPoints[2].setLocation(firstPoint.x + hSpacing, firstPoint.y + vSpacing); - controlPoints[3].setLocation(firstPoint.x, firstPoint.y + vSpacing); + controlPoints[1].setLocation(firstPoint.getX() + hSpacing, firstPoint.getY()); + controlPoints[2].setLocation(firstPoint.getX() + hSpacing, firstPoint.getY() + vSpacing); + controlPoints[3].setLocation(firstPoint.getX(), firstPoint.getY() + vSpacing); break; case MiniRound2: hSpacing = vSpacing = (int) MINI_ROUND_SPACING.convertToPixels(); - controlPoints[1].setLocation(firstPoint.x + hSpacing, firstPoint.y); - controlPoints[2].setLocation(firstPoint.x, firstPoint.y + vSpacing); - controlPoints[3].setLocation(firstPoint.x + hSpacing, firstPoint.y + vSpacing); + controlPoints[1].setLocation(firstPoint.getX() + hSpacing, firstPoint.getY()); + controlPoints[2].setLocation(firstPoint.getX(), firstPoint.getY() + vSpacing); + controlPoints[3].setLocation(firstPoint.getX() + hSpacing, firstPoint.getY() + vSpacing); break; case InLine: vSpacing = (int) INLINE_SPACING.convertToPixels(); - controlPoints[1].setLocation(firstPoint.x, firstPoint.y + vSpacing); - controlPoints[2].setLocation(firstPoint.x, firstPoint.y + 2 * vSpacing); - controlPoints[3].setLocation(firstPoint.x, firstPoint.y + 3 * vSpacing); + controlPoints[1].setLocation(firstPoint.getX(), firstPoint.getY() + vSpacing); + controlPoints[2].setLocation(firstPoint.getX(), firstPoint.getY() + 2 * vSpacing); + controlPoints[3].setLocation(firstPoint.getX(), firstPoint.getY() + 3 * vSpacing); break; case SquareBR3: hSpacing = vSpacing = (int) BR3_SPACING.convertToPixels(); - controlPoints[1].setLocation(firstPoint.x + hSpacing, firstPoint.y); - controlPoints[2].setLocation(firstPoint.x, firstPoint.y + vSpacing); - controlPoints[3].setLocation(firstPoint.x + hSpacing, firstPoint.y + vSpacing); + controlPoints[1].setLocation(firstPoint.getX() + hSpacing, firstPoint.getY()); + controlPoints[2].setLocation(firstPoint.getX(), firstPoint.getY() + vSpacing); + controlPoints[3].setLocation(firstPoint.getX() + hSpacing, firstPoint.getY() + vSpacing); break; } @@ -241,7 +241,7 @@ public class BridgeRectifier extends AbstractTransparentComponent { theta = Math.PI * 3 / 2; break; } - AffineTransform rotation = AffineTransform.getRotateInstance(theta, firstPoint.x, firstPoint.y); + AffineTransform rotation = AffineTransform.getRotateInstance(theta, firstPoint.getX(), firstPoint.getY()); for (int i = 1; i < controlPoints.length; i++) { rotation.transform(controlPoints[i], controlPoints[i]); @@ -254,8 +254,8 @@ public class BridgeRectifier extends AbstractTransparentComponent { if (body == null) { body = new Area[2]; - int centerX = (controlPoints[0].x + controlPoints[1].x + controlPoints[2].x + controlPoints[3].x) / 4; - int centerY = (controlPoints[0].y + controlPoints[1].y + controlPoints[2].y + controlPoints[3].y) / 4; + double centerX = (controlPoints[0].getX() + controlPoints[1].getX() + controlPoints[2].getX() + controlPoints[3].getX()) / 4; + double centerY = (controlPoints[0].getY() + controlPoints[1].getY() + controlPoints[2].getY() + controlPoints[3].getY()) / 4; int width = 0; int length = 0; @@ -307,13 +307,13 @@ public class BridgeRectifier extends AbstractTransparentComponent { // path.lineTo(centerX - width / 2, centerY - width / 2 + margin); // path.closePath(); - RoundedPolygon poly = new RoundedPolygon(new Point[] { - new Point(centerX, centerY - width / 2), - new Point(centerX + width / 2, centerY - width / 2), - new Point(centerX + width / 2, centerY + width / 2), - new Point(centerX - width / 2, centerY + width / 2), - new Point(centerX - width / 2, (int) (centerY - width / 2 + margin)), - new Point((int) (centerX - width / 2 + margin), centerY - width / 2), + RoundedPolygon poly = new RoundedPolygon(new Point2D[] { + new Point2D.Double(centerX, centerY - width / 2), + new Point2D.Double(centerX + width / 2, centerY - width / 2), + new Point2D.Double(centerX + width / 2, centerY + width / 2), + new Point2D.Double(centerX - width / 2, centerY + width / 2), + new Point2D.Double(centerX - width / 2, (int) (centerY - width / 2 + margin)), + new Point2D.Double((int) (centerX - width / 2 + margin), centerY - width / 2), }, new double[] { EDGE_RADIUS, EDGE_RADIUS, EDGE_RADIUS, EDGE_RADIUS / 2 , EDGE_RADIUS / 2}); @@ -358,17 +358,17 @@ public class BridgeRectifier extends AbstractTransparentComponent { g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1f)); if (!outlineMode) { - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { g2d.setColor(PIN_COLOR); if (pinShape == PinShape.Round) - g2d.fillOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.fillOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); else - g2d.fillRect(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.fillRect((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); g2d.setColor(PIN_BORDER_COLOR); if (pinShape == PinShape.Round) - g2d.drawOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.drawOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); else - g2d.drawRect(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.drawRect((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } } @@ -443,14 +443,14 @@ public class BridgeRectifier extends AbstractTransparentComponent { int textWidth = (int) (rect.getWidth()); // Center text horizontally and vertically Rectangle bounds = mainArea.getBounds(); - int x = bounds.x + (bounds.width - textWidth) / 2; - int y = bounds.y + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); + double x = bounds.getX() + (bounds.width - textWidth) / 2; + double y = bounds.getY() + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); AffineTransform oldTransform = g2d.getTransform(); if (getLabelOriantation() == LabelOriantation.Directional && (getOrientation() == Orientation.DEFAULT || getOrientation() == Orientation._180)) { - int centerX = bounds.x + bounds.width / 2; - int centerY = bounds.y + bounds.height / 2; + double centerX = bounds.getX() + bounds.width / 2; + double centerY = bounds.getY() + bounds.height / 2; g2d.rotate(-Math.PI / 2, centerX, centerY); } @@ -464,7 +464,7 @@ public class BridgeRectifier extends AbstractTransparentComponent { if (rectifierType == RectifierType.SquareBR3) y -= BR3_HOLE_SIZE.convertToPixels(); - g2d.drawString(l, x, y); + g2d.drawString(l, (int)x, (int)y); g2d.setTransform(oldTransform); } @@ -474,7 +474,7 @@ public class BridgeRectifier extends AbstractTransparentComponent { g2d.setFont(project.getFont().deriveFont((float) (project.getFont().getSize2D() * 0.8))); g2d.setColor(finalLabelColor); for (int i = 0; i { break; } - StringUtils.drawCenteredText(g2d, pointLabels[i], point.x + dx, point.y + dy, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); + StringUtils.drawCenteredText(g2d, pointLabels[i], point.getX() + dx, point.getY() + dy, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); } } diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/DIL_IC.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/DIL_IC.java index 462233e7..922d0137 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/DIL_IC.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/DIL_IC.java @@ -26,11 +26,11 @@ import java.awt.Color; import java.awt.Composite; import java.awt.FontMetrics; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Rectangle; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -79,7 +79,7 @@ public class DIL_IC extends AbstractTransparentComponent { private PinCount pinCount = PinCount._8; private Size pinSpacing = new Size(0.1d, SizeUnit.in); private Size rowSpacing = new Size(0.3d, SizeUnit.in); - private Point[] controlPoints = new Point[] {new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0)}; protected Display display = Display.BOTH; private Color bodyColor = BODY_COLOR; private Color borderColor = BORDER_COLOR; @@ -178,7 +178,7 @@ public class DIL_IC extends AbstractTransparentComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -193,14 +193,14 @@ public class DIL_IC extends AbstractTransparentComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } private void updateControlPoints() { - Point firstPoint = controlPoints[0]; - controlPoints = new Point[pinCount.getValue()]; + Point2D firstPoint = controlPoints[0]; + controlPoints = new Point2D[pinCount.getValue()]; controlPoints[0] = firstPoint; double pinSpacing = this.pinSpacing.convertToPixels(); double rowSpacing = this.rowSpacing.convertToPixels(); @@ -238,16 +238,16 @@ public class DIL_IC extends AbstractTransparentComponent { default: throw new RuntimeException("Unexpected orientation: " + orientation); } - controlPoints[i] = new Point((int) (firstPoint.x + dx1), (int) (firstPoint.y + dy1)); - controlPoints[i + pinCount.getValue() / 2] = new Point((int) (firstPoint.x + dx2), (int) (firstPoint.y + dy2)); + controlPoints[i] = new Point2D.Double((int) (firstPoint.getX() + dx1), (int) (firstPoint.getY() + dy1)); + controlPoints[i + pinCount.getValue() / 2] = new Point2D.Double((int) (firstPoint.getX() + dx2), (int) (firstPoint.getY() + dy2)); } } public Area[] getBody() { if (body == null) { body = new Area[2]; - double x = controlPoints[0].x; - double y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); double width; double height; double pinSize = PIN_SIZE.convertToPixels(); @@ -314,11 +314,11 @@ public class DIL_IC extends AbstractTransparentComponent { g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1f)); if (!outlineMode) { int pinSize = (int) PIN_SIZE.convertToPixels() / 2 * 2; - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { g2d.setColor(PIN_COLOR); - g2d.fillRect(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.fillRect((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); g2d.setColor(PIN_BORDER_COLOR); - g2d.drawRect(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.drawRect((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } } Composite oldComposite = g2d.getComposite(); @@ -392,14 +392,14 @@ public class DIL_IC extends AbstractTransparentComponent { int textWidth = (int) (rect.getWidth()); // Center text horizontally and vertically Rectangle bounds = mainArea.getBounds(); - int x = bounds.x + (bounds.width - textWidth) / 2; - int y = bounds.y + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); + double x = bounds.getX() + (bounds.width - textWidth) / 2; + double y = bounds.getY() + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); AffineTransform oldTransform = g2d.getTransform(); if (getOrientation() == Orientation.DEFAULT || getOrientation() == Orientation._180) { - int centerX = bounds.x + bounds.width / 2; - int centerY = bounds.y + bounds.height / 2; + double centerX = bounds.getX() + bounds.width / 2; + double centerY = bounds.getY() + bounds.height / 2; g2d.rotate(-Math.PI / 2, centerX, centerY); } @@ -410,7 +410,7 @@ public class DIL_IC extends AbstractTransparentComponent { g2d.translate(0, textHeight / 2); } - g2d.drawString(l, x, y); + g2d.drawString(l, (int)x, (int)y); g2d.setTransform(oldTransform); } @@ -421,14 +421,14 @@ public class DIL_IC extends AbstractTransparentComponent { int j = 0; int k = 0; int pinSize = (int) PIN_SIZE.convertToPixels(); - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { pinNo++; // determine points relative to rotation - int textX1 = point.x - 2 * pinSize; - int textY1 = point.y + pinSize / 2; - int textX2 = point.x + pinSize; - int textY2 = point.y + pinSize / 2; + int textX1 = (int) (point.getX() - 2 * pinSize); + int textY1 = (int) (point.getY() + pinSize / 2); + int textX2 = (int) (point.getX() + pinSize); + int textY2 = (int) (point.getY() + pinSize / 2); if (orientation == Orientation._90) { textX2 = textX2 - pinSize - pinSize / 2; textY2 = textY2 + pinSize; @@ -560,21 +560,21 @@ public class DIL_IC extends AbstractTransparentComponent { @Override public Rectangle2D getCachingBounds() { - int minX = Integer.MAX_VALUE; - int maxX = Integer.MIN_VALUE; - int minY = Integer.MAX_VALUE; - int maxY = Integer.MIN_VALUE; + double minX = Integer.MAX_VALUE; + double maxX = Integer.MIN_VALUE; + double minY = Integer.MAX_VALUE; + double maxY = Integer.MIN_VALUE; int margin = 50; for (int i = 0; i < getControlPointCount(); i++) { - Point p = getControlPoint(i); - if (p.x < minX) - minX = p.x; - if (p.x > maxX) - maxX = p.x; - if (p.y < minY) - minY = p.y; - if (p.y > maxY) - maxY = p.y; + Point2D p = getControlPoint(i); + if (p.getX() < minX) + minX = p.getX(); + if (p.getX() > maxX) + maxX = p.getX(); + if (p.getY() < minY) + minY = p.getY(); + if (p.getY() > maxY) + maxY = p.getY(); } return new Rectangle2D.Double(minX - margin, minY - margin, maxX - minX + 2 * margin, maxY - minY + 2 * margin); diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/ICSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/ICSymbol.java index ea703b19..4ee64cce 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/ICSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/ICSymbol.java @@ -25,11 +25,11 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Polygon; import java.awt.Shape; import java.awt.geom.Area; import java.awt.geom.GeneralPath; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -66,8 +66,8 @@ public class ICSymbol extends AbstractTransparentComponent { protected ICPointCount icPointCount = ICPointCount._5; protected String value = ""; - protected Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0), - new Point(0, 0)}; + protected Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), + new Point2D.Double(0, 0)}; protected Color bodyColor = BODY_COLOR; protected Color borderColor = BORDER_COLOR; protected Display display = Display.NAME; @@ -126,7 +126,7 @@ public class ICSymbol extends AbstractTransparentComponent { : LABEL_COLOR; } g2d.setColor(finalLabelColor); - int x = (controlPoints[0].x + controlPoints[2].x) / 2; + double x = (controlPoints[0].getX() + controlPoints[2].getX()) / 2; String label = ""; label = display == Display.VALUE ? getValue() : getName(); if (display == Display.NONE) { @@ -135,12 +135,12 @@ public class ICSymbol extends AbstractTransparentComponent { if (display == Display.BOTH) { label = getName() + " " + (getValue() == null ? "" : getValue().toString()); } - StringUtils.drawCenteredText(g2d, label, x, controlPoints[0].y + pinSpacing, HorizontalAlignment.CENTER, + StringUtils.drawCenteredText(g2d, label, x, controlPoints[0].getY() + pinSpacing, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); // Draw +/- markers - StringUtils.drawCenteredText(g2d, getFlip() ? "+" : "-", controlPoints[0].x + pinSpacing, controlPoints[0].y, HorizontalAlignment.CENTER, + StringUtils.drawCenteredText(g2d, getFlip() ? "+" : "-", controlPoints[0].getX() + pinSpacing, controlPoints[0].getY(), HorizontalAlignment.CENTER, VerticalAlignment.CENTER); - StringUtils.drawCenteredText(g2d, getFlip() ? "-" : "+", controlPoints[1].x + pinSpacing, controlPoints[1].y, HorizontalAlignment.CENTER, + StringUtils.drawCenteredText(g2d, getFlip() ? "-" : "+", controlPoints[1].getX() + pinSpacing, controlPoints[1].getY(), HorizontalAlignment.CENTER, VerticalAlignment.CENTER); } @@ -165,7 +165,7 @@ public class ICSymbol extends AbstractTransparentComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -177,45 +177,38 @@ public class ICSymbol extends AbstractTransparentComponent { private void updateControlPoints() { int pinSpacing = (int) PIN_SPACING.convertToPixels(); // Update control points. - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); - controlPoints[1].x = x; - controlPoints[1].y = y + pinSpacing * 2; - - controlPoints[2].x = x + pinSpacing * 6; - controlPoints[2].y = y + pinSpacing; - - controlPoints[3].x = x + pinSpacing * 3; - controlPoints[3].y = y - pinSpacing; - - controlPoints[4].x = x + pinSpacing * 3; - controlPoints[4].y = y + pinSpacing * 3; + controlPoints[1].setLocation(x, y + pinSpacing * 2); + controlPoints[2].setLocation(x + pinSpacing * 6, y + pinSpacing); + controlPoints[3].setLocation(x + pinSpacing * 3, y - pinSpacing); + controlPoints[4].setLocation(x + pinSpacing * 3, y + pinSpacing * 3); } public Shape[] getBody() { if (body == null) { body = new Shape[2]; int pinSpacing = (int) PIN_SPACING.convertToPixels(); - int x = controlPoints[0].x; - int y = controlPoints[0].y; + int x = (int) controlPoints[0].getX(); + int y = (int) controlPoints[0].getY(); Shape triangle = new Polygon(new int[] {x + pinSpacing / 2, x + pinSpacing * 11 / 2, x + pinSpacing / 2}, new int[] { y - pinSpacing * 3 / 2, y + pinSpacing, y + pinSpacing * 7 / 2}, 3); body[0] = triangle; GeneralPath polyline = new GeneralPath(); - polyline.moveTo(controlPoints[0].x, controlPoints[0].y); - polyline.lineTo(controlPoints[0].x + pinSpacing / 2, controlPoints[0].y); - polyline.moveTo(controlPoints[1].x, controlPoints[1].y); - polyline.lineTo(controlPoints[1].x + pinSpacing / 2, controlPoints[1].y); - polyline.moveTo(controlPoints[2].x, controlPoints[2].y); - polyline.lineTo(controlPoints[2].x - pinSpacing / 2, controlPoints[2].y); + polyline.moveTo(controlPoints[0].getX(), controlPoints[0].getY()); + polyline.lineTo(controlPoints[0].getX() + pinSpacing / 2, controlPoints[0].getY()); + polyline.moveTo(controlPoints[1].getX(), controlPoints[1].getY()); + polyline.lineTo(controlPoints[1].getX() + pinSpacing / 2, controlPoints[1].getY()); + polyline.moveTo(controlPoints[2].getX(), controlPoints[2].getY()); + polyline.lineTo(controlPoints[2].getX() - pinSpacing / 2, controlPoints[2].getY()); if (icPointCount == ICPointCount._5) { - polyline.moveTo(controlPoints[3].x, controlPoints[3].y); - polyline.lineTo(controlPoints[3].x, controlPoints[3].y + pinSpacing * 3 / 4); - polyline.moveTo(controlPoints[4].x, controlPoints[4].y); - polyline.lineTo(controlPoints[4].x, controlPoints[4].y - pinSpacing * 3 / 4); + polyline.moveTo(controlPoints[3].getX(), controlPoints[3].getY()); + polyline.lineTo(controlPoints[3].getX(), controlPoints[3].getY() + pinSpacing * 3 / 4); + polyline.moveTo(controlPoints[4].getX(), controlPoints[4].getY()); + polyline.lineTo(controlPoints[4].getX(), controlPoints[4].getY() - pinSpacing * 3 / 4); } body[1] = polyline; } @@ -244,7 +237,7 @@ public class ICSymbol extends AbstractTransparentComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/JFETSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/JFETSymbol.java index 2505ddd1..ea5fb60d 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/JFETSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/JFETSymbol.java @@ -21,18 +21,18 @@ */ package org.diylc.components.semiconductors; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Polygon; -import java.awt.Shape; -import java.awt.geom.GeneralPath; +import java.awt.Graphics2D; +import java.awt.Polygon; +import java.awt.Shape; +import java.awt.geom.GeneralPath; +import java.awt.geom.Point2D; -import org.diylc.common.ObjectCache; +import org.diylc.common.ObjectCache; import org.diylc.components.Abstract3LegSymbol; import org.diylc.components.transform.ThreeLegTransformer; -import org.diylc.core.IDIYComponent; -import org.diylc.core.annotations.ComponentDescriptor; -import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.IDIYComponent; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; @ComponentDescriptor(name = "JFET", author = "Branislav Stojkovic", category = "Schematic Symbols", @@ -46,9 +46,9 @@ public class JFETSymbol extends Abstract3LegSymbol { public Shape[] getBody() { Shape[] body = new Shape[3]; - Point[] controlPoints = getControlPoints(); - int x = controlPoints[0].x; - int y = controlPoints[0].y; + Point2D[] controlPoints = getControlPoints(); + int x = (int) controlPoints[0].getX(); + int y = (int) controlPoints[0].getY(); int pinSpacing = (int) PIN_SPACING.convertToPixels(); GeneralPath polyline = new GeneralPath(); diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/LogicGateSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/LogicGateSymbol.java index da9213cf..b2fe8578 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/LogicGateSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/LogicGateSymbol.java @@ -21,13 +21,13 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Polygon; import java.awt.Shape; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.GeneralPath; import java.awt.geom.Path2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -64,7 +64,7 @@ public class LogicGateSymbol extends AbstractTransparentComponent { protected GateType gateType = GateType.Not; protected String value = ""; - protected Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, 0), new Point(0, 0)}; + protected Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; protected Color bodyColor = BODY_COLOR; protected Color borderColor = BORDER_COLOR; protected Display display = Display.NONE; @@ -124,7 +124,7 @@ public class LogicGateSymbol extends AbstractTransparentComponent { : LABEL_COLOR; } g2d.setColor(finalLabelColor); - int x = (controlPoints[0].x + controlPoints[getControlPointCount() == 2 ? 1 : 2].x) / 2; + int x = (int) ((controlPoints[0].getX() + controlPoints[getControlPointCount() == 2 ? 1 : 2].getX()) / 2); String label = ""; label = display == Display.VALUE ? getValue() : getName(); if (display == Display.NONE) { @@ -133,7 +133,7 @@ public class LogicGateSymbol extends AbstractTransparentComponent { if (display == Display.BOTH) { label = getName() + " " + (getValue() == null ? "" : getValue().toString()); } - StringUtils.drawCenteredText(g2d, label, x, controlPoints[0].y + (getControlPointCount() == 2 ? 0 : pinSpacing), HorizontalAlignment.CENTER, + StringUtils.drawCenteredText(g2d, label, x, controlPoints[0].getY() + (getControlPointCount() == 2 ? 0 : pinSpacing), HorizontalAlignment.CENTER, VerticalAlignment.CENTER); } @@ -155,7 +155,7 @@ public class LogicGateSymbol extends AbstractTransparentComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -167,18 +167,14 @@ public class LogicGateSymbol extends AbstractTransparentComponent { private void updateControlPoints() { int pinSpacing = (int) PIN_SPACING.convertToPixels(); // Update control points. - int x = controlPoints[0].x; - int y = controlPoints[0].y; + int x = (int) controlPoints[0].getX(); + int y = (int) controlPoints[0].getY(); if (getControlPointCount() == 2) { - controlPoints[1].x = x + pinSpacing * 6; - controlPoints[1].y = y; + controlPoints[1].setLocation(x + pinSpacing * 6, y); } else { - controlPoints[1].x = x; - controlPoints[1].y = y + pinSpacing * 2; - - controlPoints[2].x = x + pinSpacing * 6; - controlPoints[2].y = y + pinSpacing; + controlPoints[1].setLocation(x, y + pinSpacing * 2); + controlPoints[2].setLocation(x + pinSpacing * 6, y + pinSpacing); } } @@ -186,8 +182,8 @@ public class LogicGateSymbol extends AbstractTransparentComponent { if (body == null) { body = new Shape[3]; int pinSpacing = (int) PIN_SPACING.convertToPixels(); - int x = controlPoints[0].x; - int y = controlPoints[0].y; + int x = (int) controlPoints[0].getX(); + int y = (int) controlPoints[0].getY(); Area main = null; @@ -224,23 +220,23 @@ public class LogicGateSymbol extends AbstractTransparentComponent { GeneralPath connections = new GeneralPath(); if (getControlPointCount() == 2) { - connections.moveTo(controlPoints[0].x, controlPoints[0].y); - connections.lineTo(controlPoints[0].x + pinSpacing * 3 / 2, controlPoints[0].y); - connections.moveTo(controlPoints[1].x, controlPoints[1].y); + connections.moveTo(controlPoints[0].getX(), controlPoints[0].getY()); + connections.lineTo(controlPoints[0].getX() + pinSpacing * 3 / 2, controlPoints[0].getY()); + connections.moveTo(controlPoints[1].getX(), controlPoints[1].getY()); if (getGateType().getNeedsCircle()) - connections.lineTo(controlPoints[1].x - pinSpacing, controlPoints[1].y); + connections.lineTo(controlPoints[1].getX() - pinSpacing, controlPoints[1].getY()); else - connections.lineTo(controlPoints[1].x - pinSpacing * 3 / 2, controlPoints[1].y); + connections.lineTo(controlPoints[1].getX() - pinSpacing * 3 / 2, controlPoints[1].getY()); } else { - connections.moveTo(controlPoints[0].x, controlPoints[0].y); - connections.lineTo(controlPoints[0].x + pinSpacing * 3 / 2, controlPoints[0].y); - connections.moveTo(controlPoints[1].x, controlPoints[1].y); - connections.lineTo(controlPoints[1].x + pinSpacing * 3 / 2, controlPoints[1].y); - connections.moveTo(controlPoints[2].x, controlPoints[2].y); + connections.moveTo(controlPoints[0].getX(), controlPoints[0].getY()); + connections.lineTo(controlPoints[0].getX() + pinSpacing * 3 / 2, controlPoints[0].getY()); + connections.moveTo(controlPoints[1].getX(), controlPoints[1].getY()); + connections.lineTo(controlPoints[1].getX() + pinSpacing * 3 / 2, controlPoints[1].getY()); + connections.moveTo(controlPoints[2].getX(), controlPoints[2].getY()); if (getGateType().getNeedsCircle()) - connections.lineTo(controlPoints[2].x - pinSpacing, controlPoints[2].y); + connections.lineTo(controlPoints[2].getX() - pinSpacing, controlPoints[2].getY()); else - connections.lineTo(controlPoints[2].x - pinSpacing * 3 / 2, controlPoints[2].y); + connections.lineTo(controlPoints[2].getX() - pinSpacing * 3 / 2, controlPoints[2].getY()); } body[1] = connections; @@ -276,7 +272,7 @@ public class LogicGateSymbol extends AbstractTransparentComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/MOSFETSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/MOSFETSymbol.java index 84753790..4557ad51 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/MOSFETSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/MOSFETSymbol.java @@ -21,18 +21,18 @@ */ package org.diylc.components.semiconductors; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Polygon; -import java.awt.Shape; -import java.awt.geom.GeneralPath; +import java.awt.Graphics2D; +import java.awt.Polygon; +import java.awt.Shape; +import java.awt.geom.GeneralPath; +import java.awt.geom.Point2D; -import org.diylc.common.ObjectCache; +import org.diylc.common.ObjectCache; import org.diylc.components.Abstract3LegSymbol; import org.diylc.components.transform.ThreeLegTransformer; -import org.diylc.core.IDIYComponent; -import org.diylc.core.annotations.ComponentDescriptor; -import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.IDIYComponent; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; @ComponentDescriptor(name = "MOSFET", author = "Branislav Stojkovic", category = "Schematic Symbols", @@ -46,9 +46,9 @@ public class MOSFETSymbol extends Abstract3LegSymbol { public Shape[] getBody() { Shape[] body = new Shape[3]; - Point[] controlPoints = getControlPoints(); - int x = controlPoints[0].x; - int y = controlPoints[0].y; + Point2D[] controlPoints = getControlPoints(); + int x = (int) controlPoints[0].getX(); + int y = (int) controlPoints[0].getY(); int pinSpacing = (int) PIN_SPACING.convertToPixels(); GeneralPath polyline = new GeneralPath(); diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/SIL_IC.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/SIL_IC.java index c669c30a..d7e0a204 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/SIL_IC.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/SIL_IC.java @@ -26,10 +26,10 @@ import java.awt.Color; import java.awt.Composite; import java.awt.FontMetrics; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Rectangle; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -77,7 +77,7 @@ public class SIL_IC extends AbstractTransparentComponent { private Orientation orientation = Orientation.DEFAULT; private PinCount pinCount = PinCount._8; private Size pinSpacing = new Size(0.1d, SizeUnit.in); - private Point[] controlPoints = new Point[] {new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0)}; protected Display display = Display.NAME; private Color bodyColor = BODY_COLOR; private Color borderColor = BORDER_COLOR; @@ -169,7 +169,7 @@ public class SIL_IC extends AbstractTransparentComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -184,14 +184,14 @@ public class SIL_IC extends AbstractTransparentComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } private void updateControlPoints() { - Point firstPoint = controlPoints[0]; - controlPoints = new Point[pinCount.getValue()]; + Point2D firstPoint = controlPoints[0]; + controlPoints = new Point2D.Double[pinCount.getValue()]; controlPoints[0] = firstPoint; double pinSpacing = this.pinSpacing.convertToPixels(); // Update control points. @@ -218,15 +218,15 @@ public class SIL_IC extends AbstractTransparentComponent { default: throw new RuntimeException("Unexpected orientation: " + orientation); } - controlPoints[i] = new Point((int) (firstPoint.x + dx1), (int) (firstPoint.y + dy1)); + controlPoints[i] = new Point2D.Double((int) (firstPoint.getX() + dx1), (int) (firstPoint.getY() + dy1)); } } public Area[] getBody() { if (body == null) { body = new Area[2]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int thickness = getClosestOdd(THICKNESS.convertToPixels()); double width; double height; @@ -293,11 +293,11 @@ public class SIL_IC extends AbstractTransparentComponent { g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1f)); if (!outlineMode) { int pinSize = (int) PIN_SIZE.convertToPixels() / 2 * 2; - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { g2d.setColor(PIN_COLOR); - g2d.fillOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.fillOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); g2d.setColor(PIN_BORDER_COLOR); - g2d.drawOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.drawOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } } @@ -363,8 +363,8 @@ public class SIL_IC extends AbstractTransparentComponent { int textWidth = (int) (rect.getWidth()); // Center text horizontally and vertically Rectangle bounds = mainArea.getBounds(); - int x = bounds.x + (bounds.width - textWidth) / 2; - int y = bounds.y + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); + int x = (int) (bounds.getX() + (bounds.width - textWidth) / 2); + int y = (int) (bounds.getY() + (bounds.height - textHeight) / 2 + fontMetrics.getAscent()); g2d.drawString(label, x, y); } @@ -434,21 +434,21 @@ public class SIL_IC extends AbstractTransparentComponent { @Override public Rectangle2D getCachingBounds() { - int minX = Integer.MAX_VALUE; - int maxX = Integer.MIN_VALUE; - int minY = Integer.MAX_VALUE; - int maxY = Integer.MIN_VALUE; + double minX = Integer.MAX_VALUE; + double maxX = Integer.MIN_VALUE; + double minY = Integer.MAX_VALUE; + double maxY = Integer.MIN_VALUE; int margin = 50; for (int i = 0; i < getControlPointCount(); i++) { - Point p = getControlPoint(i); - if (p.x < minX) - minX = p.x; - if (p.x > maxX) - maxX = p.x; - if (p.y < minY) - minY = p.y; - if (p.y > maxY) - maxY = p.y; + Point2D p = getControlPoint(i); + if (p.getX() < minX) + minX = p.getX(); + if (p.getX() > maxX) + maxX = p.getX(); + if (p.getY() < minY) + minY = p.getY(); + if (p.getY() > maxY) + maxY = p.getY(); } return new Rectangle2D.Double(minX - margin, minY - margin, maxX - minX + 2 * margin, maxY - minY + 2 * margin); diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO3.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO3.java index b37d4f50..015f1065 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO3.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO3.java @@ -26,7 +26,6 @@ import java.awt.Color; import java.awt.Composite; import java.awt.FontMetrics; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Rectangle; import java.awt.RenderingHints; import java.awt.geom.AffineTransform; @@ -79,7 +78,7 @@ public class TransistorTO3 extends AbstractTransparentComponent { private String value = ""; private Orientation orientation = Orientation.DEFAULT; - private Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; transient private Area[] body; private Color bodyColor = BODY_COLOR; private Color borderColor = BORDER_COLOR; @@ -119,7 +118,7 @@ public class TransistorTO3 extends AbstractTransparentComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -134,7 +133,7 @@ public class TransistorTO3 extends AbstractTransparentComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } @@ -142,8 +141,8 @@ public class TransistorTO3 extends AbstractTransparentComponent { private void updateControlPoints() { int pinSpacing = (int) PIN_SPACING.convertToPixels(); // Update control points. - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); switch (orientation) { case DEFAULT: controlPoints[1].setLocation(x, y + pinSpacing); @@ -166,8 +165,8 @@ public class TransistorTO3 extends AbstractTransparentComponent { if (body == null) { body = new Area[2]; int pinOffset = (int) PIN_OFFSET.convertToPixels(); - int x = (controlPoints[0].x + controlPoints[1].x) / 2; - int y = (controlPoints[0].y + controlPoints[1].y) / 2; + double x = (controlPoints[0].getX() + controlPoints[1].getX()) / 2; + double y = (controlPoints[0].getY() + controlPoints[1].getY()) / 2; switch (orientation) { case DEFAULT: @@ -235,13 +234,13 @@ public class TransistorTO3 extends AbstractTransparentComponent { Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1f)); - for (Point point : controlPoints) { + for (Point2D point : controlPoints) { if (!outlineMode) { g2d.setColor(PIN_COLOR); - g2d.fillOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.fillOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } g2d.setColor(outlineMode ? theme.getOutlineColor() : PIN_BORDER_COLOR); - g2d.drawOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.drawOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } Area mainArea = getBody()[0]; @@ -296,8 +295,8 @@ public class TransistorTO3 extends AbstractTransparentComponent { int textWidth = (int) (rect.getWidth()); // Center text horizontally and vertically Rectangle bounds = mainArea.getBounds(); - int x = bounds.x + (bounds.width - textWidth) / 2; - int y = bounds.y + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); + int x = (int) (bounds.getX() + (bounds.width - textWidth) / 2); + int y = (int) (bounds.getY() + (bounds.height - textHeight) / 2 + fontMetrics.getAscent()); g2d.drawString(label, x, y); } diff --git a/diylc/diylc-library/src/org/diylc/components/shapes/AbstractShape.java b/diylc/diylc-library/src/org/diylc/components/shapes/AbstractShape.java index 9e311bd8..ededc4d9 100644 --- a/diylc/diylc-library/src/org/diylc/components/shapes/AbstractShape.java +++ b/diylc/diylc-library/src/org/diylc/components/shapes/AbstractShape.java @@ -21,14 +21,15 @@ */ package org.diylc.components.shapes; -import java.awt.Color; -import java.awt.Point; +import java.awt.Color; +import java.awt.Point; +import java.awt.geom.Point2D; -import org.diylc.components.AbstractTransparentComponent; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.EditableProperty; +import org.diylc.components.AbstractTransparentComponent; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.PositiveMeasureValidator; -import org.diylc.core.measures.Size; +import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; public abstract class AbstractShape extends AbstractTransparentComponent { @@ -41,10 +42,10 @@ public abstract class AbstractShape extends AbstractTransparentComponent { public static Size DEFAULT_HEIGHT = new Size(0.4d, SizeUnit.in); protected String value = ""; - protected Point[] controlPoints = new Point[] {new Point(0, 0), - new Point((int) DEFAULT_WIDTH.convertToPixels(), (int) DEFAULT_HEIGHT.convertToPixels())}; - protected Point firstPoint = new Point(); - protected Point secondPoint = new Point(); + protected Point2D[] controlPoints = new Point2D[] {new Point(0, 0), + new Point2D.Double(DEFAULT_WIDTH.convertToPixels(), DEFAULT_HEIGHT.convertToPixels())}; + protected Point2D firstPoint = new Point(); + protected Point2D secondPoint = new Point(); protected Color color = COLOR; protected Color borderColor = BORDER_COLOR; @@ -83,7 +84,7 @@ public abstract class AbstractShape extends AbstractTransparentComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -98,12 +99,12 @@ public abstract class AbstractShape extends AbstractTransparentComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); - firstPoint.setLocation(Math.min(controlPoints[0].x, controlPoints[1].x), - Math.min(controlPoints[0].y, controlPoints[1].y)); - secondPoint.setLocation(Math.max(controlPoints[0].x, controlPoints[1].x), - Math.max(controlPoints[0].y, controlPoints[1].y)); + firstPoint.setLocation(Math.min(controlPoints[0].getX(), controlPoints[1].getX()), + Math.min(controlPoints[0].getY(), controlPoints[1].getY())); + secondPoint.setLocation(Math.max(controlPoints[0].getX(), controlPoints[1].getX()), + Math.max(controlPoints[0].getY(), controlPoints[1].getY())); } @Override diff --git a/diylc/diylc-library/src/org/diylc/components/shapes/Ellipse.java b/diylc/diylc-library/src/org/diylc/components/shapes/Ellipse.java index 1642ee89..ceab11f3 100644 --- a/diylc/diylc-library/src/org/diylc/components/shapes/Ellipse.java +++ b/diylc/diylc-library/src/org/diylc/components/shapes/Ellipse.java @@ -54,7 +54,7 @@ public class Ellipse extends AbstractShape { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } g2d.setColor(color); - g2d.fillOval(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y); + g2d.fillOval((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY())); g2d.setComposite(oldComposite); // Do not track any changes that follow because the whole oval has been @@ -62,7 +62,7 @@ public class Ellipse extends AbstractShape { drawingObserver.stopTracking(); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : borderColor); - g2d.drawOval(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y); + g2d.drawOval((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY())); } @Override diff --git a/diylc/diylc-library/src/org/diylc/components/shapes/Polygon.java b/diylc/diylc-library/src/org/diylc/components/shapes/Polygon.java index 4ccf0e1c..9f0d70c3 100644 --- a/diylc/diylc-library/src/org/diylc/components/shapes/Polygon.java +++ b/diylc/diylc-library/src/org/diylc/components/shapes/Polygon.java @@ -21,21 +21,22 @@ */ package org.diylc.components.shapes; -import java.awt.AlphaComposite; -import java.awt.Color; -import java.awt.Composite; -import java.awt.Graphics2D; -import java.awt.Point; -import java.util.Arrays; - -import org.diylc.common.ObjectCache; -import org.diylc.common.SimpleComponentTransformer; -import org.diylc.core.ComponentState; -import org.diylc.core.IDIYComponent; -import org.diylc.core.IDrawingObserver; -import org.diylc.core.Project; -import org.diylc.core.annotations.BomPolicy; -import org.diylc.core.annotations.ComponentDescriptor; +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Composite; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.geom.Point2D; +import java.util.Arrays; + +import org.diylc.common.ObjectCache; +import org.diylc.common.SimpleComponentTransformer; +import org.diylc.core.ComponentState; +import org.diylc.core.IDIYComponent; +import org.diylc.core.IDrawingObserver; +import org.diylc.core.Project; +import org.diylc.core.annotations.BomPolicy; +import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; @ComponentDescriptor(name = "Polygon", author = "Branislav Stojkovic", category = "Shapes", @@ -64,8 +65,8 @@ public class Polygon extends AbstractShape { int[] xPoints = new int[controlPoints.length]; int[] yPoints = new int[controlPoints.length]; for (int i = 0; i < controlPoints.length; i++) { - xPoints[i] = controlPoints[i].x; - yPoints[i] = controlPoints[i].y; + xPoints[i] = (int)controlPoints[i].getX(); + yPoints[i] = (int)controlPoints[i].getY(); } Composite oldComposite = g2d.getComposite(); @@ -100,8 +101,8 @@ public class Polygon extends AbstractShape { this.controlPoints[newPointCount - 1] = this.controlPoints[oldPointCount - 1]; for (int i = oldPointCount - 1; i < newPointCount - 1; i++) { this.controlPoints[i] = - new Point((this.controlPoints[i - 1].x + this.controlPoints[newPointCount - 1].x) / 2, - (this.controlPoints[i - 1].y + this.controlPoints[newPointCount - 1].y) / 2); + new Point2D.Double((this.controlPoints[i - 1].getX() + this.controlPoints[newPointCount - 1].getX()) / 2, + (this.controlPoints[i - 1].getY() + this.controlPoints[newPointCount - 1].getY()) / 2); } } this.pointCount = pointCount; diff --git a/diylc/diylc-library/src/org/diylc/components/shapes/Rectangle.java b/diylc/diylc-library/src/org/diylc/components/shapes/Rectangle.java index dbbbc4e3..80994bee 100644 --- a/diylc/diylc-library/src/org/diylc/components/shapes/Rectangle.java +++ b/diylc/diylc-library/src/org/diylc/components/shapes/Rectangle.java @@ -62,7 +62,7 @@ public class Rectangle extends AbstractShape { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } g2d.setColor(color); - g2d.fillRoundRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y, radius, + g2d.fillRoundRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY()), radius, radius); g2d.setComposite(oldComposite); @@ -71,7 +71,7 @@ public class Rectangle extends AbstractShape { drawingObserver.stopTracking(); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : borderColor); - g2d.drawRoundRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y, radius, + g2d.drawRoundRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY()), radius, radius); } diff --git a/diylc/diylc-library/src/org/diylc/components/shapes/TapeMeasure.java b/diylc/diylc-library/src/org/diylc/components/shapes/TapeMeasure.java index a7bf064d..606266f7 100644 --- a/diylc/diylc-library/src/org/diylc/components/shapes/TapeMeasure.java +++ b/diylc/diylc-library/src/org/diylc/components/shapes/TapeMeasure.java @@ -26,12 +26,12 @@ import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Polygon; import java.awt.RenderingHints; import java.awt.Shape; import java.awt.Stroke; import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.text.DecimalFormat; @@ -111,13 +111,15 @@ public class TapeMeasure extends AbstractLeadedComponent { g2d.setStroke(stroke); g2d.setColor(componentState == ComponentState.SELECTED ? SELECTION_COLOR : color); - Point startPoint = new Point(getControlPoint(0)); - Point endPoint = new Point(getControlPoint(1)); + Point2D first = getControlPoint(0); + Point2D second = getControlPoint(1); + Point2D startPoint = new Point2D.Double(first.getX(), first.getY()); + Point2D endPoint = new Point2D.Double(second.getX(), second.getY()); if (arrowStart) { arrowTx.setToIdentity(); - double angle = Math.atan2(getControlPoint(1).y - getControlPoint(0).y, getControlPoint(1).x - getControlPoint(0).x); - arrowTx.translate(getControlPoint(0).x, getControlPoint(0).y); + double angle = Math.atan2(getControlPoint(1).getY() - getControlPoint(0).getY(), getControlPoint(1).getX() - getControlPoint(0).getX()); + arrowTx.translate(getControlPoint(0).getX(), getControlPoint(0).getY()); arrowTx.rotate((angle + Math.PI / 2d)); AffineTransform oldTx = g2d.getTransform(); g2d.transform(arrowTx); @@ -125,13 +127,13 @@ public class TapeMeasure extends AbstractLeadedComponent { g2d.setTransform(oldTx); // make the line slightly shorter so line end doesn't overlap with the arrow - double distance = distance(startPoint, endPoint); + double distance = startPoint.distance(endPoint); interpolate(startPoint, endPoint, getArrowSize().convertToPixels() * 0.9 / distance, startPoint); } if (arrowEnd) { arrowTx.setToIdentity(); - double angle = Math.atan2(getControlPoint(1).y - getControlPoint(0).y, getControlPoint(1).x - getControlPoint(0).x); - arrowTx.translate(getControlPoint(1).x, getControlPoint(1).y); + double angle = Math.atan2(getControlPoint(1).getY() - getControlPoint(0).getY(), getControlPoint(1).getX() - getControlPoint(0).getX()); + arrowTx.translate(getControlPoint(1).getX(), getControlPoint(1).getY()); arrowTx.rotate((angle - Math.PI / 2d)); AffineTransform oldTx = g2d.getTransform(); g2d.transform(arrowTx); @@ -139,11 +141,11 @@ public class TapeMeasure extends AbstractLeadedComponent { g2d.setTransform(oldTx); // make the line slightly shorter so line end doesn't overlap with the arrow - double distance = distance(startPoint, endPoint); + double distance = startPoint.distance(endPoint); interpolate(endPoint, startPoint, getArrowSize().convertToPixels() * 0.9 / distance, endPoint); } - double theta = Math.atan2(getPoints()[1].y - getPoints()[0].y, getPoints()[1].x - getPoints()[0].x); + double theta = Math.atan2(getPoints()[1].getY() - getPoints()[0].getY(), getPoints()[1].getX() - getPoints()[0].getX()); String text = getValue(); Font font = Project.DEFAULT_FONT; @@ -157,33 +159,30 @@ public class TapeMeasure extends AbstractLeadedComponent { System.out.println(strWidth + " " + legLength); // draw legs around the enter text - g2d.drawLine(startPoint.x, startPoint.y, - (int)Math.round(startPoint.x + Math.cos(theta) * legLength), - (int)Math.round(startPoint.y + Math.sin(theta) * legLength)); + g2d.drawLine((int)startPoint.getX(), (int)startPoint.getY(), + (int)Math.round(startPoint.getX() + Math.cos(theta) * legLength), + (int)Math.round(startPoint.getY() + Math.sin(theta) * legLength)); - g2d.drawLine(endPoint.x, endPoint.y, - (int)Math.round(endPoint.x - Math.cos(theta) * legLength), - (int)Math.round(endPoint.y - Math.sin(theta) * legLength)); + g2d.drawLine((int)endPoint.getX(), (int)endPoint.getY(), + (int)Math.round(endPoint.getX() - Math.cos(theta) * legLength), + (int)Math.round(endPoint.getY() - Math.sin(theta) * legLength)); // Adjust label angle if needed to make sure that it's readable. if ((theta >= Math.PI / 2 && theta <= Math.PI) || (theta < -Math.PI / 2 && theta > -Math.PI)) { theta += Math.PI; } - g2d.translate((getPoints()[0].x + getPoints()[1].x) / 2, (getPoints()[0].y + getPoints()[1].y) / 2); + g2d.translate((getPoints()[0].getX() + getPoints()[1].getX()) / 2, (getPoints()[0].getY() + getPoints()[1].getY()) / 2); g2d.rotate(theta); g2d.setFont(font); g2d.drawString(text, x, y); } - private void interpolate(Point p1, Point p2, double t, Point p) { - p.setLocation((int)Math.round(p1.x * (1-t) + p2.x * t), (int)Math.round(p1.y * (1-t) + p2.y * t)); + private void interpolate(Point2D p1, Point2D p2, double t, Point2D p) { + p.setLocation((int)Math.round(p1.getX() * (1-t) + p2.getX() * t), (int)Math.round(p1.getY() * (1-t) + p2.getY() * t)); } - - private double distance(Point p1, Point p2) { - return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y)); - } + @Override public Color getLeadColorForPainting(ComponentState componentState) { @@ -294,8 +293,8 @@ public class TapeMeasure extends AbstractLeadedComponent { @Override public String getValue() { - Point a = getControlPoint(0); - Point b = getControlPoint(1); + Point2D a = getControlPoint(0); + Point2D b = getControlPoint(1); double d = a.distance(b); double convertedD = SizeUnit.px.getFactor() / getUnit().getFactor() * d; String format = "#"; diff --git a/diylc/diylc-library/src/org/diylc/components/smd/PassiveSMDComponent.java b/diylc/diylc-library/src/org/diylc/components/smd/PassiveSMDComponent.java index c7ff1d9c..aface52c 100644 --- a/diylc/diylc-library/src/org/diylc/components/smd/PassiveSMDComponent.java +++ b/diylc/diylc-library/src/org/diylc/components/smd/PassiveSMDComponent.java @@ -21,31 +21,31 @@ */ package org.diylc.components.smd; -import java.awt.AlphaComposite; -import java.awt.Color; -import java.awt.Composite; -import java.awt.FontMetrics; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Rectangle; -import java.awt.geom.Area; -import java.awt.geom.Rectangle2D; -import java.awt.geom.RoundRectangle2D; +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Composite; +import java.awt.FontMetrics; +import java.awt.Graphics2D; +import java.awt.Rectangle; +import java.awt.geom.Area; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; +import java.awt.geom.RoundRectangle2D; -import org.diylc.appframework.miscutils.ConfigurationManager; -import org.diylc.common.Display; -import org.diylc.common.IPlugInPort; -import org.diylc.common.ObjectCache; -import org.diylc.common.Orientation; -import org.diylc.components.AbstractTransparentComponent; -import org.diylc.core.ComponentState; -import org.diylc.core.IDrawingObserver; -import org.diylc.core.Project; -import org.diylc.core.Theme; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.EditableProperty; -import org.diylc.core.measures.Size; -import org.diylc.core.measures.SizeUnit; +import org.diylc.appframework.miscutils.ConfigurationManager; +import org.diylc.common.Display; +import org.diylc.common.IPlugInPort; +import org.diylc.common.ObjectCache; +import org.diylc.common.Orientation; +import org.diylc.components.AbstractTransparentComponent; +import org.diylc.core.ComponentState; +import org.diylc.core.IDrawingObserver; +import org.diylc.core.Project; +import org.diylc.core.Theme; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.measures.Size; +import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; public abstract class PassiveSMDComponent extends AbstractTransparentComponent { @@ -62,7 +62,7 @@ public abstract class PassiveSMDComponent extends AbstractTransparentComponen private Orientation orientation = Orientation.DEFAULT; private SMDSize size = SMDSize._1206; - private Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; protected Display display = Display.NAME; protected Color bodyColor; protected Color borderColor; @@ -116,7 +116,7 @@ public abstract class PassiveSMDComponent extends AbstractTransparentComponen } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -131,21 +131,21 @@ public abstract class PassiveSMDComponent extends AbstractTransparentComponen } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } private void updateControlPoints() { - Point firstPoint = controlPoints[0]; + Point2D firstPoint = controlPoints[0]; controlPoints[0] = firstPoint; - int pinSize = (int) PIN_SIZE.convertToPixels(); - int smdLength = (int) getSize().getLength().convertToPixels(); - int pinSpacing = smdLength - pinSize; + double pinSize = PIN_SIZE.convertToPixels(); + double smdLength = getSize().getLength().convertToPixels(); + double pinSpacing = smdLength - pinSize; // Update control points. - int dx1; - int dy1; + double dx1; + double dy1; switch (orientation) { case DEFAULT: dx1 = 0; @@ -166,45 +166,45 @@ public abstract class PassiveSMDComponent extends AbstractTransparentComponen default: throw new RuntimeException("Unexpected orientation: " + orientation); } - controlPoints[1] = new Point(firstPoint.x + dx1, firstPoint.y + dy1); + controlPoints[1] = new Point2D.Double(firstPoint.getX() + dx1, firstPoint.getY() + dy1); } public Area[] getBody() { if (body == null) { body = new Area[2]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; - int smdWidth = (int) getSize().getWidth().convertToPixels(); - int smdLength = (int) getSize().getLength().convertToPixels(); - int pinSize = (int) PIN_SIZE.convertToPixels(); - int width; - int height; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); + double smdWidth = getSize().getWidth().convertToPixels(); + double smdLength = getSize().getLength().convertToPixels(); + double pinSize = PIN_SIZE.convertToPixels(); + double width; + double height; // create main body switch (orientation) { case DEFAULT: width = smdWidth; height = smdLength; - x = controlPoints[0].x - smdWidth / 2; - y = controlPoints[0].y - pinSize / 2; + x = controlPoints[0].getX() - smdWidth / 2; + y = controlPoints[0].getY() - pinSize / 2; break; case _90: width = smdLength; height = smdWidth; - x = controlPoints[1].x - pinSize / 2; - y = controlPoints[1].y - smdWidth / 2; + x = controlPoints[1].getX() - pinSize / 2; + y = controlPoints[1].getY() - smdWidth / 2; break; case _180: width = smdWidth; height = smdLength; - x = controlPoints[1].x - smdWidth / 2; - y = controlPoints[1].y - pinSize / 2; + x = controlPoints[1].getX() - smdWidth / 2; + y = controlPoints[1].getY() - pinSize / 2; break; case _270: width = smdLength; height = smdWidth; - x = controlPoints[0].x - pinSize / 2; - y = controlPoints[0].y - smdWidth / 2; + x = controlPoints[0].getX() - pinSize / 2; + y = controlPoints[0].getY() - smdWidth / 2; break; default: throw new RuntimeException("Unexpected orientation: " + orientation); diff --git a/diylc/diylc-library/src/org/diylc/components/transform/BatterySnapTransformer.java b/diylc/diylc-library/src/org/diylc/components/transform/BatterySnapTransformer.java index d336f37f..4147504d 100644 --- a/diylc/diylc-library/src/org/diylc/components/transform/BatterySnapTransformer.java +++ b/diylc/diylc-library/src/org/diylc/components/transform/BatterySnapTransformer.java @@ -21,12 +21,13 @@ */ package org.diylc.components.transform; -import java.awt.Point; -import java.awt.geom.AffineTransform; - -import org.diylc.common.IComponentTransformer; -import org.diylc.common.Orientation; -import org.diylc.components.electromechanical.BatterySnap9V; +import java.awt.Point; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; + +import org.diylc.common.IComponentTransformer; +import org.diylc.common.Orientation; +import org.diylc.components.electromechanical.BatterySnap9V; import org.diylc.core.IDIYComponent; public class BatterySnapTransformer implements IComponentTransformer { @@ -47,11 +48,11 @@ public class BatterySnapTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); - for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); + for (int index = 0; index < component.getControlPointCount(); index++) { + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } @@ -68,12 +69,12 @@ public class BatterySnapTransformer implements IComponentTransformer { } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { BatterySnap9V snap = (BatterySnap9V) component; if (direction == IComponentTransformer.HORIZONTAL) { - int dx = 2 * (center.x - snap.getControlPoint(0).x); - int dy = 0; + double dx = 2 * (center.getX() - snap.getControlPoint(0).getX()); + double dy = 0; Orientation o = snap.getOrientation(); switch (o) { case DEFAULT: @@ -90,13 +91,13 @@ public class BatterySnapTransformer implements IComponentTransformer { for (int i = 0; i < snap.getControlPointCount(); i++) { Point p = snap.getControlPoint(i); - snap.setControlPoint(new Point(p.x + dx, p.y + dy), i); + snap.setControlPoint(new Point2D.Double(p.getX() + dx, p.getY() + dy), i); } snap.setOrientation(o); } else { - int dx = 0; - int dy = 2 * (center.y - snap.getControlPoint(1).y); + double dx = 0; + double dy = 2 * (center.getY() - snap.getControlPoint(1).getY()); Orientation o = snap.getOrientation(); switch (o) { case DEFAULT: @@ -113,7 +114,7 @@ public class BatterySnapTransformer implements IComponentTransformer { for (int i = 0; i < snap.getControlPointCount(); i++) { Point p = snap.getControlPoint(i); - snap.setControlPoint(new Point(p.x + dx, p.y + dy), i); + snap.setControlPoint(new Point2D.Double(p.getX() + dx, p.getY() + dy), i); } snap.setOrientation(o); diff --git a/diylc/diylc-library/src/org/diylc/components/transform/CliffJackTransformer.java b/diylc/diylc-library/src/org/diylc/components/transform/CliffJackTransformer.java index 19a26a0b..d9cae1ed 100644 --- a/diylc/diylc-library/src/org/diylc/components/transform/CliffJackTransformer.java +++ b/diylc/diylc-library/src/org/diylc/components/transform/CliffJackTransformer.java @@ -21,12 +21,12 @@ */ package org.diylc.components.transform; -import java.awt.Point; -import java.awt.geom.AffineTransform; - -import org.diylc.common.IComponentTransformer; -import org.diylc.common.Orientation; -import org.diylc.components.electromechanical.CliffJack1_4; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; + +import org.diylc.common.IComponentTransformer; +import org.diylc.common.Orientation; +import org.diylc.components.electromechanical.CliffJack1_4; import org.diylc.core.IDIYComponent; public class CliffJackTransformer implements IComponentTransformer { @@ -47,11 +47,11 @@ public class CliffJackTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); - for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); + for (int index = 0; index < component.getControlPointCount(); index++) { + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } @@ -68,64 +68,64 @@ public class CliffJackTransformer implements IComponentTransformer { } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { CliffJack1_4 ic = (CliffJack1_4) component; if (direction == IComponentTransformer.HORIZONTAL) { - int dx = 2 * (center.x - ic.getControlPoint(1).x); - int dy = 0; + double dx = 2 * (center.getX() - ic.getControlPoint(1).getX()); + double dy = 0; Orientation o = ic.getOrientation(); switch (o) { case DEFAULT: - dy += (ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y); + dy += (ic.getControlPoint(0).getY() - ic.getControlPoint(ic.getControlPointCount() - 1).getY()); o = Orientation._180; break; case _90: - // dy += ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y; + // dy += ic.getControlPoint(0).getY() - ic.getControlPoint(ic.getControlPointCount() - 1).getY(); break; case _180: - dy += (ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y); + dy += (ic.getControlPoint(0).getY() - ic.getControlPoint(ic.getControlPointCount() - 1).getY()); o = Orientation.DEFAULT; break; case _270: - // dy += ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y; + // dy += ic.getControlPoint(0).getY() - ic.getControlPoint(ic.getControlPointCount() - 1).getY(); break; } for (int i = 0; i < ic.getControlPointCount(); i++) { - Point p = ic.getControlPoint(i); - ic.setControlPoint(new Point(p.x + dx, p.y + dy), i); + Point2D p = ic.getControlPoint(i); + ic.setControlPoint(new Point2D.Double(p.getX() + dx, p.getY() + dy), i); } ic.setOrientation(o); } else { - int dx = 0; - int dy = 2 * (center.y - ic.getControlPoint(1).y); + double dx = 0; + double dy = 2 * (center.getY() - ic.getControlPoint(1).getY()); Orientation o = ic.getOrientation(); switch (o) { case DEFAULT: - // dx += ic.getControlPoint(0).x - ic.getControlPoint(ic.getControlPointCount() - 1).x; + // dx += ic.getControlPoint(0).getX() - ic.getControlPoint(ic.getControlPointCount() - 1).getX(); break; case _90: o = Orientation._270; - // dx -= 2 * (ic.getControlPoint(0).x - ic.getControlPoint(1).x); - // dy -= ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y; + // dx -= 2 * (ic.getControlPoint(0).getX() - ic.getControlPoint(1).getX()); + // dy -= ic.getControlPoint(0).getY() - ic.getControlPoint(ic.getControlPointCount() - 1).getY(); break; case _180: - // dx += ic.getControlPoint(0).x - ic.getControlPoint(ic.getControlPointCount() - 1).x; + // dx += ic.getControlPoint(0).getX() - ic.getControlPoint(ic.getControlPointCount() - 1).getX(); break; case _270: - // dx -= 2 * (ic.getControlPoint(0).x - ic.getControlPoint(1).x); - // dy -= ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y; + // dx -= 2 * (ic.getControlPoint(0).getX() - ic.getControlPoint(1).getX()); + // dy -= ic.getControlPoint(0).getY() - ic.getControlPoint(ic.getControlPointCount() - 1).getY(); o = Orientation._90; break; } for (int i = 0; i < ic.getControlPointCount(); i++) { - Point p = ic.getControlPoint(i); - ic.setControlPoint(new Point(p.x + dx, p.y + dy), i); + Point2D p = ic.getControlPoint(i); + ic.setControlPoint(new Point2D.Double(p.getX() + dx, p.getY() + dy), i); } ic.setOrientation(o); diff --git a/diylc/diylc-library/src/org/diylc/components/transform/ClosedJackTransformer.java b/diylc/diylc-library/src/org/diylc/components/transform/ClosedJackTransformer.java index fe7a1152..01cac973 100644 --- a/diylc/diylc-library/src/org/diylc/components/transform/ClosedJackTransformer.java +++ b/diylc/diylc-library/src/org/diylc/components/transform/ClosedJackTransformer.java @@ -21,12 +21,12 @@ */ package org.diylc.components.transform; -import java.awt.Point; -import java.awt.geom.AffineTransform; - -import org.diylc.common.IComponentTransformer; -import org.diylc.common.Orientation; -import org.diylc.components.electromechanical.ClosedJack1_4; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; + +import org.diylc.common.IComponentTransformer; +import org.diylc.common.Orientation; +import org.diylc.components.electromechanical.ClosedJack1_4; import org.diylc.core.IDIYComponent; public class ClosedJackTransformer implements IComponentTransformer { @@ -47,11 +47,11 @@ public class ClosedJackTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); - for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); + for (int index = 0; index < component.getControlPointCount(); index++) { + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } @@ -68,12 +68,12 @@ public class ClosedJackTransformer implements IComponentTransformer { } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { ClosedJack1_4 jack = (ClosedJack1_4) component; if (direction == IComponentTransformer.HORIZONTAL) { - int dx = 2 * (center.x - jack.getControlPoint(0).x); - int dy = 0; + double dx = 2 * (center.getX() - jack.getControlPoint(0).getX()); + double dy = 0; Orientation o = jack.getOrientation(); switch (o) { @@ -90,14 +90,14 @@ public class ClosedJackTransformer implements IComponentTransformer { } for (int i = 0; i < jack.getControlPointCount(); i++) { - Point p = jack.getControlPoint(i); - jack.setControlPoint(new Point(p.x + dx, p.y + dy), i); + Point2D p = jack.getControlPoint(i); + jack.setControlPoint(new Point2D.Double(p.getX() + dx, p.getY() + dy), i); } jack.setOrientation(o); } else { - int dx = 0; - int dy = 2 * (center.y - jack.getControlPoint(0).y); + double dx = 0; + double dy = 2 * (center.getY() - jack.getControlPoint(0).getY()); Orientation o = jack.getOrientation(); switch (o) { @@ -114,8 +114,8 @@ public class ClosedJackTransformer implements IComponentTransformer { } for (int i = 0; i < jack.getControlPointCount(); i++) { - Point p = jack.getControlPoint(i); - jack.setControlPoint(new Point(p.x + dx, p.y + dy), i); + Point2D p = jack.getControlPoint(i); + jack.setControlPoint(new Point2D.Double(p.getX() + dx, p.getY() + dy), i); } jack.setOrientation(o); diff --git a/diylc/diylc-library/src/org/diylc/components/transform/DIL_ICTransformer.java b/diylc/diylc-library/src/org/diylc/components/transform/DIL_ICTransformer.java index 821116eb..dd963f36 100644 --- a/diylc/diylc-library/src/org/diylc/components/transform/DIL_ICTransformer.java +++ b/diylc/diylc-library/src/org/diylc/components/transform/DIL_ICTransformer.java @@ -21,12 +21,12 @@ */ package org.diylc.components.transform; -import java.awt.Point; -import java.awt.geom.AffineTransform; - -import org.diylc.common.IComponentTransformer; -import org.diylc.common.Orientation; -import org.diylc.components.semiconductors.DIL_IC; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; + +import org.diylc.common.IComponentTransformer; +import org.diylc.common.Orientation; +import org.diylc.components.semiconductors.DIL_IC; import org.diylc.core.IDIYComponent; public class DIL_ICTransformer implements IComponentTransformer { @@ -47,11 +47,11 @@ public class DIL_ICTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); - for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); + for (int index = 0; index < component.getControlPointCount(); index++) { + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } @@ -68,64 +68,64 @@ public class DIL_ICTransformer implements IComponentTransformer { } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { DIL_IC ic = (DIL_IC) component; if (direction == IComponentTransformer.HORIZONTAL) { - int dx = 2 * (center.x - ic.getControlPoint(1).x); - int dy = 0; + double dx = 2 * (center.getX() - ic.getControlPoint(1).getX()); + double dy = 0; Orientation o = ic.getOrientation(); switch (o) { case DEFAULT: - dx += ic.getControlPoint(0).x - ic.getControlPoint(ic.getControlPointCount() - 1).x; + dx += ic.getControlPoint(0).getX() - ic.getControlPoint(ic.getControlPointCount() - 1).getX(); break; case _90: o = Orientation._270; - dx -= 2 * (ic.getControlPoint(0).x - ic.getControlPoint(1).x); - dy -= ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y; + dx -= 2 * (ic.getControlPoint(0).getX() - ic.getControlPoint(1).getX()); + dy -= ic.getControlPoint(0).getY() - ic.getControlPoint(ic.getControlPointCount() - 1).getY(); break; case _180: - dx += ic.getControlPoint(0).x - ic.getControlPoint(ic.getControlPointCount() - 1).x; + dx += ic.getControlPoint(0).getX() - ic.getControlPoint(ic.getControlPointCount() - 1).getX(); break; case _270: - dx -= 2 * (ic.getControlPoint(0).x - ic.getControlPoint(1).x); - dy -= ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y; + dx -= 2 * (ic.getControlPoint(0).getX() - ic.getControlPoint(1).getX()); + dy -= ic.getControlPoint(0).getY() - ic.getControlPoint(ic.getControlPointCount() - 1).getY(); o = Orientation._90; break; } for (int i = 0; i < ic.getControlPointCount(); i++) { - Point p = ic.getControlPoint(i); - ic.setControlPoint(new Point(p.x + dx, p.y + dy), i); + Point2D p = ic.getControlPoint(i); + ic.setControlPoint(new Point2D.Double(p.getX() + dx, p.getY() + dy), i); } ic.setOrientation(o); } else { - int dx = 0; - int dy = 2 * (center.y - ic.getControlPoint(1).y); + double dx = 0; + double dy = 2 * (center.getY() - ic.getControlPoint(1).getY()); Orientation o = ic.getOrientation(); switch (o) { case DEFAULT: - dx -= ic.getControlPoint(0).x - ic.getControlPoint(ic.getControlPointCount() - 1).x; - dy -= 2 * (ic.getControlPoint(0).y - ic.getControlPoint(1).y); + dx -= ic.getControlPoint(0).getX() - ic.getControlPoint(ic.getControlPointCount() - 1).getX(); + dy -= 2 * (ic.getControlPoint(0).getY() - ic.getControlPoint(1).getY()); o = Orientation._180; break; case _90: - dy += ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y; + dy += ic.getControlPoint(0).getY() - ic.getControlPoint(ic.getControlPointCount() - 1).getY(); break; case _180: - dx -= ic.getControlPoint(0).x - ic.getControlPoint(ic.getControlPointCount() - 1).x; - dy -= 2 * (ic.getControlPoint(0).y - ic.getControlPoint(1).y); + dx -= ic.getControlPoint(0).getX() - ic.getControlPoint(ic.getControlPointCount() - 1).getX(); + dy -= 2 * (ic.getControlPoint(0).getY() - ic.getControlPoint(1).getY()); o = Orientation.DEFAULT; break; case _270: - dy += ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y; + dy += ic.getControlPoint(0).getY() - ic.getControlPoint(ic.getControlPointCount() - 1).getY(); break; } for (int i = 0; i < ic.getControlPointCount(); i++) { - Point p = ic.getControlPoint(i); - ic.setControlPoint(new Point(p.x + dx, p.y + dy), i); + Point2D p = ic.getControlPoint(i); + ic.setControlPoint(new Point2D.Double(p.getX() + dx, p.getY() + dy), i); } ic.setOrientation(o); diff --git a/diylc/diylc-library/src/org/diylc/components/transform/PotentiometerTransformer.java b/diylc/diylc-library/src/org/diylc/components/transform/PotentiometerTransformer.java index 2b12c759..914ddcf5 100644 --- a/diylc/diylc-library/src/org/diylc/components/transform/PotentiometerTransformer.java +++ b/diylc/diylc-library/src/org/diylc/components/transform/PotentiometerTransformer.java @@ -21,12 +21,12 @@ */ package org.diylc.components.transform; -import java.awt.Point; -import java.awt.geom.AffineTransform; - -import org.diylc.common.IComponentTransformer; -import org.diylc.common.Orientation; -import org.diylc.components.passive.PotentiometerPanel; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; + +import org.diylc.common.IComponentTransformer; +import org.diylc.common.Orientation; +import org.diylc.components.passive.PotentiometerPanel; import org.diylc.core.IDIYComponent; public class PotentiometerTransformer implements IComponentTransformer { @@ -47,11 +47,11 @@ public class PotentiometerTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); - for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); + for (int index = 0; index < component.getControlPointCount(); index++) { + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } @@ -69,10 +69,10 @@ public class PotentiometerTransformer implements IComponentTransformer { @SuppressWarnings("incomplete-switch") @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { PotentiometerPanel potentiometer = (PotentiometerPanel) component; - int dx = center.x - potentiometer.getControlPoint(1).x; - int dy = center.y - potentiometer.getControlPoint(1).y; + double dx = center.getX() - potentiometer.getControlPoint(1).getX(); + double dy = center.getY() - potentiometer.getControlPoint(1).getY(); if (direction == IComponentTransformer.HORIZONTAL) { Orientation o = potentiometer.getOrientation(); switch (o) { @@ -84,10 +84,10 @@ public class PotentiometerTransformer implements IComponentTransformer { } for (int i = 0; i < potentiometer.getControlPointCount(); i++) { - Point p = potentiometer.getControlPoint(i); + Point2D p = potentiometer.getControlPoint(i); potentiometer .setControlPoint( - new Point(p.x + 2 * dx, p.y + (potentiometer.getControlPoint(2).y - potentiometer.getControlPoint(0).y)), + new Point2D.Double(p.getX() + 2 * dx, p.getY() + (potentiometer.getControlPoint(2).getY() - potentiometer.getControlPoint(0).getY())), i); } @@ -103,10 +103,10 @@ public class PotentiometerTransformer implements IComponentTransformer { } for (int i = 0; i < potentiometer.getControlPointCount(); i++) { - Point p = potentiometer.getControlPoint(i); + Point2D p = potentiometer.getControlPoint(i); potentiometer - .setControlPoint(new Point(p.x + (potentiometer.getControlPoint(2).x - potentiometer.getControlPoint(0).x), - p.y + 2 * dy), i); + .setControlPoint(new Point2D.Double(p.getX() + (potentiometer.getControlPoint(2).getX() - potentiometer.getControlPoint(0).getX()), + p.getY() + 2 * dy), i); } potentiometer.setOrientation(o); diff --git a/diylc/diylc-library/src/org/diylc/components/transform/SIL_ICTransformer.java b/diylc/diylc-library/src/org/diylc/components/transform/SIL_ICTransformer.java index 4028da92..4298b252 100644 --- a/diylc/diylc-library/src/org/diylc/components/transform/SIL_ICTransformer.java +++ b/diylc/diylc-library/src/org/diylc/components/transform/SIL_ICTransformer.java @@ -21,12 +21,12 @@ */ package org.diylc.components.transform; -import java.awt.Point; -import java.awt.geom.AffineTransform; - -import org.diylc.common.IComponentTransformer; -import org.diylc.common.Orientation; -import org.diylc.components.semiconductors.SIL_IC; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; + +import org.diylc.common.IComponentTransformer; +import org.diylc.common.Orientation; +import org.diylc.components.semiconductors.SIL_IC; import org.diylc.core.IDIYComponent; public class SIL_ICTransformer implements IComponentTransformer { @@ -47,11 +47,11 @@ public class SIL_ICTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); - for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); + for (int index = 0; index < component.getControlPointCount(); index++) { + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } @@ -69,10 +69,10 @@ public class SIL_ICTransformer implements IComponentTransformer { @SuppressWarnings("incomplete-switch") @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { SIL_IC ic = (SIL_IC) component; - int dx = center.x - ic.getControlPoint(0).x; - int dy = center.y - ic.getControlPoint(0).y; + double dx = center.getX() - ic.getControlPoint(0).getX(); + double dy = center.getY() - ic.getControlPoint(0).getY(); if (direction == IComponentTransformer.HORIZONTAL) { Orientation o = ic.getOrientation(); switch (o) { @@ -84,8 +84,8 @@ public class SIL_ICTransformer implements IComponentTransformer { } for (int i = 0; i < ic.getControlPointCount(); i++) { - Point p = ic.getControlPoint(i); - ic.setControlPoint(new Point(p.x + 2 * dx, p.y), i); + Point2D p = ic.getControlPoint(i); + ic.setControlPoint(new Point2D.Double(p.getX() + 2 * dx, p.getY()), i); } ic.setOrientation(o); @@ -100,8 +100,8 @@ public class SIL_ICTransformer implements IComponentTransformer { } for (int i = 0; i < ic.getControlPointCount(); i++) { - Point p = ic.getControlPoint(i); - ic.setControlPoint(new Point(p.x, p.y + 2 * dy), i); + Point2D p = ic.getControlPoint(i); + ic.setControlPoint(new Point2D.Double(p.getX(), p.getY() + 2 * dy), i); } ic.setOrientation(o); diff --git a/diylc/diylc-library/src/org/diylc/components/transform/TO1Transformer.java b/diylc/diylc-library/src/org/diylc/components/transform/TO1Transformer.java index f46abb98..013b93dd 100644 --- a/diylc/diylc-library/src/org/diylc/components/transform/TO1Transformer.java +++ b/diylc/diylc-library/src/org/diylc/components/transform/TO1Transformer.java @@ -21,12 +21,13 @@ */ package org.diylc.components.transform; -import java.awt.Point; -import java.awt.geom.AffineTransform; - -import org.diylc.common.IComponentTransformer; -import org.diylc.common.Orientation; -import org.diylc.components.semiconductors.TransistorTO1; +import java.awt.Point; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; + +import org.diylc.common.IComponentTransformer; +import org.diylc.common.Orientation; +import org.diylc.components.semiconductors.TransistorTO1; import org.diylc.core.IDIYComponent; public class TO1Transformer implements IComponentTransformer { @@ -47,11 +48,11 @@ public class TO1Transformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } @@ -68,10 +69,10 @@ public class TO1Transformer implements IComponentTransformer { } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { TransistorTO1 transistor = (TransistorTO1) component; - int dx = center.x - transistor.getControlPoint(0).x; - int dy = center.y - transistor.getControlPoint(0).y; + double dx = center.getX() - transistor.getControlPoint(0).getX(); + double dy = center.getY() - transistor.getControlPoint(0).getY(); if (direction == IComponentTransformer.HORIZONTAL) { Orientation o = transistor.getOrientation(); switch (o) { @@ -79,20 +80,20 @@ public class TO1Transformer implements IComponentTransformer { o = Orientation._180; break; case _90: - dx -= (transistor.getControlPoint(1).x - transistor.getControlPoint(0).x); + dx -= (transistor.getControlPoint(1).getX() - transistor.getControlPoint(0).getX()); break; case _180: o = Orientation.DEFAULT; break; case _270: - dx -= (transistor.getControlPoint(1).x - transistor.getControlPoint(0).x); + dx -= (transistor.getControlPoint(1).getX() - transistor.getControlPoint(0).getX()); break; } for (int i = 0; i < transistor.getControlPointCount(); i++) { Point p = transistor.getControlPoint(i); transistor.setControlPoint( - new Point(p.x + 2 * dx, p.y + (transistor.getControlPoint(2).y - transistor.getControlPoint(0).y)), i); + new Point2D.Double(p.getX() + 2 * dx, p.getY() + (transistor.getControlPoint(2).getY() - transistor.getControlPoint(0).getY())), i); } transistor.setOrientation(o); @@ -100,13 +101,13 @@ public class TO1Transformer implements IComponentTransformer { Orientation o = transistor.getOrientation(); switch (o) { case DEFAULT: - dy -= (transistor.getControlPoint(1).y - transistor.getControlPoint(0).y); + dy -= (transistor.getControlPoint(1).getY() - transistor.getControlPoint(0).getY()); break; case _90: o = Orientation._270; break; case _180: - dy -= (transistor.getControlPoint(1).y - transistor.getControlPoint(0).y); + dy -= (transistor.getControlPoint(1).getY() - transistor.getControlPoint(0).getY()); break; case _270: o = Orientation._90; @@ -115,8 +116,8 @@ public class TO1Transformer implements IComponentTransformer { for (int i = 0; i < transistor.getControlPointCount(); i++) { Point p = transistor.getControlPoint(i); - transistor.setControlPoint(new Point(p.x + (transistor.getControlPoint(2).x - transistor.getControlPoint(0).x), - p.y + 2 * dy), i); + transistor.setControlPoint(new Point2D.Double(p.getX() + (transistor.getControlPoint(2).getX() - transistor.getControlPoint(0).getX()), + p.getY() + 2 * dy), i); } transistor.setOrientation(o); diff --git a/diylc/diylc-library/src/org/diylc/components/transform/TO220Transformer.java b/diylc/diylc-library/src/org/diylc/components/transform/TO220Transformer.java index 82a0082d..166d02a4 100644 --- a/diylc/diylc-library/src/org/diylc/components/transform/TO220Transformer.java +++ b/diylc/diylc-library/src/org/diylc/components/transform/TO220Transformer.java @@ -21,12 +21,13 @@ */ package org.diylc.components.transform; -import java.awt.Point; -import java.awt.geom.AffineTransform; - -import org.diylc.common.IComponentTransformer; -import org.diylc.common.Orientation; -import org.diylc.components.semiconductors.TransistorTO220; +import java.awt.Point; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; + +import org.diylc.common.IComponentTransformer; +import org.diylc.common.Orientation; +import org.diylc.components.semiconductors.TransistorTO220; import org.diylc.core.IDIYComponent; public class TO220Transformer implements IComponentTransformer { @@ -47,11 +48,11 @@ public class TO220Transformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } @@ -68,59 +69,59 @@ public class TO220Transformer implements IComponentTransformer { } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { TransistorTO220 transistor = (TransistorTO220) component; if (direction == IComponentTransformer.HORIZONTAL) { - int dx = 2 * (center.x - transistor.getControlPoint(0).x); - int dy = 0; + double dx = 2 * (center.getX() - transistor.getControlPoint(0).getX()); + double dy = 0; Orientation o = transistor.getOrientation(); switch (o) { case DEFAULT: o = Orientation._180; - dy -= (transistor.getControlPoint(0).y - transistor.getControlPoint(2).y); + dy -= (transistor.getControlPoint(0).getY() - transistor.getControlPoint(2).getY()); break; case _90: - dx += (transistor.getControlPoint(0).x - transistor.getControlPoint(2).x); + dx += (transistor.getControlPoint(0).getX() - transistor.getControlPoint(2).getX()); break; case _180: o = Orientation.DEFAULT; - dy -= (transistor.getControlPoint(0).y - transistor.getControlPoint(2).y); + dy -= (transistor.getControlPoint(0).getY() - transistor.getControlPoint(2).getY()); break; case _270: - dx += (transistor.getControlPoint(0).x - transistor.getControlPoint(2).x); + dx += (transistor.getControlPoint(0).getX() - transistor.getControlPoint(2).getX()); break; } for (int i = 0; i < transistor.getControlPointCount(); i++) { Point p = transistor.getControlPoint(i); - transistor.setControlPoint(new Point(p.x + dx, p.y + dy), i); + transistor.setControlPoint(new Point2D.Double(p.getX() + dx, p.getY() + dy), i); } transistor.setOrientation(o); } else { - int dx = 0; - int dy = 2 * (center.y - transistor.getControlPoint(0).y); + double dx = 0; + double dy = 2 * (center.getY() - transistor.getControlPoint(0).getY()); Orientation o = transistor.getOrientation(); switch (o) { case DEFAULT: - dy += (transistor.getControlPoint(0).y - transistor.getControlPoint(2).y); + dy += (transistor.getControlPoint(0).getY() - transistor.getControlPoint(2).getY()); break; case _90: - dx -= (transistor.getControlPoint(0).x - transistor.getControlPoint(2).x); + dx -= (transistor.getControlPoint(0).getX() - transistor.getControlPoint(2).getX()); o = Orientation._270; break; case _180: - dy += (transistor.getControlPoint(0).y - transistor.getControlPoint(2).y); + dy += (transistor.getControlPoint(0).getY() - transistor.getControlPoint(2).getY()); break; case _270: - dx -= (transistor.getControlPoint(0).x - transistor.getControlPoint(2).x); + dx -= (transistor.getControlPoint(0).getX() - transistor.getControlPoint(2).getX()); o = Orientation._90; break; } for (int i = 0; i < transistor.getControlPointCount(); i++) { Point p = transistor.getControlPoint(i); - transistor.setControlPoint(new Point(p.x + dx, p.y + dy), i); + transistor.setControlPoint(new Point2D.Double(p.getX() + dx, p.getY() + dy), i); } transistor.setOrientation(o); diff --git a/diylc/diylc-library/src/org/diylc/components/transform/TO92Transformer.java b/diylc/diylc-library/src/org/diylc/components/transform/TO92Transformer.java index a472370f..fdec1555 100644 --- a/diylc/diylc-library/src/org/diylc/components/transform/TO92Transformer.java +++ b/diylc/diylc-library/src/org/diylc/components/transform/TO92Transformer.java @@ -21,12 +21,13 @@ */ package org.diylc.components.transform; -import java.awt.Point; -import java.awt.geom.AffineTransform; - -import org.diylc.common.IComponentTransformer; -import org.diylc.common.Orientation; -import org.diylc.components.semiconductors.TransistorTO92; +import java.awt.Point; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; + +import org.diylc.common.IComponentTransformer; +import org.diylc.common.Orientation; +import org.diylc.components.semiconductors.TransistorTO92; import org.diylc.core.IDIYComponent; public class TO92Transformer implements IComponentTransformer { @@ -47,11 +48,11 @@ public class TO92Transformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } @@ -69,10 +70,10 @@ public class TO92Transformer implements IComponentTransformer { @SuppressWarnings("incomplete-switch") @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { TransistorTO92 transistor = (TransistorTO92) component; - int dx = center.x - transistor.getControlPoint(1).x; - int dy = center.y - transistor.getControlPoint(1).y; + double dx = center.getX() - transistor.getControlPoint(1).getX(); + double dy = center.getY() - transistor.getControlPoint(1).getY(); if (direction == IComponentTransformer.HORIZONTAL) { Orientation o = transistor.getOrientation(); switch (o) { @@ -86,7 +87,7 @@ public class TO92Transformer implements IComponentTransformer { for (int i = 0; i < transistor.getControlPointCount(); i++) { Point p = transistor.getControlPoint(i); transistor.setControlPoint( - new Point(p.x + 2 * dx, p.y + (transistor.getControlPoint(2).y - transistor.getControlPoint(0).y)), i); + new Point2D.Double(p.getX() + 2 * dx, p.getY() + (transistor.getControlPoint(2).getY() - transistor.getControlPoint(0).getY())), i); } transistor.setOrientation(o); @@ -102,8 +103,8 @@ public class TO92Transformer implements IComponentTransformer { for (int i = 0; i < transistor.getControlPointCount(); i++) { Point p = transistor.getControlPoint(i); - transistor.setControlPoint(new Point(p.x + (transistor.getControlPoint(2).x - transistor.getControlPoint(0).x), - p.y + 2 * dy), i); + transistor.setControlPoint(new Point2D.Double(p.getX() + (transistor.getControlPoint(2).getX() - transistor.getControlPoint(0).getX()), + p.getY() + 2 * dy), i); } transistor.setOrientation(o); diff --git a/diylc/diylc-library/src/org/diylc/components/transform/TerminalStripTransformer.java b/diylc/diylc-library/src/org/diylc/components/transform/TerminalStripTransformer.java index 8f6a0565..261e82fe 100644 --- a/diylc/diylc-library/src/org/diylc/components/transform/TerminalStripTransformer.java +++ b/diylc/diylc-library/src/org/diylc/components/transform/TerminalStripTransformer.java @@ -21,12 +21,13 @@ */ package org.diylc.components.transform; -import java.awt.Point; -import java.awt.geom.AffineTransform; - -import org.diylc.common.IComponentTransformer; -import org.diylc.common.Orientation; -import org.diylc.components.boards.TerminalStrip; +import java.awt.Point; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; + +import org.diylc.common.IComponentTransformer; +import org.diylc.common.Orientation; +import org.diylc.components.boards.TerminalStrip; import org.diylc.core.IDIYComponent; public class TerminalStripTransformer implements IComponentTransformer { @@ -47,11 +48,11 @@ public class TerminalStripTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); - for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); + for (int index = 0; index < component.getControlPointCount(); index++) { + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } @@ -68,64 +69,64 @@ public class TerminalStripTransformer implements IComponentTransformer { } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { TerminalStrip strip = (TerminalStrip) component; if (direction == IComponentTransformer.HORIZONTAL) { - int dx = 2 * (center.x - strip.getControlPoint(1).x); - int dy = 0; + double dx = 2 * (center.getX() - strip.getControlPoint(1).getX()); + double dy = 0; Orientation o = strip.getOrientation(); switch (o) { case DEFAULT: - dx += strip.getControlPoint(0).x - strip.getControlPoint(strip.getControlPointCount() - 1).x; + dx += strip.getControlPoint(0).getX() - strip.getControlPoint(strip.getControlPointCount() - 1).getX(); break; case _90: o = Orientation._270; - dx -= 2 * (strip.getControlPoint(0).x - strip.getControlPoint(1).x); - dy -= strip.getControlPoint(0).y - strip.getControlPoint(strip.getControlPointCount() - 1).y; + dx -= 2 * (strip.getControlPoint(0).getX() - strip.getControlPoint(1).getX()); + dy -= strip.getControlPoint(0).getY() - strip.getControlPoint(strip.getControlPointCount() - 1).getY(); break; case _180: - dx += strip.getControlPoint(0).x - strip.getControlPoint(strip.getControlPointCount() - 1).x; + dx += strip.getControlPoint(0).getX() - strip.getControlPoint(strip.getControlPointCount() - 1).getX(); break; case _270: - dx -= 2 * (strip.getControlPoint(0).x - strip.getControlPoint(1).x); - dy -= strip.getControlPoint(0).y - strip.getControlPoint(strip.getControlPointCount() - 1).y; + dx -= 2 * (strip.getControlPoint(0).getX() - strip.getControlPoint(1).getX()); + dy -= strip.getControlPoint(0).getY() - strip.getControlPoint(strip.getControlPointCount() - 1).getY(); o = Orientation._90; break; } for (int i = 0; i < strip.getControlPointCount(); i++) { Point p = strip.getControlPoint(i); - strip.setControlPoint(new Point(p.x + dx, p.y + dy), i); + strip.setControlPoint(new Point2D.Double(p.getX() + dx, p.getY() + dy), i); } strip.setOrientation(o); } else { - int dx = 0; - int dy = 2 * (center.y - strip.getControlPoint(1).y); + double dx = 0; + double dy = 2 * (center.getY() - strip.getControlPoint(1).getY()); Orientation o = strip.getOrientation(); switch (o) { case DEFAULT: - dx -= strip.getControlPoint(0).x - strip.getControlPoint(strip.getControlPointCount() - 1).x; - dy -= 2 * (strip.getControlPoint(0).y - strip.getControlPoint(1).y); + dx -= strip.getControlPoint(0).getX() - strip.getControlPoint(strip.getControlPointCount() - 1).getX(); + dy -= 2 * (strip.getControlPoint(0).getY() - strip.getControlPoint(1).getY()); o = Orientation._180; break; case _90: - dy += strip.getControlPoint(0).y - strip.getControlPoint(strip.getControlPointCount() - 1).y; + dy += strip.getControlPoint(0).getY() - strip.getControlPoint(strip.getControlPointCount() - 1).getY(); break; case _180: - dx -= strip.getControlPoint(0).x - strip.getControlPoint(strip.getControlPointCount() - 1).x; - dy -= 2 * (strip.getControlPoint(0).y - strip.getControlPoint(1).y); + dx -= strip.getControlPoint(0).getX() - strip.getControlPoint(strip.getControlPointCount() - 1).getX(); + dy -= 2 * (strip.getControlPoint(0).getY() - strip.getControlPoint(1).getY()); o = Orientation.DEFAULT; break; case _270: - dy += strip.getControlPoint(0).y - strip.getControlPoint(strip.getControlPointCount() - 1).y; + dy += strip.getControlPoint(0).getY() - strip.getControlPoint(strip.getControlPointCount() - 1).getY(); break; } for (int i = 0; i < strip.getControlPointCount(); i++) { Point p = strip.getControlPoint(i); - strip.setControlPoint(new Point(p.x + dx, p.y + dy), i); + strip.setControlPoint(new Point2D.Double(p.getX() + dx, p.getY() + dy), i); } strip.setOrientation(o); diff --git a/diylc/diylc-library/src/org/diylc/components/transform/TextTransformer.java b/diylc/diylc-library/src/org/diylc/components/transform/TextTransformer.java index 812325e1..cb7c594f 100644 --- a/diylc/diylc-library/src/org/diylc/components/transform/TextTransformer.java +++ b/diylc/diylc-library/src/org/diylc/components/transform/TextTransformer.java @@ -17,8 +17,8 @@ */ package org.diylc.components.transform; -import java.awt.Point; import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; import org.diylc.common.IComponentTransformer; import org.diylc.common.Orientation; @@ -44,11 +44,11 @@ public class TextTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } @@ -78,7 +78,7 @@ public class TextTransformer implements IComponentTransformer { } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { throw new RuntimeException("Unexpected call to mirror() in LabelTransformer"); } } diff --git a/diylc/diylc-library/src/org/diylc/components/transform/ThreeLegTransformer.java b/diylc/diylc-library/src/org/diylc/components/transform/ThreeLegTransformer.java index 144be827..57c2a046 100644 --- a/diylc/diylc-library/src/org/diylc/components/transform/ThreeLegTransformer.java +++ b/diylc/diylc-library/src/org/diylc/components/transform/ThreeLegTransformer.java @@ -21,8 +21,8 @@ */ package org.diylc.components.transform; -import java.awt.Point; import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; import org.diylc.common.IComponentTransformer; import org.diylc.common.Orientation; @@ -48,11 +48,11 @@ public class ThreeLegTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } @@ -69,7 +69,7 @@ public class ThreeLegTransformer implements IComponentTransformer { } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { Abstract3LegSymbol a3l = (Abstract3LegSymbol) component; Orientation o = a3l.getOrientation(); diff --git a/diylc/diylc-library/src/org/diylc/components/transform/TubeSymbolTransformer.java b/diylc/diylc-library/src/org/diylc/components/transform/TubeSymbolTransformer.java index 76df2237..59b2daab 100644 --- a/diylc/diylc-library/src/org/diylc/components/transform/TubeSymbolTransformer.java +++ b/diylc/diylc-library/src/org/diylc/components/transform/TubeSymbolTransformer.java @@ -21,13 +21,13 @@ */ package org.diylc.components.transform; -import java.awt.Point; -import java.awt.geom.AffineTransform; - -import org.diylc.common.IComponentTransformer; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; + +import org.diylc.common.IComponentTransformer; import org.diylc.common.Orientation; import org.diylc.components.semiconductors.SymbolFlipping; -import org.diylc.components.tube.AbstractTubeSymbol; +import org.diylc.components.tube.AbstractTubeSymbol; import org.diylc.core.IDIYComponent; public class TubeSymbolTransformer implements IComponentTransformer { @@ -48,11 +48,11 @@ public class TubeSymbolTransformer implements IComponentTransformer { } @Override - public void rotate(IDIYComponent component, Point center, int direction) { - AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); + public void rotate(IDIYComponent component, Point2D center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.getX(), center.getY()); for (int index = 0; index < component.getControlPointCount(); index++) { - Point p = new Point(component.getControlPoint(index)); - rotate.transform(p, p); + Point2D p = new Point2D.Double(); + rotate.transform(component.getControlPoint(index), p); component.setControlPoint(p, index); } @@ -69,7 +69,7 @@ public class TubeSymbolTransformer implements IComponentTransformer { } @Override - public void mirror(IDIYComponent component, Point center, int direction) { + public void mirror(IDIYComponent component, Point2D center, int direction) { AbstractTubeSymbol tube = (AbstractTubeSymbol) component; Orientation o = tube.getOrientation(); diff --git a/diylc/diylc-library/src/org/diylc/components/tube/AbstractTubeSymbol.java b/diylc/diylc-library/src/org/diylc/components/tube/AbstractTubeSymbol.java index 992d8a2b..833d0e47 100644 --- a/diylc/diylc-library/src/org/diylc/components/tube/AbstractTubeSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/tube/AbstractTubeSymbol.java @@ -23,10 +23,10 @@ package org.diylc.components.tube; import java.awt.Color; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.awt.StringUtils; @@ -62,7 +62,7 @@ public abstract class AbstractTubeSymbol extends AbstractComponent { protected boolean showHeaters; protected Orientation orientation = Orientation.DEFAULT; protected SymbolFlipping flip = SymbolFlipping.NONE; - protected Point[] controlPoints; + protected Point2D[] controlPoints; @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, @@ -122,12 +122,12 @@ public abstract class AbstractTubeSymbol extends AbstractComponent { if (display == Display.BOTH) { label = getName() + " " + (getValue() == null ? "" : getValue().toString()); } - StringUtils.drawCenteredText(g2d, label, rect.x + rect.width, rect.y + rect.height, HorizontalAlignment.RIGHT, + StringUtils.drawCenteredText(g2d, label, rect.getX() + rect.width, rect.getY() + rect.height, HorizontalAlignment.RIGHT, VerticalAlignment.BOTTOM); } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -137,7 +137,7 @@ public abstract class AbstractTubeSymbol extends AbstractComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); if (index == controlPoints.length - 1) @@ -225,8 +225,8 @@ public abstract class AbstractTubeSymbol extends AbstractComponent { Shape[] newBody = initializeBody(); // int pinSpacing = (int) PIN_SPACING.convertToPixels(); - int centerX = this.controlPoints[0].x;// + pinSpacing * 3; - int centerY = this.controlPoints[0].y; + double centerX = this.controlPoints[0].getX();// + pinSpacing * 3; + double centerY = this.controlPoints[0].getY(); if (getFlip() == SymbolFlipping.X) { AffineTransform tx = AffineTransform.getScaleInstance(-1, 1); @@ -247,10 +247,9 @@ public abstract class AbstractTubeSymbol extends AbstractComponent { } if (getOrientation() != Orientation.DEFAULT) { - - Point first = this.controlPoints[0]; + Point2D first = this.controlPoints[0]; double angle = Double.parseDouble(getOrientation().name().replace("_", "")); - AffineTransform rotate = AffineTransform.getRotateInstance(Math.toRadians(angle), first.x, first.y); + AffineTransform rotate = AffineTransform.getRotateInstance(Math.toRadians(angle), first.getX(), first.getY()); if (newBody != null) { for (int i = 0; i < newBody.length; i++) { newBody[i] = rotate.createTransformedShape(newBody[i]); @@ -264,15 +263,15 @@ public abstract class AbstractTubeSymbol extends AbstractComponent { return this.body; } - protected abstract Point[] initializeControlPoints(Point first); + protected abstract Point2D[] initializeControlPoints(Point2D first); protected void updateControlPoints() { - Point[] newPoints = initializeControlPoints(this.controlPoints[0]); + Point2D[] newPoints = initializeControlPoints(this.controlPoints[0]); this.controlPoints = newPoints; // int pinSpacing = (int) PIN_SPACING.convertToPixels(); - int centerX = this.controlPoints[0].x;// + pinSpacing * 3; - int centerY = this.controlPoints[0].y; + double centerX = this.controlPoints[0].getX();// + pinSpacing * 3; + double centerY = this.controlPoints[0].getY(); if (getFlip() == SymbolFlipping.X) { AffineTransform tx = AffineTransform.getScaleInstance(-1, 1); @@ -291,9 +290,9 @@ public abstract class AbstractTubeSymbol extends AbstractComponent { if (getOrientation() == Orientation.DEFAULT) return; - Point first = this.controlPoints[0]; + Point2D first = this.controlPoints[0]; double angle = Double.parseDouble(getOrientation().name().replace("_", "")); - AffineTransform rotate = AffineTransform.getRotateInstance(Math.toRadians(angle), first.x, first.y); + AffineTransform rotate = AffineTransform.getRotateInstance(Math.toRadians(angle), first.getX(), first.getY()); for (int i = 1; i < this.controlPoints.length; i++) { rotate.transform(this.controlPoints[i], this.controlPoints[i]); } diff --git a/diylc/diylc-library/src/org/diylc/components/tube/DiodeSymbol.java b/diylc/diylc-library/src/org/diylc/components/tube/DiodeSymbol.java index c662a7aa..fbb060aa 100644 --- a/diylc/diylc-library/src/org/diylc/components/tube/DiodeSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/tube/DiodeSymbol.java @@ -21,20 +21,20 @@ */ package org.diylc.components.tube; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Shape; -import java.awt.geom.Ellipse2D; -import java.awt.geom.GeneralPath; - -import org.diylc.common.ObjectCache; -import org.diylc.components.transform.TubeSymbolTransformer; -import org.diylc.core.IDIYComponent; -import org.diylc.core.IPropertyValidator; -import org.diylc.core.ValidationException; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.ComponentDescriptor; -import org.diylc.core.annotations.EditableProperty; +import java.awt.Graphics2D; +import java.awt.Shape; +import java.awt.geom.Ellipse2D; +import java.awt.geom.GeneralPath; +import java.awt.geom.Point2D; + +import org.diylc.common.ObjectCache; +import org.diylc.components.transform.TubeSymbolTransformer; +import org.diylc.core.IDIYComponent; +import org.diylc.core.IPropertyValidator; +import org.diylc.core.ValidationException; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; @ComponentDescriptor(name = "Diode Tube", author = "Branislav Stojkovic", category = "Schematic Symbols", @@ -49,18 +49,18 @@ public class DiodeSymbol extends AbstractTubeSymbol { public DiodeSymbol() { super(); this.controlPoints = - new Point[] {new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0)}; + new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; updateControlPoints(); } public Shape[] initializeBody() { if (body == null) { - Point[] controlPoints = initializeControlPoints(this.controlPoints[0]); + Point2D[] controlPoints = initializeControlPoints(this.controlPoints[0]); body = new Shape[3]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; - int pinSpacing = (int) PIN_SPACING.convertToPixels(); + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); + double pinSpacing = PIN_SPACING.convertToPixels(); // electrodes GeneralPath polyline = new GeneralPath(); @@ -71,9 +71,9 @@ public class DiodeSymbol extends AbstractTubeSymbol { // cathode if (directlyHeated) { - polyline.moveTo(controlPoints[2].x, controlPoints[2].y - pinSpacing); - polyline.lineTo(controlPoints[2].x + pinSpacing, controlPoints[2].y - pinSpacing * 2); - polyline.lineTo(controlPoints[4].x, controlPoints[4].y - pinSpacing); + polyline.moveTo(controlPoints[2].getX(), controlPoints[2].getY() - pinSpacing); + polyline.lineTo(controlPoints[2].getX() + pinSpacing, controlPoints[2].getY() - pinSpacing * 2); + polyline.lineTo(controlPoints[4].getX(), controlPoints[4].getY() - pinSpacing); } else { polyline.moveTo(x + pinSpacing * 2, y + pinSpacing); polyline.lineTo(x + pinSpacing * 4, y + pinSpacing); @@ -85,28 +85,28 @@ public class DiodeSymbol extends AbstractTubeSymbol { polyline = new GeneralPath(); // plate - polyline.moveTo(controlPoints[1].x, controlPoints[1].y); + polyline.moveTo(controlPoints[1].getX(), controlPoints[1].getY()); polyline.lineTo(x + pinSpacing * 3, y - pinSpacing); // cathode if (directlyHeated) { - polyline.moveTo(controlPoints[2].x, controlPoints[2].y); - polyline.lineTo(controlPoints[2].x, controlPoints[2].y - pinSpacing); + polyline.moveTo(controlPoints[2].getX(), controlPoints[2].getY()); + polyline.lineTo(controlPoints[2].getX(), controlPoints[2].getY() - pinSpacing); - polyline.moveTo(controlPoints[4].x, controlPoints[4].y); - polyline.lineTo(controlPoints[4].x, controlPoints[4].y - pinSpacing); + polyline.moveTo(controlPoints[4].getX(), controlPoints[4].getY()); + polyline.lineTo(controlPoints[4].getX(), controlPoints[4].getY() - pinSpacing); } else { - polyline.moveTo(controlPoints[2].x, controlPoints[2].y); + polyline.moveTo(controlPoints[2].getX(), controlPoints[2].getY()); polyline.lineTo(x + pinSpacing * 2, y + pinSpacing); if (showHeaters) { - polyline.moveTo(controlPoints[3].x, controlPoints[3].y); - polyline.lineTo(controlPoints[3].x, controlPoints[3].y - pinSpacing); - polyline.lineTo(controlPoints[3].x + pinSpacing / 2, controlPoints[3].y - 3 * pinSpacing / 2); + polyline.moveTo(controlPoints[3].getX(), controlPoints[3].getY()); + polyline.lineTo(controlPoints[3].getX(), controlPoints[3].getY() - pinSpacing); + polyline.lineTo(controlPoints[3].getX() + pinSpacing / 2, controlPoints[3].getY() - 3 * pinSpacing / 2); - polyline.moveTo(controlPoints[4].x, controlPoints[4].y); - polyline.lineTo(controlPoints[4].x, controlPoints[4].y - pinSpacing); - polyline.lineTo(controlPoints[4].x - pinSpacing / 2, controlPoints[4].y - 3 * pinSpacing / 2); + polyline.moveTo(controlPoints[4].getX(), controlPoints[4].getY()); + polyline.lineTo(controlPoints[4].getX(), controlPoints[4].getY() - pinSpacing); + polyline.lineTo(controlPoints[4].getX() - pinSpacing / 2, controlPoints[4].getY() - 3 * pinSpacing / 2); } } @@ -134,25 +134,18 @@ public class DiodeSymbol extends AbstractTubeSymbol { } @Override - protected Point[] initializeControlPoints(Point first) { + protected Point2D[] initializeControlPoints(Point2D first) { int pinSpacing = (int) PIN_SPACING.convertToPixels(); // Update control points. - int x = first.x; - int y = first.y; + double x = first.getX(); + double y = first.getY(); - Point[] newPoints = new Point[] {first, new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0)}; - - newPoints[1].x = x + pinSpacing * 3; - newPoints[1].y = y - pinSpacing * 3; - - newPoints[2].x = x + pinSpacing * 2; - newPoints[2].y = y + pinSpacing * 3; - - newPoints[3].x = x + pinSpacing * 3; - newPoints[3].y = y + pinSpacing * 3; - - newPoints[4].x = x + pinSpacing * 4; - newPoints[4].y = y + pinSpacing * 3; + Point2D[] newPoints = new Point2D[] { + first, + new Point2D.Double(x + pinSpacing * 3, y - pinSpacing * 3), + new Point2D.Double(x + pinSpacing * 2, y + pinSpacing * 3), + new Point2D.Double(x + pinSpacing * 3, y + pinSpacing * 3), + new Point2D.Double(x + pinSpacing * 4, y + pinSpacing * 3)}; return newPoints; } diff --git a/diylc/diylc-library/src/org/diylc/components/tube/DuoDiodeSymbol.java b/diylc/diylc-library/src/org/diylc/components/tube/DuoDiodeSymbol.java index 95a7e43e..d3031dfc 100644 --- a/diylc/diylc-library/src/org/diylc/components/tube/DuoDiodeSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/tube/DuoDiodeSymbol.java @@ -21,20 +21,21 @@ */ package org.diylc.components.tube; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Shape; -import java.awt.geom.Ellipse2D; -import java.awt.geom.GeneralPath; - -import org.diylc.common.ObjectCache; -import org.diylc.components.transform.TubeSymbolTransformer; -import org.diylc.core.IDIYComponent; -import org.diylc.core.IPropertyValidator; -import org.diylc.core.ValidationException; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.ComponentDescriptor; -import org.diylc.core.annotations.EditableProperty; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.Shape; +import java.awt.geom.Ellipse2D; +import java.awt.geom.GeneralPath; +import java.awt.geom.Point2D; + +import org.diylc.common.ObjectCache; +import org.diylc.components.transform.TubeSymbolTransformer; +import org.diylc.core.IDIYComponent; +import org.diylc.core.IPropertyValidator; +import org.diylc.core.ValidationException; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; @ComponentDescriptor(name = "Duo-Diode", author = "Branislav Stojkovic", category = "Schematic Symbols", @@ -55,12 +56,12 @@ public class DuoDiodeSymbol extends AbstractTubeSymbol { public Shape[] initializeBody() { if (body == null) { - Point[] controlPoints = initializeControlPoints(this.controlPoints[0]); + Point2D[] controlPoints = initializeControlPoints(this.controlPoints[0]); body = new Shape[3]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; - int pinSpacing = (int) PIN_SPACING.convertToPixels(); + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); + double pinSpacing = PIN_SPACING.convertToPixels(); // electrodes GeneralPath polyline = new GeneralPath(); @@ -73,9 +74,9 @@ public class DuoDiodeSymbol extends AbstractTubeSymbol { // cathode if (directlyHeated) { - polyline.moveTo(controlPoints[2].x, controlPoints[2].y - pinSpacing); - polyline.lineTo(controlPoints[2].x + pinSpacing, controlPoints[2].y - pinSpacing * 2); - polyline.lineTo(controlPoints[4].x, controlPoints[4].y - pinSpacing); + polyline.moveTo(controlPoints[2].getX(), controlPoints[2].getY() - pinSpacing); + polyline.lineTo(controlPoints[2].getX() + pinSpacing, controlPoints[2].getY() - pinSpacing * 2); + polyline.lineTo(controlPoints[4].getX(), controlPoints[4].getY() - pinSpacing); } else { polyline.moveTo(x + pinSpacing * 2, y + pinSpacing); polyline.lineTo(x + pinSpacing * 4, y + pinSpacing); @@ -87,31 +88,31 @@ public class DuoDiodeSymbol extends AbstractTubeSymbol { polyline = new GeneralPath(); // plate - polyline.moveTo(controlPoints[1].x, controlPoints[1].y); - polyline.lineTo(controlPoints[1].x, y - pinSpacing); + polyline.moveTo(controlPoints[1].getX(), controlPoints[1].getY()); + polyline.lineTo(controlPoints[1].getX(), y - pinSpacing); - polyline.moveTo(controlPoints[5].x, controlPoints[5].y); - polyline.lineTo(controlPoints[5].x, y - pinSpacing); + polyline.moveTo(controlPoints[5].getX(), controlPoints[5].getY()); + polyline.lineTo(controlPoints[5].getX(), y - pinSpacing); // cathode if (directlyHeated) { - polyline.moveTo(controlPoints[2].x, controlPoints[2].y); - polyline.lineTo(controlPoints[2].x, controlPoints[2].y - pinSpacing); + polyline.moveTo(controlPoints[2].getX(), controlPoints[2].getY()); + polyline.lineTo(controlPoints[2].getX(), controlPoints[2].getY() - pinSpacing); - polyline.moveTo(controlPoints[4].x, controlPoints[4].y); - polyline.lineTo(controlPoints[4].x, controlPoints[4].y - pinSpacing); + polyline.moveTo(controlPoints[4].getX(), controlPoints[4].getY()); + polyline.lineTo(controlPoints[4].getX(), controlPoints[4].getY() - pinSpacing); } else { - polyline.moveTo(controlPoints[2].x, controlPoints[2].y); + polyline.moveTo(controlPoints[2].getX(), controlPoints[2].getY()); polyline.lineTo(x + pinSpacing * 2, y + pinSpacing); if (showHeaters) { - polyline.moveTo(controlPoints[3].x, controlPoints[3].y); - polyline.lineTo(controlPoints[3].x, controlPoints[3].y - pinSpacing); - polyline.lineTo(controlPoints[3].x + pinSpacing / 2, controlPoints[3].y - 3 * pinSpacing / 2); + polyline.moveTo(controlPoints[3].getX(), controlPoints[3].getY()); + polyline.lineTo(controlPoints[3].getX(), controlPoints[3].getY() - pinSpacing); + polyline.lineTo(controlPoints[3].getX() + pinSpacing / 2, controlPoints[3].getY() - 3 * pinSpacing / 2); - polyline.moveTo(controlPoints[4].x, controlPoints[4].y); - polyline.lineTo(controlPoints[4].x, controlPoints[4].y - pinSpacing); - polyline.lineTo(controlPoints[4].x - pinSpacing / 2, controlPoints[4].y - 3 * pinSpacing / 2); + polyline.moveTo(controlPoints[4].getX(), controlPoints[4].getY()); + polyline.lineTo(controlPoints[4].getX(), controlPoints[4].getY() - pinSpacing); + polyline.lineTo(controlPoints[4].getX() - pinSpacing / 2, controlPoints[4].getY() - 3 * pinSpacing / 2); } } @@ -142,28 +143,19 @@ public class DuoDiodeSymbol extends AbstractTubeSymbol { } @Override - protected Point[] initializeControlPoints(Point first) { + protected Point2D[] initializeControlPoints(Point2D first) { int pinSpacing = (int) PIN_SPACING.convertToPixels(); // Update control points. - int x = first.x; - int y = first.y; + double x = first.getX(); + double y = first.getY(); - Point[] newPoints = new Point[] {first, new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0)}; - - newPoints[1].x = x + pinSpacing * 2; - newPoints[1].y = y - pinSpacing * 3; - - newPoints[2].x = x + pinSpacing * 2; - newPoints[2].y = y + pinSpacing * 3; - - newPoints[3].x = x + pinSpacing * 3; - newPoints[3].y = y + pinSpacing * 3; - - newPoints[4].x = x + pinSpacing * 4; - newPoints[4].y = y + pinSpacing * 3; - - newPoints[5].x = x + pinSpacing * 4; - newPoints[5].y = y - pinSpacing * 3; + Point2D[] newPoints = new Point2D[] { + first, + new Point2D.Double(x + pinSpacing * 2, y - pinSpacing * 3), + new Point2D.Double(x + pinSpacing * 2, y + pinSpacing * 3), + new Point2D.Double(x + pinSpacing * 3, y + pinSpacing * 3), + new Point2D.Double(x + pinSpacing * 4, y + pinSpacing * 3), + new Point2D.Double(x + pinSpacing * 4, y - pinSpacing * 3)}; return newPoints; } diff --git a/diylc/diylc-library/src/org/diylc/components/tube/PentodeSymbol.java b/diylc/diylc-library/src/org/diylc/components/tube/PentodeSymbol.java index c7803805..8062c1fd 100644 --- a/diylc/diylc-library/src/org/diylc/components/tube/PentodeSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/tube/PentodeSymbol.java @@ -21,19 +21,19 @@ */ package org.diylc.components.tube; -import java.awt.BasicStroke; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Shape; -import java.awt.geom.Ellipse2D; -import java.awt.geom.GeneralPath; - -import org.diylc.common.ObjectCache; -import org.diylc.components.transform.TubeSymbolTransformer; -import org.diylc.core.IDIYComponent; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.ComponentDescriptor; -import org.diylc.core.annotations.EditableProperty; +import java.awt.BasicStroke; +import java.awt.Graphics2D; +import java.awt.Shape; +import java.awt.geom.Ellipse2D; +import java.awt.geom.GeneralPath; +import java.awt.geom.Point2D; + +import org.diylc.common.ObjectCache; +import org.diylc.components.transform.TubeSymbolTransformer; +import org.diylc.core.IDIYComponent; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; @ComponentDescriptor(name = "Pentode", author = "Branislav Stojkovic", category = "Schematic Symbols", @@ -49,19 +49,19 @@ public class PentodeSymbol extends AbstractTubeSymbol { public PentodeSymbol() { super(); this.controlPoints = - new Point[] {new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0), - new Point(0, 0), new Point(0, 0)}; + new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), + new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; updateControlPoints(); } public Shape[] initializeBody() { if (body == null) { - Point[] controlPoints = initializeControlPoints(this.controlPoints[0]); + Point2D[] controlPoints = initializeControlPoints(this.controlPoints[0]); body = new Shape[3]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; - int pinSpacing = (int) PIN_SPACING.convertToPixels(); + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); + double pinSpacing = PIN_SPACING.convertToPixels(); // electrodes GeneralPath polyline = new GeneralPath(); @@ -115,13 +115,13 @@ public class PentodeSymbol extends AbstractTubeSymbol { polyline.lineTo(x + pinSpacing * 5 / 4, y - pinSpacing * 3 / 8); // grid2 - polyline.moveTo(controlPoints[3].x, controlPoints[3].y); + polyline.moveTo(controlPoints[3].getX(), controlPoints[3].getY()); polyline.lineTo(x + pinSpacing * 19 / 4, y - pinSpacing); // grid3 if (exposeSuppressorGrid) { - polyline.moveTo(controlPoints[4].x, controlPoints[4].y); - polyline.lineTo(x + pinSpacing, controlPoints[4].y); + polyline.moveTo(controlPoints[4].getX(), controlPoints[4].getY()); + polyline.lineTo(x + pinSpacing, controlPoints[4].getY()); polyline.lineTo(x + pinSpacing * 5 / 4, y - pinSpacing - pinSpacing * 5 / 8); } else { polyline.moveTo(x + pinSpacing * 19 / 4, y - pinSpacing - pinSpacing * 5 / 8); @@ -135,21 +135,21 @@ public class PentodeSymbol extends AbstractTubeSymbol { } // plate - polyline.moveTo(controlPoints[1].x, controlPoints[1].y); + polyline.moveTo(controlPoints[1].getX(), controlPoints[1].getY()); polyline.lineTo(x + pinSpacing * 3, y - pinSpacing * 9 / 4); // cathode - polyline.moveTo(controlPoints[2].x, controlPoints[2].y); + polyline.moveTo(controlPoints[2].getX(), controlPoints[2].getY()); polyline.lineTo(x + pinSpacing * 2, y + pinSpacing * 3 / 8); if (showHeaters) { - polyline.moveTo(controlPoints[5].x, controlPoints[5].y); - polyline.lineTo(controlPoints[5].x, controlPoints[5].y - pinSpacing * 6 / 8); - polyline.lineTo(controlPoints[5].x + pinSpacing / 2, controlPoints[5].y - pinSpacing * 10 / 8); + polyline.moveTo(controlPoints[5].getX(), controlPoints[5].getY()); + polyline.lineTo(controlPoints[5].getX(), controlPoints[5].getY() - pinSpacing * 6 / 8); + polyline.lineTo(controlPoints[5].getX() + pinSpacing / 2, controlPoints[5].getY() - pinSpacing * 10 / 8); - polyline.moveTo(controlPoints[6].x, controlPoints[6].y); - polyline.lineTo(controlPoints[6].x, controlPoints[6].y - pinSpacing * 6 / 8); - polyline.lineTo(controlPoints[6].x - pinSpacing / 2, controlPoints[6].y - pinSpacing * 10 / 8); + polyline.moveTo(controlPoints[6].getX(), controlPoints[6].getY()); + polyline.lineTo(controlPoints[6].getX(), controlPoints[6].getY() - pinSpacing * 6 / 8); + polyline.lineTo(controlPoints[6].getX() - pinSpacing / 2, controlPoints[6].getY() - pinSpacing * 10 / 8); } body[1] = polyline; @@ -181,33 +181,20 @@ public class PentodeSymbol extends AbstractTubeSymbol { g2d.drawLine(width / 8, height * 5 / 8, width * 7 / 8, height * 5 / 8); } - protected Point[] initializeControlPoints(Point first) { + protected Point2D[] initializeControlPoints(Point2D first) { int pinSpacing = (int) PIN_SPACING.convertToPixels(); // Update control points. - int x = first.x; - int y = first.y; + double x = first.getX(); + double y = first.getY(); - Point[] newPoints = - new Point[] {first, new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0), - new Point(0, 0)}; - - newPoints[1].x = x + pinSpacing * 3; - newPoints[1].y = y - pinSpacing * 4; - - newPoints[2].x = x + pinSpacing * 2; - newPoints[2].y = y + pinSpacing * 2; - - newPoints[3].x = x + pinSpacing * 6; - newPoints[3].y = y - pinSpacing; - - newPoints[4].x = x; - newPoints[4].y = y - pinSpacing * 2; - - newPoints[5].x = x + pinSpacing * 3; - newPoints[5].y = y + pinSpacing * 2; - - newPoints[6].x = x + pinSpacing * 4; - newPoints[6].y = y + pinSpacing * 2; + Point2D[] newPoints = + new Point2D[] {first, + new Point2D.Double(x + pinSpacing * 3, y - pinSpacing * 4), + new Point2D.Double(x + pinSpacing * 2, y + pinSpacing * 2), + new Point2D.Double(x + pinSpacing * 6, y - pinSpacing), + new Point2D.Double(x, y - pinSpacing * 2), + new Point2D.Double(x + pinSpacing * 3, y + pinSpacing * 2), + new Point2D.Double(x + pinSpacing * 4, y + pinSpacing * 2)}; return newPoints; } diff --git a/diylc/diylc-library/src/org/diylc/components/tube/SubminiTube.java b/diylc/diylc-library/src/org/diylc/components/tube/SubminiTube.java index 6ec8c9e9..aabd5721 100644 --- a/diylc/diylc-library/src/org/diylc/components/tube/SubminiTube.java +++ b/diylc/diylc-library/src/org/diylc/components/tube/SubminiTube.java @@ -23,11 +23,11 @@ import java.awt.Color; import java.awt.Composite; import java.awt.FontMetrics; import java.awt.Graphics2D; -import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; @@ -76,7 +76,7 @@ public class SubminiTube extends AbstractTransparentComponent { private String value = ""; private Orientation orientation = Orientation.DEFAULT; - private Point[] controlPoints = new Point[] {new Point(0, 0), new Point(0, 0), new Point(0, 0)}; + private Point2D[] controlPoints = new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; transient private Area[] body; private Color bodyColor = BODY_COLOR; private Color borderColor = BORDER_COLOR; @@ -123,7 +123,7 @@ public class SubminiTube extends AbstractTransparentComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -138,7 +138,7 @@ public class SubminiTube extends AbstractTransparentComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; } @@ -146,15 +146,15 @@ public class SubminiTube extends AbstractTransparentComponent { private void updateControlPoints() { int leadSpacing = (int) getLeadSpacing().convertToPixels(); // Update control points. - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int newPointCount = getPinCount().getValue() + ((getPinArrangement() == PinArrangement.Circular && !folded) || getTopLead() ? 1 : 0); // Need a new array if (newPointCount != controlPoints.length) { - controlPoints = new Point[newPointCount]; + controlPoints = new Point2D[newPointCount]; for (int i = 0; i < controlPoints.length; i++) { - controlPoints[i] = new Point(x, y); + controlPoints[i] = new Point2D.Double(x, y); } } double length = getLength().convertToPixels(); @@ -184,11 +184,11 @@ public class SubminiTube extends AbstractTransparentComponent { throw new RuntimeException("Unexpected orientation: " + orientation); } for (int i = 1; i < controlPoints.length; i++) { - controlPoints[i].setLocation(controlPoints[0].x + i * dx, controlPoints[0].y + i * dy); + controlPoints[i].setLocation(controlPoints[0].getX() + i * dx, controlPoints[0].getY() + i * dy); } if (getTopLead()) { - int centerX = (controlPoints[controlPoints.length - 2].x + x) / 2; - int centerY = (controlPoints[controlPoints.length - 2].y + y) / 2; + double centerX = (controlPoints[controlPoints.length - 2].getX() + x) / 2; + double centerY = (controlPoints[controlPoints.length - 2].getY() + y) / 2; switch (orientation) { case DEFAULT: if (folded) @@ -223,18 +223,18 @@ public class SubminiTube extends AbstractTransparentComponent { } } else { int pinCount = getPinCount().getValue(); - Point firstPoint = controlPoints[0]; + Point2D firstPoint = controlPoints[0]; double angleIncrement = Math.PI * 2 / (pinCount + 1); double initialAngleOffset = angleIncrement; double r = (pinCount + 1) * leadSpacing / (2 * Math.PI); - controlPoints = new Point[pinCount + 1]; + controlPoints = new Point2D[pinCount + 1]; double theta = initialAngleOffset + getOrientation().toRadians(); controlPoints[0] = firstPoint; for (int i = 0; i < pinCount; i++) { - controlPoints[i + 1] = new Point((int) (firstPoint.getX() + Math.cos(theta) * r), + controlPoints[i + 1] = new Point2D.Double((int) (firstPoint.getX() + Math.cos(theta) * r), (int) (firstPoint.getY() + Math.sin(theta) * r)); theta += angleIncrement; } @@ -244,21 +244,21 @@ public class SubminiTube extends AbstractTransparentComponent { public Area[] getBody() { if (body == null) { body = new Area[2]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); double length = getLength().convertToPixels(); double leadLength = getLeadLength().convertToPixels(); double diameter = getDiameter().convertToPixels(); double edgeRadius = EDGE_RADIUS.convertToPixels(); - int centerX; - int centerY; + double centerX; + double centerY; if (getPinArrangement() == PinArrangement.Circular && !folded) { centerX = x; centerY = y; } else { - centerX = (controlPoints[controlPoints.length - (getTopLead() ? 2 : 1)].x + x) / 2; - centerY = (controlPoints[controlPoints.length - (getTopLead() ? 2 : 1)].y + y) / 2; + centerX = (controlPoints[controlPoints.length - (getTopLead() ? 2 : 1)].getX() + x) / 2; + centerY = (controlPoints[controlPoints.length - (getTopLead() ? 2 : 1)].getY() + y) / 2; } if (folded) { @@ -354,8 +354,8 @@ public class SubminiTube extends AbstractTransparentComponent { finalPinBorderColor = METAL_COLOR.darker(); } - int centerX = (controlPoints[controlPoints.length - (getTopLead() ? 2 : 1)].x + controlPoints[0].x) / 2; - int centerY = (controlPoints[controlPoints.length - (getTopLead() ? 2 : 1)].y + controlPoints[0].y) / 2; + double centerX = (controlPoints[controlPoints.length - (getTopLead() ? 2 : 1)].getX() + controlPoints[0].getX()) / 2; + double centerY = (controlPoints[controlPoints.length - (getTopLead() ? 2 : 1)].getY() + controlPoints[0].getY()) / 2; double increment = getDiameter().convertToPixels() / getPinCount().getValue(); if (orientation == Orientation.DEFAULT || orientation == Orientation._270) increment = -increment; @@ -363,58 +363,58 @@ public class SubminiTube extends AbstractTransparentComponent { double startY = centerY - increment * (getPinCount().getValue() - 1) / 2; for (int i = 0; i < controlPoints.length - (getTopLead() ? 1 : 0); i++) { - Point point = controlPoints[i]; + Point2D point = controlPoints[i]; switch (orientation) { case DEFAULT: g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(leadThickness)); g2d.setColor(finalPinBorderColor); - g2d.drawLine(point.x, point.y, point.x - leadLength - leadThickness / 2, (int)(startY + increment * i)); + g2d.drawLine((int)point.getX(), (int)point.getY(), (int)(point.getX() - leadLength - leadThickness / 2), (int)(startY + increment * i)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(leadThickness - 2)); g2d.setColor(finalPinColor); - g2d.drawLine(point.x, point.y, point.x - leadLength - leadThickness / 2, (int)(startY + increment * i)); + g2d.drawLine((int)point.getX(), (int)point.getY(), (int)(point.getX() - leadLength - leadThickness / 2), (int)(startY + increment * i)); break; case _90: g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(leadThickness)); g2d.setColor(finalPinBorderColor); - g2d.drawLine(point.x, point.y, (int)(startX + increment * i), point.y - leadLength); + g2d.drawLine((int)point.getX(), (int)point.getY(), (int)(startX + increment * i), (int)(point.getY() - leadLength)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(leadThickness - 2)); g2d.setColor(finalPinColor); - g2d.drawLine(point.x, point.y, (int)(startX + increment * i), point.y - leadLength); + g2d.drawLine((int)point.getX(), (int)point.getY(), (int)(startX + increment * i), (int)(point.getY() - leadLength)); break; case _180: g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(leadThickness)); g2d.setColor(finalPinBorderColor); - g2d.drawLine(point.x, point.y, point.x + leadLength - leadThickness / 2, (int)(startY + increment * i)); + g2d.drawLine((int)point.getX(), (int)point.getY(), (int)(point.getX() + leadLength - leadThickness / 2), (int)(startY + increment * i)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(leadThickness - 2)); g2d.setColor(finalPinColor); - g2d.drawLine(point.x, point.y, point.x + leadLength - leadThickness / 2, (int)(startY + increment * i)); + g2d.drawLine((int)point.getX(), (int)point.getY(), (int)(point.getX() + leadLength - leadThickness / 2), (int)(startY + increment * i)); break; case _270: g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(leadThickness)); g2d.setColor(finalPinBorderColor); - g2d.drawLine(point.x, point.y, (int)(startX + increment * i), point.y + leadLength - leadThickness / 2); + g2d.drawLine((int)point.getX(), (int)point.getY(), (int)(startX + increment * i), (int)(point.getY() + leadLength - leadThickness / 2)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(leadThickness - 2)); g2d.setColor(finalPinColor); - g2d.drawLine(point.x, point.y, (int)(startX + increment * i), point.y + leadLength - leadThickness / 2); + g2d.drawLine((int)point.getX(), (int)point.getY(), (int)(startX + increment * i), (int)(point.getY() + leadLength - leadThickness / 2)); break; } } if (getTopLead()) { - Point point = controlPoints[controlPoints.length - 1]; + Point2D point = controlPoints[controlPoints.length - 1]; g2d.setColor(PIN_COLOR); - g2d.fillOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.fillOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); g2d.setColor(outlineMode ? theme.getOutlineColor() : PIN_BORDER_COLOR); - g2d.drawOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.drawOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } } else { if (!outlineMode) { for (int i = getPinArrangement() == PinArrangement.Circular && !topLead ? 1 : 0; i < controlPoints.length; i++) { - Point point = controlPoints[i]; + Point2D point = controlPoints[i]; g2d.setColor(PIN_COLOR); - g2d.fillOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.fillOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); g2d.setColor(outlineMode ? theme.getOutlineColor() : PIN_BORDER_COLOR); - g2d.drawOval(point.x - pinSize / 2, point.y - pinSize / 2, pinSize, pinSize); + g2d.drawOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); } } } @@ -448,8 +448,8 @@ public class SubminiTube extends AbstractTransparentComponent { int textWidth = (int) (rect.getWidth()); // Center text horizontally and vertically Rectangle bounds = mainArea.getBounds(); - int x = bounds.x + (bounds.width - textWidth) / 2; - int y = bounds.y + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); + double x = bounds.getX() + (bounds.width - textWidth) / 2; + double y = bounds.getY() + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); int dx = 0; int dy = 0; @@ -470,7 +470,7 @@ public class SubminiTube extends AbstractTransparentComponent { } } - g2d.drawString(label, x + dx, y + dy); + g2d.drawString(label, (int)(x + dx), (int)(y + dy)); } @Override diff --git a/diylc/diylc-library/src/org/diylc/components/tube/TriodeSymbol.java b/diylc/diylc-library/src/org/diylc/components/tube/TriodeSymbol.java index 1734355f..f0bb1632 100644 --- a/diylc/diylc-library/src/org/diylc/components/tube/TriodeSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/tube/TriodeSymbol.java @@ -21,19 +21,19 @@ */ package org.diylc.components.tube; -import java.awt.BasicStroke; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Shape; -import java.awt.geom.Ellipse2D; -import java.awt.geom.GeneralPath; - -import org.diylc.common.ObjectCache; -import org.diylc.components.transform.TubeSymbolTransformer; -import org.diylc.core.IDIYComponent; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.ComponentDescriptor; -import org.diylc.core.annotations.EditableProperty; +import java.awt.BasicStroke; +import java.awt.Graphics2D; +import java.awt.Shape; +import java.awt.geom.Ellipse2D; +import java.awt.geom.GeneralPath; +import java.awt.geom.Point2D; + +import org.diylc.common.ObjectCache; +import org.diylc.components.transform.TubeSymbolTransformer; +import org.diylc.core.IDIYComponent; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; @ComponentDescriptor(name = "Triode", author = "Branislav Stojkovic", category = "Schematic Symbols", @@ -49,17 +49,17 @@ public class TriodeSymbol extends AbstractTubeSymbol { public TriodeSymbol() { super(); this.controlPoints = - new Point[] {new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0)}; + new Point2D[] {new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0), new Point2D.Double(0, 0)}; updateControlPoints(); } public Shape[] initializeBody() { if (body == null) { - Point[] controlPoints = initializeControlPoints(this.controlPoints[0]); + Point2D[] controlPoints = initializeControlPoints(this.controlPoints[0]); body = new Shape[3]; - int x = controlPoints[0].x; - int y = controlPoints[0].y; + double x = controlPoints[0].getX(); + double y = controlPoints[0].getY(); int pinSpacing = (int) PIN_SPACING.convertToPixels(); // electrodes @@ -81,9 +81,9 @@ public class TriodeSymbol extends AbstractTubeSymbol { // cathode if (directlyHeated) { - polyline.moveTo(controlPoints[2].x, controlPoints[2].y - pinSpacing); - polyline.lineTo(controlPoints[2].x + pinSpacing, controlPoints[2].y - pinSpacing * 2); - polyline.lineTo(controlPoints[4].x, controlPoints[4].y - pinSpacing); + polyline.moveTo(controlPoints[2].getX(), controlPoints[2].getY() - pinSpacing); + polyline.lineTo(controlPoints[2].getX() + pinSpacing, controlPoints[2].getY() - pinSpacing * 2); + polyline.lineTo(controlPoints[4].getX(), controlPoints[4].getY() - pinSpacing); } else { polyline.moveTo(x + pinSpacing * 2, y + pinSpacing); polyline.lineTo(x + pinSpacing * 4, y + pinSpacing); @@ -99,28 +99,28 @@ public class TriodeSymbol extends AbstractTubeSymbol { polyline.lineTo(x + pinSpacing, y); // plate - polyline.moveTo(controlPoints[1].x, controlPoints[1].y); + polyline.moveTo(controlPoints[1].getX(), controlPoints[1].getY()); polyline.lineTo(x + pinSpacing * 3, y - pinSpacing); // cathode if (directlyHeated) { - polyline.moveTo(controlPoints[2].x, controlPoints[2].y); - polyline.lineTo(controlPoints[2].x, controlPoints[2].y - pinSpacing); + polyline.moveTo(controlPoints[2].getX(), controlPoints[2].getY()); + polyline.lineTo(controlPoints[2].getX(), controlPoints[2].getY() - pinSpacing); - polyline.moveTo(controlPoints[4].x, controlPoints[4].y); - polyline.lineTo(controlPoints[4].x, controlPoints[4].y - pinSpacing); + polyline.moveTo(controlPoints[4].getX(), controlPoints[4].getY()); + polyline.lineTo(controlPoints[4].getX(), controlPoints[4].getY() - pinSpacing); } else { - polyline.moveTo(controlPoints[2].x, controlPoints[2].y); + polyline.moveTo(controlPoints[2].getX(), controlPoints[2].getY()); polyline.lineTo(x + pinSpacing * 2, y + pinSpacing); if (showHeaters) { - polyline.moveTo(controlPoints[3].x, controlPoints[3].y); - polyline.lineTo(controlPoints[3].x, controlPoints[3].y - pinSpacing); - polyline.lineTo(controlPoints[3].x + pinSpacing / 2, controlPoints[3].y - 3 * pinSpacing / 2); + polyline.moveTo(controlPoints[3].getX(), controlPoints[3].getY()); + polyline.lineTo(controlPoints[3].getX(), controlPoints[3].getY() - pinSpacing); + polyline.lineTo(controlPoints[3].getX() + pinSpacing / 2, controlPoints[3].getY() - 3 * pinSpacing / 2); - polyline.moveTo(controlPoints[4].x, controlPoints[4].y); - polyline.lineTo(controlPoints[4].x, controlPoints[4].y - pinSpacing); - polyline.lineTo(controlPoints[4].x - pinSpacing / 2, controlPoints[4].y - 3 * pinSpacing / 2); + polyline.moveTo(controlPoints[4].getX(), controlPoints[4].getY()); + polyline.lineTo(controlPoints[4].getX(), controlPoints[4].getY() - pinSpacing); + polyline.lineTo(controlPoints[4].getX() - pinSpacing / 2, controlPoints[4].getY() - 3 * pinSpacing / 2); } } @@ -151,25 +151,18 @@ public class TriodeSymbol extends AbstractTubeSymbol { g2d.drawLine(width / 8, height / 2, width * 7 / 8, height / 2); } - protected Point[] initializeControlPoints(Point first) { + protected Point2D[] initializeControlPoints(Point2D first) { int pinSpacing = (int) PIN_SPACING.convertToPixels(); // Update control points. - int x = first.x; - int y = first.y; + double x = first.getX(); + double y = first.getY(); - Point[] newPoints = new Point[] {first, new Point(0, 0), new Point(0, 0), new Point(0, 0), new Point(0, 0)}; - - newPoints[1].x = x + pinSpacing * 3; - newPoints[1].y = y - pinSpacing * 3; - - newPoints[2].x = x + pinSpacing * 2; - newPoints[2].y = y + pinSpacing * 3; - - newPoints[3].x = x + pinSpacing * 3; - newPoints[3].y = y + pinSpacing * 3; - - newPoints[4].x = x + pinSpacing * 4; - newPoints[4].y = y + pinSpacing * 3; + Point2D[] newPoints = new Point2D[] { + first, + new Point2D.Double(x + pinSpacing * 3, y - pinSpacing * 3), + new Point2D.Double(x + pinSpacing * 2, y + pinSpacing * 3), + new Point2D.Double(x + pinSpacing * 3, y + pinSpacing * 3), + new Point2D.Double(x + pinSpacing * 4, y + pinSpacing * 3)}; return newPoints; } diff --git a/diylc/diylc-library/src/org/diylc/components/tube/TubeSocket.java b/diylc/diylc-library/src/org/diylc/components/tube/TubeSocket.java index e9e4ff4d..1b433ac8 100644 --- a/diylc/diylc-library/src/org/diylc/components/tube/TubeSocket.java +++ b/diylc/diylc-library/src/org/diylc/components/tube/TubeSocket.java @@ -30,6 +30,7 @@ import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -360,7 +361,7 @@ public class TubeSocket extends AbstractTransparentComponent { } @Override - public Point getControlPoint(int index) { + public Point2D getControlPoint(int index) { return controlPoints[index]; } @@ -391,7 +392,7 @@ public class TubeSocket extends AbstractTransparentComponent { } @Override - public void setControlPoint(Point point, int index) { + public void setControlPoint(Point2D point, int index) { controlPoints[index].setLocation(point); body = null; diff --git a/diylc/diylc-library/src/org/diylc/editor/FlexibleLeadsEditor.java b/diylc/diylc-library/src/org/diylc/editor/FlexibleLeadsEditor.java index 7dc8b04d..8f757808 100644 --- a/diylc/diylc-library/src/org/diylc/editor/FlexibleLeadsEditor.java +++ b/diylc/diylc-library/src/org/diylc/editor/FlexibleLeadsEditor.java @@ -1,7 +1,7 @@ package org.diylc.editor; -import java.awt.Point; import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; import java.util.HashSet; import java.util.Set; @@ -55,8 +55,8 @@ public class FlexibleLeadsEditor implements IProjectEditor { if (l == null) return; - Point p1 = new Point(leaded.getControlPoint(0)); - Point p2 = new Point(leaded.getControlPoint(1)); + Point2D p1 = leaded.getControlPoint(0); + Point2D p2 = leaded.getControlPoint(1); double d = p1.distance(p2); double len = l.convertToPixels() + 2; @@ -66,12 +66,12 @@ public class FlexibleLeadsEditor implements IProjectEditor { return; // find the center and angle - double centerX = (p1.x + p2.x) / 2.0; - double centerY = (p1.y + p2.y) / 2.0; - double theta = Math.atan2(p2.y - p1.y, p2.x - p1.x); + double centerX = (p1.getX() + p2.getX()) / 2.0; + double centerY = (p1.getY() + p2.getY()) / 2.0; + double theta = Math.atan2(p2.getY() - p1.getY(), p2.getX() - p1.getX()); // shorten the component to match the size of the body - Point newP1 = new Point((int)Math.round(centerX - Math.cos(theta) * len / 2), (int)Math.round(centerY - Math.sin(theta) * len / 2)); - Point newP2 = new Point((int)Math.round(centerX + Math.cos(theta) * len / 2), (int)Math.round(centerY + Math.sin(theta) * len / 2)); + Point2D newP1 = new Point2D.Double((int)Math.round(centerX - Math.cos(theta) * len / 2), (int)Math.round(centerY - Math.sin(theta) * len / 2)); + Point2D newP2 = new Point2D.Double((int)Math.round(centerX + Math.cos(theta) * len / 2), (int)Math.round(centerY + Math.sin(theta) * len / 2)); leaded.setControlPoint(newP1, 0); leaded.setControlPoint(newP2, 1); @@ -87,7 +87,7 @@ public class FlexibleLeadsEditor implements IProjectEditor { w1.setControlPoint(p1, 0); for (int i = 1; i < w1.getControlPointCount() - 1; i++) { double r = (len + diff) / (w1.getControlPointCount() - 1) * (w1.getControlPointCount() - i - 1); - w1.setControlPoint(new Point((int)Math.round(centerX - Math.cos(theta) * r), (int)Math.round(centerY - Math.sin(theta) * r)), i); + w1.setControlPoint(new Point2D.Double((int)Math.round(centerX - Math.cos(theta) * r), (int)Math.round(centerY - Math.sin(theta) * r)), i); } w1.setControlPoint(newP1, w1.getControlPointCount() - 1); newSelection.add(w1); @@ -100,7 +100,7 @@ public class FlexibleLeadsEditor implements IProjectEditor { w2.setControlPoint(p2, 0); for (int i = 1; i < w2.getControlPointCount() - 1; i++) { double r = (len + diff) / (w2.getControlPointCount() - 1) * (w2.getControlPointCount() - i - 1); - w2.setControlPoint(new Point((int)Math.round(centerX + Math.cos(theta) * r), (int)Math.round(centerY + Math.sin(theta) * r)), i); + w2.setControlPoint(new Point2D.Double((int)Math.round(centerX + Math.cos(theta) * r), (int)Math.round(centerY + Math.sin(theta) * r)), i); } w2.setControlPoint(newP2, w2.getControlPointCount() - 1); newSelection.add(w2); @@ -117,16 +117,16 @@ public class FlexibleLeadsEditor implements IProjectEditor { // create leads for (int i = 0; i < 3; i++) { - Point p0 = c.getControlPoint(i); + Point2D p0 = c.getControlPoint(i); double dx = -offsetX.convertToPixels(); double dy = offsetY.convertToPixels() * (i - 1); // calculate lead position - Point p1 = new Point((int)(p0.x + dx / 2), (int)(p0.y + dy / 2)); - Point p2 = new Point((int)(p0.x + dx), (int)(p0.y + dy)); + Point2D p1 = new Point2D.Double((int)(p0.getX() + dx / 2), (int)(p0.getY() + dy / 2)); + Point2D p2 = new Point2D.Double((int)(p0.getX() + dx), (int)(p0.getY() + dy)); if (c.getOrientation() != Orientation.DEFAULT) { - AffineTransform tx = AffineTransform.getRotateInstance(c.getOrientation().toRadians(), p0.x, p0.y); + AffineTransform tx = AffineTransform.getRotateInstance(c.getOrientation().toRadians(), p0.getX(), p0.getY()); tx.transform(p1, p1); tx.transform(p2, p2); } @@ -171,18 +171,18 @@ public class FlexibleLeadsEditor implements IProjectEditor { // create leads for (int i = 0; i < 3; i++) { - Point p0 = c.getControlPoint(i); + Point2D p0 = c.getControlPoint(i); double dx = 0; double dy = offsetY.convertToPixels(); AffineTransform tx = null; if (c.getOrientation() != Orientation.DEFAULT) - tx = AffineTransform.getRotateInstance(c.getOrientation().toRadians(), p0.x, p0.y); + tx = AffineTransform.getRotateInstance(c.getOrientation().toRadians(), p0.getX(), p0.getY()); HookupWire w = new HookupWire(); getInstantiationManager().fillWithDefaultProperties(w, null); for (int j = 0; j < w.getControlPointCount(); j++) { - Point p = new Point((int)(p0.x + dx * j), (int)(p0.y + dy * j)); + Point2D p = new Point2D.Double((int)(p0.getX() + dx * j), (int)(p0.getY() + dy * j)); if (tx != null) tx.transform(p, p); w.setControlPoint(p, j); @@ -197,7 +197,7 @@ public class FlexibleLeadsEditor implements IProjectEditor { } private void addLeads(TubeSocket c, Project project, Set> newSelection) { - Point center = c.getControlPoint(0); + Point2D center = c.getControlPoint(0); // don't do it for PCB type if (c.getMount() == Mount.PCB) @@ -205,15 +205,15 @@ public class FlexibleLeadsEditor implements IProjectEditor { // create leads for (int i = 1; i < c.getControlPointCount(); i++) { - Point p = c.getControlPoint(i); - double dx = p.x - center.x; - double dy = p.y - center.y; + Point2D p = c.getControlPoint(i); + double dx = p.getX() - center.getX(); + double dy = p.getY() - center.getY(); // calculate lead position HookupWire w = new HookupWire(); getInstantiationManager().fillWithDefaultProperties(w, null); for (int j = 0; j < w.getControlPointCount(); j++) { - Point pw = new Point((int)(p.x + dx * j), (int)(p.y + dy * j)); + Point2D pw = new Point2D.Double((int)(p.getX() + dx * j), (int)(p.getY() + dy * j)); w.setControlPoint(pw, j); } newSelection.add(w); @@ -231,7 +231,7 @@ public class FlexibleLeadsEditor implements IProjectEditor { for (int i = 0; i < c.getControlPointCount(); i++) { if (!c.isControlPointSticky(i)) continue; - Point p0 = c.getControlPoint(i); + Point2D p0 = c.getControlPoint(i); double dx = 0; double dy = 0; @@ -242,13 +242,13 @@ public class FlexibleLeadsEditor implements IProjectEditor { AffineTransform tx = null; if (c.getOrientation() != Orientation.DEFAULT) - tx = AffineTransform.getRotateInstance(c.getOrientation().toRadians(), p0.x, p0.y); + tx = AffineTransform.getRotateInstance(c.getOrientation().toRadians(), p0.getX(), p0.getY()); HookupWire w = new HookupWire(); w.setGauge(AWG._24); getInstantiationManager().fillWithDefaultProperties(w, null); for (int j = 0; j < w.getControlPointCount(); j++) { - Point p = new Point((int)(p0.x + dx * j), (int)(p0.y + dy * j)); + Point2D p = new Point2D.Double((int)(p0.getX() + dx * j), (int)(p0.getY() + dy * j)); if (tx != null) tx.transform(p, p); w.setControlPoint(p, j); diff --git a/diylc/diylc-library/src/org/diylc/serialization/V1FileParser.java b/diylc/diylc-library/src/org/diylc/serialization/V1FileParser.java index f32cc0d6..0ef44743 100644 --- a/diylc/diylc-library/src/org/diylc/serialization/V1FileParser.java +++ b/diylc/diylc-library/src/org/diylc/serialization/V1FileParser.java @@ -21,60 +21,60 @@ */ package org.diylc.serialization; -import java.awt.Color; -import java.awt.Point; -import java.lang.reflect.Field; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Random; - -import org.apache.log4j.Logger; -import org.diylc.common.Display; -import org.diylc.common.HorizontalAlignment; -import org.diylc.common.Orientation; -import org.diylc.common.OrientationHV; -import org.diylc.common.VerticalAlignment; -import org.diylc.components.AbstractLeadedComponent; -import org.diylc.components.AbstractTransparentComponent; -import org.diylc.components.boards.AbstractBoard; -import org.diylc.components.boards.BlankBoard; -import org.diylc.components.boards.PerfBoard; -import org.diylc.components.boards.VeroBoard; -import org.diylc.components.connectivity.CopperTrace; -import org.diylc.components.connectivity.HookupWire; -import org.diylc.components.connectivity.Jumper; -import org.diylc.components.connectivity.SolderPad; -import org.diylc.components.connectivity.TraceCut; -import org.diylc.components.electromechanical.MiniToggleSwitch; -import org.diylc.components.electromechanical.ToggleSwitchType; -import org.diylc.components.misc.BOM; -import org.diylc.components.misc.Label; -import org.diylc.components.passive.PotentiometerPanel; -import org.diylc.components.passive.RadialElectrolytic; -import org.diylc.components.passive.RadialFilmCapacitor; -import org.diylc.components.passive.Resistor; -import org.diylc.components.passive.Taper; -import org.diylc.components.passive.TrimmerPotentiometer; -import org.diylc.components.passive.TrimmerPotentiometer.TrimmerType; -import org.diylc.components.semiconductors.DIL_IC; -import org.diylc.components.semiconductors.DiodePlastic; -import org.diylc.components.semiconductors.LED; -import org.diylc.components.semiconductors.SIL_IC; -import org.diylc.components.semiconductors.TransistorTO92; -import org.diylc.core.IDIYComponent; -import org.diylc.core.Project; -import org.diylc.core.measures.Capacitance; -import org.diylc.core.measures.Resistance; -import org.diylc.core.measures.Size; -import org.diylc.core.measures.SizeUnit; -import org.diylc.presenter.CalcUtils; +import java.awt.Color; +import java.awt.Point; +import java.awt.geom.Point2D; +import java.lang.reflect.Field; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; + +import org.apache.log4j.Logger; +import org.diylc.common.Display; +import org.diylc.common.HorizontalAlignment; +import org.diylc.common.Orientation; +import org.diylc.common.OrientationHV; +import org.diylc.common.VerticalAlignment; +import org.diylc.components.AbstractLeadedComponent; +import org.diylc.components.AbstractTransparentComponent; +import org.diylc.components.boards.AbstractBoard; +import org.diylc.components.boards.BlankBoard; +import org.diylc.components.boards.PerfBoard; +import org.diylc.components.boards.VeroBoard; +import org.diylc.components.connectivity.CopperTrace; +import org.diylc.components.connectivity.HookupWire; +import org.diylc.components.connectivity.Jumper; +import org.diylc.components.connectivity.SolderPad; +import org.diylc.components.connectivity.TraceCut; +import org.diylc.components.electromechanical.MiniToggleSwitch; +import org.diylc.components.electromechanical.ToggleSwitchType; +import org.diylc.components.misc.BOM; +import org.diylc.components.misc.Label; +import org.diylc.components.passive.PotentiometerPanel; +import org.diylc.components.passive.RadialElectrolytic; +import org.diylc.components.passive.RadialFilmCapacitor; +import org.diylc.components.passive.Resistor; +import org.diylc.components.passive.Taper; +import org.diylc.components.passive.TrimmerPotentiometer; +import org.diylc.components.passive.TrimmerPotentiometer.TrimmerType; +import org.diylc.components.semiconductors.DIL_IC; +import org.diylc.components.semiconductors.DiodePlastic; +import org.diylc.components.semiconductors.LED; +import org.diylc.components.semiconductors.SIL_IC; +import org.diylc.components.semiconductors.TransistorTO92; +import org.diylc.core.IDIYComponent; +import org.diylc.core.Project; +import org.diylc.core.measures.Capacitance; +import org.diylc.core.measures.Resistance; +import org.diylc.core.measures.Size; +import org.diylc.core.measures.SizeUnit; +import org.diylc.presenter.CalcUtils; import org.diylc.presenter.ComparatorFactory; -import org.diylc.serialization.IOldFileParser; -import org.diylc.utils.Constants; -import org.w3c.dom.Element; -import org.w3c.dom.Node; +import org.diylc.utils.Constants; +import org.w3c.dom.Element; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class V1FileParser implements IOldFileParser { @@ -126,11 +126,11 @@ public class V1FileParser implements IOldFileParser { throw new IllegalArgumentException("Unrecognized board type: " + type); } board.setName("Main board"); - Point referencePoint = - new Point(CalcUtils.roundToGrid(x, V1_GRID_SPACING), CalcUtils.roundToGrid(y, V1_GRID_SPACING)); + Point2D referencePoint = + new Point2D.Double(CalcUtils.roundToGrid(x, V1_GRID_SPACING), CalcUtils.roundToGrid(y, V1_GRID_SPACING)); board.setControlPoint(referencePoint, 0); board.setControlPoint( - new Point(CalcUtils.roundToGrid(x + boardWidth, V1_GRID_SPACING), CalcUtils.roundToGrid(y + boardHeight, + new Point2D.Double(CalcUtils.roundToGrid(x + boardWidth, V1_GRID_SPACING), CalcUtils.roundToGrid(y + boardHeight, V1_GRID_SPACING)), 1); project.getComponents().add(board); @@ -144,8 +144,8 @@ public class V1FileParser implements IOldFileParser { String valueAttr = valueNode == null ? null : valueNode.getNodeValue(); int x1Attr = Integer.parseInt(node.getAttributes().getNamedItem("X1").getNodeValue()); int y1Attr = Integer.parseInt(node.getAttributes().getNamedItem("Y1").getNodeValue()); - Point point1 = convertV1CoordinatesToV3Point(referencePoint, x1Attr, y1Attr); - Point point2 = null; + Point2D point1 = convertV1CoordinatesToV3Point(referencePoint, x1Attr, y1Attr); + Point2D point2 = null; Integer x2Attr = null; Integer y2Attr = null; Color color = null; @@ -210,11 +210,11 @@ public class V1FileParser implements IOldFileParser { long seed = Long.parseLong(node.getAttributes().getNamedItem("Seed").getNodeValue()); Random r = new Random(seed); randSeed = seed; - int d = (int) Math.round(Math.sqrt(Math.pow(point1.x - point2.x, 2) + Math.pow(point1.y - point2.y, 2)) / 2); - int x2 = (int) (point1.x + Math.round((point2.x - point1.x) * 0.40) + myRandom(d, r)); - int y2 = (int) (point1.y + Math.round((point2.y - point1.y) * 0.40) + myRandom(d, r)); - int x3 = (int) (point1.x + Math.round((point2.x - point1.x) * 0.60) + myRandom(d, r)); - int y3 = (int) (point1.y + Math.round((point2.y - point1.y) * 0.60) + myRandom(d, r)); + int d = (int) Math.round(Math.sqrt(Math.pow(point1.getX() - point2.getX(), 2) + Math.pow(point1.getY() - point2.getY(), 2)) / 2); + int x2 = (int) (point1.getX() + Math.round((point2.getX() - point1.getX()) * 0.40) + myRandom(d, r)); + int y2 = (int) (point1.getY() + Math.round((point2.getY() - point1.getY()) * 0.40) + myRandom(d, r)); + int x3 = (int) (point1.getX() + Math.round((point2.getX() - point1.getX()) * 0.60) + myRandom(d, r)); + int y3 = (int) (point1.getY() + Math.round((point2.getY() - point1.getY()) * 0.60) + myRandom(d, r)); wire.setName(nameAttr); String colorAttr = node.getAttributes().getNamedItem("Color").getNodeValue(); @@ -314,13 +314,13 @@ public class V1FileParser implements IOldFileParser { LOG.debug("Could not set value of " + nameAttr); } transistor.setControlPoint(point1, 0); - if (point1.y > point2.y) { + if (point1.getY() > point2.getY()) { transistor.setOrientation(Orientation._180); - } else if (point1.y < point2.y) { + } else if (point1.getY() < point2.getY()) { transistor.setOrientation(Orientation.DEFAULT); - } else if (point1.x < point2.x) { + } else if (point1.getX() < point2.getX()) { transistor.setOrientation(Orientation._270); - } else if (point1.x > point2.x) { + } else if (point1.getX() > point2.getX()) { transistor.setOrientation(Orientation._90); } // capacitor.setControlPoint(point2, 1); @@ -351,9 +351,9 @@ public class V1FileParser implements IOldFileParser { ic.setPinCount(DIL_IC.PinCount.valueOf("_" + pinCount)); ic.setName(nameAttr); // Translate control points. - for (int j = 0; j < ic.getControlPointCount(); j++) { - Point p = new Point(ic.getControlPoint(j)); - p.translate(point1.x, point1.y); + for (int j = 0; j < ic.getControlPointCount(); j++) { + Point2D oldP = ic.getControlPoint(j); + Point2D p = new Point2D.Double(oldP.getX() + point1.getX(), oldP.getY() + point1.getY()); ic.setControlPoint(p, j); } ic.setValue(valueAttr); @@ -403,19 +403,19 @@ public class V1FileParser implements IOldFileParser { sw.setSpacing(new Size(0.1, SizeUnit.in)); // compensate for potential negative coordinates after the type and orientation have // been set. Make sure that the top left corner is at (0, 0) - int dx = 0; - int dy = 0; - for (int j = 0; j < sw.getControlPointCount(); j++) { - Point p = new Point(sw.getControlPoint(j)); - if (p.x < 0 && p.x < dx) - dx = p.x; - if (p.y < 0 && p.y < dy) - dy = p.y; + double dx = 0; + double dy = 0; + for (int j = 0; j < sw.getControlPointCount(); j++) { + Point2D oldP = sw.getControlPoint(j); + if (oldP.getX() < 0 && oldP.getX() < dx) + dx = oldP.getX(); + if (oldP.getY() < 0 && oldP.getY() < dy) + dy = oldP.getY(); } // Translate control points. - for (int j = 0; j < sw.getControlPointCount(); j++) { - Point p = new Point(sw.getControlPoint(j)); - p.translate(Math.min(point1.x, point2.x) - dx, Math.min(point1.y, point2.y) - dy); + for (int j = 0; j < sw.getControlPointCount(); j++) { + Point2D oldP = sw.getControlPoint(j); + Point2D p = new Point2D.Double(oldP.getX() + Math.min(point1.getX(), point2.getX()) - dx, oldP.getY() + Math.min(point1.getY(), point2.getY()) - dy); sw.setControlPoint(p, j); } component = sw; @@ -440,9 +440,9 @@ public class V1FileParser implements IOldFileParser { ic.setPinCount(SIL_IC.PinCount.valueOf("_" + pinCount)); ic.setName(nameAttr); // Translate control points. - for (int j = 0; j < ic.getControlPointCount(); j++) { - Point p = new Point(ic.getControlPoint(j)); - p.translate(point1.x, point1.y); + for (int j = 0; j < ic.getControlPointCount(); j++) { + Point2D oldP = ic.getControlPoint(j); + Point2D p = new Point2D.Double(oldP.getX() + point1.getX(), oldP.getY() + point1.getY()); ic.setControlPoint(p, j); } ic.setValue(valueAttr); @@ -470,30 +470,30 @@ public class V1FileParser implements IOldFileParser { int delta = Constants.PIXELS_PER_INCH / 5; if (x1Attr < x2Attr) { pot.setOrientation(Orientation.DEFAULT); - for (int j = 0; j < pot.getControlPointCount(); j++) { - Point p = new Point(pot.getControlPoint(j)); - p.translate(point1.x - delta, point1.y); + for (int j = 0; j < pot.getControlPointCount(); j++) { + Point2D oldP = pot.getControlPoint(j); + Point2D p = new Point2D.Double(oldP.getX() + point1.getX() - delta, oldP.getY() + point1.getY()); pot.setControlPoint(p, j); } } else if (x1Attr > x2Attr) { pot.setOrientation(Orientation._180); - for (int j = 0; j < pot.getControlPointCount(); j++) { - Point p = new Point(pot.getControlPoint(j)); - p.translate(point1.x + delta, point1.y); + for (int j = 0; j < pot.getControlPointCount(); j++) { + Point2D oldP = pot.getControlPoint(j); + Point2D p = new Point2D.Double(oldP.getX() + point1.getX() + delta, oldP.getY() + point1.getY()); pot.setControlPoint(p, j); } } else if (y1Attr < y2Attr) { pot.setOrientation(Orientation._90); - for (int j = 0; j < pot.getControlPointCount(); j++) { - Point p = new Point(pot.getControlPoint(j)); - p.translate(point1.x, point1.y - delta); + for (int j = 0; j < pot.getControlPointCount(); j++) { + Point2D oldP = pot.getControlPoint(j); + Point2D p = new Point2D.Double(oldP.getX() + point1.getX(), oldP.getY() + point1.getY() - delta); pot.setControlPoint(p, j); } } else if (y1Attr > y2Attr) { pot.setOrientation(Orientation._270); - for (int j = 0; j < pot.getControlPointCount(); j++) { - Point p = new Point(pot.getControlPoint(j)); - p.translate(point1.x, point1.y + delta); + for (int j = 0; j < pot.getControlPointCount(); j++) { + Point2D oldP = pot.getControlPoint(j); + Point2D p = new Point2D.Double(oldP.getX() + point1.getX(), oldP.getY() + point1.getY() + delta); pot.setControlPoint(p, j); }; } @@ -653,9 +653,9 @@ public class V1FileParser implements IOldFileParser { dx *= V1_GRID_SPACING.convertToPixels(); dy *= V1_GRID_SPACING.convertToPixels(); // Translate control points. - for (int j = 0; j < trimmer.getControlPointCount(); j++) { - Point p = new Point(trimmer.getControlPoint(j)); - p.translate(point1.x + dx, point1.y + dy); + for (int j = 0; j < trimmer.getControlPointCount(); j++) { + Point2D oldP = trimmer.getControlPoint(j); + Point2D p = new Point2D.Double(oldP.getX() + point1.getX() + dx, oldP.getY() + point1.getY() + dy); trimmer.setControlPoint(p, j); } component = trimmer; @@ -679,12 +679,12 @@ public class V1FileParser implements IOldFileParser { } } - int minY = y; + double minY = y; for (IDIYComponent c : project.getComponents()) { for (int i = 0; i < c.getControlPointCount(); i++) { - Point p = c.getControlPoint(i); - if (p.y < minY) - minY = p.y; + Point2D p = c.getControlPoint(i); + if (p.getY() < minY) + minY = p.getY(); } } @@ -695,7 +695,7 @@ public class V1FileParser implements IOldFileParser { titleLabel.setValue(project.getTitle()); titleLabel.setHorizontalAlignment(HorizontalAlignment.CENTER); titleLabel.setControlPoint( - new Point(CalcUtils.roundToGrid(x + boardWidth / 2, V1_GRID_SPACING), CalcUtils.roundToGrid( + new Point2D.Double(CalcUtils.roundToGrid(x + boardWidth / 2, V1_GRID_SPACING), CalcUtils.roundToGrid( (int) (minY - Constants.PIXELS_PER_INCH * V1_GRID_SPACING.getValue() * 5), V1_GRID_SPACING)), 0); project.getComponents().add(titleLabel); @@ -704,7 +704,7 @@ public class V1FileParser implements IOldFileParser { creditsLabel.setValue(project.getAuthor()); creditsLabel.setHorizontalAlignment(HorizontalAlignment.CENTER); creditsLabel.setControlPoint( - new Point(CalcUtils.roundToGrid(x + boardWidth / 2, V1_GRID_SPACING), CalcUtils.roundToGrid( + new Point2D.Double(CalcUtils.roundToGrid(x + boardWidth / 2, V1_GRID_SPACING), CalcUtils.roundToGrid( (int) (minY - Constants.PIXELS_PER_INCH * V1_GRID_SPACING.getValue() * 4), V1_GRID_SPACING)), 0); project.getComponents().add(creditsLabel); @@ -712,7 +712,7 @@ public class V1FileParser implements IOldFileParser { BOM bom = new BOM(); int bomSize = (int) bom.getSize().convertToPixels(); bom.setControlPoint( - new Point(CalcUtils.roundToGrid(x + (boardWidth - bomSize) / 2, V1_GRID_SPACING), CalcUtils.roundToGrid( + new Point2D.Double(CalcUtils.roundToGrid(x + (boardWidth - bomSize) / 2, V1_GRID_SPACING), CalcUtils.roundToGrid( (int) (y + boardHeight + 2 * V1_GRID_SPACING.convertToPixels()), V1_GRID_SPACING)), 0); project.getComponents().add(bom); @@ -721,10 +721,9 @@ public class V1FileParser implements IOldFileParser { return project; } - private Point convertV1CoordinatesToV3Point(Point reference, int x, int y) { - Point point = new Point(reference); - point.translate((int) (x * Constants.PIXELS_PER_INCH * V1_GRID_SPACING.getValue()), (int) (y - * Constants.PIXELS_PER_INCH * V1_GRID_SPACING.getValue())); + private Point2D convertV1CoordinatesToV3Point(Point2D reference, int x, int y) { + Point2D point = new Point2D.Double(reference.getX() + x * Constants.PIXELS_PER_INCH * V1_GRID_SPACING.getValue(), reference.getY() + y + * Constants.PIXELS_PER_INCH * V1_GRID_SPACING.getValue()); return point; } diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 12cccbe863c5d66e40e5b504cfe977cefef76b4d..f864f5dbc86a5a0a0f788c6e7e8486f0d640cc09 100644 GIT binary patch delta 105676 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

*{VPx(~deW6gcrP7H!lR3Dic*4l3Lz@k)Te0!W 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

N!kTY@f^Enl|vSj|=|*Pl-{ zX^yIVOsaO7dj93rbQkw2&hox!Usv9)-w?of(P#M3G>;l2Uy-UyHDI1J5&46wqe;Q1 z%>rt}$L;H5Fzz5o$CNCQEhI|$a^CdEa`yIO(XQTVISZg>oUEdhx-$#yo2X>pzgAaQ zb*Nl#BInp~ru7CwxgPE_=&)Ro)}NZ^6lQ9@cJWS(`k3a(L!N?u!c`P^_<(f@r^Drh zCO%*4p@Og^Mww&~jP~+w4}@F#V85qPwI^~15C4MRX~+D$Ej<-qWAmn8X+Y1pp)(x2 zW0^79!wK-IoW}m)ms2Hy7JW14`Xcf$*n#GQ&0#3s&ip~725XzO%!!ufPyfy4Zxu8{ zJ>$@#>+3dHm?1iSChy)~b#ox{UC84*>c1bSySQO*JGVe8vz&iCwQ$E6 zKM_3}yea$*%evif4IJQ&_$11Ku&Wm!7-8M{lftrwDT;({hX~X^K!7=G`3X zU2sb5-JSjYnEf@Y3uxNTRM-1k)?EPYdA#L#&3nwf&H22sdQ8Xb{=0|kgEs;IwxR7u zv8Cnb(IL!Y3%hUa)_&3{IK-lHtE^tMt_Cc`5e0S-p}C&AF>NB zeBH%xH4L2h8iV1ZCgml>0v~iMkAqqlEOcM1;DwV-(MxVG#gdIA$wx~T6&!lXtnY;e zA8ZdqZp=fp@0d$_!>?b_hduz<6E*gdA4)djAtT%{#w@~a9+Fb^i(`@Aj51Xop2dYc zjIzPDa7nh|4l=%yY7&pJiI+obmKs);c1=#ho%eUYL~=faa@w5JU-hqzV9Z)HNMlW_ zm)dm7Okoo`3_?DytK0WaDmB?RtYST?O7oqiA#9jsfOU-z$P@ddgY*ToB+im*&FiPU zJ=MEwMh=d5^MbFi!L;@sDm6uTS><9o=CUcLm30 zMk+f3CD6}h8!rk#Rs9Vh%}uB>9@Quo&1q2e%eeOyS9|-x^`A~y#UQEZEW(%Z?SRH^ z(4Q1C-@Poz)z)Fcrx`-5Br<?5&>TKL8Y}5gE1sVX9A@HgVH2 zjVXzq+A_pqq70W#q{2EG9-!`{h%1VyKrbeyzJ2xC*FqR5)Js8*A5EVcDV#uFu`^vE zz;DLbz`)rXn*CYSLIgei)xFQNY;HNR^iUbZp_AySSBaQLTG5HbKJUI-#GPh+phcf| zIG=XrrOZ+p)hY<+d)QOaWQ8R!zbcn(U%CltoSr#}8*0F7ureqUGfFLQYHU*^*DdPh z`jfkhN+!K6v)69r-ID{}Tcso_n_)^A&u#-Dku-%deXm_C?aPr;$J~ay_7R=GcaNZ0 zzm0Y1A(+3bsyjNnRO;+R-@#i;U7Jt8nYAW;;530msc-;Tlt^fMn8vKRkhgC$AzwNv zF&>&5GNUV(MPBBu?@;fZRIAnlI!EbHVbK*qm-X`_x6|k)X;Y&r>c2D&Sg{xBRnLgO zE$}P0)9Ib(DBkgFA7 z((Q%6@$&=V?}1{{hkf!Z+!%fc^~&DHMPyUHa4wC%1p4U`Rqd$ey*A1{VRsblG{0m< zY*W7ge^KnqLVZPaGZ1t#b8?kv=JPpJ-z-jW*OpCU-9!0|Ttkq5m+jd0eW&Y8^~TBZ zUpttJO`ghB6mIL+u&~nxA+dGzF^^w#bX=f{Q0W5R&>kw|Yf6Y)D?8h(nP)fWX3=Gx z3tVOYzpd!4B(1DhS7$euvk;(2wbrYMA zI4H{OCKHd`nQO9Y*4j5!lI{OYb8VqcKKs>C3bw~vZ(ia!;>w!3oI#be()22R?$w2s zuOR>ylj?%V?@d(&HaDR7Ogme0y9UH^?jq{BrmZ@x(p4#0vo{UsCXqWinAlMa^cOoI$Dw^~u5R&pJJ7%b(@v#YTwK&l z>4tLBCShv_Br1hgSL=$a3-il6h5O=87ij?oe|^i=#Oh}5SLYW>IO=KWLnlntI25?_ zjOt%Aine37jH+??XXE#zRD|iam8Jp7 z$quqyM_8+B;nwB*QZ+FqheL|M6=<jUi0UEr&O@+{$O>LjdPuMc zn~Len_MFS+7$NNvXOU2lAXA|F3Ah7F{#;%1!X73BA39rAi!y5ZTEI%ohEU~cN_x=_ zED1Vs&2ILghDF0kn>|%EMz$=9(((3p>W|ThOy^bXLeiiF!O8BWi6@A1>ac`D@g+bX z_e+%fd|EPg&8XgM=L4a0&e zR3*M5tS^%qgkKnszd6_MQiP_cd%QN3zv5@-*c20tHq~fA|86VfH(@0Vw{8a^zA>B% zUYpsyqRCv%a<85=|-4;ny_O5x$fB`J_)C;OKS)}|%j+^SJiv;~@o8@SDDt%zd!7{8LPrMx*!Tv*g!{GJ0BO0B+svy+vt zrHGY&0S)xfp@(C%GeMq%18a7Ss z<3Fz?ZXu|M7_F)0IXzmPTBILLr5k~Q;zZ+L?jw^5adUv_TeSubi1uEM`Rz#`9e}Yt zSOA2x3ks#jO=PpKFeT{7%M%m-ziBpBviINvKV};RYyzIZf8{o?l+K`^1*VxxMytdH z!?496Pq;auG%&W&UcAnDC^;@=JUXG(7d>Wpesw;QgRwrLHjz1TsuEP=SwMqK(*lE7 zn@o;Oazf*k^wjoqoSkaNGv3t@H#T~E({;zw_3PTZAm!iFm=FXgtKlIVg}hWh16{?D(e-{x7k+-u!a9NQ*x{TWz?g zl9xJvfoXekb_SF7jKk$Zm=EZ9tbcH-p=Yevp^X|wi-Ii&q`rpS1Y-ATDE5M51qx)^K4W1xkU5XX({@Wj=KCCB=7Pn z@s9U={|~}3c5nWeb3lZTQ|}U_`owMYB!b=8AWNsl~&4>cyn|Sh8c7k44?( zIzwp#pQ4!zF{nueL6Am zz`xtK`~W3sC+r>2GM5=WI=vh^xEwA=3^k%M+s<8$0A5F1YgY6{m1HbUnPB`H(D386 zL0Ow^lD7u~+{Y1iZPxrZ1_X{xT5a#GnQy*|OB^TPd{j!eR!+{F zkB%OLZd-3Ar#K;#`CXxaNe^04-MF$3+*jC{tm;dxB9g?4i7$5OMA6#mS2CNXe?qKW zEbxTu^TZ47F)xPfbR1kPZo!q)HbOZ$YEP7N??1g6&YPXT zUPUesAEKwQP9WJGnVS(UH$0iJ`t?DrIr{{M3NX5ZY%5wT_vpE3roBW3Sz#<*X|nZz z%wBN--8FlE4ekY@dHa!}Wy6n*Kh*{lTgTJqa$~F8RLIHK~iIrnQ2m9qLe^3O16KAd5;KecjVl!3>3Q9%_c7)U;VWDpB&@B8P5vvCohpPs_ z^(5#)I&QkE;)yYuY*>PAy?Jr$G&0m$inSg}np@K&f1a?J<#Fm`NLw+Pr*Cn3qj+S0 zXToM&=@oH0)p>i;{hrxR+%}Whn{cDVGnsz6n~C;%ZnVt#PfA;&`iMw(v+=~AwU!UX zuHV1I;()fNnB1}VHCTrAu3TVF^M~C4T~G1@b~kHh+lQ-qw0&sel`RH_#P^xU*0DXj z^;vH2qG(5OE91Z8H&NFzVe9CbEZeeqkJVW08v)j$!%p`yI{a{BF1qt z)s$iPEW9yToiar-%qBA)R1sBtG{!6J&a0%C#cZ;{!0gzKYit;|WU$Maft~|U?_dAN zp0+vxvGmrm$ZJf2kkbE%m?HIb_u|yrYUamhyK>{+a1xs4kSF9IJ^STu)s0n?07`Ru%@Cg8}*PEA~W=dK9;H+g(U<<1NG1lgsS!M2LZG&wzBYH@kl z+gFDf7mO>)1$0Zv>%llM@ZX4BOQa@F$gJ+mHzinvnev1gwqO9(%N`qG-JW#85w+dU zf9|XgZ#$Acb1=XSGI=&81n%UE*|!HDpD^8Eu|4+q>_ATVlcElJF)Oh^>>PwxS^V5) zydrr~e3P)@k%IVzVd$ze~ zY3xn2j519BJZyZEQo$9#M|3kzLFXUO-U$Qc7v4wsxs<>-zLOf_`6i~{3EY>!MRN)3 z;*4l-$p$HY-Gvk%PoO#8p<)P^=!=ppwd*9jj65vGEHDjf6d0UuLGhb2^T9NNbDqN|{q*xzl22)*?FCje?{K zcYh7-H}$<;vJ!OLNntQKI*~m6OP&nK*^iVF;;Oekz?tWn>bD0EVZv(?$E>dp^Po72 zZ`=Ftf4$RgNs9uq1qJyJpsocf0SFTOe~y@$K$2kpExmO^tpIpI{Q9-@gRc8e_J%km zv+yV3kGTZ@FNfNk*!=*FR7MP}?@#(T3xBK~XCPa=I7qay)d;%=n5DU)EtTce^*H{S z_BtQzd~)+_Mss4}U+O_P;vg1jb4g8zuA7hC7jNA}r{gP)_?7yt_m9tKY{u_T+wIP@ zl93$uR}kNb!FaOe{V({+zQ3()F&VH95BN6MfRke&&;r% z16+CharZ?bd@6TIfuWmi&^2u2TC4^pZKa7p2bqB(5lpsS8ao+Fk03l|l>>i}Op?TZ zSs*JfS*rHjmRD0I1{sTsMn;^bXw=%VZ&;r%uz~ZgtFxu4(4`7H7QBthJY!h$hMKx$ zxb%;uB8>b!qbeB%>e;z@C$sc|RZlr>02uC~dgkh;YOEvsU0hux;^of8#;5M0j-gF_ z4@@kEh9*4OG&Qz3Mm!ghoqIo=uBav$2oMAl6;!oV>%*t){?%9;Xfr|fbn{CV#zWYs zP60z(hTTZCX1)(6#siaVsnx})lcz{SDYWTsxBOi?5_KpeYU`R_>AHIo7WMU4KxkZ@ zIi$}waq;bYSmSoxLeI8kn&;>!RF_hGCEDBGBV5*DppEnGwMEE^5omfj21@CSR0FZy zGMCZn7AUFc#yUY4i3Htn_TG!O%9+N7&aSu@;GA3V@FW_{3pbV*oQ zt6jf|kg-9>7!5aPa|0oK>ClsXypZ&AXtl#qzMbf?QQ|CP#Y0Sz7h8t|u#SWcs}y@V zZv3?C{ApNr19zndm(#GPVkEt>@29%OF8L5M?OLs+TzSVPWNeSQmZMsd=tE(;SN}4B zP{Iv-Y>F%JT(LZkgd)$BgzyP@D`KPb=EFiLTUKwF64;>i5wSwiM;Fisr&UxptaLWn zhdeAQ@c;QOG-0&iZ$%}5TO*R{-h^pvrl?9(+U<8FKKC>rf5dBx0jaGb9@WQLWY?Lx zvcveZziUe71l&Y79GGc7*W18xnki%MZLIUQP$$eG`Kq}U9t>Al_1KaVY`>F}TSk~A zPx$UsR^HZXNMFr*)N2{um;R7iEJ^m9H01VzI&O6!SShqHCevR7Mhn0Z1sDb8SOv#y zR~w({ZG@vskn)f-;oY?`!;1A!8pDo#Mm8BOWYEyZlhtA6b#TK{6GEecE6dT(c6B6o ztmWiZh}yyJ0qf)EDrSNKsuu9*3?s$)9!pvut8Bz0)2C+`m**QxJ?vdkP>7NV4U$z6 zYA3a_t{KZ{ru$0(Mq1|{dY0@3Ngs5w2-nin{v`^U5oC&G$A!Kr<;}{0Bnp;Y3D6z{ zHTfr%%nT;T`qkF2EZw+Bm7K+!X@Ew9Og1#v*DCC}j8|6;HT=_0DL=txLEs)G&E?Oe z&VdQH=>&zK8YJ7wkrV_wY1Wj3yST$0_=~HvEAgLpF@ns?i_J#zrG_xR%{8TV)0CG$ zZTbX%DF<+BMgh)J!pB6{K2sj_&wD3LOqUB86Qcrv2`0Kk^>Jxsma6I^q-*m))wyvT zI`Ac~^6_0fXNpt}=TVD-+`($e%94ox)_j|{s;TSEu?&Q-TKW9rBc^~yIX5)Gyb^;8 zG0aBhrO2h&^Uo_0@SsJ<$J!ou-{z>YL0RI*_Wj@4$$Xqd^{VlMItk;NgBMuty{*j- zuVx0oR50fFiz@{+dA&@rt7Dv`iVCBu?`_6O`!NLlh|Z<@~A?;={$5 zKTl!-Dy_z;=#Iu)h7CJS|4`x~ZJsC@aEwnsf$aiLrDZ{*G4wd#y5(qhu~ody-l9CT0k*(e zWvq}>T) zSivunF%E?%33NM64(yJ-3ha0q%A^cBwq(3-feiVb%e{-iIYHW2(cYI~cZC)QI zr^&e$!mwAG*_Hih8*3)1RfaGZ+ZiB5pqr#LD{EnKJt9WRXD!{Q|`fgtw-zkEuZc}TPbetBbh zQ8rsnWU?)GSA9TuXJ|{;=sAX@EL}+~UD4wOMbz}f$-dFoI@Sjvv9Hc~qedq4Ly*V~ zya%p7$k)2gyDby?qH9s^1(BrdLzs*>jqjjaiH9N$0UMCh@Jjwxvnc^c+5N129sb0v zp;RaW&(9MXB)15ijS`DwK0dCK2+Yn579citcMR{d0o@v>WIoZZ2&38!fiS2nCIYk$ z-)E4#RV^yq-X61_>8KO#>74tDogMwHWay}F$U4+fTQW3{ptDd1FO$f8&{;wU%s9gu zGw5;6&k1VEgAHF!8kB(Ny)0Cq&G41!RxaVePcDs$Olhj~;0IixC{E;>)O@_2TmHakG1uBS4|HKvJ$RbJ{+{68>sSz-7}n7nOk=!T!eg0z z89zJJZKH!Jw+QKx2Nq1*5l*Z77tRDX)a$uBoXrS9PJ6VQsa;}kH?d$4ZhCtVSb}@q z|KEY98t$U12K$*-5q}<}Vy5tA0zs$H)&M~QAUzRBkhv)(H70a=>CwPa2McFM8HB)r z?rSCKlj$WQuhe!y5)vzmhIAU{DLO0z%okX$Qszmht>0yKYKXiGt?Bv-^Q0GCGrD)K za?CwUT!<$u^+$F}*3#BIXENJfrqiAPZ=vVB6rp;ERorO& zPVW3uKbpgDz-Dg3k3A`LtomQ>0ziC1Q$Ws(K#uLzhbAbh$;|AbM;5E-2kfOgoVYUN zb2m%$q;s?#xVsLc&XyzL1HMbhLXYbK2VW327>!wDPJNjT_h+3~XlMC(9gNX?#g51B z1)BVowr+NAiLU_*@0HohGahF=8}-=T;q6R$!a9*}R2wE^inZo*4)e7UXYll0q=F%C zG3pFmzacQIIY6ScvT5!qR{bB>6?#WpTa4`^12>{r zp6QTO4-+P>;p*vF*?Pbx&?TCemHG~{{QR0*LCBR;wCa+5Qx&oDvsN>1C<9JPB2wt8 zxyjxF5G=Ye6oQ&+5;A?y%5RhaGpbaNx!b_Dcw_K5p?{O|T~vtp7uNhk%E&dPuW{k3 zLBHwirTqMVG-1O@CuxK; z>Le?XkfG`FRcx1K)ScoF$YRn`MjGRRyJH~;6Xyx4)9kB9^>#_$?4(}+5vvs=b96x$ z^G&v7{ILeY|GwK{(3QUh4@r^&fgq)&rJ_za6GoZ@>k6GqJ2} z4mY6;N(}TvU7wTX&JhvzO(uz8XT+hrDilG%#b zf((SnA@i#98eR7!c&Y_JQe#MEnJ?cj31lwqvJ9UV52Zv^YwlEWe377k0g=7fj=_b# zNxwnm^zp0j1EP1|QoXR@-$wFLcZNV7+P?YY!>S7O*t}5l5)C~UeoT>?k@H$p-6D1t@0GY| z573D)eM0fB+(LfF16S^;;`!-D9J3m%k*8w#P(t~Trn3TWJ)vRu@sRCpofJB>+_cR<-Sg!mq3x9M*R0Q64`&O-gw9gQ@{bp?Wh>2jxZC(r0`$Cr+oD zjuJDdC?9Zy2{ETL!WI|cI*CI+gPu%TlucO`N4Z)FVcRMPhmix%%4b*&sO`B?1BhUq z&TaeoUC#dE|6IGgoh{qVpq6+E`5XaH&t{>vOg$Gl9S=cmm9^;`xk7fO=&1m*FW;QM4KlajKyq zTvi|66RW%=s161W(GvJnxZeKtd9&@KcEc<(`YQ^5DI`D!`~jZ#*P&W6not1aFkvKP z=IJrdx3(*wfWGt+2)nF8PT?U`i~l$79A#)xHNKC*)p~_oP3~R1(CR=lvV3#L+O;s_ zvpt{_*VRGf!Je%{R$|j<^Qb1TF`;U_EkscpQj9A1OkIe!NCDDJ$JgbqA9(pP#`P+F zWc_4zaHRbtE>&~_QcjVUu-O;0{nbi~&r*}iL_4+fG-mm4L9?5t7Z4^$&z~_{NY&r% zV^txUFt<6$uJPiuGW)TI?t>=?w@6(b_A!9Ne{|PHxlv$ml!bf32Ppm^A&V;A4%RxVO?HXra?}tyc;Tvc;|B1v@Q8Wcea}y$ zGC^zO6gE+vLos1d2}$!uM1#$A z1)YvNjliEtV9t&!KM^SBD5ruS{!aZcCxqa}*K^}x4O%cLfHwwT*~3)X zLr{=MTJsc2PVfhIt?hI&(D&J)qNYc#(mP$J7o(wegY4QKJwA(U0G z)VTw(2A>sLJi{MG{93R}!OjM?0)G%&8j~huRB2;)mS_TE(H&SuywKtQ;A++$l1_n7 z8<|QWzj8Q<7;F2@YKJrwsb#8+VtVwDIr+k)F&#(n;Ei+Ra)-lpz2D`Q6Y+8YPXFQu zC449T8@C_S%MA;+Ptlz#N>d?6DixV+WNxuaR#jLwn+0qxs-wA=CEX+esJe z&D8rHDvl3G?^-^4IP|L!^>kl=7S^EwATmNwi)(O5A5=6ybXWfxD`q!A3qTPrdV5CJ zgcFqynzOfTTJVa+Gc$zh_8g(*RR*IwY$zXjU{BNCZzy}an$Yx0(LFr0f_{T3{}UnE zU$b4==X|AEc-Nusj={aH$7T48LHZ=>M8DQWvb;_7&$%C*X?<<;*A1lgxcv1E*n%IT zy{pjp#OTp?=z-RCn#7LTb?uzFLH^|L!v#fIZ#Omz(%GtqZfIo8LV`nuoU~+>Y%WO3 z)TyG&59y>1;-kyBmISZ7q^t5{H?N8AS}$ELzjD;rnDRFV#Hr1a*!zvpWU{bHKe0V=)!vH&POE+l|{2Wgf~#} zrcmd@y?9wd=(E@>C+P;Z=R6n)jRzX@XR@Y=6-sSP~S1OTO2O}wY(SoZtF49a~UZl?w75@k^Ba{(f65QZ-XEIPlk z?K%5EHb8m?l8Fmb;rT+Gfn8|U1u9D zo-AU}>C~x$iB|EgY4zdSi%ES{-_c_-5|~sJ_JnmE_&0GOO#44YRn2M|W3`a$W{%7B zFED8ZBGF`r+*|>IiUkoXRvJ@I8W9>u+u^3Xc;s(Q&>uhc9vaKv@PBKE#(Dt#oGLd5E zNzD0|8^)?n5HACkS4j$E_RKMAirI@%9b(TIb7XdZ*{JBDeD!=aB`lg#4XerA*2`<>6NF! zI$I{UJr!d9Zh}K9Rs|ph|4+ut?rWg<7jS~~sXFw1+Zm2}n=j!b+qoTzNe)>?fM=lu zPs9(uPe6sFEEHSJRTQrASV}N1jQ!xHQRKW*VUR6{ME?VTe+4O6EeQ=OXA@tnFaX4v z$?5CW5Evw;nRI$=w}tkoNujO)h?O=YHI+6&JQA3uk`a;WgpehL3kZ_S4BE^LdXbU3 zWzBghon0u(!jlY=_&$Yn1rF0mT_VPqD-JEfSsQp{Ku}ZxK5`7H2W9-x9L)I&o8{;9 zNHGUvL?g7*`d6TatEkNl0qb-<;DGZnK}SJ{q$z^|4*VS?{P)9*41k)>wMqxs z;Uzsp&?MOiCvmn+hi$!avmwk32;x{Vhr$&%xq>3m+E%l*X1gP%`8>9?DTk|P4)R{7 z33Q$Jk>u=FzP$oIVYK`%*^ST4>Q56Lhv!B;;>4E^;}<;qxztl}dqt;7MJLfK{9q1} z&7v;LLW3{t4%@+&2{Lg)H2_v+^D^vL@hEK0B#uny*f`V$1YE@Nn$4$-L>Dknz-t!Q zg=5^0F1Y#nNPVm`vN_<+P0EYEtmK*Zip!=Zja!FFw!dP4K0V}~m@-|W^NY3sKK!49 zNrI~4VTz-5J?^d(-i3>8CUAQtd9GqtYAsoqoICwfaIPFA8?`+M0f0WZSAS6snJW@b zd2c`tVFZ4S8SoE&5l4hcUe^`voFCj3JZS>%7=VQ*R(Ni<;X$w@7AR9x#o4Pa>Q74WMsAZ$>u6n(^B(-v!_A6ox9cwD>ah)hOdM4mTV zn3|~|vLKHhi7Qy`7hp3c+R&Z~i(-?_u3|%T|H)ua%?(QuQ*dOKY_{G9YT{ZXvHa*I z*9A)YWxkDQ6GDIss4$7zP)(V4R8rQdB@JJtzS**{xnqvcIGm{qIkPe) z0Ufb$%F*muVBR(S(JHn$M0|!dp?F8?$+{IO#O!Ebbf5fD4gj+gc2eqt(`CR+lb~|$ zLcOORrkOII8e2s*_Q%MQ)FbR~3(dfhk-g280Iq-<4N@mo4PFGvEtQTqHE4}PmZUd4 z3IT)*WvhUni2oOaga0-ZQ*8cD#N}V*-ZjqLS9gAOrkwf$z)lu?Pnabm+oD zGICR#vQj@Jq!F9UFv`(XjI!>WajY_`7|Syvt7PeGbdpH{>KUp<47^NVD`%qKp{dDKuT`EAim&m4d04jKSKRrd zfR9H(V599H4^1wQM~J6dk~3`nhMet+idn=~h>xzJi>@KR-LLMX73E5(L{%N>(Ccw% zrN8CXoq#-lk6bBkU(3eqYlpn7a>BT@OIo6Lj-3g7+q?l6cFh1|lE*apptN&SmldeV{&;lG-`bHYZPnq*1bwBc>zpKZ!)&pdS;E?X0Q**GXV%)adUMseQi zVBQR5vApg4b-N4@_X2Z0d!@S`=Juv-MSVFt1jQX1acISbecU@>6QO$oLF;3Sj#pUT z9nt#6{r|pN&W+`-|& z(7@2X^0wgUFyIm;1rXw!@WsW!{xsg!f5daGUPjpJ`mS0m8JJfMWj`k;t6b?L=Yw!r z%4&M9Y(ID3EUyo&t9<0R({^M`@i&2|rDeSxcl3O-P8`f|--7uj;_i)L_#m`DqTew2=j@y6e`58-mVW~noX!>~7h{5d`T?4Pcff== ztSFCIRtLyc`C^I`iWg#;=FJ(Y<&s&jC&XMbWY+5yHw>bH_Zj@+|8OR`L?v!m6NOCW z)`Y=GzF|zg4)Tbq_t;^fQf1EL)G)vENRxqq{;JNVX!F z6~dFwZEuVvE(@CG`SkB-MI1ja5P**qDSG*aNk@^`E|?_1kv0Zw;&nFivB+G&%mlLy zpgsUj6blPsVG|6N>i+WQ@ zU_(sqZnb+Iu!{Y4T_2FyG?ExSj+=^kAg<~KWdsrqb}UGX=3I`guq#*Cyz*AbBpHKy-hj!$`Wz7x~d@uRh)o`;#gPlwnZ5G>eoE0_~ zUl&((aA>Z#C>m=RNk&pVvY{+YlsV;GL5)Z1^04o5R`ul-rrE2gCVN#yPnntENP%Mm zCn;Xjnm2|hBf`2vjvdN!u;>B0qInOiKDc=ei8j5JWkJK9+1I^f;P@9sgZ&*h;CTOxr@)a-Y74|Q^rsLKAHqqV47eRE zUmX>n$x>iJI1cQBfFRsCF9Jb2@!TMpY+(?+J(c>nmQ!|;54&b$iUS6)*K}#$o(lQi z?ogbPPBQLHFFUz1nATnj2Wi%>Mpk^dQ(IonQd~k%^Z${mO#B zFa7nd*TFd@8E}edZI!6T5OMA>a8=J)`P+n{s+~?4^-^PuwZHL{3Y=y#BADQIwzMx4 zR<6gu-*mD@(XYG=Ll6eQU7)#a+J5IJEwUbtD0|ga4AL>hKDD!v1WRn-k!*zEXMvL? zT_p{zE!|jLYH#W7=vWyw#5A!H)zorz--8EIdUUkCIN&1VjIADY*X5KN=tIdoDYr~H z2qxqzwmgI&#1G|V?sO@RiKH+h_cZetLlaOd-Yiz|eIWd8tDsOqA?Li@}iDh@N21mB;^hLR%OMtZ^YXfzw2M}VH zI{Bx7!lo>$RZoDzCeC5-(;l?$^)z=^`(;O7o6<`o7UvV-B%4CyXBA)ZAUq``WeH~2 z5all9K}O&>yu_?QkCw@pni%(p5XAWkyGq;eiwXNU)_sk-le z8WwHoE;^AZ`v_VxU9NNGJnN3=vd*%C*-hoit)SM~&-)tN5q39K%q4V^xPohF(`qc? zYb}KR=F`|+e!e&rMTBzLjaz;@s-DDJ6$TYAOvZC_ZdF~hYc3Wu2 z*fup}<8J`2Z@Z7a+SZ3RQVM^+4|@|J3yQ{Y0%vC^WaPe&I^WWfFm1tgwNfjs0EOrb zxk$qns+Ep6dxaE2O`J(oE&Jz8W)}d z)jA>^c`8|_`LahAnC0C$T}>*d=W7dV6cH&8$Y^z2vEQ>CIg)3>AR-W4QLn#9ecv)pi`s!oJ z$OQmcw;>i{QQN)zYFeH;ajdRl_qAo^J-yURT`k2nEv+CpSzb^uy)WKC8|ov{=uV>C zzuyb_`S6x(^grKf$QMscgg1_#ywb6y!HFHXQ7Z_87L4BDNqrC#1Almtc#<=-p<3dN ze#%3wf!a}=2^z|QMW+Bbl}aUKs}FHCAdLX>(FePT z4qA7Lfk*6SXSC20I?E-L*az-rP`WirR{1O=iK!(lh)Pl$wG*pK%$w6H_xWX*fyuw$k;I6d?1BGxRDI)e!i6N@MPB0 zQ31Ixm3%FyF@%6SsPCSyzKc|j{6xr8wpQT*B`=l>poXXr9i<_>AR)Y=FmvQO(u zP6XYGl;J`kaId9|tIBX~XB-8As0OUSi&((;DYBRI6H05(RK(4Esz8k)*ztj|j*7H& z4@>WsTh=5*jpPlCG5Fygkkw;_5r__}55Jw{{%$3Y{D%s6Nb*|vm0!s7IR709EyS3# z?o-EXd-;uBv+sZcwjQ}b;AtL$ME%!|%6Ml8ImO9F;%J3#1Q|8sOd0ip!{Z+_P@*H&l$r#G*V=+`f*|K@kS9Uve8MQV^< znoI8A(Nt#|^G}2>0{d*Rr1W7{r1aoG0+}JW;fQ{QoOOtH3Sjk4)Vi9>&Q3L1sREGH z)~oIHHe1V0nA97&m3)xmVevrFa_z>3)YwJXTg%bh>vc9;J{#>-u+ zO3s#87(mAtoAAla52#bm}EEI*2d|w-qo)4oP6jW^Xl%ks2n>( zKkW23R6*@(2wOqU`5J&na`$lbrhe5#O%pVA{zs-8J-rf|Q? z-q4_5tmXOC+}hXGo=Y$4{O+#N1bC>NU6fJdA`peKgdu&6BX@@!06W5fen8aY+mi`d zo)$D~TWAt5g7Fu*jonRR_I&NC&_t@yB{GulU5_N0MKp2}WcrVFu?m$T|3!iS_)-71 zlRzw>Bzw7P%YVFIS`@^+BN9YNwGOyT5ph7ngpOrWV)+rxK9%+l;r^ETqX4rRa<-+f zIAK*0HKL*$p3T_;pq-hJ8kp=TOzP4IiPJwh#MJL*Vvt0i*wM0(8p9aNc&zGIOW`57 z+Hqlatw^3E5=5khhXYc$dsNQ9D?z&%h{B^&y)7CL zbCvNrS`}@wOg%S9{2E+1=3f(3Mt&>=UbUBNMW|h4<tC7dS;HE^wB0ZsuNi%yQ zTqzG_prcC;-GbcuH(Hn!BV41%cJ{RJsoi2)0J6d~&Ghmy-s4`f)J9oRC{J^$rLtT| zhVu3DC7K9x^pLTNS(q2Pxl@CgVFD7~HD>b5FHVbUis?UCos8KIG#|ab*-|4^Mm4$5 zu7QRn8*d$JV!wx#NUEJLG6jKTQm4EmW|<+EGP!0#O@243Cm&>- z01WME;nJ*7YQw9o^i?BykeqbpM!QHoP;?13Ymp@CxU+oeWX@C5?7#GrzP#tQ`wp@M zM~*<^DoU<2GXnB?3!+ZJsAXYwWx)RyIq6~-Sh1C97C;AUg%@EMDS~4CYgk_EwnX65P({3gT<#D z6SHqw1doSFJSu`|WaziTHFA4ZmP@@L|4vN5ZApAt5KQ0K?$gG zrodC%VrsjxtJ7OrUozLdeJ~9RuUtJH%9{(>*2**9$>vk>g(eUg1R#W8>vE8_6+#44 zJR|_L{-A-gzQDd!`jprI{ku1X;vDGQ6RU2ULAC#fV+Tq5Zx3H@DqHvB->w603NLTu zY1!iD_O=Z!@h?Z1U%JDo`z~pFTShOlpO`^e_Bs!NTkeug!hu$!nB6JC7CGM=33gtR9G!0RBTgEgx6T3g{r3df zO}qOrNg1Am`!*ad`zHgefsKH}fk?C5H?FYbhC_ByV>h>%xSBWhdst;{yd$cloRVI4 zi1DN$Bnq_(GnA831WaYYld^X#Y6}`pQD&~i>^OmuqS0T&7l2=FQ38z#7G|i-^ET@; zo^+NaUyJ;IOA{2>iq`GS{O9XO=*;H*EP%^VXO^f@&Fa#Nh}GN6K|>oF8;3gPQ`Gh( z-5MILRIH-7wxQ!b=yqf)$S8!FHmtDVxj6aJ$z7NO)pC#5kW7r#vWgQ}eCu!G1tNOA zgdLO5>l;4_HvnG-f2rhSUXax_+TQ3pmM{`}`F+1BZ+pPMJ^kFvcqJ=b$YK-MB{BPTWRg?yNSg78 z+2W@90S&eI?tU6JN^ed!#I8(|nC|Xr?Wrsy4NlUM$<3FgR(0sM)_!@_Q}fNq?c-G1 zD_W?PkXa=cww3XWms`IIXo{~6Cdwn*ciq>4>es(9D>tKC&{XcRdm)xUwQFk|3W{jJ zwqbA4d;qyLL?`&!oO7xq1viLbp0C(xo1)00=hjYO_`JSyypfY!{#u<$+aX%rxbB~L z4zKz~HwUA85u-b*_WK#5+pJ=UJ{a(n760=|>yKNa) z0Rv(;8o?4aLFL`#jjqHUZ^o7h_t*)%$xNvJOPcl!MzDq#z7Ym?Pui^k_K>x%*)>sq zS!gC7-nX)TMd6pZzp?7D5sHue9MVURt!zLQnIdzoWHu$b{ZwK#;TdNs^pJBQc(-Ut z-+;(wccgdZ9~d299&8UZ{}BYYZ<#<31=4${K+o{UVVq>oKNjzxMTP&v)jb7g7H#bU zPA47Pw$ZU|+qP{dUz~Jo+qP}nw(X?Dll}ka;_OqkZf4cGT$nY-7|#oi@@D>pKd1Gm z1r+nVTE_A6D+qsP%7u4uGNiot@KuyMWB35Q^y+It9h%E(Z&NebbvijWmxkDt*sKQ@Bn2?GHd1#yK&9yh9tQ_dKQAdXSQTog$BA&FVq%=jVb$5$F->xd`J4aRXBe4ez){gxat3l0EXE!hda! zg_j~!TNCymbYbKUawd8#eRSz#b00|wCq6ZTKq)@^y)Z82OkADJ)2g}tFS$1^Gd)1u z5wW8-%#I(&Fji=~s_mybnPM*Sw*m>f0f?%oiVqSfCjb(Us`XTL3ROw0=S2PX<%ski zoC3O8$CV52maWCFi>n_GELZF&i|~3zYm;sR#J?xzaBt`O)f`t|RXhJ^iuOZ{(7(p@ zvfbqs#@QXF6rXO^U`rcURRUK~5nLdL^-O{Li@s)*S1b;J+OP$_VSQCFJBU?Ipn(Y# zEBGEO*tlQ-Yp-I_V4Z3QQf9*A+o&>4Jpn%Wa}ML_m-$x! zEGd_LPf8LdO>&OBmz|WqZIW_52! zMV}KKJB9x97h1}$BNX&c0N^ja|1D5PviqFO{v>^o;ilLz|N5VM@B!L5OPJqyms9-o z{=Xd&^5?Amf=G_(-Sqp6k^2=1Qsr52UCHSU)->F}9L<}SnxAV!c^dJWnwHhItY8_0 zqnetVnwr)J@SeNryw=_&D?R~sAtsn;;?L;ExDVUk?>#r(31+&!mykr7f6|2(`DZ{a zuziB@^^QhXUhiD^d;rA4yl-gm-MEFKp8j4tdn0cD?z#wka(sKc@Iy|;9uE*a`SwQS zgc_55hr4pX&(I&Gd_TfhKGRn|i+_yfowu_WLeK24-3`&_7%>2h0%_M^#Mj{c*X0IU zt=?O+N{p-I6UQoeBwwy@Z_Crr#;Y5b9B3dBN%)80U4&r|1>)fu zcl`2i$~k4p3E}v13(MkMMWu;T%X+Da)b_Y_WE&(BS177z49W#XCDoL4oW;)Rzo7D* z`CC%~<(iSwb^sqizWB(Mk*G*jzTC27eNmFSf@BisBraf_VR{t{1NU;zJz;R6_qvbSb&Bj}z%upKg< zA}y`os39q?0Il=K|l%)e6;Yi! zZoC}_*)sT)QdOB$5?dz`vXqf4Pt*!&&K8#et-~mV&RA55mTOI5bl4c`6d?3IWE6mF zpk%+{R7Mctc!{x=a#NaP!_GixIfbmbh{^GQQ9Sg=el|PjH!3C<55M~@LhwnZHZ#Sv zNN`OD@<_;F)p4tdR*IR5CNpm9WTES~P-Z(@s?-YI$dsYwOU{OTtXrKjR7GO7{0voj zC1gCH>4$Je_DO4ZD4&?qj!}7V(4jUOmfubTvssvO7nEF$!mVK}0sT5)w-m046TqN| z!?7YND-Tr7d8{6eOrM`BaK<;o@Ih6a$r?#!u!VLRA)B?D#z06fFJ=6<@&ON7{BD|d66 z86D{xFK(A%Iw1vnKwu~5f*uz6`@UDBgv1FLB2{TnE^61B%``^WH`c3ggmAJY>l2T} zQSxAysf_R#X}@H>Cdf>?;Cu+O7VDo+akQq(RHYm^3|1CXE9A}Tu9VEluK#s+JhlPP{%A?E)R|Qzk5aRdy&(MA$PM@TkB4&GBi;G(;=>niYr=|f{LT#DH z;cVp#)>Q)WlNYh#Lwm(!Y4ICIUYZQmnU9PFrTX8J9fl&i+|}nRb0y=R%*c0$Hz~Jd zbW&D-@0w3lQ&{~A%uREC%@ zb`N)K+3a6UQagEO$HZ`}F?ToKi{q6AJ?ENJw-Wd^w1_R3t$|jkVh%m=y8U21pm6~#<3}1JRgfa&QZPOh6-Zpp8 zT!i^YOEv&`T0xX(?tt3;{^m7R^3jA$Hz|n9{xxGDC9% zZgLq=cBKoRO~fzQrJw4K`Cx%ha0@zC_T-6C6!~R<0lZ|?SpUqday>v#FX%+=ZNfZr z+9U>@sSsS#?-pJzYQE>gYEslA$gveeslp(dfz}F2DyY_&B*`$ww&Je3jnhi{Tn7m zuo~K2X4=i>aRBj0?*g*&Nw5k}_2R=(u0KPYAm=FCadIif(%ZL9t$W|Btp!I{;|4Bv zVh?bv*1J|y$k+3ci$T@i~cmv@X+`9&}gcH&pZh@=p zgi#5qcUc=Qrx1g9^VokL3~yrbdU)uc>Hf&MU)`sNXsR30V|Cz+o4zu4ftzLB=bC(7 zQ6}Px!KETTU0?P_dT8yX^8A}OEhBa8NdsV7Wv+2cL$8#LCq;?DllU}<^bEn6+sOQu zhSS}EbDOA5ElF~xDADO>OTU+)|1BE1lbF-BZ_4-kIh4$xXT$(N+{FR^j+DV;CWzOz zrU(1Hk_)(UzVwObDH&{;)p~HCb#Us&%d|@kVlwkMj;yE;WI2W|F%RBAx1BtI4ghS+ z-q^FQaAZJp!?(I_CpI(?bUb7|(wd!UHiCM%ZD$H~5lD3bJ%koDx-EF&L`vbn%+Oak zGxd;y4<(4)87pi{-8jiFb5Y>H{9>EL<)GiDiDZLzg5Emsz3j(gwf>13v{!4Jx+gp= z=^)i^>Y|56PZZG@-JW7h1ntVPod6(L>az8Cl|ZV#eq5Pf=W;!?MXyZV`TBWVBdzQ~ z|7Q9Jw3QU9F*VxI`}!;0UHM-@*Kl?65T*tatffstXh!r zOv#mhnE;3S!Z6VK39Vb<%^|Lvj>E_u5^tA4DuN~WbP(Ggihc`ZX_A{CB5qul>82HP zirxU;we{2&gu~2Zu{~NkatH$QA@UmAoKnHSok@fvCbShAlBafTXG|VI3>` z<5+H<+ML}BDop_#1Cs;Q8W-^ifhF;_IWVF zSv(NUkioLw==+=C{UNkbOc%pHW3tJMjW33@NZ^fUh5Yl#=Vq!`kW?w2bKT{HfAaCN z`JL@l-TifcAcr((%Yd8*Abz}}hn?MVxO>t5070LzzoS9_#wb2H^|19J7yK5cv%lyt zcr$y$YxyFT-YLPizYq!jViBBrH2Qjdf%pXfH2Yok9X=~}TB7~I_VOtg1UEP1zI(!b zgTCqcH{u(1;d^dEyEEXIz$r2?bx@7&tB4=p1<|7r;-TQ4KLUIZpbZr=!ZYu_9_-6H zGK_3)vT6e3y7E~59RImBNd8y&Y#XeT3S|iF=bKUGUtz*QeD@h zho&+u464@?uw)&Q2AuuggQ%;8V~xj;I|qO|0o{Jw%YO^=bL z7a9UK15O?rsdHjc0Sws-9Sv zL6@e|MYquajn&rK5?h&nVI5woe;_oqvcs|@vI+pQb7uk8pan#`2nnhJ0gRTwN z`Zo@zsqq!1HVx3IH2$3FQQxT6YEc+&_-a|06)NI@v1;5TeZ=w#t2g5qS~=I1IE?Js z@F9vm0Gzxraw<`Wt8AmSr`hC~#Ap8)M+v&qUm=4#u#&XRM`L*j^IxSexiMDoxQfNb zsPqnKi2fhzmN8;wU0z~vPS`XK;=sRJ>VHQRw>7MH0?@ZYqD^Wgh=X#~+bM3ljl712 za9CiwSMvldyk$b&)HNNpF>Q3)RsF3)edeM`0jphKwk2)>s;=C1+m!|n4uN6~?IsVR zNrDQm$I(e9Oyi>bXJyU`MN_J8bHf2<%js}8BxuY1KM1iU0r)gS?20MS86%9?)?F!A zUXi?!O0H2PDXX}hEg^@+`+nkP?EPkxcyHvbYkow&-|QUy1;!a@Tp!$-LZ zfTp$l;5=ID@173>2w0KGvT7W)jg}v{%msHReh`}jT4OS;%2T+hZk|c;?NXpsS}-D; zt9#83eI~5xk+TP=NWhQ^gjAH2-5^ATLmNo$r@!=c6xv=RL)wbxy)R^; zMN0PG?}ZU3Xi|JVvw`u=An-s!h(S^tFu??>(}MIV<%sM_XoT6&Y;2_-9wrFJCGLJC zu@F!oe}LKtAuE&7P(qU8Mf1lF#c|!6*(Rf;c*=tqge}`eWL!yx-+!}8H*8(W)0uSy zOIGeI8E+}SdC~0n2mz-7Gs%HBedUSf_&_Pf6hkJ0&?zU9dz?@zhkh666UqD*aE-D< zmy6G47T#@hA(?SQIcsBcqcVXMI44s9T$&&vGv|l-1gu+m9{z!Jk|o3LGZd29r>Jt5rAB!K z2Kt+!l3qv|#I16P4z7Gh7#y$#tEp_w2uD2jG0j13SI`nsoQ)+jQ_FA%as}`O4qRqp_a@dEv)*DBC;>Gy*a}%>uep3 zs8qx`_sUeIDiXF;XE753I9i1Rl$jMNB_Y>!k;^-)O$Kda%WfoG;K{?~f+vy>kL?c_ zhfB!(5bw%OpM8(U=YU#J(cMTeZ-%vQ)02Al2u<316CdT>xH(qAZ*(5I31nSKkcQZi zXD}PGTeGw0O*vZ3`?98`CsaVQSto8X$5*eV4}rG3o$(pT#Cw1MS^^65F1At&SU29K zx=eW+X=MxxnFcoj6sEEh=I*UX#g`^A(;PAu{}(-PcBvS5fa zY4*sjR2fHuM15nHqaIMthN2V?qj(IA*&y<`I*C zV?8^RaDSrb8R4V=l2o{3g$W`xbgRdgju+U6P;d*=^|ji^G}hEww$rSRI7gZ2PX0#f zFT3V$?V}Q9?4U^fET$}0>6CO0-X(IZxS*EYEX>NjkY0Av^NsDYqKQ~Fu~=;`Jd?wA zLgcE|dbBmiQ)LI!Q}#+H%_dp68H{oE>YLhkt*#*a)X@%r-VIoaxg_l!1rpi-Z?Ff&K;#D3dz_457s3yeBD(~unnC9rq8o+2{~CfHfTpcyhvxxhq0b-ezR7~2B+P{prM zs1Xtk;^@&g*B0LEWh2MU5e2p7ur>-k^6x-L@UMVaPr>L+ZCBxhdT*QvlPG$c3rI?) zUIi2vu47`rctPgyiiYAWk)*RO$y^(MH}s(xYAe4>X#l#o0BSq`p6qu4N*n*vt1_KD zNck}I;^M#GEckZTo#H7vxycWTT5w0Imtm)1r`+OC&S9FRq3aX^3g<;|oYD;E1w4s` zn3IaQpNZs3#mo(lp5PgL5Z1B8yo+m1;#O!DSDz>V_MIn+rt%2qe?(Omm)=1i5za$v zOc9ICE!4Z7aZ-~jk)aVnc9?o zB`s6{^;y*y3>#$U=xlA+O3Sq+dV+<2I)!j*mMg$EBbKR!4aV{EPa)-VSvIguA!ub4 z6LTFP5o!!Rnu;tRI1c6_Hh@aH?f0xU}#ashCQIp9|_ z{^tN#PQJjo6aK@TfL%VJPb7iou(-{O|gm z!1a6t)55aeKgCf}l(uWkBg{fp*|LF!o9zkLz^=AiGIl^JZBNvX70O~-LpZeg!4*wf z((^TWMYB8z%wkXH)XvnwsGbFac8aG{f_Zvsr))vJ5zstcuU?>nRWtJO(`V z!FJS?z;!uZspy^#hL)|tWRb6$mlHhzy%!;Ty2;tcYBv&68&$@%1E+g1Q~rI?QaI_Z zTJT|7#eBPsbBb%i_5}qP!T&*keGaU3PDcM)bu+YU_nWZR4d!wt;QPhz-%G$#&aaJ` zz#X}Q6Aw?~E^)hlQjZ365RigLv^l94sKDv4_tUCYJ3C~({FVsxQ`~Nd&*DyiR|hT? z+6|`WHIL9m)$CP5RZHGcNp4N_cC;$c!A-9x`Nt*y)b$SftF{HYz?zeui2ZF+zyKFw zZD!KDyby0c%E!D=_RvjI1f3fh%3j_REs%cj%Up*JgO@e~Zx4DeIJNPsB%?PeW{*hE z)%fbgI0VfstS$+DMJy791Y{zhuoGMzm$GIU$2Ta{LkPmXW8wrWZh{Z8=GhMg-GwZ9 zFxbQ#z5a>T!mY1Hq$VmDeY3=B9V14@?I@}q-{*t}noqBeS|NZ?zX4vt#QoMVQe;s3 z$XnXC=Ia6VEn-Aj+Jct~)Hl+1WXKVLT0^I{0h%&=g;iYbc9Av^Dw!VuY9cvAz$=^M zx7C@8LRUIs<)@i$1No+d69%AU9)iA-ioIWCoMlfzW+~$1hi^y2Ngk09cf-qjD~a<% zMP~4(osW{%A_r!ZRP_d}JFgHI$*Eo)=2Sc4ajZ6vZ$B@Ji}OP{RVw9$wcAy1-`J9E zbqXvP>nO1E3)`t&RUic*j_hf!w&n!a;eG_tez5@I_@)yLc_Zn;d(?h&)B>QddMbOn zi?O^4(BDtweelE-0!a<%ZhM9lyuH#2W)Br0zETumcV*!0)9&{tpg%By0BBbyzL2|m z!cX!xo@^feJwUrVI$*CsQa2Bc@*wVkAlk*3ulK;;ynf$6SLgr$MXOO|V#nDqXCn6e0yyyV+<6i$Lc#fa0q;Pg-==L`7OUSh`HO!5LuK0Dm zkrmIr$jxsY*ci51&yEK-$Xcq3d=~0k#os5^afmx3-|r=ZhjFWi5p4XO-guCvw(Q$` zZY(?VoIl&M^FaU+k5n}eQ7RbyU7iTHyq@!@^3D51xR2M|ssrJKuciB5x3aQ9cTBgx zaXGt_Z9Nh_(I|Z5kl+($&d!r`eCn+}fuHy$9q9higPOFBr8!#-6;40gYhw&}<`T63 zOol}a8spPAFkSUO=+oi)ZI_TN(=FhSzQG^0ZAT{Q`Qxhhb=1t`qwX$$wesr~)S&MM zcWdPG2=rs}etq zWN$|T3AqP9$LM+g$^~0I+GA9`GRNTUwaoLZMf68cjMeCkw>{g1n+4t(adWZQ20p)|T4Sqluh5ipR+<8mF z#;0=IuqzUS=LxVJ`Gj2wy8DTfi_qImk-k>zi-6 zr+v|AVRYwnkt!?qQavUw#vkZpZFK&LsqpukEBWWMpDpBIv9@EWF-lXu&0MYeVtq4j z{zicf4`86UY|T3%GmV47Ud1{7298MyYqkNc?x~#m2RdnHYHlu@>FC~IhMUD)cqT=5 zhT5WEl5@qLo0RcxOaBPT z+}c!j1gSTh)NPhUUV{6m(FySC%g^tO+-IP_D=KSwY2gE02Sz~ zs*Yl@zpV->BbK;d{swDQKx9!X!=!_#gW$T|Y}I&EW0e`W*x91FBdmu2KizR-#aJLW zf+D4-|Gq(s!fZohUNEbB&2f@p%pFi2WP+7x=QCt$ z1YreD3&lBV2GF@nJ?upLfVguzz*ocb?}@4oifFV1(b0xX)0p6P+!);K3M->nbf%@q zVnwKJIODp?Y$2_1zYxI^-9Rj)bW>*s|00_iw5@8T%*8*$VKO=7Rc)TBrWdW|w6XQ0 z%UTc4hd)7Bve*NrsvFf#$CXa^duue5wZ6^06bEF?)K=%DTInR0K+JA%fRn%W$@dD| z^kaF8?jp-Y1k*4ZAoIE#lhO(;P-$_;jW#$K%%YDpbE9pkoF%~`v}B}-gk7nW%;*@M zx+$o%)G`eli_aH_YXV}4V4;epvP^+mLNO0J$c6R3M&|upGwD}`8)S#4oDuU}N-0-T zE-u$wD-CXLBi+@{I?4z_fWhtEL3!c|s$*Eo0&rL+wqN)euwU_#8q+uTVNj2pj9PQ+ zcBw*{{3T>1d4vVxWhSM{v*T|!X(%U~HK-gqb!?W>a;2+(3&W>c-uUK`zj%7j*qG}!7_SvdPD&#>*MWtIMzqZs)VAb}j?FwB)I<$yC~mui*y zk8vgrRbYSFs05pbG=SUvhy(g^rbb znRUVeE0;Ldv0?#w=osX>%%6dj(*!wPLyxwFtD?jPJvtP{M?}^GxN@+A4JRH7>p% z2=nktr|atM@0D&(+E+4!v&*Bavzmvrs)zioR+!$S?Ea5na^Xj}!)|2V5RL>n0!~fj zMdVL;????|)b1A5>Ce~X@nJ2M^>N@;-P8qGyFGkp975z40o8Q|8kR&x+{7=VDV26c9W5Ld+0T3oErV>rZ~0Mh`nb~ zDWk~ZziIYOV`6rr-&7`Vwz2yA-=C}xWgMLVPs^wnWtV4bQYY63dU#G1gmUaWZpZW(~_U#_&A zbbqNN)h?+@y1#N338{R&J*tbTi|H>qrVRcNGyUc%6Hz-kbgTF^2WGFdC{+V82=BqI z&gCC{Z|7vq!)8cU&*MZu`|5gAysPGX`hvRjeSFbp@CeFdolyJ0F!RRnb)WZ_bDB5>W*$H=O;;!qr;|NUk084V(Y)k~z zq%vIt*GVMvTbW{1;yI}c+f|Pln4;@vWNfD6(?#bpg?3rpP!@_gNiyqfdJmANp&xg)C&A_hHX8*zY>u`{(-a zNh{V*9s_T{Df=?cU96s3p6rSf#4gw-=M>sOn1@}rEu2jObYby!&2G_YjB<9-^ym5yY;e87SeKYWm{0elvcq`xyfqy-q)2c;G_X@$AJ~U!) z_p^2gC?oGh!0TnFECS^_{QCayT{(uREjZH~HW1J^SAzcD|8+{7Nr907UeMl)OG)1x zZg@SDhbiEMkZA~n=7|Wsv0>)@LV|(>NONZ-``D4872IlAO49s-h6I(U3+Xf z%^VbePQQ=jkmd(lhNfHt_I%;R+gP0{OLJHR?r)Vu~V@+F_ z*(9A3&`WvEZ>O%04CeW+k5uLAKM3J>`tg&GRsVI$q;J4>4@jYI-VBXoF}6=kc)eb0 ze*rqxL|;ZviR&$LQf`i7Bp(}j|90d&wY zoEcQX%PGMz0DD?MwD>aK#8J(yT9L=*F1c_rxyf5@Unq?4xYX6=P4~WB0VhM1KR*tu z`=AuAw{Utv{~`k*jh8luywGD^YUQ5kI-#fK8RMhUtIce=BkRw@1Pt$4(ZxRwIzUv; zOc6nk{_RRc*elol-4>DI*9ei~NB!uxoUZ27H_a3^SkHO)QP#rS$i#PlOOLRSs|y`qYtjzm;|BN{+QOI8@nbyj z!9yusPwF89$5%@B(&h!VMmHY-^93IWu)4iTg+k7AU&UX;2`BHbJ1uTTBkPW*tl>bD zA^Ds;GzAz_9M;SHP1Byb*jTX}?0&}m%KFm$t~R!DqCtwFGj+Tu@+500a5CBmN!qZP z?VOaONofL9U92u{FRnHFZaq&g*-Tk2S6!a2cIUMr7Yb}IUErU?GECXV40%}v?rp{K z+YqqQV?>1HkNpmrGpC4!xq%^fTVd7dl7s*c0@0tAAvxIVi#3I?Hug4{tL44mH?ca0 ze(>Pgb0=EEy9dwMC*)Id(5&B`kW7%3->V=A$+{gx+$abUz73>`{ zl8HTKPDxK6t0NGhHHH@Cxd?%5<++#ia0R60KdS?k?2V-DZe%-?z4t>FuRF<$pH$lu zVM6KRMu+w~3D{ArA)VjBi^Mm}hL@j2^0CX&U+*k&qwGLx&YjcTvArhvJpGASXsFo# z>gxvB6a2haFhfH8=1xm-kK{rJ$s3ydCnBjD2Dy_h1d-H$K1dY0$1d8J! zF?;KN56>E>d!QBPChe-TrkZ9YDN#U%BAmvAAhAQ*23A>gH$hztd;gX2SIz}g0p#&> z`)=ruAm&&zQI$NNg6bQaEL<+3z!QAvQ@a83tu1taf5EUU!}k>zy1ATE+WZqld!(*! zT;X2Cg*zo)(yZU@O`Cvss%-G`KIs)y)p)UilRnV4%d|U?XU4>Xuz@4*kFBM|iV|qE zCy<~1ur_&HsA!@N+$%ga7UE{b2q$*~Nntw22l4=?56lq`&q+UbG8S7@_4BdUn3Vz; z3(?>NZx_cf8KGE8^JS%I}WdEUy+&a{^#yd3YLs|(KU%-|u-mGGYh$D~7&eF`f@(oI+--z4%(`_r- zj0!iH-?UHm)UNFgo3VHNP*pRIf_}SbLj$mi0l=ZwGhRN|vEA5Vq zSuuTH^>(Sqb-qyhlvazBzfZ{i+AA;2RdFoQX>%dWV4lw*vzoTaLt#J!%n}7~E6nG% znG*$4MGCi*h-$YVAM2J!x*JP_cvxQ}TO#JZDMBU!i{62Au#BtD8oYjgv| z+8mnS)gQ%x5pj8qT9R&5qn`t?FhWPW<*?Z>jvK#6F*<6G9h)m!FOzgOo{8hiq*vJ|8TNS&%KTt3 zH^H_ksTSt@%o<_r9vAGpq|ak?GEM>OLl5k`Z&%TH3@im(`DWR2m3>eJrWM1fR6(ubXxV(rExkpFJQ3? zyD59TVRsny7N(!MKOSq~F)jp!(AH8&hFQyiB1l4w#gOeIP%AXDeeTyF^_X+jMTeVy zpsV|kk#>ET-&q(Sm+KTzGk%Mx^2AweY|&^U*pb##8i&C9^_|@EKZDo=6+PYDXnfdC4L(L%tjL0R| zb6gYNB~>4ISbsNGQ%JsdDz8q?vmL!E&y8RS8=*%rIl4}VCM*qro=y}l8f^|j`sHpo zF?779PDRQ*QFISa`aZ}ar-S$+Ht_eSf89ikvAKY+nF+_Q@)t!b8`=(R=vro+V&CvU z`y+JFG9kkT0{m0Z-o>ls>u|1&oL(rXOj6*NeJA6x(i$@47J-MpiLkgDnT=?C>s8!V z(ijG?QO@DoHTDW%B#?0wf2&SKj=geyegPMI6(Qp1Q@WqeM5#YSk!kL@H9kenW_zRF zg@<#@f1G-l3a3-8NDD`ue)@L^Jm~!6E=@$tU7sFFlCqHr7H+XEuay1T6p%}2JfC8| zy8F%YPwp{S0$$t+-)FvXM*M-&f|q*gbDo=I>g4o+3^x{V4E^Xv#zQlOUgRO1E(a9! zJy{YfRg#7Tl624{c@rd&Q~U|mV|DMvYbX>Svk)Wg8L`c}#Hv}3ka?D|h7$AcHt{5k z!>gEi`j=RCEWxDryG`AH z9{68nLb0w6V>#*-&+<8q)j0dNae45$qR=14C6jYUC6-cAV^)i;KI-5PkbR4}zJkiI zq4@nWu$BGup@6@@Et=Y+)U$smm8E2wq;(9+kIEsDsShhK1JN)mQ9v8YG?%E9s#Gb) zpcXm->ia~Z8RarM7LLSpcqN!pm*tH%l?*B!npWj5mR)76rRxm);SJ1ZCy(tCd__5F z=Ts_IrBM)5MsbqH!0yI0$I%MPlq0s~vQ1;k8AWZHE~%E#)e-0MrWKo*2La2=pwOCH zGEFi%AfdNvJf-wg?^cGuG`9B$u^z~mR7drIp1M_Rv$dc3`}yojdhT=f#_4%|Qsm`6 zBiS8ECDEG7?DNZr5m$||tKbvmO5%eJT{;#8`p8}2a~lO69shX`Gw+tTa7&Z-@#EWQB zA;mntW(%7*a==23PagLT};k#`a0l1@YajB~Vi zG1UlQc~eH?KJcbe>64fgUN6B#?!_uV)kgW;2-fwygV}PRCvzgyTp9#94adOW9Q6{1Hi23Rnvs+={Q($a$3Q~`nUy(eP%8!}m{IS|v5=wX z_}GH<=(I}UQrP5r{rNg5dD=E=wu=kp@1W~nFIdpWoxpO&KbqMv1ziy%pIyW9Tg6bNcnNH`Dr7AWnh9F& zq}sNgcI@rQV2T^n)Ru*QUwG^qIu}Q9g*`B&0CV%0p|?=^Kmc7rYgF$zp4xjspE!kr zi2yC$%z-iX(ba{WR--r|+v6tlu42lb7J7uAFn$4G(lc|-XY%s0!DGq(C`*a?ls$9mL3)&bjbHDz7}3s``@T_V zx%fHY`YqA{5PnJ8{e?=o-ZQc?QWrC)r{EOSdQ4C@aL9kcElmq>z8)~no#2qp#u_oW zmrT$a2pvl#lS}uu_{kQ5;SPT`92fDTT%MxA2ELkVw`n7ih9#=IC=mkBYXgw0$u^A=;b?lDeA*m$MNFVK6nqS z|MoCK@auDg?o-xyT;+lWGM1ssbW5cDJr^Nr-drh-pJ#~;(co0*R#f8W9jzWJl(X68 z{A*pN6(+;rmri4Jb&=I6=Xuc;O3B5U>v@O-nEt*%s(DznB7B$MQc7vgS1{2dF;*_1 zgrZ9%@R1zw29#CIj-9v*ygo+S7(smsR-M1aonpHW_C~-qH?=8>e+=tPZC9|-8ftq& zvDMdcCfl9#Z2m)jYy7nlVDyZK3s*644$BUh8at(r;s?XT{iP;Lb;8RjIx;2#?SY%s ztKz)CsVgpLWIW5n@BAz6MuDXx9oF-ihl)RgLAw=jsH3@Uk2#uIctR6+lwq&Iz4{7! z+ENMzW$T=s+onUm_MqLzgDPr26bCxdM+lvZ5>n2!U?Bn z6BH4RIrAl^nhTY|5D0f= zk)2T@2=`9j4REM?mgdGq>!6cyM;4uND{cy4YVzgrn=$MR|L$EeKv(od?s29W{$kj5 zud36untg@IbH)*Yklhm9)ssO9$Z&{Y9|V(7%hEvdELR&GeDC>Z%TUY)^zR7O$#ZHm zoLCt^`#Xo<3j&EdxPVidl>W(4eK5tPakfp^p+-Lm+d1T-XM226se@h3YUCBkX~@$|aGHB9v&+YI+BfE!kNkKtVQP(w|NdQq-D~vtvgZ^Y z+5XsvCZd5aJF9^&|K08lKcgXNYArJTY;?DnkAH!zBSkeV`&WxNL^UlZXy`it?`T2K zoT^LC1fuzb!AzWim~;pxE3h8U3vT~`{$mGnXlx28RL2bcMDFy9yNgaXcMbg1oc zk9+*YJ3ZVxFA|zic8+8pXB6!OrOS#zpC*Kris8GXjax8nOZb1d+*hEBkXZ*f` z-!PKiUu%H|QolpGWqGOtnR#aoWE0OyGcT6R?K!W+X4b?MlnyX_k^=qI&7sDsy#A-g zxg!c{x(bToi#HRun_*hBV>f-HgUI-O5vIJLiw>OVg2S6rN6sPum*mz61;IM3U|o?( za5tt2fezzB%E<&@^da6qrzWD+&h|o?ujIW4M`hZ ze=$T;#)ubF7SmA5L!0_ceDKN$-^v?Ef6M8tCo{NpJa4$2e8T2Em!yt*Yh9&*bfi|e zRNBs)a11Ps?=wvr0R(8p=U6ZWj8SHUXqXduJaOW36#1#e^mo@l2$~Dlx&tqKu`>rR zx?@e7L#~@6h~I}(owB}q;BwuSdcqU$n(|G`zd_aPrnaT;>?Xf)w%pO^7xQhFAUw;c zPg^ercWO+XxSp$Q=QZD`pMSej^Y%*Xf1k~RXTE2JsRFUV_xL58g zjA&oEgPax}iBZ3!+$fA3bWS)Ty-Rn`-J1A~-XeZv9kjf8I!5?>p9U?P|F!FW**SdTUS%M^x0d9M8YxgfPAyX3eItN9O+zGzK7^`+41LH67%SUGq= zR(7pVA!Bc}lnmziX z{XY=nj%QptCxiK*^LPEV&1KmuHAvC^lC-*B3 zSAWa@mAOL}b`-^9^w$Rj7-64al|JM{8IpQ&Dm&K-I3OG8JK0n{=+M=3=REt87L*!R zc7MR+)*y9*eXj1(1~RcflR+Ls0`E+RG}kI1z4kjj?cg-s2cn}dy3t{O!2J816_g(= z4{gO0O~6~BBLNN+*d))4H#M)TuShu;4njM01f?``s?(n2eSDmFd^7%gxgukEhu23M z`n~7`@txS0*}NjW_}LbJi&L6(89Qf$0!g7S;D#!m1Sw|7mxkEC@QU2R0ELrrG`Xni zwj!EMlGK(j`$pRI$|rEh99|Nz+ie1|GylHfdxf7{%5$`Lw2=AoB6gm@weKHB{EZ8U zm-B-P<%x>;RBjLJk$ZUi67@vam_uC3K+X47M%wQaXSXZL95PU@?TWZ`2ce6Fs^*Kn zVswaYsrqAB-#41#cJ22RpeRi2PQu}V%$Eit?S>-9ji@8#j-b(^D;4g>atPsMmQJs1 zO4q_PsURUx;KzG)z}drMT=+CQK%-?Ga7|$?2k(h)UDRNF;B-S!v`wcnyy)!HJI0|b z^!8DU|4y@1aQx(%H-~S4g7u|k5g(N=N2Y@@!8kisG=M6v*F3KmFn8=w>{k^~TzZ38 zx?Ra1#9csTUQAJu(~)7Z?HtsQbCzL|RgL&DDqDA6VwF*hoh|Arb#dM}o?E8|5}0ZP z`Lm;RKOpGbT>Qak`{^ZqLw#9+m;W`Z5Ar8>=-8PDJ!MdGfge{P8lyDJkN%0h3a!`- z7t*&V1*4_KBi&UoK=1^cvr6_)(2^?K)Ax0L5iT>$ELS|5+L3-#D8Zv+$A=ZTtt7p& z#psz_#ICyvd%<5ZhEqXk$s7VFaK6mRl&uuKIeD2Khqb)s7o&^=^2-j7f5<_ko|sM- zw$;KX;29UrGpTvp&fN{&zvn!NviZc9U!rhBXj;&vHxRqCfW!ecWbV=sXDx>q76+n$ z`>aI|YZnKcrJac2R#<1u;VYBrestW7Lj8}pyQ zZrw~&?DyiFZ*t)WdGI@7p4k`ip4oxi7X-F?V%i@GFPlE8`Mr0?N~IZlvFA4=7DNT! zQ#413ix6MTfc7l=fCs;{<(sO;c>BUCAKr)i?4;d}Q;BWSmfI~5OLr*BjpQlwb)o%j z*C?KVjNoDH+{K&YD>Cp);nuhESvAi?P*J#qIgxnrq#M8PQb)7sYM( zgVcVaXzXSuf_oWSaqOTiE^E5Mz15#4f>HguoRHlR;2G(%VPp5PDYhqJ_i!bPOf)+r z^E+m*-=0 ziK(5LN#kN1fjOIMqHrAfDsirIcgqKr@xAEs9@QpGJ)z z(wD;7?9fp?mlfr8=P;*;vnx?{c`*|P?Q*kX@KgK%50)5jc;izQr?tA;Kwj4#X+drh zfc?g-_D*Q=BGuKD0tHa8DtYiCk0RUcZt1|dGS#|RpCPy`l8>>1i=mfVqz z*59}P|8oaF=S_5=uff5(T;w{A6n^y;!R@i@8ILV@Gxr5z#@hE^lPCE5 zuQlgWOs&b{8}c^XTA|c5aXjnBK6={KUh;jsN#$K#{11K^G4oSB8H1~)SWos(G}i7c zeEMAkM^w%5>RGyyhk4EMPl*3^ia#nvwQ|tGz+fm+{dwX3@nZh>u(1I|pQNQ^L390` z$wL#21SICpd}UFzeo=BLs02CxzPLdOe{h}WwDf-nN3;D&s30qA9qgtm?cdGX#1GQM z)l1X?3=d1|%k4ViRm~diEmv-~?w42XTU&1GNgp%s-|ol31Tzi(*~C}hpR$~1{vN-? zc7IZ!XAeAi)5ri$3&a2)R=%J$=u_Wm*8A?ZJ5(U=p#D`UB=#rwUNKx^YPv1!YS$mb z(ont1v2kRq$I;!T)=63Q%85rP)W5B|8rZCISV1yOnvPAweq4HVyV7_3KMrU_=t;h) zcCkm6dV2EA#Hq5Ga>#-;aO512!p)*~8}EmMl!5 zd9vyik2>5`4Pse#{d4X2D>l6eoT37Kp4b`3D$)zd?&+o0KH1;Te5en%tW3VW6MDaQ zGVg^I9s00V@Ml&F?j9xtI$WkF^z9C@MO=&Fyt|Qp|I}g_z{kt@Y4PZQ2%B$ghb>>d zIyV>ThIbY6n5Yb^{}GCO^O z4QX=|{m<6+{M_kl-9UI;>_Xjn20J{;+jcgm(?=$)6Qgni#HS-XB$pNTJT#>+nZT>@ncInV`(O z_Y20_IEFO9hOhY5vaINtHZU;U!&ef8(H&*t$gw!tY*VhrxPE1N0||y99Bz=#p6y`n zaj!3X?q_TrTM3jxP`(pn#E84uLOc<(QEZ5anP@oom*VrnI*TtWcu^s+QLW(%4^t96 zgz{GxF<(U|xF%f5q)nI>D4W_YDrNCSAhVtFn)pt2%cv!8rz&;U+@ zGeNmfXy|=z(9jptO?-$(nCa$`1)|`cU4a#1Gg~g|<+0LO#Fts5k;-yV)i?Yw&!HO& zh?{6zi7JBKJ*>0nG{7;nR0?l0?WWz03N-Ek@+^@g777aP>Z-0t$&sdd4NZ7c;z`Hy zjD|B8lR+$L59Pr|O%``#-)6pmS#LBeZA;V~I`9QwajG6Gu$h%SxqdS?`w~%Jjyy%@7Gg}#;*S># zh~-aMu_Y_k@Y;sB2Sz}u?M5Go{~06}^3%PeRm47!|INT!yq@Yk(UdKUvwWCHA{?;W zxh7M#)O0UXtmaM|xmQCNOJd_gG9RDIYrZngtM`cHBD{5MsCGt=V;eETwjFNMnx|DK zfug;G&$57_1-FoI!O9@>SRC;@Q_jx;c%!dZxm4fDn_hO_Qch)$_y4wv>=QAx3J8w? zY3EhMWYgx4=8I68gBdon5=^L}E4Hi=bIns{$X&>!2A5=)yUfFts`sLha)mva<Zay3ZA7Da$L=Ab-Gv3q?T zH@T;+8h<8LHm?>f!@Z7z&XYJNfGKQdenOaR4*K{`XpY>d2~$kuFiT= zg({=E#5iDK3!ezI3!nHA&BkB3pLJ%slNvYBXBdk@N;DTBgr`jh60C6N-^ZbSa&+b2 zQ)VrG7hhFCoMv7CIg+BCM=R zr>@!67!s)yR>YSxE5Q}tdHBVi&OltO6c$n^Gt7-{@ES=;q?Do=yX46S*6G8VB<@&O z?tR|76LqHvhVslTl^Neso6x!dg^;4*T*(0qk6I2KwosKe6CNO-h9FThctnC6Ion`J z^TNl!MuKI6&DzEQAY%j?Yvx|Gc?#}bL858|**&8M^Dh%VUDI4Q(L8{7NaoMy3M4MX z4+fv;;g<6^j*s@~mfK4neo4WvPPHN7G(s6)4e|{-E)EKEZaPMq;%A2T%CrknC2TAV)USsowU&kLU z+Z%k`rw$+SO8*2YiC9;m82hkes}V4)wl`a<>L^N!B_HWT-GKdM5?zBgby^uiFhwzV z7@2eN$Xk<2H)@qPZmC$bzNd|CLX<wyHh9VjxDo{4#4gq!vf7{+XVs&+r& zu^;u(s~-aNK_$7;xseFt(n=V79^O4Mjcc zj1U?9CdJbd`5hYCRKBY>-f6X>oib)u5+fxEDfIZ8TRs}llUuFtZu0e>-apvRrp&=N zh2ws~4J`g$PUZbYYkq({&hZIbt+?*4qWrVg1tbmNew}<0M+C1l%dJqd6(Nq~%GC0_ zqWL7G2qSURzx2Q<6{K3JMMjw?h)}}v%~4Rb^p^v9cifm3ZXG6n$i82rM2BTCjZKbC zW{po;a%>c}sj~5WpVX8JEbN|}EPrtluR-9OMKtb&FyI{x$DT`f4Gq7bwGAEBcTXbd za{CJyIT4X*ZoyfGjz*6;hjqr%^5hP1hac`(M<3>CNY$o%TlmKSB7N;_k1UWf$fHw- z^~Tn-b!-?4xbE8yZ&#+Zc9{|sX%~>elo)e=gi96_g1nb3FHrvNo%Jn7>8Oj{vs*Sb z_P6`q{rNL`1rg=v8(vGidC)gP3Sm$T1l=xB&xBV@^F7Qu2m+@!9}GNoA%g=AYMy5d5m1lRM7pMNLWaG;3Ew6GKGW+8ivGOtvFtWX!uwIaJ!#AzB5$36B5 zo6{tsyI2&ya-m+iBkrWaq5|W2QMe1Kd_H4YU8YresK&gRP_toY*lRhiT`hLW77QC; zH}WH}TZH$FWb=fSd-ka;)(-*p)th^I0!vhpU#cg#?bBZs_~q>bb%MTtq>OiJUkd4h zY?;R#U0r-Jij42}N_NA+qA=`G|BB)J1MeP6Pm!w^RNsz%^2f>*(-#{id1=Z8k)U7v znx@oQIHnlSs|BJv)rWXqCc3+1ZiNf5aM^&*a<_KjO~LmKBIkdtchDm3;xvbAd+i z>FC6-&_q||x&1;8b&>_VSD^Fg9K(d}ungdB%RuqX=&1C5Pym^WIx&R(T2guGar{Tcaj)6nzO9ARpY{-wO37a(hN z=EsgjcNn_VE+ps&5d! zqlY_3l~hp8HJsed-;xudlM^7I8g$!-sR-SfLjT(f@*jgH_=34=I{X~YLy@dvr;D7t zsfe%Q!wpDD3ty99G&>;cOWN~K(c-TB zaf2htf(*R0(;Dr0Ey6Ot3>=PE$Pb|*>fq|iUqSZpALMIcp*ltcArn{mP88>3VQD|Y z(i`GRa7mS!M18nOh3$nRu7<-&2QRC_MmpleawRLfBU-&69ba(B?g-n#?fl4RiZ9wy z?DoI4r;EDK83bFj1zZ8Up{ELdC>OY=b{~XW1E1ng_ue2d;!;@KhBKXJw$qJf?bm8s zaQ>eekPG@$v(x$)(DSl((PKh2=WX0 zW!=pMj!G@%<(AmbwSemd^7@8$%VM*yEz{XsmwBgLig+55x6T0d!KX%*e;VP^b_T|U zCu}B8(JQkSfBr6&taF-!*+`$=@ZDXs%@mF`Iw~QhC>-fq5uLdYbb+H|>WXkbrOq=2 z!R&~HlC~+>3u6M2OHlCda%PEHSd`cBx@80}!EA!~zQjFgG5ff7w*pNBrI&94O+=-L zml?<00dKml^^kyDw4eXsApMI&%wg_EvOB-9qFKcbQP|~>1_pK?`H^8ePNqH!FXt9b zPhn%92iqZJW?uT}bW8@4jHX@yb?oj@?+>!!POQaAmT#S7@7c#cUcz4CJ1& zQlT|4BT)#pdHtBy4*RkVLdcBCZtNWGm&imtk`Nsf-KYSO z*i>R!1-N^#b<+C%`N;^z^Dp}F7~Q@tcuWkNf<9W+Q<@A}#X>dyK!xK_>IOlGw;!wL zBh+z%0d((CG5xo>#XW^4)Rr}KGiUN%@!KUPHifAk-?~OQKnP4l1~;tS27>PiO!)@o z4rhVIpYT9eJXE-(jev$)-8hzdC6R^^$?sCNF9g90F%`@nIJKqfUkD(P>5%jbd6QJF zDz*rhK0*_ZF-5>^48}XZrAQ zqL1+K6=>Fm3OW-dhtnw!CKEh~h8ssgV3HU;ilceAowYG@D2Lj*xxcy*DL>KI4gjpJ zwdHVnJ>t#%lZYBc$6BLz2;ISbrCjA^I4dR`(2VD+o7sbJl>Rt@KD13+&~H0|jJqr? z{U*Shz+7Omqk@huLADDr=yn2xU^w)vH4;j=AD?NIiFH;pS*d1@iA|(x0#5y#NSiE8 zRQ6%eU(dB{D!m^X?W_;@=$3xsHK}paI`r9o+Gl>zURoli+hoa(&`_Bk7|CM`VRRY0 zKkdyd7{=!_IA!#PhIyG3E074Y1SCG=zIOra&g-gNpO)uD#W|9S!o7)I%C74{Sy{m;+-YTIx9qRLv(Lbh0)2IjY&p$cdSe=oKy*~T zYl(X|P!0RsDL#Dy+0(qbdr<|aP5@A6f@fP;?_BSWbp6-B00{7ag~#Qcr}LxTY)m`3 zhoHV8(5JXJ0Q+y5M<~)6GPO({LXB+nR~a_Cu*OD(qfSuXoX3LDuVzpI3{$H`$woe5 z)^yw@PAZWG1PK7K+WU@CU7#xlz7kQypzX0WlmN{|ujA&pFhna#dD&2Dvn&^tI_ zNU~Ew9X9D<<1!mwJPWT_G>4QPs29?|ASKO^XpXdIWt-b)nGs-^W-HC`SaQ%EW^mVC zkob}k-nxEL*Z91$C&#rnXFZ;5OdFQJ$g#kU!8^Y_!vQ4o@%bolMsE)XlKb`3fSO~H z(xv!qB7gpbVYF-0x<}h>4#i;fXbp@ArL{teT&7ghMIGQ@$d)K1q**lNjgkMeSIyB8 ziZJla6~81qWbv$SZt;i$OGZrEW|$1$k)izgX2$9lOkm6Jrm)Ni#c#&_ySb(ppxDv$ zy*)t8Obg&S5oaRK@qT%O*Hq1PXwv4jc%OQNk1l>{ovwXjVp|!6EN_!JkqUJ6ik5Vx zTW&f3Kwwaa#|eKi{oAimh>6NZ!Gz%zN^jY_j9a^4U#vLl(+E7W5tQB&O-EuK!yixQ z$uj5mqaNxHLR1-{m{!icIh7d_W>Pey75Bcdzwu%T+#=2C%DiYY9?yMDjXtYb)%s6R z5bBb4i>S$56wffdLH+j;-{LQ>K|2c4RWaO5@ZEQCK7q2(==iVZlk0^y$j?mt%8vWd1a2$h@-S23;%57B3f6t!v-@ zYxymZO9@pi>uXhM=xk`~=v*i_EfXyhMNoh4WWLw0*>GBXot*Sxv)}Ig+m-(O42#Mq zCl*PcnC*g>dZt_L9GuAN0mK9{9<`xVA9}K8T<=16DoI5C@hJhRE3ikJHV#VT=+nwK z`7k=G#LXmRn6AO9xZ0{F`&ZJ{kI z0#944C{O4m=xe}P>b2r2f#bY(41yMYBCJP8?^WDPw!-!hF3&UBhoB{6N}Fs^+u~U2 zEfw^Y)5}{@p!adj?RaPYEJOO-Ft1BVlACB&!>%do9L=7KEAG?Rw{qv&zyF|M z=kGMDCVMY#*TySL;nhP4vtmZ^l|1^6MV6QeI11ke2#YRg05fii#paTg^_&Dql0WSy+Na}9P1LQu^?d)1nwzOkRlJtO*Km{FC&~TO z*mvqBd|j8>IVrpAJNK06F;JR=A@jd{Vd8TKEfN8(H7X4BWdnQ5tJQvj3vVn)j}M`u zet#-KuI7! zuil4LX(?S9XQ=R@7wTe^z4JW&1+oyFxt|)2bzs1i-JbJDia0kfkhgOZ{$f26kp%f{ z`?FpW=qJZWiyzl==Q_QJ@(`K3awtMA^Put@IwyhUU%$Tn#p{5g5jWiYKHbW%#9?x=l0EaWy3 znQ)8{$b8Gs(PFaE65xdLVO{P*s}!tfVOfU)cGIZP2*8^sB%=$IB0YQpz(*GlGG^E2 z(k+mXc)cOFZAk(4h}z1#ffewxNDnt=-vXDUdJc3&L6X8ex+P_6Np|GD;kOCS(&`rR zex1JOR^Mn>Zs>E%OOe^tt5|x>j)`Cq{yz1+FjQsnPF&8ik_Kh~ zp=z@`lCUucRjJmS4GB&VB?n#M$yA&*kY(lZDE8*hx}$}XX68qoD3_Q(Us1SHNU#M5 z>l;yFAw@Wf&LXr7e_WNMFCE@255J!IMe=j9^xx z*DrIIruuE%FzK*gRS$p3SzNW*9W#EryczYk3|1*5+u)?6yrZ5;#K!zFP%4E~bNqmCHp6O=; z!nf1F!AKcZd0QJHv+xw(9I4nrz^+R6a{lbwVJXWG!$I>Ai~J_pAt+N{6PrF=|BvZA zm?^A_Q#eo%AB!57+`}2P-U4>CIN!F`{l94ki+eHS@HE$Dk1eKD-8pokFpu}&kO{-z zD5+N4AZFOFe?F%4>Yv1Vkq3OF(PmbX#s*~)1Xp?Z9TliXLQ{F%lG!~50pw_2`o5bK z$Lv%#5dHT^gI<&>Cp98=C}M#*mqUbgH_Ntrm*7nORWp3zXWrE!f>ih$*dSc*z`e2^ z&CP50m%t%k4Bq{d$EOg{z5S|xlgRxV(x~g>x(zW!o&K~;T^~4Tn>e@bu!i7nXy`bS z<6)4d!xHCE;ft7ywD4(j0DiHvOJ)%QAVr`mH^CIPmZx*ZsU^DZG04t;=_9S@A*8OL z?E^;PQzN{xfa^-c`b@HAIGcJ3lYPzhjJ9Pln|dbkjrG*5eJGFjj5F|YP96qzK{yb# zFn?w?8HPB1=CA2J8ljl2$qnRNUf<5%zZzg#kM#{XNYi7p44lIopa?mMt}#Mt$ALRT zbSbWYi=YB!CMd&nQ%yY~w<~bI`=5c5*)Jkj0)ze8{LMKqchBI< zo9st&-^^W&5vSk?&ViVpM~?0j`;iqhY`zIcNL z_d(Af!fnFe_yx%y4W|~L*2jb%*Ev~3B2+Z74f7dqz;TMd9!X()V_mR6@^61w&+Llx zS@DfFp|#I`b^+$|M+R4L!OX;63-Slz=hAKuix_jT-P{Yn5ct_=fAOYx_E~)2gZzQo zV{+30YV8|&<`0a${|f__G3rRM`Zj6)udx~z^7Ari>Nh9rpiPjzc%Uzq=`0m z{logtJ(WH{?ZqHOT`cHxFAGCWK%A;8F%K?n);)orsr+?9Q8i*OEfJ@V8et)|yv$vo zh=LFvE*#PME=b0$Y*6OnoT8;T^?Xnr+)2vWTGpE9af7)Tl(TIY#)&9Sax$pxHbZItkUsAgoiqtV}OU$TIZW zw{q2x9*Gf}+=#p|g>Pk0-b@*6W564zI?`S2=ego`s_T;~)7YP4l4oH1`IwYAqI^?` zHmJN>2&p$dcyyO>$(G${uSGnADl}v75)v`W>8DHjJIn7!hS=6iduXj$pKi9is;fiJX2Q7Sl*3&O}@6l8Ps=sls!L0u^WikyhICuUM&VA<11|RnLU> z@D1f01%xD)M9Aqal0)S9S!{xJYhVMt@T26w?#!mlzFHCw0rP$+d9;yYil0(`Dyv#M zCDYjYO~tN0hfBlYHk6+nAMt5`q-$f5SJBMb*Ia&|Me*K~Y$Hh6Thdq6*Vdf>&xSs* zqTgT^?d3=><@K_`ia?rLwqzs?mzbcKL~|d3WiUl2{{u@tDT?hh#DT(rG=;w}gQVg^ zAla%>yR3zXB8O!ga^9x5tu!W3C$^TljuYN?%){m&FD1H8a6z1;)3w0VBdZgBv4V@T zr)HrCQ>#Vs28msv$<>uOIx|+JxLpc>XCS0)>phmU_8$u;p5P$Gw@%J8VW>)M38r`a zC1#V9w_4^0rJ7A&b4*2ehn|3&*77NcU$?I^!%fek5~3g+c=D7233 zyO;9cR`UY(8pQN-bd{?-jMSs5J|9O%!&SrXL5d|4axMhDuDfQp3Fs!qwU&JVtXJ2k zp2wE3x@=U*30mNxNbwE=?q{Uz2=VRSUoqW`nQQfHTgtN>w&B0+Rdi+5Kr>-iSP^?7 zWATIo_(X9zh-N(+al7=^G@oviCY3ZQ+euXEUEM79PVYf8^PR)&)3f387rcAbnn9^o zQDCG)ef5{Mvt@%-3AWVYd87= zsr1nT%%}sJl?2x1e-=&wNunnSnbU=;X9tZ*%}S7Z{_&w?i_q3LA`1eqFfV7YSa~BB zbo}xgr{59ge=kaoz@4SMCPU!o6`hm^q0Ewe2V;rsmN1~|c)i!qrTGp*HGKWHxL>kz zrt`&gcMjUT%jD@RD97w$OMmh?mya#XlYOKrlWaSg(tuP*2n}IDUybhm>}Qh8?+< z!y(32EXZrLKK|$DE`w0NZYDD*{)K>}N9_*}q8q=-LZDiGxlIN`Yia2$r(V0Icggj4 zxl-a1Hl7fR6ekqDyeh|270mVG--PY>{Su~3$2U7hw24y?K=mU-uV&MhEphs2T(}Xf zW~5z*mQRW;63sT0aqx1H#BO7q1DF&luTu(+AVIIlA+&l7Hy*0WPzh_QD0kfQ5g25} zcew^^N9RQ|QiaaxAE#I~Iy$HHbdBK~czEhR7{jT4ICKQhchut$6fa1`45emeUQWAx z9bo4YIGVm%1+t;dedO{`R85;$#O{-P@~2;{;GBA6}vBk%rI=JbgoYfqzuler0Cg~=C0-$>`F-Y)Oiqhf`-D zTY08F&dKX|PIY+N8JICBB=yTg>3=}|;q*@=OpDQ)E`+7mu^gROME&8`e?J6IobR(c zT5QB42dw!psQ<1_3TB(uFdD0+hv1St^~-?LHS+Q&D$+F^=RDaKdQBqy&OWrCe{C34 zKU^P9)ITZ`$-n`sMKG{UQOSCiZ+)ZmK`KQNq1`zc*!|1A))sIw_e4qXYs6%HE_?S7 zB}k=+>!u;rudK`q8RIXy#M=I$nMIuctU?SX2_T^QFRc0J%q2;^m0bI|8fuj6)cnu7 zvP5g~fm*>rVT0P!fjjjl)Mx@)MZt~<$b+x;XJ^1oR%H2xk&XJ2_7J)@lB^!9oGe{P zdAl~B-x^wWQ*McxMTn1X9d@o}P|WO|k+!n3OQF{OxbS>PnOT~KsoI*JTgzkZQcLb} z84y3^&Wjxt@Eck;SjTw{J>=YN!^l)oz17u_SLDIdI;6}f4WBr_X$i$<+=<*SSJjr7 z;x8Hpsn_aNsaXj^iyq;z%lD~)JE%g;FFJ0#0k_C4B{(>0ypfN}c0*`Q6{^|XDq&-4 z9e|E~(k_Sw& z{o-MY8*2L|8Z*a<;#C*H*l@f>2nLAa^fRa}TU^Jgs zJeBiG&{$AZCg+bnd}l+Ln~AURivWQTi;4{j{k>7b-?(~j`Tl6DTt$v1GxZr8zyK+! zr!-#3Xf+Ghr-~qit^mNkKkB0&|2;b!goC@Vp)2#bkMEVbGRtCD_{1$V^5W!`TT_bZ z^EGeiIwZafKOSP}-$V}&f8)%M;Ww>(G^)PU>7@Udqxb&5faQVQxSq z5{DOzkJi#@Du~V_bNDYwq&aCQ4d6rh?2Q8B2PS|cc*!#jQPZPtI$C(seBx+_Ec4Zs z@l?OEa|P_7l=^x~WBZX$-ZOW4@ywm)-LFc4DGLnSjTP5^bUzH3xF;p2nS32DweEV{%`xJs8K*tam3$k}Kz}-oIAhG5 z!J!v9ZpEa7d3}asb z!aWGD3_TFNVo8r9>3e2fWa<76d(Ol{TS}w{WNyE3PJUJ`fAwY%;QT zMgZ=Fb+s@d13Ss3|5EwoSApFtn*_e1xR9qRB}YmRL;BDIA4p}$>U{jR3d$gZ=b*9Z zBF${R_fC?=xn;2v=Y^Qi^r;d0smO*&eS>O5SVF7!lp#3~Pcy7VUhHBD-@uA|0|YJg zL+?C}%O^bcJ|C|GLtegDzNA$KzztJnz`vhMhLYILm+s%?4+K|>k6#`1=qq1!_lhUM(RjN;yAv>8XztS#vlG3mdr zXWk-lY2gBu{(@HGgth2r7BR5`Zvg zl}KIsFM8eeKGL)b)t{j(-9&+YB8PUOrik%t_7{&cpJR;L{<>fiH(e(ivSWe_^?EG3{r)!_F8!5A+Gvf1HUwB6AgKJCqt2`PD4voXFFxtrSVp>bZULvnwD&R zTgOwBi`&?NR9iuLXC1xuUshXH#FU{GEz_G-`6^z}3J1TND-a=MZ~=5X*wc=w?h%c} zjuE;-eU5%{BM^Sx)nFKr+m#6XMX~OqGTvWHM)w7>sNZd&8csF)X5T&NM9*CdZjwv0 z^2SoLeJaGv$3?tSG${}_Z}>ecdt6 z>dvhK=ynTpBP=Q*ZNDLL9qwb2fyl+nZRfVE@Ob;)aHW1LrbU}-&QX!?qYZ6c2JP(n zTp`nT|ll9F^CJAwkFgXfGT!b!yEOV;t zz*vAorsJh?O1Hn%`vobd3GZdk$+a>hp6_b~b)T>7tBRe5FEk+c`U(5r z5`IgyJ%k7Z%DfS+^4G=BkF|elz7_NT$>r+0As_>cCN@US&Q(7UeHNA;1W#5ddMMr> zk~tgu$e?MHG#F5;R0x#TRmNYnb%Y#H7T6mD*v}HMuw2i57Rwi=&V1yvd4^iFiu0(? ziEMbbHg!&NrrXNBFG>`WKA$#sYAiEKYA^3mAGiN@JZ(D9e1GDrnehcZ`;qYoXC9Tv zwn_jei7oO0JKX?7-O78NE_SZb?XSgc(pP(QjNR$>j(1fG9~FuA zm?8G=_b|E`8Q(0g;*PC(c4#`T6U<7d-FZ_4-2&hI&xpELhMsQUozhXcQ?7UZhPN;Z zc-6@9pB{z=#p@~ft=7GXs|b$VrA`6?h;-!heEV7->-TrweRXfhn7^lE&pUNal)n{z z$ABL`ANcU#`(i#G3u{6Oc<3?Xpo)`QXMRodKvq@oWyer_CJ%T0xKWz5%MqIVM*vz} z;%ebwA>6`$Zo{$BHM3suEM;hqIjSbc}aO4T_L zB=ckq%g^Nk*OO#A>Q%40L*xKmrAHLA)3}{#95A8GKmrVWT7K z>#w;0tESpA@WoXOb7Yuw90fxFFl5GuH#T==CO`t46JnmdjtzqNaCpE646V7E;mGH- z;FLa~#IhNC0|G3H+I@ZW6wbpRbB5I7L}WF442y zEO^Qk7E|>}16cNlIeq`*rXaGu=KO#h!^({vOpVM!5{GPJ1b=($`4r$3RTzxplg9gD z&w_82PL6TY1pC z#r}vFyutB6xgpi8VnH1f-@ja|^IcNqEz%9V(BF#PgDv`eHLaezgm zo<*M!8Ft94mP}V$X|1>EI}6N-hQV@z-oMa>aE}jBvV^KCTJsgEyP>jFB-Jm&*^od7 z%7st|(UjW2F3c<0wpV$Kgj2KZtKO9DG=O)Zly3NzYv?WTJs%JvNRW1idN6tYB`Xb; zYA0uK9VXr)6#ebe+OC(T_27|+yV$mGRb@`!yFic|EI>{+^eV;EAsMylHdIr>q|3p2 zpC#|ys$ysd6G?~dhi{};dMDnP`8cv%o|en~4ShHbDrNudiiW99Cwe=FMLqNh3-&-> zr8`-qTtf^svz949F?6xU_0ws zGaY;O);j&y#ZTmf3jKS2p2$yUp(q!xZDVPMF2|r= zelDylvPQZoq`zK3u*e5k4Iqkp1v(E%;2h|*u~lp+CDwZ31c`-7+C z$c^==iO%7JMZ+6-3ig!1{EtM`)*p&Q8925kc@~Iq)hA~T<9)LY1=!KlG6(wFr3Re> zTdNM{6>nl|G`Jo^F!ty2gaiAuM6z)dbB?Rhe9~?h?5cId%ZISE(Ba2?k(Amb2V9Ej|qH0Sl1f%lQsui+iz@34RwzWA$1vpsVUr zC3-YnY?YVZAT7U68$)de?gzO7d$?i9x>-Y!BkSg{_5dGDy|w;xOtVyY6$ecJr$3Ry zBud`7dx z0DQ;<%-}#;De|Kv`CL82x!g#M8$5Ch_KOCFY);&`Eu@Spk8$4=>1I2oq~y?My368;}JbHu; zgguT+k^D03I8Jfe)lbZkK6tjwW;M?^fqyQ5wM(fm>a0SbT`4cp2MoW_4cFXkvP*K` zPQsi#D-X$+M|6>1qQIW19hT=Ge$%_xclR(oLd3m1BTJ>~#rSQQ_xOR`V0<8P%j%S4 ziFSm9oGh}lH~!W@8ipdDtiEg6`vPGD9G4Y%o}Hw%=srPzq36&}gA-!XrX09c;0sD9 z%mK~n%g7sMAV53S@WvLHL-EIZY&Z4g1g59IM@WtRIrWV$5SZ#=d2V^D=<7Mq+_O&z zyXX&m|M>ZwTvdbj=Iy6- zxJ-@#!66Ko&t!d;XZttz=McGaAhz#ww*|RfKgKKEKh5 zhwOAN5V&*jg#5t;7~TkfD4oP2d8HDup7OKnD!8BfjLs?zo@adXO{rc(nyUVeBww0} zJXPL?G*xB#RZBdv@aSASC;!MA8t!6?^k+&;wF7gjd_farG&CkI ztYp12S!06^AD_a*G-YuSkcMC{YU--uPlT6~0tbZ*tGin3w1day`Bbdg3Xz2!VqsCX z7ZT>P1@5($>ARbllQZLh6{td})vn#$C5&+RPm?caRu8uJW|qj%m!{?LcxG#EH}NOI zfeN`9U|WtNHk=YS?%+4AN=Z4El}Du>SjRSsxuu2RC1pUt*k{;4$s`X<+?IKR?M;=9L{x+E&2j&agpB3bzu!$t7&vhsgaB567d-gsF%l7%+3 z-Oo$fQ(~4}6W}?4QX+m91gUbITz^6JiUUKDF#D{Fd@*YJwxpMR7*od6t4iyO^Rf#Y z8(9JG@7TtsuECgb<6qOgj@JkfM6K&}zII$BDC$$iD9Va4)t2hNZLVu8gMTUQ{2u_8Kxw}f)T`%& zU~hNuOkmwM#VgUIdv9p?&$#(ds8l7C(9)%%4iwT-73iawyae2MqFp?lt)fBRAe>?^ zok}V7isokXNkct-n3LJKb9o>&ee?9G;(_c+kDQZV66|e_>*Rm_CcXA#cuvSpYLj?p zd0ZHKEyQrO_0*D*OO4eAx_T3C-z+s|L#hRt0Ki;!xEyOOs!YTnsbFUx_Gw=Lf$XG; z$wwS{pNLBv7!WfJ2GrYGd8S8<$!2Zu39E9>zP%qVlxESzbP4Jy4^5}f(Pb#uF2|Qf zSCCt38;spjk*I(Ei&lTN)gv)i{k2yAWo!OAtH0iwzrpHnwB~P8y(VRs>QQm29>o^= z&q|4LjBBO-LaEw zc2F&p$_}A@-h825K5gpL>lhAozg`-kATB3Fm(mto;8t937#B1^kD-5x29?}8$%*SNrw8dFr2zA2 z7d=cak(VXQJbaJPBao&KGJO=IESz==?Zyr}&b)t?Mlo{Wl#^)>R(0BoU5m+nh-%5M z(_>j#jC2BnLzquaptO37KcH0~QAw6gkMsL92iJy5+|rw;@FnjC9~+@!$ig*BCC3ZF z$E!yQQfof^mEmt*5lvsclM0Kd6rE8-N29anuAcW$Qf6}%Peb5zJ5|t`pnC^Z)7i9$ z&ZU1E`V1|h^JytvsAO^i_^QCZJ&Nn<2H6v~02bS_)i(FAH{04)YY29m&oK2i zhimgnazu5Fk{nZY^Y&5IhCOs_ZN6SpkVNGz7!EA)lz7G`+{1zEZ>DWx4kaGzq&%^R z+9F@x0m|{^`HFl+qUyeU>2syY8>QpS9YEM;?h54f9eLOBY6nQzdFWi>!0yZM5`KU8 zP<5?m%+?DhTR6}brI@#`$TDtcx^YkQ6(vo(&@%0;8n4&uD}o8%f>nD(5nyQKNIaJ zE%teQ#n^R`7Y-yKvT*o3T_U`t@=<^5^?CQ#Ov|b%_7;1m-A;3TUT^WD+7e&MGjz-i zRNyOlnvSXU;RmUna8WUkye#{6C9UeGbRybe*!-pN6PLpvuYehU9-jG1tXxIQ5Q>@* zhB^>}wjrpT2XApH!p?&TIimDsDlZ|Vyn>+eA>GaebO(P=qpxup z-Nn_klbh&nZlQa49o@%4x{U|vAwH8v_yT&AFQeUj3+>_iXfHnjzj6Q$(`l0dy2gwH- zxExj-%0S2D@LiV z%I6R_x^luoy}4kUw9sHKIMjkq2STjQ*h`I`rV&~_O3hExnp&3+!RO<(&Yc9m+fwVS z@;S#3YPImT&bX1hRqCiVbJea^fzRo~R+l=gZT!4etSn4B$$fw92({ly(skS=TRwp^ zeQr73wUbIStb&KmT33}&2*kEg>KdhPq3khQ%T()@&Fg&bM`^uy&n4ONeX4wKP~SOK zkm$ye?2?=jI&FkLxtC6_tU7jv&*rm_(x=8Vj$4oy5H8I@zd-KsE2Mb8Mk4wf*!Zi+ zMt+C9>^0cJ@2P)}UPo;G17hhPVK09|diobw_+Mese?xNkci?&l8uw3V>c3!D??MmX zgZ}=Tegbv+BORi@u}1H(4gc&sopqkcPM*y!UdlOK$GNaMSL}T zmA&2%%5H@1{2U&{g%h(t>ow$L8y%(Q+&mL=zr>tN)Xjg=a~b^#+^`z`hJK59E~8h$ zRhAmP2EJ@+^g1}RlY>965?%-F{v1&K2F|<({=qzLDV=Jb!E53D-lVs1ZV*Y!pJ1EW zJcL~K&&o>0zFwfB55;yH4-e8!&#KY&rIo7#tM4ej6hEC$7~@y4OKG4zPHjveeP< z3=faerW%`!^WEl$y~;AnQm?(&9=3VyGwk6}Is?-!lc)VvmUWkUZJ3^suZL}Ccx^MB z{TNNym1$XaD@!lU*ZcGHvF_+sAf@?E6S!A!Bv*g+uzljvcqvkgM2^@;22V$LD5Wx< zK@0e3Itj|v#IvZ4XVYf5(*Z80i+L_x!4-5b&!=y3rBc#mrc}n14f`A5zC25+H?Wot3EP3!>6R@Y+49(i#_9uCk<)VF^np zk82g?GILK7bH0kHtVSOxK}fXGtTSrR3niK@oy}z_bZSX#+8CXj1^YK~oNVE+jZh$+ z+xiqNwj>r?5{sQ3SQ9MOme8db%uYwsoFad7yNQN%bCsPUfBD}&7CFl-`8z7BQ1Ffm z%dH$x8`-%%g(ydoD2J-Dg{W*cG7zPw6V-J@qH;LbB5IXIlv{|>CsyI+Ev^S)r^35! zNFmOhB+jj#286gg&d)%cE1kI0k4RhrdomH{%0!$W#Pxu;?UsL1 z%sc8{1yfFBDG(uS$kPMSEKlz)PjHuK^DZ9Ge5Zk2;yx=eKJTH0h zJWG%ED#mQ3nkL%qovhti>Dryhtlh|qO}#AU63gKhK!_r+xK-)2NIKP;U$pGlTAR^W(xN}w4*an%DO0m$Do;&pR}*tQXYQr59-$SU9jdQ4 z_ne)wXTCXgZpu{U2%Yx`wTyqz`HxVixqLy&a=AHmVak+8WX6i^MPQbwjtXfdF1?&By`Qpd$P@d_oJ^5F$l)%Md1|pRGi+7$TYjlP!<)F+4ZU z^SC0;^SLt4ReWp%AIH^kx{McWE2WjeH_XNTS)0pZ^Hw4yB(}}2lwA;S^VR<@`r18 zsd%@F2kkHh4{`lJZ1_z)%%vlo^l@@8C--r3KPTVfGx5Z~zDGkcG$Wgzz}Sc+>{>;$wD#enQ26$5nj74l|jhCpmwLlkal!v>l4^dpz_R zPM%fqIbPs-PF}Dq0sY6a#Htr~$rtTVhSxE{ODcZf4omPAZh4iH*Hru=)BMN|)%dy{ ze~dq2!k^ml4g47=Z*tpP-1c*(`vq5j$R@nw<9NgAys((NJxpRtJyk;$chXStNcbYpnlY*jccPkl1wU#-ooE%4tYR{EPT?ibpvCD(DS4L3rdmZlk2%vS zrV+bhx>Xd|D4$_j{LP)eUG`A+1(wARzk9{R<15}{&I?shq>5ry%v8lJ1g*}0@Am|& ze6CQ)6H-M9LQ2avZ`j>g73lSc5i&xapx5PF?Fojw0spGHY6M)4kXjY+hr%v@c(u#d z>oFU$gb4P^rs{PYtD5SYR?^`5&91Gk64$nHNmalX2ri)YDw|eT*Q|_C*qZAaqtsj; z-feHKt2#GQNvW@>tf`OIYO0ri)off@QC+vHg)r42Sb2O)-TE4YiS>bCM@hSPhtFN& z4g@_V-5yt{H|PnKw0L)V2u5mk&C-fh^{pG%)K$0E(rk5&)isT+#&Gji<_aN8$M19b zJ4#x@L9f4qhNc99UXMTQ3e$eXuhiWg@Ru|V^)q=Wb~_ghC+`XPi8NGy;_-Rh;b5TK z6GUq`IzIKZpF7Mx!a*=_US3PkSqAVQYs+7g>btf*Fa9*SV55+S~0}?G1TpxeC8O zpr0izIWu0YTtmGjHSOLo18fckdOX1}Z=f|4UCmK2axrE-jQ}-&#R}A9f^`a!N(;q} znNl$NkjO&AZuXM+g-%}>O@3E5@n+RqJs}<1uvIDw{=G#QdMZJ0juHF#ElO~|Q;2?Y zbU+&2XK%YJ9MBaV!otxGvN;g)hP_)ojRF69PcYD+PrW)a1#6Gca6obUKLSsLiIp+e zHH9ie2zkcXUOQ2LS4S@C_(UQxbWKxR!Y+4LgR955ANEkp*a-Wz#}cF^a=D zHoBLjQPbl(NnaGy%}Ay@X}>plgQ2jbX4{H)lY%84E2Rd^DVUK=2X=bA9i4;+Y0Gejp>Egc`ZJC9tTy2D z)O-9L++gJf7AB*}lh95lo?45H<~q53wD;{n*EWPLF&nfj=<4b8xaAq>+6d zdH(jWXL~pT(8d)5xTTG*MSE!2hDV3;h6jA@twEQ6KeQ?RS9KbB2|(-S420ZK<{ zI~j$9r$MLh9(Djc;pivCUP*7*M~gH_ON#4xgY{D)PaxU((FV2;KQYo}r#w_T(r%a6 zuS+0vF2Rt_^bFgdXe*=JL|3Z8LuSt%;)9M7EgfoS1tQ%Fx`!J^8cS8oR>d4ul&WH` z3NNUC;w)9nqews%WhyQvuU!>qtKuA0%qM)zRh^qn@YF4=r!Fg4(nla5G%LldYyGP1hMT5v31D5GI3c)6Vu9GjUlP* zau~%7Hk;Cx1^k9uPmgJ8l(yRuRp`UrAZw3*LB_&Qmn=woAVO{AAB~`{?DhJHu>}-} z(jL;q)D&@8vhFX3%gEWW3oI<06=2_@} z_8A_lt;O5ncZJEgBWz6U+f=lL!aH9hYcXL-)PiSW^m6UUjd_ zH`D8%$qH&Rxj0>}4$tIJ1jNoJz897y8AcEZsa>8O+vu`H{DH#J*gQ9uR_<7B)0&N| zE9zHKAeR!3=v+SZBoRZDhFsA4jdfM6Lt|KVdHn2Fu>^V)hNr=g;B^Gh;7NFYN)_dr zSO8CJ@Lfv8LU=}l@4++VvyJ8us^Tk}SR_bmEzv}UsH7=Hl?Knk2@Rfu6C|DqJrtTX zVS9dcpjUc+7QMjJRcr7(Ysnf-EQOaec#)HbpeH-FR5aGxhBpP^_pl9jT*cOA8VpXG;3moSgDB?_?UF=kcb<> zRLyp`#}I~`B53Xxp1M~PTg5h2Y}dpN8j8)hLK8d1*Hm!=9RL;wo{qCiXJCwLIz?ajga)!bh6e2QQJ5kCzHfT*oK< zCMDu}l3no)aRZrpP24DM(!|Yl_IMr(z%AldvidBok7}4fiMWk_C33$wK>BiM(gs(U z4&ZiihbHb6cWL5oaZnTYh(ntA5AjV6w_uwl4zujyOidgSedM7vEnQ05tf^5G_lo;8 zaX$uF1iwWjvo-i7yiMk0YRx%k)tp739uN<5b@uGa(i*yP5Ah{>f-myy(+z$R=A5=o zA&)At0U?!l+QBz}8Rv!nPQ*^eB!R<4HhWYLb|eeU5$|=UKq%KUu|q^F( z7&o|j@@c_*xnRD|QU0(q6dUU3n8@qk=#$;3o*s{%{M?y|9{G~`%W?D(FLV@oa%c4> z+F0_6*Xr4SIz5`G@&!VkP`IhRou68&`Ta(v1JaKuHePAzboJGJ-%pXUJD4Js8_K=bYKpvdQc7 zt(3Y-SqM3-kamX3m^~ zL{l;j=g{8thP^%x3-k{+B=(uDD=QjXnk!cFmk;B!iiw#)m^Uq^t2`Ohn>c042}IJ(^^~8P{Ut0Jg#>ABoWR@aJ5FiJVU`- zOHF-ERcj5&tF?M%#j<5}jmt<2=&f~4(eFMg1 z>ll?D- z_Th|)Dnf4Q#K@_C%3RZ;mH}5J|v~3~1Qm5-LePd)um*@dz zNab7FJ#P7=m!I6W#6DM;H%`Jj;>GjfV+WKNNk%pW)MCuA;vI1rXO#lSMB2w3LN8vV~1IYp$Dn>ZMi^_S)R zf&)>RzhdOC8u@E-+~pj5Qa*!tpwOGrA5-lwV5btmRfWd@3$w%kD24rC8UQn8mH|); zPk?n@HrS3sN zHf{j&C>uWj6DXTF0Fx-2JOEQ@^)m`H+6Q3j!xHjOD6Is3%GgAVHW0{0$b=?3hGr;+ z6|e+WLMybu21?st6?kDa^uQX}25aGB=pbf0;Yw=#Dewz}WDwqfpUHO-3WjI}X1;`K z+-EL)1eEVY7q-a8?wG-5WAM*^jox3#i70w8c5xAn6x>%>L>oB7f?c+5q47aE+gP2- zn2k$(<_v;j*94%<@u0Sz64Y#nJy)gQBnAx0Hqp_^714oQzS}+cS7)c%KiZVl?bYu6zXo8Z4W_zy^5e-odhah z8iw{q_)`L?Y4K3^C4rhDp$dljXL#2Q?@|4I_#hG9w4``%peb)8yf+ixTaw`A%gy-y zk`QlZJl+GR#{1U@-v3UFH!~^TyJ*V03GY3G_fQhN&lz|>gpUlojg&K-F@!hg1+deV zK9g@f)fl}Z7f1ts^*aK8D(TWRxG#o_F~;P7leCx?C(nO}e}iJ~rl>ZS1jyP&%G`Aa0ZUW8hh$dgBxL)EK?MK%(;KywdnHIu-*%jlxjjU!?ze z+0Wo}W1=$3nM#=AAv_*4hltK0qH}x!CyhDIG3GG!!?buLPshxEVv5dUip-+_le4TQ z8a|;6W@&tB(I8BZ6A}FcpQr79fyCfNIrC(FOmyZ96sX9RGvpeyP5kz$uc2hp*mT;- zxx9u_T3^VzV-O0=on$)LTyS$y3t!Vgm{G^#Px*Y4QkLdOGiVRNKl_0Png^k1*8OtT zE9CKj6yZtqdp7-luApCE+I)*6ZBIehd~2?0zFjYBeGqV@g}G=+n{PFWb|RpjRdPhw z7_yDWgpEPv`fz=WF=QKeOgRC?>rTMTb;n>>gD*1^pggwkU$_bFz|k;Z0`_Vlb= zi<`1}xmGuuNWIVC?EEN=U8m6`&8{@;J1I?yevvMxO$Rc6^(vY995V3}$-GY^(_TUc zvWO0%lk8g;S-2qGqpfs@E+R8^DVdim$-wL->u@94hg(UJAAon@PEx~%Ne$mminyON z<^bus$KhQvN$=4?zfY@tK(qgqY9FE%KEh)7DVEZWF$RVgRVbH_jq)^r=s&c z4_1Tj`%$|0V5vdJC7q5-IvtmEI{pg;JBe!=3#TE>Di&jk6y|A|3eOUqfD#hs=cr_o z%Bm8qC!rKlRn$~WRTMCONEGMgILGClgb84abn*{>b)1A6FvSc&e#6$Uhvmsr!&jIh^8}QUj4mo46DeemxJgQ0%vEAJdxNSskOo+rn>ycY2p zvXcP+p8wAyNN1i#ve5fw^n1RduT{Nn`ixw2uG$YZd-(SlETySf%jcV%QrqX7onvG^ zV{kKO<5qOw6*v~3#vJ?{9YR5;uwb6B z<9LyS6T~!}DCXfLQHztsE}SBsq4G;ORlI^{innl@cpImSKVX6QJI+w7Sg2HEk+Pf0 z*WgU$IxJBh#5u|juvGaO&Q*Sm^Q4V`_>khYC*W$STODv4Y4F!bdzwkRAI1zSskkH3 zi)$#Pmc6(EzNPnyMX*=z6?XFLWv|GA0i*W|*k|;1qy`d86O|JVi;NTZ=de)JAH>rdgT zlVoO+j+^zr9CvooaaWHzZcfs1*N!@F0%#-0=@XI_)}-AVhk3f)vpz+qKz4@=9=Scs z2BCI8m>w=V4t3ffEFXk(Ni)=cE2ZU@2?yXs-Inb$`^=qX()%vAI;~HZ*_1N7!|t#h zf+J3=!(LjRQq&I(gV0#$P-s3j7=-n5Zp$ESC~}fIT}z#Fj>A{8&g+MbgK++L!BuW6 z?uWL+V5iJ|gon2Gfz@dn1W&oO4<;n&<%u_yTZ^1lo_%P)Y4TcDXif`huX3By#s^>` zec4gO^L6Ug=OMKy(jl9F%+V$@H}yfKL>wj0BR51wI*i`N=nNa2=0~9m zp~z_(1m7TZCt%th&z7H=wlmYV1WfyNrUT_R$w^}ookY(dY$>;6c?xv|`yq4$#+aUf z@H&O+y)ES_eG((}oOuMsMtimn!Zz8tNblT!1kN&=%QYu$*Zq;$oH(FY2+L^LvzTwvnU&` z$j!-h4w5BKdD47;5b_<`0mvv)9O+>*9mth^kmb-!2SMW|*;3?8&CS}Eo4s!kt}1el z9fYfQX(aJeqTvgk2Wu!@Ku-Na&~Opt;9{7BOJFKiz-+99daQyLtcGn^1GnQ+IDyOH zdsqv9 zDjV=_C4dLX+}uMZ_KDM#^M*zesq>@un;Z>YQy{Q!KKZDb;0MZmE zo#G5yEnS%cN3oDf8A<^>fJGEgW-1F{zckcY$||@-8tQCi1MI+=I19##kLl#?k`FQv zk#`1vw8MvY59Cs|Z+nYo(EpOC#ZQ~%P>*iE36X+MQ5F?HPMwE0QMK8IozYgMcp z{}~jhxV(vqp8|eH^e15}I1;Z<1LZ#+NF9XsTxPGHy_E)l!rZizkdyEP;s#4+rV*Qe zbZ3UN7dw>zcaTSr%O+-ghQ()6$9GaTL2cJvg>i{GT2jaF-ki19zqiaZeor=B)3vY6 ztdvRubUfH-N8A2z-JLTz;^l zT0HQ#3HYxF_-{@F_&Qo_ePZAf;(@5+A5JF4J%!_+PWep=ze=-x zEitl5@yOmMWFI6!_NsyGyo8^Bbf&~3`|uRV^shO%G5R%UnSm^YkxfbTOppH{c>e@D zejEcaB?>V`eiCMg=SRPYl+%@z5BJ$H-*}7Ja~$^Vi~BG^k@yhW$iqL9bJb?d^FFQ5 z|08olVcs#guEBUXX;jKc14UogX3ZRg>+b^l%&cz=!t6COi&;C}kTLszAXu|*>;rSw zP29Z8MB3^VA}t+~yEDK_Akx7iG9XQ4!UT~8`C<$diEOB(daW2M0iH!5GRcpzOI<^7 zqRcm-TYmkpkYChJo(jdWu$a8TO|$~bY%!R>fJ|u;I?&lnDSv4(lO;f-k!@E8l|Ka= zvEGSZgY`!Z*5?#XAlA!&O?l(nkHgId(+45XNiBy!&7-(-JhMCJAgCs)C=W#0lfotP zKqZ$W!Ujzk1wRKjOYmIkGF0mv$&f)hj}!UeK$3@U~$h!kcq4HPjQQbj?`H>Y{V@(S6j9=Uuf6p%+*Aip_niHhUx zL?P)7L2M|_GgHX7e@&j*w=nO{lONH-*GJ_twK(elOJ3i}cZ-LK-9$F(qL`e;S&$)0 zAY06aTrmfxiBgzXi?U{u1O1ZIVq7$Wf!@?7koe8x^uM|w_11^g1j2GF_2rM49o zeHX%maQnl;^a|Db_1`h|E=2rtGml5QS5)I}ywZbL;nld;jo09{>v134Cl@yp z`>fgc!_#3b_|_69*|RLXho)PCFU!0df57?w08mQ<1PTBE2nYbuVJcC$i2BgW6#xKl zm%+0FMSlr=RMpi#XSO%X%R*p)VKX2~NW=(g(12i)31lRjNeF@q4l_eCFquhbCM>qK zn;NZ(t=hU*t5s@U3PA>xigwd#H@n--F51?vw%S^?3jLq^UM4e>34Hy6zq_1w@45f8 z+;h$ypFi@%VIn%iGRaMs^Jy9{)_94VtbC@6K7Yt{PF^bgSuQ@C>t(b|n&mD&hgZmG zr8MVC(;!WwG)>a@rD=AfStX;@ZrZ{vZnAJdSe+-MHPW=YxQ*Lo)FJCSr8(ctUED2u zd!$+G=3ZW>@dZx$g^Sno2AN-|@kO%iV%czsG#fR()J@eK6!Ion7?Ry#nMS19?BPD{ zcYkw~w@9;9XfZdP%mcD6F4KfC8kFh#WRw(IN=9iJ4Y_$6ZHzEUPvy7?*|cJtMIjWi#3(?xu(o39fk zUB}nUXpM|^$+{ba|0jg?C*{l=rMXGtn}0R_w3{yGTV(UCwniA!cJ4hyvidfm-LCN+ z!aX1jbROngG`>^#+@evEE2B6-~s~2K-EX9#ctEB7dGr z2jl79U~DL2H`oy~Y2BR-O@a2+OmkWj$-dffbZ0D78%iW2wF8l0YA6{=)pkcOi!5Vu zwXR*gab3XQ(*k}n?r8}$t!Z!W?q(_tw6`~RZS)5k+M0WsyFlnz+mlCdH+J~fZ*1yl z?ZBkGbxUwtur|0oUE7q1C6eH-H-C0?`LV-X;c0DXY;GN$m4p)UbTSd^Ohn`96w~wz z#~AcQ5(BmB!xBIE*fu4?JDI$ND;koKpnQ%82O>-r#@ARd-dEe5PDbN>_-5ZG%E8%* zWHb^_2h-3XQ)QlB1_l!G+K#dBExp*N^#@a{hEmwd8!!t;Q-iS}K+G7w)qih%6Lktu zB|T2ult_jnNpt3o1vf=v=ESi)8jq$|Fj=b>_5y!XB8+p&TBGqu`_RCqNU|rmDW)V! zgkbj|tdF@#w59u_P}f=cI0h4Oz)#giVv!KEIuHr<2jfxft`#9#5-~vO48|idpqxB3 z7!IZ*P5JtFZ;mEYX*FY-Hh-ZlwA5fQ1l>X}0T{769Sm)43l1u9%3&8nlD4gq>P|;PTcL3q_QC`w6fo_LrlOmov1oc{XCf92Vc~o^q`=_| zSK+uR1&o>!Ljn=DfIwxbLg+KACIB7~+t~+=RT`MKD>s}{wXm2Y`hU7`N^~Hi0L3B= z@p!`UHmH74A?o1R*V^WAG%d>QOeO{+$@ETTgVDphRpZYRSWdv{H9X&$$_`6G?Z~|c z^Qsme|0a~C3U-}Xb-Yai!HvUOM(+@m3lrLmi940^#a6XJ-GOj2xSi>JIm%w03=Z~3 zLn)}bP(Mwh4iEQBM}L-WDEtmxZNWVlw=dwwDbP{JCWO>&k)#63K^U!gWGUYqjR#|m zxffZ-RZ_>NqUlK9#w-;Zc@VCoHn-;7du!j4Fl<&-MCdt`Clx&YIATjw8%oCzHQH1F z(FP5%5lbgh2vCLdRlqd&xLSgnr~4z~Z&M4`_6QvdoUx(4b$`)tx*tIh! zn{k)gB5=%5N_J-@Uo}P-_9{BU3z7={%mQn4feHtYMUBx@s=m9R7m3HK~_hlVch9Pm3gLBEu0|t zl)wU!q(6$=n12>!mPF(6+_@#ZLmKdKisAzyxj-|DdwIZ!DBDeG`b`lX1Hoip6x*EO zI3PX+#~dAY8_~EoFaLJ;2M0x9-4wudzly4b<8!plkWf$MEuCCdxKf~%Dt-&_%75N!xK2qbpI#9P##N+lOKgj* zN=70vFn6nH9Wc^Ox#WRhs2}QUG#zJlRbiIOcfHAZelV)$ydd1MNnJF7nx6^G4>05M zP|VE#uI^}GJeWpB#?)Lqp*L(wrIW!>x@{1+^KK0frX5N&oRhLWMks;CqT zQwp;GseiJC>9k`doa_PqNGg{#cUyD2_X>mC6dr>MYBFn@U>amkxv;)sw~r_a#cFjvuZ4lgZA zpYKl$sk+NCI?w}h#hYTmR4S4JPu{1~F1mqY3`KfdTH*G=6>Smr}1H(pW>%w z@_%KWK0%+<=|(yB5uLxnU)A|*{B@n)qPI1EM(1bw8<1?=jS6%kNC$91l4*^f)A@P& zrOw~vZ^2`V1$dpm&EL`ayZnOA-{Th$5VN{!hz<4!v#C!G{JzdV;2-MzBZ$Ke)^z?c zyLJ8vzlb2K^H1q+jejN!f3EW{80WskzkkyC*Rs%qhMwmab-GG4@EiWEPQx;KnP1WQ zcf#=Z{0hRg&VS%nb^as&3E^AkKhuwO{);q!l{J6k*K~S{p3v!WH2imHo&Q0%kHXHm zF^xk}@h_cU=QrR+m6baGlb%2h(D`5drpEu)`7P1=+tR$l|Izqe9fp2T$1@Afdw;ZF z=OcVnw-9|(r)vO}uBI#DrQ?%@X2G60`Sj*kEIOEqWW5aDWU+`#y{KEP5ZPkm>3FS7 z7?QHiSzaiZPEXU}0?QY^|1^tTw>T`CW^w8km&GlodvuF#aU=Jgc&7S8Qq(OamQvkP z2HRN5=~||`|KH1lsrG-2aJhQSseid97fGIo-N!7JP<#|GiBM)8r~E;7%g=?lB*p3& z>? zU?Vqfc-Tnsc$*h_l@%!wihmUcx_X>uU43eP$u{=Dum>gXqLyt$717pk!N!Kx&XxwL zU;?Xhw&X|WWk#Ks!+%;;G4^7}Nj+T+?cJRXUCr%1qd(a=)n;`AY@4I8SW(mU$|32* zU=Qx}R`o-{`1E6lt1>gfThT}8*b4Oyi=;#Sjlonj1a&61s%LhtoPP#Yet`kRu_fac z2s-(7qQiJMnZlGPr%fQ8r#r%7d6W9(w*XbKcPWc%Re^v}o_pGwanZ6G5jB`gz(k?} zRF`WsA(>Bh<7-7#!AJF8?{02wZt7{qt#Fpgv&4)BJ1}(Tx*&e{RTLcI-;q zH{nOvSbkYBA4l>-$LPCLy-o}adG{vw4OlUrYV2%Cg;d6Ii_u4gn^r^=!wsgWWh&<( zW|;1jTNmZ$ckv*<-^dQitymfJ%%9kwa^Iega4@-5VzzyIKjIF} zr4Q2OsMIIZ4Ehj#7&ZJyFtgA{$t@)@#%?JLRX=R@SDXDcW{>Jx_1BsG^{Tf?g^vCT zsh8CpC9~>pR)4)kigneaUROOzb=BXY_FJS(SN&b8uLL$cCeYr4*@HL-RUxgbK0sV; zf08Wgt%u0EzO?iJ*}B);#>V@}UR~kXPg?Z|Iro#R+Pa_I7<=}Uj;>@sm7*)#Pvz() z?WYQGoV-^Z{8_Z8k_YWtz;2=Ww1%pwl@?PQ)loa0Lw}v*r}IJW!oObpTSxbjJW3Qa zx{p4m_}rg`{TtFq9!5>okCENFq;-U*WXQYg9GTjd)MRKXMy?T>_5f+Kc9YFI90GCr z7|{yitl?0Gd;-y`AXWez(FU--kjm&{YNSgPj7sAu6NX01=>ggeAZ2t0eI6RL&=){& zC)-h4Kz~+^9@6MxxD{IKQDHtxu?mHc!bkE+`KxS-g!D*{(4(ff%W#H8&KCJ*F4>dS zszYgLlY%+bSYpDI(H8+u8113GCZjs^vdUt6xPV7r4i8I~hb7Bng!Y*{&N6w}MrcMM zl2{HGTb7G0%jGfJZ*nsUtDnrWXi^`BJ&o1E`+&K1i3Mk zWm%MEDkuu7uhTO{P`V2p?(PXtdK5~g8&mWwx^K{PCe+m?R8RFxiG#(Q?>=z)929zg z4n$8DqDRGRf%H6m(_m`f12kSR*;@^do_~{}6K*5h-s%ih);kW;+=>%NXnuxHdYVqI z*L;p==xbQDpxz02szzwxy)>=Hq08i|Etp;vKS=m~O3m!sBCcc}**Of18hrtT87T7cVR79*VVgfd@h5(+vh%9=dsr5Uft`tmuC9hUVTY@iLc}t!lIH4 zExkeq^H-26&XT}AoT0PpoS4;TXRd6pF7vwT++Js$%j>QaVeN(N`%LzLR9mAkWn_S3 zrh1+B*l^!28Bh1R)Y$9v0_C#ZRDWGFLd%c8@*D;A)*7EJLn|`05~s{PWrWVXpWNsg z9uSm`yUA%N!@Zkk7x^lYyQ1D*<8#Y_uuD^h{Pms+N4;1~M;d(qUX-C`!%VA2$*Ym8 z#ul|aK#LDiVEq9)PZnipO+_mj+4n3tD;&EG9vNx_HAC&NsK=+{v<}gIhJQMD)s;$r z{;s+*pToK&LtXXdzVZxp`^q1q9&cF~a)-{IB&4-M>h+c?lFyT&b@(zF&M|$`uIZC^ zW$1$Hnp0-`Y(9I2){iC8*O49x3DH9j;W|Bn8~Z5DLk3!a9JB~oWGV8<8f1Zs5zV(F zo__!__@jurS7LrGqSK9tQGd50w%muXup5D4FYfOF+`A`n^L~P>@(Wy+-(vhKeV5*( z7uZJM=TiCsSI`f6D*cFO(2HD0KjnJ*88^|-c{BZz2k0ff9`u{&WxkVs$M?|hIYY1V zVfqulNPpv(=rw+o{?31)e^{*ax}}8PuuP(VS!U9kmH@qF>87_W7k|<_mJq#biP3wO z5780JZFJOfKeJ^ITjY9kIn9JTrSvWOHspR3+V~FSaRIYO(MllwAz*%ioRDX+@fE0@ z^gSuUfO#E8yQzdxa?$tk)h&TwG+bcx1NxzaCyahXKbByE(NCZ&s~WvXKb6>s(a-4T z2s{;*yH&yHpm~-XpntVrq8@k?ykEj;PPXwQ^ec>9Ec?`H(7h^eaZ_Lh0*l z);hbj&XEmso_|^PSe+e#M0$tR;uj&Q2rpFR7p*@;7q6GX)@vUQ&6e;a1+CX%PG%3! z9zH;q9H5Qevcp!m!)wdkV$8g@Vf>e~YfttT*FzLy2WgPGl$|t{T{MT?w19Q0X81Dh z+)^&1l{|_3@ZwgUOqcT%dJK0^l3fcFQHnCzD3qt-!GB>C%5#vF-@(X=cyK-a2O}F^ z0w1S$F|y-^48wd6!URyF>G|SCClE^Hm86*^viy-$+X*q^L#l>2LPt$2wBo`!L3p*YLFCCp{Xj9>uOAFRqiZx@ELmdJI@k}Uw7F4}ca3;~h zwmlQu=ESyb+qP}vi6^#g+fQuU6Wew&N#@J`_da<4syRAE@p~hQ^n+a?8t|r%(**$shVkigTQFMx>vgylpm?Q^QC=0FQlNt$3b>O!K5r z$b-}_`q^}fYO8jhC$mbN9r>=Ih^NXEJ$BzKGzC%#&_f^dJQ&cB&QpsMcsd`nopMn< z8)QS;Mf02~%x<)Hjuoo`gPf?V+cle_cgL(!kbyl{(U*1CXBP6Kp4CrQy9by?{$St; zsPdpT5AD17;Y$^e_ayLRl$xFjp{on&)%k~j1<0;PW}l2x!$?}Sw~)~^{3uN|5U;HX zin1FCpvodxllde0BmGxCb>sRJxSA5wdDp?pd^p;aN@P`4A(9qPyqj#mCB2H?_FbKh zjgZ&u*04caxca%?#G+@%_`&B7hT*>%M=Gf@M|5J!m~vkh{bI6<(6v zYvHYgg>)BXb1T8DjKX)I$!iiSa0~gwWawwK!O0Uu%ech_*)fSv$nSmpnWWB5LHr70qv-9^G-syVX)~n|)+OTWlK$r+L@bh3V`1Sm_Dqn- z8t>9%D;19Mz%}@toKcEWPyW2*{Uk4;$nRaYc@RMEVK(0h2>qcl`(15*P#^QY9(6}f z{Ppg1fs%Jd1G-PZ&;Mhsga1yNImAf{U3~Y2!+<8;x%{tqCdUf~I!(|E28t#{dCML} z2<@wsmUg#wSR38uDozi4sXf`Ua^6$KQaHppumZE&GRz2M5h0Cv0)!GEwkZk>;I&7W z)N#6PjZ=fX=4?GS*%~DmA-n8ViNNxBld?Qe;#9q9feOu$t%mk#NF?8jXbdyD&YzA4 zP&G4Cdkx1|tUP0PmEuc>4aYJ&JFsJqy}}b(a%-Jy_CN8*r3?ZPPX0n;jwaI#t0IXs zI9N2qcTQ|EH0w>C$ol+LK~$AY zG@a-Zj?K}o{(Q+sd!#H4s^e{N_JLYFBcX>uv|yLmi7y>Tur2MgCTd5LwxUvvY*JS8 zax;)^nnSIRjI~$1xl)(Gl|-p__al2TFa6`79Xuz)^u9e^2tEPG19O44Ss>FW_vx%fsz>Rl_b^eOVQ59RF%SfS$Yh7wX0h#s#bibB-ciW{<*|!7!thA&R-x(pgJ&u1_Tqn^yU| zJ6yj=)Hn9jS{lgG#-BRJXJP6~$EG>rmPlZawDXJlzun;w|7YUA=Y4~WiF@PQQOL;r zf3k$%6ORZ;;ez)3#sVi@UMvo&X?&pAiGl%?L_dRsf@>u zGXit~En-#x9h;V#b!#<6rK%b*sdCB|y5$vX%$DA*DtDz$t(sPA^e>ldpC(ggXty2) z53ZYUEWr1&*|f>)cRr8$!?9M?>UUPXT0cAZ#udPDKpuB9{A8mZw$p2AaN69y)v+lh z3-)s9@!m2EKg^LQj^7*-+QZR>h{KQl6-3{Zf?6N^FP+VH)@L5U%K*xxwvMslYZOhb zF7sb5p7*)g81um#tlbt+S%$G`dVBW`rjXz%<|(LASIeEi$SarFaGLX0`ZMW zSbD(Tu`)PAlL(#u%q|Vq-9gtoz|)(ILxbzq`XdBiAmVR3FwAImy#V5cWxLGt-HQCN zm$y4sBG0JAH#O_x?cxN>9W;)AmXhQCk=(wgZyFQ*1LcLo#RZn5&H2I1zGqH zS_8dn5JA3cu@U1j55MD<9vpGah=!m!7!q)!eyh)8J1D{nROpAitOxBKNrF6bYZlb^ zq2SPPdO)f3*cYMwvx@(%8x$XaWE~ zP;oNem4cH-0d3>2--qV$ht1nP-hlC!=)a-%L=k!l8Psm3I*b`^#uE0Ije_Vdpwni> zhz{ZK*@S9GCMu&si5>3Vd&O|D)MUZ+77H0jjisM$jeX7?S?Rf+86j8r3lWl0lVF*@ zLfFN6SoI`UsC|`x90M=WqG{)G%M7psclxuixqM(HZD3-v)m7k7HM+GZyy>~QxNo(- zw7t0%qquoxbzy6FZL_|)*Z?f6YXSO!7NN&L;zq&3pLUE~ACp=OaWmo?YZPrX0ewKG zuUAH%bD=><<6Yn!O9ev~H&cd`b-1BYH!Wk+JNRPkrb9vv4OaKAuWY_S1t4F_|APL8 zz@f&&p{tb&B~nyMTXK&}ufrYMFenlt!+w8k zx3943+h7$7AYQTX=MQ(YlJm5QlSIVKOf0Q^$Ji|umT+UQqD3Ji0M&jLj5txS&QOaK zd>|KsFY&7q+$DRthm2)B*H2gW4+s&T5tEX8`#!~S0T>EtXhz~G7GK3n)BW`Zogq^! zSTY97_=xZBi~W<$?znd3!KbN)v}=TL;0I~$;=)3NMC!~*(KJ~RVwaIDP;6phTB6)a z3#R(CDvt}5QeZFj0PytRuC$@yt*|1rwV8R-XnJ}>WSr&Dfx_A*oVIwV_y+^B72Oqe zEz@6y*-snTF>qG%oHv3IWa(U0vwbAof2B*SLctyE6XW4Zh5k#-q70IQSEQ+rv>6DL&6btee{ zufKfSs`cU>5W|1?#Q3#(IhyG|`KuD*4eH~-57yg5r6}o&RY7C}xdqO6F2W>bdYpWA zt2my>|4_h>in!u$gun_lI+{uDPc6o_z8_ZxIt zH&0t7#ET^>tI_7{i^h9jGPIfM7*Cc0efD>dmHD;qX`CN{2pyEF7=%`{R4By{nh<}C zumB&?6okhs=S_#twkHI;K#Iwj$W0N0MS;5D?xFlV1nAg&%&}quk3!EDw?16FdwtEF z8ngc(*s{A^_AtRliY)EV=fHtlV0Mw!2uKmdGW8+rl!J@mYnBDO%fXEdIc1!gAkga= z8-HUH;OdtFb(NxuDyGAxu-ptCsC+{mY^^42z`^~kt(p=so;88~xKLEWznC-D&JfD) zpjqBX2WXVgAzWs~*rNBXkU)fZyDaJM`MJKyotopSub+Y~(s3#ue*$Z@kD~n!KeRwK zA32g?^Ag|@&d|rHus+XVkLzIF#lyircUS!w8m-#5f)5wc?IaC{oY`d4+aQ1u=k0gb zx~Isyb`~>|v~74K`ma0lz}dr;^L%jylFMOC4nPhPg@tW&r+P;$wO%vqJHM-_n_ZM+ zsd_3Z=}8F87bKPDX0TmZj19FL?+Qjc!;eJ_chQ#s3dhqrD~NgUHrjZYD$Gf6j5#Q- zG*!quXu_(&IioFqpify)Hfltv55d`|PI9}_P{KtXZj?D)o=02r1iQ|VYYU3S>KBtp=NM;k z@C$0iM>6css(pZeDfb&xyxM%gGrZTp01yX_(8YJdVdDCbovW$85Db*>%zVYfV827V z`orH~!Ab#jpt>wcx9K;%JZtT4o~keUw#FTsZ%#F9mX5~V>?M;Y7=8H zr9J&GUk(lrXBSM47e|+XERoI4(I}Tu9w#+rQktArQ<3z)2CpLGElqA+MUn{2XLp6H zzlHk?(o>r$M%2})Bqr2~dGFh?0W)D#WnS6MVsEC1%7N7A(qfgWQ<09wImAkv<>^aC zWT`TX3HdHMP157Ne1l_ty*QgxiW8F zr|Jh~Pt}60RV?-NF!enfVT-0v`DZwPymVpQMDaZy45SJM#~DOQ>K?ioAYxq9dcrhj zq4e?$tHjGfvU`DU5z6nFx-AQIa_EAOep-EV`U01uO?f$2;tVVy@D`m?k*lFhnx<$%RneuJL(wl1R0f}8%r9{D6^$8BRXibz! z#4%Gg+p3y9%3E|xFTzYrDDGv#IHbhg z#e#(u8>wRX5Z3)Op&}8Cs+)mOBgYR+Sl7N3gZyr25;H>~)=1kAz(+T2H=T?dU-fj6 z0YBiSMLj{Aq12i!i5}{9Unz&1r%*aU)s$9*xXgPoX1R{TaB5?FWovc#G1J6vH~xy% zBCH_1c&bo0A)bram|s@a(B0Y8PzCI!xZ5>Fj~a$g_J9y6sFr98%@`sPFWEF*@*ChQtm7!G1V5@OhTy23YR-@wH^ATleer2jI2l}aA-Zj~H&DRF#*a4|29H!N0rSRTJHc27BIyn`Hm`kh6l(7MzpN@=PD{8SX8 zGW^>nkfUqazUUAaD_Ca0q_(>)TLSTBO^FKPsI7G47}Hk*UBd zqiXJBkf})q(EivywWot=+7oY&Sa8Ff3Sj7;P9ED4W`VW`=P6s*2Vk|~erm*gAr$p4 zp58FOgNg&@PH))XeWJhgiv&y`U$8$v#s3A&tJpKV{}yF%c~&)gHf6(r=9H&Dyr z$qsOca8n>99n7+1`^R%+`b1*LzT6TkI74};-)jwa-)=B%2&^?nyPtf9ET^H|xxoz; zhRA{k)H~p55=Gnub^|AmkSX`yDA5?a1wVF78z`55vRNxj zMR+e5e1;St#wf`B2OPg1x8oOBnjjWG0&+VHfIiIT7ffCdr!U5HBD$_LyA$@=mGUdS zQT>;8_yWEn^iJ5#TzQnbFQ$Crh(oZ~EuSX}ZMBd{CrpheOpgN3G|9&6&zkt~elC)li~wif2n z&U!fLTvB54$^{*(`Hh-WRymvtvR3wzO`1_ckb5V$uqIC!1Lm+3C(CBG!A+HSl&Zz{ zqP4GIVjV6Vi`bjQr)sA*iOxrZ48z!W-(^$#(MbN_y`{NcOE@T*5u=w=G26N1`G0=B z;vQT$gx2>4r@{YzC(k&QM@Ag?di9mfejp(-xsx6>*NNDXMu8J6(T z;{}RA8hXcw9gVkiT6){PV$l)+LS3vU9KbiAmhg$KB#g!>vo9K1*K}J^pWIct2hSYW z5&LA*rq9Z46!p%N@>klIlr+7eZ2#gN_UXH4^g=&DvC-3@@<2?UUU(JNXOA7Xk0r3P zu0f?q)>+msx7%|2bx!&hZW~o<-lfcVd^tf(;HQPO57c6CZns4EKrm4wg9+eTE^tqpa7Ize(0PRWz4k72lBRmb`Xn@}y zAo9e08Q}3`>38`3a?9^&kiHkJDEQ&B=l05SOH&B_CCrF>=Ln?oUu3u${Bm_Nl&)WRqN40gJ* z!AQ~1=+QDlz6|=1W(i|S>JQZ%FsBwm4rCuT z%Z~>-i_(lum0+5k`}74H>TwfCjXGWBrDYrWDcXp@0mCXLoAmxs>G!8cg5NdW^l3ID zSh|c5-CH04{W8E>X%wSgJ&jW&Jz41Dk2KCvLmoQ(&^Wo)wU-_G)Tb7ng_m654T^-6 zyp+DwHkR%fNK*yYA3x&X%MIv(ITJ77Qcd)+bny`$pI@qM@nIPe>c$Vyypv0w+=oP$jzf8Y_&mR$z?eD z_bfTU1JIn3!#d2l$efaaN}&$hoT(`cMq@bQ{ZHvT*9_OpAISVEwY_YWRmN4e7peNr z;|}u};hi2XGz@>l$ z8nD~}`KYYf5W$@IVe{Y`2XLGrCAT14k1q{)CwsD&{aT(}>bpYOQ4ISazMz=Wu#O36 zL&FO>niPEDGR0+gx@UH}*3^UEDkStQS3?i7d4or#$hubCu{LtE2i%Je_2Z8y9cI|8 zlkA(ns!kJN9gB3MYZ_sB4yiAbw>*0;`{{vzq!As*CMZdU02Ox?%KcrI)kl;|WHVWy zu9)>PvpL4$1fBRDvz$JSGzPRfvK-A`Mt)5DA4}7)Y39NlahOZSZi!4Tsh^@O-4S@P z_>3z2h%T1Npwpxp^fC8_bC2A|^W{Inuw143%e|=`XOU>;U9Gs~$>pTrgQ|#yL?i z#|f%{Ya_Tru#)!x2Ax>EW^^Sj61)1EQQTVodk_Fpj);3YzkMvpBNH(2`0J%pf!Ts8SpOW(z2> zV-HC4PLAbG2yx5V;(Ip+zbo_unj$v-&WQ(jX{MBfH=chCk<4 zggb{5!x)iLZwU87H2{8MJs(z&65M&w*pcDYH(ZeNdx(SfhNP z5(?dh4%sTX_v2>-8OQ|P&YJ`O!Mrh}2L#W)ez*yBZ3cYh^%l>Vo;RAgnXS97Og`V*BAG`lyX3PvQbT>&JotiTa83;>gv3O-6LI zzr`)VIUa>rM9(hR>H{k`FkW#yCEsu>p0`AoZE2Q6?a)RxsL0Mpcii~L+I6wKKx>gc zrN0-h5`cBYz2Y2BY_$;y0(Q}R+_sSgxLI3{(6w=U5Vn892sYc{Ir=fJdLfAtPnE&|+u}?r2|K}&XJp(!W-*D>^ zB>TS=NEcddL*RHne%SN;7cb<)f?}jq`oO>fO0=O3zcq#YC*&*u^Lq=jKrm2<2ow}X zBt~h?rk}w?5zxP6(8>S5*g*sfDn^?1mZcq`wVj=k4xK`Or5&5Jpp!w>vW8Bco_^l? zi}l9pk)7U-%Yom?*FRbEBxqFw)|c&n-|a{L;S1Zh6B2QJQlhZSC!4MUHxqkX^ni}I zmv&DE1L~qlxSq{jnoZN&lzYFFD1kwZ$x|FmzOmJbQ*KPZth%&${$PO%T_w5q(doPc zT-^_^ub?cLw;NOcUfk&z<_@XT&C7j;dpdjP`!wChAAmpbk!?61=)t|`rHi3ipbIJ`Tn>5oL@IAA@ z0pkR)H-Dq^pV)pfnGP}!_*MkT$3($|?u*L)LvpaM;r$Zeo>Ou(uS$Wu$HxaB?TVhl znG{D4R6<_bnHF&VD{?lkTt5YF_Ay_@e)f{)?W7!=ar6%CBps{0`A$#&>jUg?yguRa z>(m2&?Fg{G!fQRnEp$;?3OFy4e>M1iiSh%^_W}EPQV+8rJ~EkYp+FDQ=ac(42Kz6K zuTb9}n!MiRV~zU?qh5@ae{z{SV=W)*nL9_fH(QTh;o1Lk{tZqKe&j8Dq|JRgaQq9r zaVvN$iteE*5`f;$3tcxTegjmo{!1GCN2B_EOMbxuj_lno`$G|B5!tgJn;kz+VB%`% z1m6@h}>O9yoDFyMg$*-nKOE;^Qf^Bkv#yf!usbJ20w)gwgQAbm^tBW$V_{Kk0aCm(9mDv->5n zI!Dey3IY%Tf8oJ=Kerv{PT-eo;KPEow<;5*DO8QyixuRDdyGvqNYP%N1LvZlTa1E3 ziG7~MKRETQI-oKOe=?Nj$ka>tVymb>UBdU-N4yHP=ksA9xWd6dLKI$fbrbo~Av-qr z!&ddT!B54$KoV`g$N3T1W-nsaS4USAd%Ks)Fx(ITU`B&M1L6BMkv7;u2azwr8jdy} zlYAsBF4jN#+Zor;W8fePow{{sfjU-CuhWO8Z-(V8YSYyHD^zH70;#R$;!opgW8(I< zOPO;Wk+NCQ=X&}In-?3v6&_2OO?(+G9=bvEh>}JnXm)FN!i@Vr2B|)k(O=|9x869v3 zZ*aYqugVSJh{IcEvNV#*xc!k72JyM=nQvBYF?N5G!EmL&bzQM)(u@~U-3D3I(BADg zW5{SbIU8d%o4*P<+%Lh}$n&;$3u)+{7*7R2b%!xxwK>RA=JNr0FbPj4d;KwaD^##VJcVB%!N-4@v z4JaI)J`26M!w&6#6W77_`Mnu8{*nSX98v00hKXjzJE{`iHM63hL7>?)qRrjAj)MB^ zSJ`bjkB^474m=4zd^RxoQl!zdt0ojg!n2Jll7&&TEtwt;LUbFIQ;nf1Q469F3&bfj zyIPy4JXo^0i+6wRBC%7;i~deYuw2-Q5Yjr^XmqW6b0YapqQqZCsD$rL{@*lzc5tnz^`lJx>BMuHHll0qPw2>ZAZ^ug2{anaD_4o_AsMw zSIhkvBSm!yeY%HYFgD|%%hwO+spmjoVyT&+4f*~K;yr)*?nmt2Tl?jk9HQvsKK@E- zoS|#0U`lxoTMZ{&Kcg^lX)9!&>CsqCCe^`)^dJ@-?4+k@`n!7{c~iJjd2!&ZTjb8) zDK06qUyBjr{<`uqLc;wr`V!{dQIgPC&wvzWYM=dr;G|YgpEN*7@8A^xg8yp^9o`mk zKT(xqDD$GNZRO6i;Ie{D_0RHxF4wR5I%aCxsR}r74+v@=$if82qe>U{sT>3Bi1VMq zWe*GTPFFMNq3%zjz`%M_hCN3LgNAAxb9GOf3BuW!d zb=EO(-x@0`ctI^WwzJ=WeLr~?HSlh$1%X1P#nVypPpFtoc>%UFibs`@D3$b_0(lO# zl1!s=7FjkGHRwAQxp#{9jEKZr{G_jpZRTaI$I=4xj7sfkcD0yFwq-oFRaJ|{yuC~D zlp%TZjptX8R^PH>8^s4j#>2E-w zm-mP&?2>Sj{z$lf{4u&!56!dqzs9ik0J!4 zLOdxKy@NsOp^}wB`hm}TL~(9u0vf)<`q4gBvS~??v5#f(c9_jn`;nB7EGjk2I@DS? zpGmFBnn|t7nuQCH2P@m6T*JIY)w=RQt+QgK5<$c*vob0+ z!xb&2L(na&Qled(g7ZSIMM%%GGR8WofF0Hpw%I|q@ahZ({>f|iz0gU;FY-dxEujM| zmO|x_{md$1$)s^Zy=7Wef7xci>Fu$?EZ+m)G=@on7gBbjP~t>RbbBMX7)}*15KdURiD0 zwzpv7g zj`FR!rJf$UuFFx4<=EI(c)Km^%0##lH~K^Yuc?M1KDWX~Z7j>G^FR2}f8STVA*%%2 zrBMO3IBIj1PB7XjNJK+1C*D?=H8Lmkd1@;`>Y?LtsW>J*`7ln z1wkTrKiOjHqFljWz=WAT;Xs1NuIDRRYzmWvw<w#q(z9i|1ao1cYVSE1$I#YBsTB-5PtHYOYcH)pDtbsxX|VKBF1h+1f8=)@^%2yfjL4JDRvIMMvdSX8}j(-)4JQ}%9T>K z+0<%O-HvZ}o?P=^;({y zK_!igTJ2n+VF2j`MJb${MM(CT2V0y!gRE>hNjfU!rW6(5hp!~zA651r687bav8qZ2 zJi=uq72$5dZ6ccL`ooIqa493=&nh zm~@QYd`tTz9QoDo%8qEky|rsZdr$I6L#s`^uwcj?_U zIE5j-lqz`s(r2c1V5LHmMkAN}gN4)f`OJO`v>0Oq@!!I)fF_W+iyNC(IV7wP)%d zdwYk@7Tnx9d#C7}vgu3hSRi)K@I8WVO9~w7dk2F)lK(!F@P+C>oUWU@lm#m1U!=ZUk<@aKVyLJhO7)l7RA9G=LW2UFsPhG%Z9h>qxa8pY5r+23h2HZpo~Ir#_eR9DD_c%J2F08koTdHdyhZH zwrw0_x{6Nu_{pg^PT{x#ggAlD7JE1{(4LP@(N*&_%0H20ImH)zzm3Xx_>@Y?k|Tz4tjOk^m%_qQxKXU28boy zUpw=*Sr^2z39yTs1FmD5vK{75nWS%0T1|RAM}DyWJ@Ht){0H&j4>qTmSk5IIRsYV| z@4;%FdA$T2jsTK*(|f2_*cj}b|5>Qzl7}^%mf=X@l77H1@bhb`sbvKaehElV#xC5C zbPf9ckvat`4E(-CXK-`CZQH3<2E6d+wP<7{cqtqt<;{kSHnv8m9otWOPHhf7TWu`J z{fjHo_DRj$7|DJ#E&IUzu+mBuvkrB<;VP#$(jEBWC|Z{|W8=X7L)-+ZXqhaI*fq)x?pU9A za%;Z^SX|E;!&UQjyN5${0bqma72CVU(T(L=d;>|0&hZ+488VE_mV$ns;iSb z?7J<-=QwYmkmZ{ppF<28u2J_+*l8*RThRKYAgK(s#AN-tQb!c=+edw)rh5`R87Uvg zbORCc2m7tn3$4`tt%TtdnG1*Ak6v0PMe;O2Jrb+`@K{ zlz)jlLsPV#V&ntV*&>mv3CL%KGL0vF(}D5aNEvf6;S5iqQ!U}nR^kqN3k8Jox~}AFR}(ciu}ceIco02iJFKKxAgFu zCuuHgo{QrF+|p5F%<2Es)7H)xIzrkvOQ-7ZPC>t6p!p*poECR%?63$_+|f#of*U`? z89LX_oNy_RJX!G4l_1EK$hif%@cL;da?Lyj?+TtL1NqAPj>Ayc2}I6VK{1t)*`u2Y zO|uL_XL~@iKUze7nLS_|qn)upY>OQv@V`(&zR+OaC?e@grejlG>cIV11ZhxpIw%dSbA(1ef5^xl`MLvP)206RS zLMm$lU`?tje(gJz<(HYji#8WB|KrVyo9Ln#@lLxMl$%sqS>=U5YS||;z1KuEiq`?+ z@09CFH#X$pa?8!E)Xi`|G3v$ND2iIq&ouV_H@R%44Azs#G`G&%5fNTfC%;t@wfF-K zy;9#AtVB$;ILtEjIcxY_JX_(zJi?R1a|Qbt@LLsD!`$%zCm1vDdxN1Xf6Lk~*{z-o zyuP_y(n8-6MS03Sa}ib-$d24Ti9r5Cd{WB>>4QQb;*!$+vb%U1a!&c!JWTT?uLMg6 z;!rQWf#dtqT_0k_grRS1^KM)I&h83o{9h?9t=fNSYyP z0G)!S!rpr3rFcD?zdMn_7L*%5=CCu(UuBwP_GD}OiX95a6?kZ25H_Zzr;k_>lvOHF zONt&Cmsi!X3aq$@d>t-kpVPRd@%QZ-8jz{oUPq^OFG5uOte0$Y$&&B%DHls9dFYFp zUY#>1H56e1nKKgaJJTBT7+-K+N?osS0G##7)dji${N0Ndsp=7_Rh26Fw;bnV(`kPl z;WMVpY88KMxp}JIDEqKv(jx&vd72+I0oK)M#n0)S?Ne zKBz}-9D-|JsBbyQ;6 zy#@2hV_bk0jhkO-1T`yHmvz2dU-~3=ei@)p_I$dB^}iq#ZNr`H=r5o3^_Y`^?-O{I z=CkJ_Vp_-RXEZDmco9sIzvo5$$XDEHz9DhP{={gX>?O<0rS04j6>@+Y^b z&FOi??EWwq|5)vIEl!F3Q{UgXB7Zo98!RoHiJw-4mN+c@gK(hk3Q{Q>j}N75uzjZv zsx98)dL#?cm+Ji9tn!sC-x+lV5n?RWS(g9Wi$zj3RY!UP9nW&P#3dsUD&77bRQLk* zj|V2}l%s38XArzKsNLE+4^TQAH-|}pNrph0=Yd#(`Ye@CrP=>t|lGjGi(fgTW8AQ&yXlvb% z-m)NUU8FX*Gi?c}NT?@fqo|*&@Vh*RprqxIT6dUdDKz;K#Qm3aiV|XTmxfMF+-C>k zX=fJv-z|BFm*MujU>TA6U?@|MEsGH7;5F?>JLFYuX+V3ODVW zHxdKrO>B)^T&}pi{-ZfNnR+%SXMhc?Cld@PCt`w75*o-f6=sf~CIt&>Wz6uBB9Jv7 z$$+l%L0+P^-ui)whS@A8l=@S&LS|WAN2hIF>>JTk)~M-V>h}C6%5-RkQu%rC_p@gw z?PI(9CCBF)c#`dNt)+jzi5Z6n8o+V~3!tbT7KWyf<{XDMr*-bb;T`{(pmA&1RT=A<$+txCaG=E5=!4U@YU@Z?#VRGxhVhAMwz9u{J;(erP7=)kVF zab7+<0zH~PiX(lx&IOMX^MvWxw^VanE(Nt}e%O<3lh)CgZbj;}b+8V<9SQT!2hbe? zAH6aLo7rxadW%Pq9YzOdZ#KlP-<@u-0o2+bDp~8FX7=Y>4LsT7Xn!MTFt`pu(e0<< z<=w~#)PKAS8K|cxaC2E4Y@&`+zqdq>``|r4QW6}9|6aK72{EFe9f0Cc%Dp}?XXCKZ z6tTH#pNY6|3dU!MzZIsS{qEq_2Mm1<%Xfh>9L<|yztU||?vYdI%bypULvUmPfdkMd zdnqXT!*# ze52(92aN$_HZ09cccSf{&dTuB4Xh~&1)ixe%W*070GZ4Z*~$F{SiqsQE<%0~-6sL0>x>YmJALkHh( z@Sv63=Jpx(RCw61ckg-Tb4@E&YLOr^or(r&H2kJTuz z37CF_0G)T7+rd)>RZ6sb1WLhdN!PdO%F4PR6UkW2wbkxm)bQmZxm-n8D-~_$wz?64 z8<`7W`-t=h2q#aX_wJX(c%wVSQRI8`eciVjdbAl>$bzvLN<7F{DTfxAR}tr5p(FeF9cc(?lkkN z2uLFson>%6IXJgeHpt@T2}^17eo;T%kB zUC2?bxJJKJ@h?p<&iW)p{veZFybT94ULS+DhOyE{gtL1Cyw8v%&@K|+`2w%+S1i+M z!`$%~g*(f;BMryuR3SiwrkhVaC!%$I5}S_L_}L~V><}PDq&Yj}v5bA2y7mKopgUp1 z&o*7N*CN#R*pST872X)=OxUHH1E3d=!v;>Ai;&mBfvX!o*L78#n1;4qwj}1j*DyvdP3=K0-5ZEn;)(=QS z1Z4gIjPK?)qMDvU`D~D86dESi>nWCsyh%(`MxK`MRPwWM)XeEvW|FjOiU+alXRZqM z!plnKVFasE>esk`U-yn0q@3R#=I>BE|Kj@du3{1dKp-Px62+|c$&90Ar&}#ncMuT& z^9Dx;&2!sRo`Z|9Ptde0}8cJauNw>wdCzlb$9VXqc{%g0he&oqHA#ae0#n z08%N!5k4whM{+nvbr@@0`eZQ-n|3G;lX6%Zy`Kl;6i1QxL1#5lKPP@*8N)gWZBry# zzW7J(a%j!`?u1(Za%GxtsKSnr%yTB+&tZeLN%fLf7$2|R@>T=Uo!Qo&h?-?~0SSc~ zA`NuxHVvam8w46XYV3*%H|RTYA4o2FKo;8+99bW7R*a+((u5<+rZBg3mgFzA;!sRr zkRLH!vlS?D(977ZUAy*(&mK2+ZRiDQm%@nNEk1Vb$+2>~Y#46)A2^LMM-mPVXBSkC zwm~{(UijHDPXYd42Of7m%-3Oj%=}|@h=XwCn>2%{x5d$jfJK7# zZ_S^l;7Bl5(j5{(>K@J-@gTBih;C-I#I7ASVSf?x2mE&Gtr9ljpvnIOmOyF0B;tTb z>~1Ef=q4W!Ca3s)86St&Wqbmkr0bB*!^-#+{y@g3k=TD0pP}?Mp|nbWsK=9tHoV~v zW&9C7C*$)h_WSUGj6a5d%lH#~LBgLh!q0zXd=X!g@nw94T(FFt;JiB)~7UpQh@Q=^P;<2w?*E92kc3vLcjRFd%@XqE6ix*UVLusE;yPd1qM zsUhAzK$!70y^9RT;QKNhg+~nrV$6Fa{7}Y!;lCyPNXC!x6W;ez3YL@4m^O1}bu|S~ z8IR*h`B)rfz$FRJ=E8whl%-F;!fLW3vZ>1IpHpv{unpV_ZK`wE1( z1WztZ;E8W&WKo%}ngx}M>)V#M)zviA(D9My^=X+H!r5u6>@=BNx*Sdx9~%<)aAf}s zJ6RxEJsiZSim4)NX{cPfyt2Nzu97oP_kxrq{X^X>EiF%>KdLw#c|L!$VQnpyjjhd< zEj5j8@$YeVu~=MBOPA{Rr#-s%birGbPb4@4i)JInEG`@sx^Y#Wi0UQ%1y_mhB&mXF zP{MR@Ih;TlfWYk7TWjiTs@rPF1=w9Jm9@3vb7!^&bvHG}#p7zBNh=ZK#cCuP4ACw1 zt`gODrm*8+M2SS3d_I5v(&XZAK%%y45hpKknIH-&J1eMZHT#H+h8nun2_^D`hCP1h zP*1|K?{I03aFX$c8GQ&NWeVbPI!wUrj&qbL*i6m|w)sONsoQ9-G^{y}wHI7A_~K-^fY4c&DO5(58Aq^f!q0Caxt!f0O9P6Ax6(r3g(WitV3XFJqXs4ePBBX5_R^2;GoWV5HhHf4?-q&SqCAT zmgYPxcGyPk$>5;&9O9=IMuQtBz(Rs8f--1;GocY?K?{G(gI3s1ShBV^+zPje^|#0Q zk|xod6~KCP$pNsMr`4ClU|0-tx6IiG!wDqCV8m(PrTJN+YGXqRD_X|ob3Ns z(O@d-$dTidQh$1x1K&xGPu5$B|G&<93i>3B|aj^t+6r-MJL&zDdz(Iot&+-~f5# zL*RoSf&y0Dz znkavcnnuEUQyFY9RlxHkw|6%S~^=CNscha~@n_ zE`ux0b#Rq=1$^7Q0j@T0g=@@vVGG59Yt4Uv>&$Xd0#@BU7&q!c>M} z3gJkE6pQ?APv@*j=Pa8!lQ`2eXfc;f8-7L9eocwr8>H3Wq_CQuU^N>ar}Tf6S$l$X zuCdxE^a&!Pb36;qc#=tPd*dEPKc?T4vHpR^e@YQxxK8{Yfs0uN^*%-Cnnno6phCPw zLi~+{c!&0RcMu^sw`L)phG)_Uk)a78Qe=8F3h_@8;(Z!_cp@R<$MLL}oF>AL$e7Yd zk};?xACn}XkR-=xv(E;RgsXo8mgIT(u}0jykd&8An%h!Bw`EccCT|1F!xS2dDr|@0 zq})^XL2(SGJPsul(iqz_u$8b%E9@lbsr#U8CyXk!$^5cuCB1G69ES23Of4O^4IKO6 z^j%~;F`y7~M(G$^49+YaW9Qk!aF!f{=`ol=coT`v+4q8zx|#R!s)~PIU>`%N{;Uee zE*O_)mTAteaFmX5#0k$CV?6?M5$F`=alNoP2J@%e>8&#H#zjn3;?2qap(0~U#i<9A9 zEJ6pKgqe6Uj>J=NCQiZmSb{6C6ua?M+)VS=V7aiTt-^xL@DqQkDIHYXT?;RepR$t! zmNgjha}jy1yT}5`qT+T(qZi>NHhdbr46m?N(&$zAIbRSOy#~Kv3#QR8g;UAJ3q*Zu zBT4<_VqT{!^dkAFH^>>=;kOhlenTS%-PgP5Z3lTwzDSqAF!>9ZE5Yw1cvFJkFC^#j zCGFsl;Eyzv;7@;~wm(bomjniw1pKe1Ru{FFOlviDp8=u$^%KbWl00-)`n8Dk`WBrE zU9>qAu|I_dzJ17lL(}e+=?T&m)w1{|nOfnq_zS(H-3N7|qK%ifbNiRJfEPltww+5) zkN(`KKTp#0p7vm&{xtJbaunQprrWJ0h25O|(KBwv<^q5EJp>EMYwW_&gJW99_4LDq zchch$#dO%mhQhWPv9C*yEvTlWz9K!oZ7}?)>G7rX_=#-zwEk&wg@wp0>flp61oeza zqsL*<7)uNqc%1b2>tQ?{#59ob49LPWVI-af6L2~uy=PORI}@(OS@0d43tMp>9K}jF zhA#L4){uW8)xtaIhWBwHj>38zi%nRF%~*>q1X)a@c3gu?aXp@km*9E0i!SHG=)otj z6Mu$Yd>y;usV6=G`68vX5C<>l3Fkw7BjhNfa6Q3pq4Hz9xNJ6FNI?CBOJxKh+u@h!pQ{U)N_wPLpu!`s-?%5(r-!w6aBdD zAX#>S#k{*9-)E!rGT#;&cPHc&P-j_jXMA#;bq9;E z6k6~}2;vXPDLe-c;*W(kN;L5j+Sq?XS=bIC+8#9Pu3(SQkXFOzK_(rPG#_CsJrn2| zGoOtPEojw`Z3AhA>w>d#M$G0s`v{zi&~Oya>o_$A-^kzGP2D%OZn-tTXS0_EE5zUs zc#@@^c6Kj<8DD}-d^x3%Jxk}-Os?=9!EGivKpSN&rW_7BcAb$k^y}s*DSdw&I%D8X z-Z-spoStHh4vi=gI7&&LvFMC}&scO$|4)ieJ0-92KT13(R1L81C@38xpzAR7>;v@> ztlSSy4YVo+RHuP@Q$X`HP%s5lse#T<0afKj4nuT5$Rd9A?T4(~)dJvpSQsr!Fp1nc z8}4v&Nhj0woeA@yp053JsD@;2a6t%az=9bpG0K#8bFcZf)99$PY4wo^=HRdh=Hl=O zj=;PK<<_HII2y-BFdqw+;W!+>j56^JVmAw=4)l{_=NnBqxdYr76#aR4IrskqP)h>@ z3IG5I2msPyDp7GM09^)`KP3ZFfB8=nQ4szf-FC~eavySd0@89-5WGO{BE>?L1q?C9 zEXxXu+g-A4G5$-&A2^a?BpQD9k220I)fB8I26mG-GjF~(-^}dn`~Kt0HvmIeDu;x7 z3TeYKuFH6!pb-ywc_ibp0vRI;Ax0HE!5Ew4tWEGT$>vlTO$>O%ai+s)e`PrnMjOkx zj9CF`A+?wiP*XdmGp`%(mOt#6WF{QP^rme+lQA;_lS$XxjBQvSY$Im4=^fWGoops% z+NP29+_Y(I>5gUScI;P_fj2`P#SupYLfUeCDNa;j?PX$ldM-XAAa|@zCRgH`z|^bD zpxD*z9OpX|iC#uLY1-YOe`ZuAEyrBUrPobwSzotlNA`(QZv|E&$!&dCkJ-Aj8Pl?! z^1d8V7Jj0x|f4I!*B4|Ieskp|| ze_h2>%*jXyj9-vcMLXtIL=Y8dI$!Wq&ayX5kKMg0?x0`BGZjfJs8~dbwdX2cpkGBF zFHLAs(aK93S_CT3_D3LS*p%P--lo>KDOoCg@c&B@7%u+E{%<-`Y7Wn)LS)tFK{OAU z+OZe|Ly}L!htZy#J+xbg&^(I$%ZCO}g*tiqSLX!~oq!jdbBj6V2RB zfMjbywy~^k;Rzr_5aqamn-I7~)@_pfCFOzpK7E((r!k?GBMcxwFCcgKv>hR|fB%o;GP*f+^!S)w+M{VH zB$A?n8PjvUzLFIU0GBnB@pBuO(0mFV zmtcJg27j$t34GMW^?z^n`0Z|fxt1)jgh04+fPn}R0|L2#&|D@V7_`M@^CMZt=4L_^=PdpeQ$ohJ+qmINL#mhl}+N^kNqmngcgrHy1rj;^ShYf}0#L9{t?iYsUZvxx0@) z&*38Ez%WJ>?6<+wJiM8|wM8@ihltg4-N; zDSuvOUfS@?v)mfw8DHla-*CXCcsaMe=>Q8}!Nrxn;t63G&ct01z*6)8b<&*Z>Ipghk z01vXl4?D=5kJ#{#11`iz*`kl}s)xDteFq>OvEk!3e8Pr5u;G);xP^-!D)^KGkAIR9 zR9wNukGS};0|xLu1)pXfKjGpTJ6Y*j8$QR@dS1a7tV`c8HW+`3KeOY{@fU1|Us{*G zp!Zvs{&Ld6)8D#uvUTa7%;T?*Ji5`k^e}f!I%r*b*LME7*}8OZ;gh%QdbM4_Un%$^ zg4*1t1y*^yo7xBZH2SO$1hi0%-+vPhYheUOYkkv-b?qzb+N%(-79q1H7zjr^fk=nP z-_P`I4Rv)Lbx{(R@!7VfzP)B;U2U{q)jOh}Ibkj2^Y}ZoP}mm?tga`Z-Q7bv4Zm&8 z1Vi0rUA_Uox6B(1X=S~dC)^*>!ewo~ts2eGs&8sanvp5>O!#hVkv$D{O)J`0vi$n@ zn)+J)%v{;rP?tci%J25(b#=8X>JTiO_04hWlKVY@?y|N>$QS6QwKKiJKqM6Ow*-BG z2yOBBGvoSoYr)fMs1uSzV-v)V&mj&L>hY6aV-g7J0}-uT zW22ZO(u1m!<>(6rNQQ8k=GVNWcCY5`@dSKckH0MHc=OiHpPuN1EPraaC%C1-vtIL) zIJg$Uy4V-+MV26#ii$gEshVIHEtTEi3usOKz3a75yJx*$?s$+`cX-IV=-cQtM|yn3 zXa4^|FjlK8iJ+SKuuP;euyH)39WEv-Th z(!8FI#%9`2R?`yc(SLe1Hb@F}JNJ`pIU9TdkH0z?>Y_8tX9K|&3PwF*a;n>GAaboe zqbUkf-Pmne)Sl87}3oBmIL<@Bi+la4E8U$h7sQ#MC z%wqh>K4HJ6ZPpTca+#tz)V9SJ@%9+}63(||#h$HCGzd)H<$vU{uC)74XW5&y<*fGc zZNdkqKjNpYXp~;0^yxOCqd1ziNR_T+`yfpDuO=jQ6Habhk4O5p8uWKbiNZdXHZKv~ zj9%VKlGVGZ(bFe=Sb9=7Uu2*q z==XVPf2J4J7pHnkDiv?KFVLmYmgf1wiTv6kKJO;tVkRyGgV`y|v9iQ|wDXu9P9@JT z8iiPHj*ZwG_j+DYak|UP7LHN4ibfJdnN;cbge!?j{HB{#MV60j}do+Giz z#O8p9A>SJ9%?u|~nTyu)aJN+VYU5`N^*w@&wiE zzLJ>DLouO=t&qSXqDQoXB{bd+I$^f09Dwtx0|Lft+(c-HmCto-B5QD8qE=Ol=V zqDzuTHLsV*%ep4}qA@@gU+nc8QGvb9*B$UgD8xgkOK+U2_2Ed!LRv6^<`aA*6U)amArLW!B6AT0kHRWV!oR8bHol|c-|-(RzKj2$6BQGr%75S2 z5J;E0Duh54euN*ZunTt6O|J?Q&QXP#^bxF-u)-4*1E@j~HbvM~ z;Sd?BP(`LHvP8BD_rhJO$iZnUJb%EgTxtm?6*wJdsA3EpMkxQ{2u6{HD)NLYYUxa$TT^NvfDE3TdoO6;oIOq`XPAZBfNk_^}EP zF)TPo#v>|xk5!l^rmJu_wcs8u?&IQqxJwZ;DDg?2Rpw1nuoIplOq#1z~tAfehXGZ9Q}*RdE`gtO!D}!ckE(Dv(&p zrd-B*oRbP#D(2%v72P;N6@OK*n=Y(rHMI*D%$=)>YEhHooT)jnB5LU%i8@6rSH%jk zl2xbhrtAwsDZy}roZfK|6U_=~4qw?XPc>~8e_32|Lb7ON;bAQ@p{Xnc$hO z@_GZd$+1!cpcHzUNosU=RC~fcFS%22lMDfuCtUt|FHzb#Ac>KTAmBYvWpENR-q^$- zA~DIaco=Ev>{Jum#;P;cRW-D%tm3GnK5^+}JeFx|68~{U>DaR%?zq}2Ah_1^m z!O*6%USHT7TYiJDyFVnIq0tlYNUNWkWS%cDmGeZypZI01v5uk^!ptt+vB6J?Sn`jk|On-fWeoAnvWWqQh90~S~ zHmD{Ja=@F&Nsr@~2N_#(6D8m-)<3C(+=zo}0yKsP3aFRUj!-n?qli}yJCl6c;K7l7 zbU0;@&6-VFC1FCOJ=o$qSC7GIkxsojgPbP%*hvynPb&w3TKw=$Ct#>ejiN_B#aN2; z1l1miW6FxrvVXNvx<}6hr;j-PD}y25R#MU9ukusy+$+)BT0@6{A2er<#EUc&i1E}B zbRD!+4DktUr;p?|f@)FHX*B?a9AGtjKj9PS_cii0O6zLZ&Lys!M|qJO;qtY$C#KDb zNXaI$w$UEd5eVn8P;K&ZqeE#N7d^47@dv|NIMUqJ#eXSVEx#3v8zoL52V@tKw}&m< zzh2(0$*2~8o?)U%$B$mfha^9pesBED)Y9xM~&a~=LzG{ ziy>;I@%m)D+nk~7CY7-UJyNR^$c(LDV%AqL~=L~-8 zasP3`gv9KWqLEAd_j$z~Fa;LDjg%|8U;^9%-+!Uh@>cp1u!O#EOZcv#@9!pjSJC&5 zgzv@leLL)oecu5NPL$-o9`_hEWeu{v+oU)j)KBKY zA(pR~3`1_Ewe%o3)nOPj40)x);Hp$g9)E(dLojY9j4QRO{BhYv`n)V~5ZuEsp|oH- z*oPp04_Jp_;xH7Hx~-=2VVG3vR%n<;3l73$=aeCsItWfD6SKa&)xx#gYArts8KqqFr{!TNK{zqtillHnrGJ#C z7&4lrj5_;S$?Rt_?Q8@RH+wr?QL3|$)6By#M;60ylCx~%Fw7l>c|$;xPQI#wG?_0O z4w`A>O<3Tv4|-jW!R}Kt*f*lx74dP$U>=;Z$$Qlxc}-;|+3wUKsN48FP&ZBHoGmu(8j07#HR-ZETguE&bAkFL4$FyfqyWo8y0{M zmcvG90zb6FIdBGqp$8%mgnkIYX4nb?gcMuh>u^3?1sA|ga3SH$#e@i#&`H|{&%&kf zOSlYPhC%oDFh7Oa6= zaTV;q)8TeJ6Lw+NMc5YUl2m~fC5j$PY6$f zv^&obs@h0aqmMXFBCVbSC!UAv;CXlf?6?g(;HT7b;Eg2l&j_zG@PAR#=jX&PljQq^ z_TV|lA}N0jzoJ$)$@(n3NMAW5@e}YHYUMKO7>LBJm*BUIQq+1Gen%L`t=|*Anq=z_ z@CqRvxBdu!0t;BhD}>jtlKsYs=V_;3BYC$9zb-wzPAs2-F`vN#1^%MI8>oMYK zQ{YW%D)1I6@HYkC)_;dV$j*08`VB)&CI-|HmDLqDJ&K#8z(WJoN0jf=( z!ej;hQEmDh&ZAm^cj@;N_|h?$e7uDiuHS?A4Y)Q#4jBx@YjoJ!pAs*ZD38JF{m>pe zgt6neU=>{*9fT{xu%^O7?K6zFmD-&~TZv+jZ3x!tU__&58h@jXC@^IdyKDqV83ah` zAz0mc2+r!9<+51(gWcm*y>?j!>GuG9`2c*SGRvJ6CsPbES-X@$`qjyXVI6B>a%Z*a z)Mpd5ovDg>DZ)UPjc0WYa??(;Jj^`XogHWH(8*;*ph&+l-UL@!#u8?C_UKC_b0?%a zG445O5Ovmgm4C2r7}h5;Igb9`L^`WMCu^5=kbaZ)$>Ppw)7Q-01v^eq9fI2vQztjg z9THb3_XMnNh-r1_wnguU)3`CKnD2vJQ-#yzWP-yxVFuSOXL;oq_n0HFx-!q5cN84% zJjVU?+nl)P*o#cDH;UF2{}oYrgwFWmkWB}{O}*0yzkkXIKNitRUqKN~3&k{@gjpJ) zR)ElEfUxQ|!lt7Vi(Vv5dI_h(%UBG*$9eDycEYQ85xj=C!RvSw-oSV0@cj$kCg6ET z6v4Zq8QvGY@PW7iJ`}gYCt^2zDjtN-#bG!mo}w7~IYjYu6ojUqi&xMl(ewz6p}GC= z0pWeFAb$jcf5C^;_Z&rF|E9h?@es_0j|e%P#H&o=YA(2m@?#nEP7{xjoZlg>%V_*l zqO-svu?s$6(Ks!Mfc z?0%~pmgea z>2NdY*!)yF+&s8mx{o5=Vlh~cQGRAMOn+wLJ8ecaS^5-kMEm$+BioWA9wUwkq=0Bc zyJ55I$Th9h_i;}4#Gaf&e}y^6t~V^4fH=D*UbfMx1&lmI5AjPUTKtM6qQ*qUKMWg6 z$q@80SU`Wn(4CIL$VwQxsMBTU+oT}caGCj+(2GNQV-;FHGimkcR7-TKY{Y<%r+tSMwGgIXr?g?GufUZ8-=Nx+vWt&W&Q zex|3ebE)Q;R(9UQ_r_%9L>O>MLVrqWji!{CgSp1+g;euu<{{X)H)U>(oI6$@kI8B# z&whc|#4+UGI+t}s!&H;=DMuY=gSRva!JHlFsBd zE#t*pIM!Hfk+B%(owoe)RH+*im?|-*N=)i;bQ*O=9Yn+4p2LhLmQymjsec41K8xEs zi^s8*&SyJ8@M_7qP@fayoFmUJ%9c~w4*7q5#u{aYbu6@oIaSoo1mjp@#>vNt#^fc2 zrq+_u{a}uZ<=|fY3Roz{k1K19iDZ?pC9G@#!Hkf+zD*|NbxtQi)T59`mE$N>aWw?? zU2uxtQ55T#RKm?+@H=~*rhj3eY(A*Ja!|q@d+;D$@r!>fDFNt(@z@2$s6j1uLj(E} zlsrA*;g-SK zspOu`dok{G@?{OLB7gHd(wG$` zmtYa+#$c_&07qd;-ML#5_=y-lL9nlbOgRC+etkM+{T=|C9^Bd zZu8*^i>bouvbrogA>VCwS<5RGw{jHh^4ZI~%}SBRp9z@Gt$#Ehf`LwcmfBh{*v<8M zM*USwLC>IL;;CqdL5bTsdTlW-Tzr*{2R*44h9< zros{%dfA{$#=}Sf$~yV(DhU40!UghrS_ZSRg045S+{KANAx1tY=5NZ#a3S&^?b!H# zgC(a5-lIz}6@M6MKT?hloI27mbE*g!D~-t~8@^*NDLn!g4#Pzc9*2QF#=wn>(yV^* z39L>VxH$G`{0yH*`uWxnd~F{TIWIW~+xEf4LvU$l9$a=1zCHxsH~^RLgATpxn+aWK z=v`MPbam=oS0{9p>s{9-bgk99u21MXQ}4PVp=&;G1b-$xIoFX+%jq6l2~(gR=EEvV zzrF-(p#gfK5iWuzIyk3E*Ij~3WxY&7KruOS6&)yofNHD>V=dN&aXGFC<4UZr#Z}l4 zrs$?|EjGc;L|#H0brapp+n2d%K?_}#cJh#WWPLX7mGuA~<@!HRO9KQ7000OG0McP9 zQM@El5(c6d000Uvm+{O98<#NT0uq~Ukqk^`;>-la{?=O2xU^Plt>V^-rD$s_qJ+3nDy>#aYt>e3 ztJS)-R$Fbg>aSM*@7(uh$s|Gh$8hg?_nmvTd+u3YeEie<_Y=_^o38O}FI~oS+&tHR zLyNdp;}bQW=Oq^}kmr*;d@?T-Xpxr}bG<-Iycil}X!LRuFO^}LmzQ(145tXnsWP-^ zyuwR9Zk6RW53l4e$nq+AY?qDj1Za-M2Y?F`T+d}p_fvy)Rwu_W= zWVpf0m%>UIx@EXghMP3LS@3U>;X57}`@3$wRgAtvWHe zddpmQExKd7{M_JL^jH!&I9vUHxE8%|>*EJ5DvY`o?H~HWn-@Y*3DgA6Nz^n%!_n9Rrku6)OPf|D5%l(!rlvJb8#X>cy-^pgKCEU0Y$OY>fJt5fBSUV<97w2qbV`*=FnQjYewP((i%p zZ8Z8~Mlg^tx|sZ{`Xh-@udyZ+4|Rr(`bZ>dB0{2)46)ODK*5QBl`!-w%0Ot2B#drD z4%~H8C=yC6WU^OQt%2|j(JtWTw}c`_YkzO25$gzahLu&KLHJn!-iBvu(UIs0f%UxM zO7uk|P#|7ogpD9<)@uZN0+A4Q*Q^YMqluP4Z{PB0xJ$8jbj1SaFr8hQHrBFOpsyzs zjKi4OKGl#U-VU{YjRoto->-~CH-YDfea(&Ff`e@9#C6#M#-ge-(PQ))Vz?~q4q1n6 z1sg+=KzK2!`3U5*?B#a)@LdK9~(N}PoPg-OPqv~DjpJvi!(!lwJPp^4|#)|R|NXh!E1C-;~!}J zLqv9s@6`B58vj`1yC8hGkyxVKe|%-t7#Be7o(MqM5dJm81p-(f#yJz)9g8OK%H(W} zjW{5qBNm9nH%4QyBAL&+M2d{Zc%Lk^7?JKo4``W>YeQY~r1wO_MjF>Ej~&sb zu5O%w7KD2kv2`$%;s~cpgrJuz9yW|EKyaCYil;=wTf4J9Q={8plm5Ogcx1!yDCg`G0Md(pfbD&OAXLDSi1RfEg>mWV_qMrN zU9fXZZCyP^sJjPb@=O)diWkFOGFdi6`-L4s5&U9u)=L%iLg7$i>&j?26vRPJscf#w zcKd8Bakx;V%fQ(ehvJ#^+7mcwP;r0??p=NsJ5dhg$8x6pcsBaP$}y0YG29@(#!N89 zl~tpEr5JZSh2g6liI5~xZ$@+9Fe2%AJ|o*8fpn6nY3d3kFokRz$ZLOJjx+hS|KzH=0e;ieMe)wZ`G0Oehd*27*11da=!EJmQ|BVNoW38PkTDudP$XOwnVw;jI@C{-j{oN`jvD zPf3Z8HgoPG5w^Ghqh2Mczd)z7BrTI#Ky&0De!pN z!ZhaO`8WI|+-$Ux zM(3yaX{2eLf6GtnbT1#$=^Jzva<|UE<7ae!7W(k-X|GP-qn$XMkqKGn=eStsKVYD5 z(X~4NQ68V?7j(J~kMwOBu9sndy9_tTaH9-2$#Am_x6rj3{|S}vaOzFraHubCq)tXo z;6)h@>HHG^S>uujH7RnU&ad)oI={|;(fO~!dN;z*XbCpS zkl*0H>HMY)Z^3Q&?=t*@P!he(R551!N^LI^bACt6`8vO&^FL+#zxZ8$o!{esYy7^> zAMl5={J%O+VGknZ2Ax0Rk9Gcp|D&_cxjKJJpXz)V64;1KbQ^=B&BnzD#Mv=PXD{dI z>}HQ{v(r^5BaUfkoHuvoOx@+2h;YQh6BR~fW1}RPk@vGLv)R)c zo0itEZs|bO9+7DAR`s848zm7pkDlB|p|6sdijs(#NV?5dK!xK~R*lkJrtwvWVimm_5tUCOswv(W3WtZkG)oP6IXBHM(AT#yhD3HwG`6{>Hxv)1*l!GV_s5hM ztO!H`>bU0*JD&f4Vym=cmLtiBnH5baF;qX(X}bNqQHsY=>Y>ppA*q4e%!br5Na65P zG(Qr#x&pDyqQgX(HI~3d2yO-!DThOmew5zzs-tsMt``H9#uL%Lv2co|muOc}85&x= zu@!=xW=?2?^3iMHz9u@ND?{fRVH{(w_*yuMOr2=!>JnCejnXoVA0wyWa^Z%Wchnv4 z?^I!FxC^CwPC=S<l`sn(42<(ne!v+LcF4XY=S4kAa7kR}UVc-aG@ zu00ryn@U3zdt4RFy{OGQq5#B#0(gRAAPHf(5@RMIre$OGEn_T?-4o^DBFSeWGuo*( zu|*xHR@vNtZ1#jM)y_-ZRcTo-J4%mi^PH_sYvl9Yh)*1&^m?UZDI=`3n9&yw$ni90 z-jRl$K&;(3yWhacEf{Nk^p>qJ5R2o~6JxY&a7lM4lI-d{iRh|8S12G~>vGhG5@~Vd z2&8?oJ`H#PF1Pw+PgrK;!mV=WjG+2PG-WhKBkyQ`M&3_WxW3B9OfAf1pjI3yj6MMKSEMXf z&u9gIFy5}3m^@!gGa5^2JP9MlSqZM1~G zK+V*SaV@Q;(?~FNQxe)k_oxQ!UfOF)Y5N3!T6nRvzIu@I>Ri)@C|@6>f)g92N9{PK&OP1lPVb!ZU$Z?HoBdA5eKgfZAmTEA z*}F7rc3ZQKHo%hi+rq3tkvBRZwDJe|`Q!EBkECy3722-l1A6M>o_??4PDfYLk zliER*7|(#kH_$i=(0J;E{|9L<8MKr(;{1B3gL-jhQ9ykd&!!muJCFL|g3aGS{Ox>th%TU?(}naa`YQd7E}|EI=wf<}E}_2z^F7?Ak8q1VrEhQ^>U|$w%@gRG zTtV0JRJx9jr|Y?vw(~-|k(bg<+)B6bI@|z}_B{AY54>uS_K^ot*l7qi&<#4tHTa9= zO9I_T_lti4dVn5;R|@nH?Z-ZWenJP}n*#lm9wsNbxC1xpAgnN+8|Y`yKm*5rmrNe? z2uSvj_dhgOqenIR#VHy+b{I6>8a)nBqhGQ{hcxBM@z=+HLK>zMlIWh%(SefO z@iCpDL2C5z=1tH%R6vu798=(KRgXF*Ru{M)qUya=g=e?8=Je%B=(tmGBWDcK@q<)T z>jXU0f?a@5uwV`FEDM$!JlleQJ%Hy}uy+s51$bpG+^kjsI^LdWz0KW2^VDKql`m%? z=*t`Eo}d2!Rj+%1=C7OPb34NW-4pW7+2?>?&AM+@r4`NyTvycU|8ecl25nrMS` zlBjC;k83xvPX@LwSXIKxrw@Ruj5;3rFA}g zZHcd>z_o+c7t=Cd$-w6M<9#JJ&{V%~noq;N3FC*Td24i3_(yXctDKxx@l z!n+Rd^!o;Bg~;Uh3Fi`je~G^sQu<3wIa^0D-acwGH3P0_$mfrt|^~$miNW$ERgV9X}K@<*D=g{h!}G z+_2N6@>L=1hG9^{F%A5rlDpGpsNoPN$1(j$BaJ<3ngWBeRF z&M(m+o0EQR%cCc36X-X#qv%Q7RC>zROuw~-uok6fYzcbSb^-m~b_qRa`yu_owuhd# zy+wbry-P3JKB7O{ZS=C;ORw6?=rwyCy>9QMH|(3}P5aq@^p^cx`iK2OdfWarddGe{ z{nP#<`j`D)!1vSp_Jj0+{YCoFQA8g&{PezKGJP!hf=j6kaxAAOq0xBTI69M_qNk|@ z`*r#)GSehbJD#4QXQ>qX=g{xzIjlW|>?e4oRO)cjA5?8O#r`q<5s;l`+TW(<@zzNv z*7e~|`U@l-#}n-i`YWJ9j@#~}HvkpcoVHT> z8=zua9<+Ot-Xfpv0{$-Y?C+pu8QbX}qB(5&8oiBwHNRvLD?ds;yNhxTV`DLLlHJa! zAG=2HWc>aUDfAOM(f$!l{)n81xtdBpV*^HW>0cVX%h>Ke411M)zFor1#-CD=M(;6y zNXuj|lI7#7u>5zjjAe1{e5^e-S{h8IFK04Sp&n~jfL4WI8bs{rp6@QEj%gFza-Y3^ zuen)&Mk$!qtQE*PD@8m-8&L-_a;>?+L~xlKtT0iR4igHeF2|pDm$o#T~xAlfI#`kB>f2IQoMw(=>h#=rwsB2$Sw1OzzWg_& zS*$W$jxS)34EH88}*834~s-~%pfWZS;!yzde6Ypr4CHBUGt$&;0Fm4G}Ljl z3Isl7h8($^r;xjevv@wf_!KH*nQU&zZI-;;6Sd7j5zWM~Dn7>LAb*U*aL(%RFiGN6 z{^7H{yT>;LQ;I5WVNH&2M`YQN3L-?{js5jX6+roJKB^D;l9Xb?vCs&p#V{9I)0tZ& z-$f4_MUkAwa1KsRI^9AfL8_L`BmYF-WJCDWdQQtP-E#((%`!9ht+zbPT)W`IOm!Ou zT23j>PbVk@-Jf9$68*i3QA1!|SoFtz>u8qd-&{SQNEjrf?I!G? zqqy0~^sYGN5_zjl&)H%dQ0U|8KH&oYcz`#Y+N$-|id8K~ptaOC3Ux%DA7suz7VU{O zb5d&>?87HaF^a7*I@qqMWzQ3KN-gt%%qAnVRXg(_s`TWW=%NgICFQxz^CsD7|7Ib7 zH>cSBTk^^CiD`JbphNN8N>h%*E4HFmx!)iO04_IEPm|&na$hUL3KeFxtFJxp08A!mEx^! zT)dP&l-2rysD~GZ;HuhTJnGUVcCj)~rRYRfwRclfmnAW^@^=wxzqw%!4UQqcY3fbM z_BR2qQ^m@i%em{Wr~{DN-8E~LpFq3Wa)szLZk&sV;ARMe{rY@~ETv>Yqlmv(WACSu z)F~sV6$`;|00dt+?-gq!QEBAtqhKxTYo}cbD4HO-rHFt)V0^m2lu=wYA6S1}8yVz% z8=3jy!Ak0(*Vmyb|DVXub$^GkP7|rq;Rb?C}lr0l&teI#VQESaRWC>BYVDM5R=~Z4M-L!ZM8n z7)lI;4Mke~5jcvLxFMfU)UA2N8QSEN78WXn50aj(FuqkfiNuOPWS}0JdfQ}|Ih$u! zwee2PJ-12b_HsDqj#5=0YU@GY**pseV>1&`@#LY|2xk1MY>#A8ccn9=z5V|MN{J)Z z!!TeVAiUuJH4XA#xqprhxEMI%$B$pTI^Y|ih_hdwrBU?wAI}&dAdrmz?N0ii`(Xbs z&@AQqSCwGDMUbj#J!5oI777&;HdBi-5;+2!BqAOG6<$Uj3~sg0+#(S^V`3l!HmcQ~ zCdi{9s^(|wqH4;8XneeENjZk@xy|F^V(X>5cU|49?Iv2wvFC@cC2PhP598qD^||Ns z&GPxfdpl1lm$DG!?PoZYcS07xbRf6h97V_e!4Z~GsQOHQeWhBP zu*&*OpQcn3&a{i6+PNOAlrvxJbSrDHPr|q4YeiMJ_#|sxeLYRuEo);dz#hId`UZu> z<&xx=xq*IwiF8%HM#r zYz|iq)8B&%^>-1G7!DPYp4;REm%Q4te9hJjp6yZ(Ff)8={A%aCs=_sIIgh*lO>$l7 zmOOAi+dW<(a_%*$WdCNiOoh!vz;6mcdH1p z97o9+iteIV_S2!Ep;-bE*-D?J-qreDx`Mv!|LFDwpV#-oDjhwp*Ch5Ykx{;)Qq05E z@S(crcLJ;!-zUxP$;n^0o#Mx@Ikr7s(jNl(*95pk(@(@n|1cvVOcjjD2$6;|;C6ez zkH9#>4($|JnYrq+p*fn3+5VK=fh9{^HVKgmLX=yW*t0&f`_}>du4ww*gcr5uiPIT_ zYpPUON`o6aq{-Iaxyq~Buj+Vq=HPIw=y7aMFv&phd$d%};;z}=*0`fw0Qa;GHsm4n zo#Vrb{yQ5w`wm%yQCBIIn;LSWYfZ_)onA|0RY66KDY(wecWP`IY}jlPwfSjfcGWo^ z9z+%IkN-;FJAuLiX)syp-vKwo@4ZLLF}UUSL+V=e9c47Us4~J#_RAwg2yyTd)r1U! zc28evfP56vKp|P6(GTlX8ag}i7hBw-FVa~&!vqtaMIq`go2#j?{y7q(LnCbLpjl-)fVSWEAM$^Ao7$J zp9V?)3`{ag9c)-|K)EsX5fL*fNp>4XA7TX?( z1h!7>Gj^Ge^{<+&PggS=zTGXhqmg)V=_xX{Aphj*ipKD?v4^=WwQ{*=`mdBn zDlQBh&WWEqoJK~8S+mZ|!i1PRWP2q81n?;_bkLbVeaOG=5I}Onoe4{pM0aY%i5E->%R<8JF(wLHgq4^>_#bJ6j$6A_sBFr3vXG?X{GN8qi z1HoM_A|PmfL2r04UtH-ki&i*imywyts(QvnN(*KG^8&Fp4l;P#A2q1BY%+QQRUh44 zMyxcpo&pyx;vzG+zagI}me^7rFYgSiD5k7<;>H|KrNQ$Tj}EtgxM;g~ztE30>w$MD zr`>OU88W4Kj3r}+Y1VQSUda3!L+#^lzWN(`gCaxlN)3vZMd`Uf6w?dxQ&*m_$xQ9%NIqNfQJ(rT)CXqaLjN;--iW;*Og0E~aS|VRI0XUDjXSyVE`@=R}UZL;e-b<)GqU z&OHYR7TyN3tgTF^_+8^0dd02z%yI=AMo!Ow(y?D=PxUoUPF|SF z6V6NL)ZZJGm>$ypzre9yYTnXw)f-2QVSFx@v%(yMb)DWq#MuMGN9)vPg6;~#WZKi(h#oJHHg)nQ@a$*EcnVKsPWyFI$Fq_Lm`msU z-Fg(mj{<3Ev9uPf!2;6_ik93zKxHU9%vKtQR#P!^fDxftz&h@3QpgZ-=4seOQfTI> zjJIb(2rcvzAMwLt6J36M(`~DFZGX~1tpOk9vCEHhqZWfpJbpCsmE@pH9S)Y9Pa6!j z6NE+fF_^t0Nr*$hf~}5*iL|EO+`s?e!GN6H(6z}dsL)yluSvb}z{=W4YV(`AhX^=^<7uBXW?A?E~yJ>>vfcRQxm9kJsR z^wmwpk09FQAlixXs&p4`o~2!x%E04qyU>$d9z&CAK;P9}&cVWWatI`fdbihyeY&*m z7y(oD5N@6h))2Q^^KPJc34>^*!cT!vcjc%}J`q}5jhj7N#hAdjo+$Kp$b_xJNZ3TL1m~92Q)7(@P1dKJC)q zJGs$4_<~4(k?%4^C`iw~$Rkku4ZCtexhr%YwDjB@=Bp4q)B8zTIQ{+pEXuh8Gs{Mk z%G4K1IrU8QLa1u3zeXdl-*?WdO1J#bZw) zbuSHwZGIe%_D4Mp3b?Urt!W9o=^S|R&2MI5Mx6dD!wTkTKB>|r972jCJljBRMP57YKase31B z{Hq?r->$5Lm{X@1DW!G%HRh>(E6lFpEj&7o5*B&mv7JUe9teq!z4=&p&+M&Cc2dqO zqsJl3Lp7pl4*WdRwJ#fK;1K#G&kdrI2C7`LiM3KrA=+6+U4vYz>~@Ru^7+|sm6QX~ zP1U`EeiD~IrLR8vKQWf*`PGr|aTF|yezO+Pn1-q>*3^--Z%(W&ZJCeN;j%9z?7(Ys zM??9YCz#Lu27N3RPibX4oya1!fM&**xjIn6Tc@CVR*$)98WZpx_626cmY@@j4scb* zRM!{}1a1GRG+iyTJ}4~jCIGSV1J4U@f6jv~164ub7zzwX#N5xU)l1!8UnTE1re)+umV!K{^Z$FH&go7o`xCAb-jb|G_q-bX* z^$sN&My{n|a;#b7m*UlS<#Q4nA9CvvKm3FJq2(oWBwc$xIINF#aNEj*{%oc6mu8K} z{1Jkp6+C-)#Jc5#S7!Uh1)kq7y0!hyI;GwOmB)n3&OZ-5Tu!`9SvAg}80) zQi5GhvA4i$j-T01#yg^4Twn4*ol7$B%_X0>LJ1-o{2~>d>#()RZ;LutZ~ZY|#JM2W z(23K^mY*ygN2~9QFuoFZrfM(Ral)d^90)_2At1_O$jY%GTfw?@KX&Va=Z2LpBwllz zp5C1v9{+3*1y&J>o%19EOrlkVS}aF&<$;8uh&k#AWxntn&;)^|vXh}2Q8O>-9>IbP z@3!&R)+L{$yb^gTFOS9tmdCDt+K4XRyyx-nASd*{hAnnBNlG{Q}%`Qa^4D{|YkGKQh67)XO$oyycP5h%Fm|j>8&TsWueN>KZL%>XhJeRL~PVt9#k&qp;pZ&GLURBf!qeMtu2@UjqDBcA5sEC)u3-)=7#LdB`i@Y_aItaLK;bl35qagO|$ruENa}d zvTRBmPUR2Anxq*k3sV<#PUA}H??Fbudhs~C3_;%>xhenX1o?m)Fti z+nDBd?-0CzySOdx&)8g{z8!-S77N@%S)W9v618V@G;(5WXKkfB(Z3jMrUfH!s-NUJd~tb#t4qjs!Jyp@-*CxyCp{9 z-M*>1XT;g?m%Z($k7dT3rfyvd&w0x|BYbT&7S(qS+52#7#TK=+p+J2r!iea(6w~HX zpI#EcC2m$jDj6ChdS>;6)joPLrF}|Og`?xAdfGSr1#<^&W<`V-Y>rr!Ic^TDI-(K; z(|Mn;)f0iDW|VHHUu0+4<>MGY_0ss=oV#~xhu;_U<&s%q%*`>t-oG~py1ddSxmL6A z8~OPjZy)sQW$KGw)y3pJDSY#{?se9`*!H}D=#@yV!3;kf$yjF%nPDv9 z7K(#qc^-G-lY-vsWo;y-_sRPM-mysUp3~$-1OGT=8|cY>5YD7R>cJtDcH)9gOUhy@ z_3JhZgPyHf^xfjpF6dw@VC-g|-zDF})q^=|j3$zPlRxd%MHodBdK^5L0T z*I+y2j88jn0-{=}Se6&j)O8?ZDZ<)F$yJuZG?#uN_s|0a$JDp1Dz(3f$An1AGpV`0 zQ@cW%8?;K{a)FYla@8q`rDchxRR#DXvjZX_xv{mxXd6S{3?Da@-;fHsV6SPv6{-(zmYzrW!Yvkelsghe{TYUAS+pBv)q=S^p`!B!*opnPa2Lr&f(C) zzgTOnFYBzx8MA|rK=OL!Vr6&Aqkvfp*O;e61vnaiWyhHDgH^i8z16Eg#9p52`o^i? zvf)X*LiokG1 z23m81locD0{s*Be{KcC|f|;q8i_YCW7+T#p6}*}Zt8VpFL-HzumL6mESkQyk<-E{0 z9ywI+aAxC7b+04+!sHj}QqwUabH>^qN^-8`@&3+e_9*HsoGyIW_WUFKZ9vKx{DOU{ z@nf9c*Ii2^ui$j}C@i{ju+wW+ejO(P+!NNgu0ar(Oc^?=$q>S*;Z}k{Epl=;IKdkA ztb!(*X;txAa~@;*C#c95JGVd!U=fxfx>fyj{^{YsK=R2ADOGVveos^uW3eQxv($L3 zpKCg%4!I$5LKVC4$C;vV4L1{Aj;j!E^KMz*E1 zO!jXve!eN!HufoVey*uouK+fttC59gteg*EQ|$RJFstvb zAWAUt!;}k+O)~pXB#DVEJp5*vCWcaNLkz24&hnQ$KbS_oYeBed`-s>ezl5&LLtJ>2 zcjZ(GA?+b4C}YwPo$y?7Mr_zWG%zY@wTo>WeziiLr;evf5M=g_p&f}!+}LdesWF2KHOeGrsKt}ZIr;f};wK8NdceOMiz%T$wi z-E?S2lfAKaCET>uoYw9uH;xo0pFx8`%9`5SXG!Wb-#Ae?&GO%{O}F?ZZtBlLa+>H= zPl+9q!4YghEQk-V?Q-ZZBD&&~!#F)=9+bMSz3J=A`)EmtskyG%P^Q(j7c6X^Uz**p zx4v@P+1NN*4;QzY%Ng0`Q`R%6%%LMlnG&ncHwHNst{QE><7sp?%|`d z{zzBfv=gZzp<}k9oWQoDfnr(GEf5z<{rZ0%EeJIB?7_f~NOy+On8u1iloBQ2bp9n^ zixXyKjy7HZZWzWKS_=`ohKsGLgO()q!_=#h4E-BmXWG%mDrW3X&kRxO43lZQs6aCr zq}Qj{%Hr8WhPe@x6y0z85co}f`QJCHHJhQ-Q2{K+R?hd^Q@CgLnl=B)XDq{bsZM52B{~=9#|hWGo7ktl_mEf8t?` z#QRAA3XOHt$nnPCyzR75Nk?4J4FU{la=)sX=B(qU-g$L-9cR3S59_CbVb)+GO(cr^k$DR~|MYI%TOHLw+lbuAnncexpPp z*CaRV^DZ55ow3kV3@R?>V+mJ?!}#S>!@L6x>_lLMbWUQm@|=u@27#Ds@@FYx`T2t^ zBO2{K=o`(MhIcfML83u+-YDY#!~L?g*RLQ)iW|#~z&QO;bA5(p?d14~PeDEm!a&Gi z!FbfWX6JI;_p)%g0E3xNK&*35`6j6LgCW9FO!(z&I$v*nbB5 zB7eZqaHFE;xHH%UygxD^GP5LxrTVKiy2iBwb%p_arbZK)6Ghggft-Ef3`Tt7DqF<) zoJR~tQx~1iUaC{v*xuZ^v8w=8PD4PX31QZKU}6%}VG}Y|rQy~Oul!GR#9)*Nklr`| zr7yO$vqF~9%pEkv|B5(#jl9)<(tPKZRAr|{iq9ZyIz9YMKn#bk}S>Jp* zWp-V73HOeoV|6Qv$HEC8!M-G<7dFgAcF0mPxOMb_*>M4<-SOc&48U!NFgV$)*9Ua6 zryX_mZ{_$^Oc|PGvQ@B@UGHoGqWyg*tljHdbkoyF$KJu+vW9cdvcYvbOgMfVhQT8a zS1n!RTTHj^P(WxM*ArAXA*6VwjF?xsP`n~ekWW!B*YzatrpZ-}TcpU^%$3%&E!5^v z`UUZbZzsq<(80Kd&t9wI(su9`5w@6H0cO|Q6$pG%oL z!h6i86}MmWsV%0rd>i^6N5``6QhOiA7xZXF;j!O9gvxJ!Ap}Gaae8qH1*z-Be5$!a z{g!%W$stPn=;ReLzIyaRdf>$AO8ddu_X_`yX%f_0vV@0vlH@DmErS=FP{MnIfA8C} z+<)m|N;Akl?S}d-BE$h4arg*G;k37OOi96ifC`n}A|V9i8pcNfC>s4Ta`SP$QqL3_ zoX@F?3_504apE{kXnuFme^r05F8Ga2C)>|xhe{knL=rVTr{ANT#6;2&7w_(>^HC2C z2`a@u)A%m(~dyf5RR%%&*yO^hI9FYo2rx2}oi2UN zgug&l_`U^QbeDEo0UkE)D!y3I8fFZ_JiN}eQRa+Al_S7idgEbBjCzC?C1g7x;RmPg z{rUPlo_oYlK1aikgwCsEntm{2>4R%I#VAO<^M-&rkZu?)z^Yf3NxOt=XkE8(^PbpW z1o4#&?)N2C{!LvBek+3J;6HA%O&6d~uR4szk}Pk#Oat!Fgpv80T==7QcOyHR<8jmt z84duYJ2(8x&Z&R(wAAayJbclosF`xcxZ?T-(rnbCD(Yuq>H9N-dkH)0f}(Q%l`l1; z0lJM+JQXhlqXCwUJ?i(~s&Q3>_iZOCKZ|-~;hgWxw?fN6R`t{MLHW@y=fAthx5@g3 z-Ei&^mA)ZJNI;LywDcx$cvuWUk7#QY5)cEwZ9?>*M-a^Z8VsI}TUo}3c`)#dC`DOe zFcd7fapuS&%!@81bfKe5y};?$IXOtnH6hKyIA~!I0=Gzw-cw zk>4S=NhDPVX!eTmjwxZZ74O~HB%l9q=QtGTiiGaZ7!eWog#H9kcq7@P<{krTXY&en zb_vZxN=?{hDdgCD`ytUCx#df^gAd@V)Xv~m#p+tW0nim^#NM6Ev_;n8M;`Gho6srD!lJLLOR_IsT^3qJx`cvDY`lN)MOdH(Po_$oLE4AO0QGd z)Y+7gp8iOu5auGJPCLniRy{OjQk}d#bac#-DE9iHF=m#LAl8fwdVc7^Bm#Q~!bg2^%mJd}qJbg#T=$ z|Dz<$smb-U=azK@ARTyT`ZEB}v4YAeG9>Tz9N? zsd67KYqDmiWW^fBrGalsS?*jZ>T$|3zxU!xPFx7E!>v?g&S4k`OW0zS^?!eZIAFvt zpg>B1-pD}u)?U&%s&N6}mNcDgbXJ%I=`&Z=d1|F~vf-x%7HuB1@%OvoXil}3DN+Py zGXAYL1GRz!xk0D?*BPn>^B3!0n=s$EIb53&Z<=(Ei@+7or zj9`CCh1b(@Rfez>(#o@Uy|$==IsI4~#??62oq0loxr`HAm&)V}N_+)mq6Uew9f7h9 zZOD^O{+tne8Rl#cSwLJ$_}qI{p>Brkj#EIkCq(x>m9R``*7I24h0tHz_j{4Qp2(}W zV2lgHgf|Ysj-(He$ah53osM|BaO62N_XZ=-uT%(R#{TII$j7&VhJQsIc}G^Q!AsYo zO}mcJr;O2;L=pqjERs6n8{uX3K~LPPn%RvXERa+ZCZ)1|!&ki}%m#QbOMY`lAz}$3 zjXDY01%#BXtS967OPdp^<|snD;p$h-^~Q;8Kw9=H53>MnKB{G9XZB-iQQ?;U!evKy z&2!-mMbj%07vRqI{Xj`ArbM4iZlnwdf)kA>(Jm)kEaZqN=G~K*5ofO@Y98E+f3aSv zm-Pc6-mH10~;uGnct8I!4#;wUYz91=^fRGZ(5Ox3lJy7y>~Et(qK zzhgg?X-fbf0@PCtMa98zxVqB#;(Hqd`{dO|eD61hSM?6C!eg4HnyVAAf>4$=X#~lN zqK>|mI#7jHRWZ9t0z3muiqP<`4y`mc^&f$?_ofuSN|{byX-=A~^Hq0-l5D&`X|CnTYg zyt%A9DxavRWBXi1p51gfmuw~~s-Xqaot-zn&o3Kdc1=%Vd$iB$Laz4U4!6}m?JOgu;u@nmxI zv(;b}d2Q5E2fvOj(MHdv5;FAn%pS>E$JgY{KAxY(NB*|MGiL9xeh7NwdFno57dD{Q-ph^AIS4a;lob=>RQ*72*Hq#9NBiRq>YX;Si@QR@Q{x_m7f9wj z6MzEs%=}|}ck0Z^Ba0^l`pEKl8U$38{mXeQKO{_WPiI_Kmc$|~WQv|H4R)Im%(P~L zY)qv+D=}JBP55nQ!Jxo!%qRZ-YGoW*@{)r0{9Br2 zY-KqE$DgF7%9T5gwUe+er+|Esx3K*Y`k`^(qXEr>fF1yS=D7pI@JU#w8z3u#*IObKB4}1t`?C(&v*d} z0s;a4|Fmjq0dPoZ=3(G`U{Kw^3d6uV|GTY|C&qB03mpWcn!r&P0er&An@XM=N7Z zp@(z7P7Sskhzc!Zjc<)+O^th9ON-8{e@mWD%Ew>dCiBGn*zJF>7krOrYyLt+pKt%( z#ogdPH{`HfGqT17+)%X2^(ufH6$6)RJMY??EBsu#DsKaLsd1<1w8L949890*@3pDM z2|w_u`b|>e9#sYNh}Sp>4for^|DYA5*#c@_cTsqI(%l#75vb%J`I2xN4<#gNBKo&=LM_IE;`?&zKr_!-9A8SVF zF7_m@5oGoDak*Pbt$WfS3G;Y0KB*s7<6*{krE$rmI1Fv$A5iz##nHmQZlhRYVuTX7n5#$ zWh=agDNE=1lfLtNHs1qkHV+1LJ?CSno8BbDE8gTb*cEUoHIKc#25m?N~`r&tg@Lh_zEiK$X5TG*kA${)O>SD9a%1cU2RjNDv@afZSW+{~Sg!aG2M&|)*?+YvK&E@*)gwYn6 zV&k!2&xnwH0vhKH5hxd+$JzNfu@V!?Rn{S<)AHA&G{=CCTT{=N4@(_r{uF}6l4fb4 ze8g%5Au>TaiWt%`7>gCV+QCNvo8CgA50aC40}7`J6*JG+m=?JA?-fYGTTNVJ{{^E@ zD1lj&W#q;-&ft1=kcU23zd4*!jz4GF3F1%_%rN3rckzTF^6x(NT*#bG9hEiR9umaM zRHAMYU|B$hBApy;13fDC5l4^;Oony&3&gC)RSnTE##?{efpr+2qA3oJA8_dFji9lu zGI97+q#Y)|eT35U(qT79UbiNf>_fl{c-dwlwJ`n$x%eEoi|m`Se(Qma-HNkb#eyN$ z#ElNk-?fn2=!%sgs1N;d{^gzXIL4(xp1Wg8&aehVGpm{(p`b!QC*j?-^&}9s+n5E? zcRF`cx44#<@UiRRYiIpw4GV5kG{p@|ZoaAuhWkW6o(TmsE!+2t8*iNPlYVXGiF4;K z|LLJDt!8j#wo5S{*V8th9_Yb~7VaTL19jzu?zope;o;*YW@-AW`QC%IEx{jKGx^># zR8RqF?rtGY$M8HRLm*(pxU=^P%7NgPgLJGrjL4@g(bYRG_~H_(&$y*Qy@8C&jR9us zKV1jG9YuZ2po6BznV zz&wCPp?yb2^~Tu~cgiPXVmXjt>n%%;0k@;G`4g7O&M3)+{oUU3ysz=5;ii=@GlUwT z#X}%Aa|tY_5THs+P61RjAAX6PO7=KZFcvR`^*eh8MNN*)I}+cwRyK@B$dr?s!yhH2 zAMtW!iU2+<1*6~Ql33My;Jj@#@;6bNtl<^%(M0$HSyA9aYQQHCDE+O)m&BOMmQ>x6 z>|OGV5Fvb>D-pXFAR|jt&2d{0juC-nu?};n5+USc6f8~70VR1Ja=+dP{NxcYva`9y z-m!Ah6Y23G!#|Bt!3AE{cg=VL+rscQU~0R|EwvtE?3l0+rjx-1=`*+y1Bp1mwUv1e z$lX5=S7y}tG+b4w7BAy$hWw0s_WnMZ0R$g*Y!)aJ&BI-I-63ail}MvL)(GHi-c&OG z^G&i7^{u;6Gxll9s-|+dx|z6GpaR7?i>ql~`zQ=)lE>i88si);%xOVlfD9Cc zsA>KZd=>?sNCmkK)T>)af{Ra-y1aQL)4w{EZsQhbk#ScYGM`_dua>9A&dSc98ze@! z8?t=q(nUnGaYm&q!3oFpERTR3-h@aMhRPXa{B;ZNdwM|OjYmvfkuH0OcG!}2xMbX{ zDXn4MHNu-%3@{)h`8E7V$s>l_oB zdqV7xEvjO<%6W5*x!lR2-DF@E+wxS8=4c6n^36mhOh_MkoK}nhdV$U@z_f(~7wOg^ zSu^JG$|2@rF9%m&hPr)o$%|>T>RNE5|8eFoM@ND~P^FX>cg*GCJMJecxPRV{V^DAY zKS(xi2!zL9`rNc_otMBdqylaH$YK_BR;WTB)zQMWaC4BuxT`u4;3$YRzo*q^Ke@ri zX4b8}0>pX&XS`xI?h22ef}pszg-4@^MQ!K- zv0f%ytN3UkUUsQ@sg?p~>vI`8z9ER_vEY=h_%Y?N%pDqsuEyM;Uk;c)^vk+f5x62x z;VYK+7;+Alz?q@{kS@@s;H|iiJeFYp9qtK99$K(j3%+`=+Hz{E)yi0x zQn{9_=wnvc)G>?lM3oW~YJh!RR!kU;LqenSa8D5GBPykPUiq-N+B&2`5b4{#CTfRM znNNR<>ZmW;8KZ2qC)XJgoTnBbVE!5+NbUHdhjDpwUC}Y$(k!4`G`S#XldJ!~t zaE_%bPSZgM1PnR_r&?oHQP_((nevY!bo@<(I{qS}eM3>g%+0@Ih!l2+_mS_mSe_AV zYW8mmEFYlwh5n&p^DI?C&|N}yBf2<>tjR&958QZzT)U3g66g`F+9b6qDD6k6sz_Tj z@x6#1MV3s{zy6fP`3y+Tke1r~r&oomHJ(JVKSxFyGLV>7JgjcRpZMT9jp+NKR#OL8cB9CCE#!y}l9*$|vxphP^N}guR zB^|SN;O9JeUMEXzlGU+CE~f2P?XvL-*>+P38sg>s8a_PTxxK%BhO(VXG+57^kueq2 z?T|mknPfj8ofcn;z2@W}bV5YnXDDA*0Q3^_TB7hVYF|fJj+dosr`Fduj%s*wD()Fo z>B2^SNAYuS{a)*PRf|rN>23R&-HeZ&RUXu>=vonaphmZ$=pt5MKK=Iy@if4h>V5ry z_!J@g&cxPxklCC`mG&{d6hUo@d0!Jz?H_5&4%QxCAuQKyv8+T=_&3g->!2$_S^&GW zZ>(Y|(K6zvM?9-IS~%#Q7XEEmMcZuM4#z*m4Y7|m8ZozJW(EHrh=zODzG2p@q>qSW zt%}L?E?O@e6-jeFtSe+r%a<+}C1g!7(%GEegA`4hEorjbPd`~NwUYH|ZqqC-A`&Ke z7!K^Z=A=lo4OG16)qCbHaZBqW6#)EHh1NOvXeyB&TPra4S#lldPd*&ZXDEge$3C4h zRp{g9RG)IJ&kQr=5YE}-d89hnxlncxA_0UCtiS~mHzE7Nuigv+3Ed;_RavGvoIA=K znaf%2JEiQW_$gzooG9IG?`)~VTk?+hvRTh3TQ`)yg;CGg9U)kA=3VdsOn{&>Z&zWO zdPkH;BJ>w;kc)p40Y6f}OJd#Bj6?h}0?YXR+bU#F(gO4O5RdkG!S5?U?G3prE!8%} z+^>m%yaCtV*8n4doZMFHX{Nx&wC2B7-LgpKZbqT9NQ4lIzhse&D`xwvXUS;a#{v|z z7Z2(z0a@D8c37vs%Ud8a*+9B$u?}3VvwzF`hVu`Xa_j&AJ=aD0MvNVL{3P3- zy~&km@;qC6&povDK6yk$brWG)yuA)yR=mTwOsqNsGf{43oAqU zwHsQ?=zYKnx7WLJ5p+^-Hst4*|0!FSo@D!Gt)kM~+AYxB#$8qyAIlZI5V}7)nYni` zP#AQceE64%kzSHh8)yt}9_V=J0{iFeG?FJI@7@}Mi~)#rPVgnM_@fX6 zUc)`zq$G#SZcC+bqk03Jh0VAa|M`4LY5RHALmkvZm~DD7B7%R9yhF#|8y2lCi~YLA z??{R(>3l-R-Ep^@iCsv|` z2Go%(`AN1Q4iE2rK;*lDk&F;E%Kkfz1RJA7jSl;r7md*)rtTc`bqoE+PlRP z`WenTbmBr(NBf-SVS;{BtP0cowaNZ2vU#SFQUfcs5EuDuFEkX+IIE(54F0<@V{-t% zTPM7ZKBzx}a8mH}Hm233?j0@b+o_x2I}XRT{T=4z_XkHYMtza0V}zrPV6NwK7{^`% zWof-Rz`*NpH}(D7vFbPmA?}!iz6Gh?WmjC z8a2)sA53T*7avC3YL#Zw4we#+$1|4Hs`u{Efmxa-Ifx^!IgoXbE4V+`PjX09nEkvm8;1;)x68|N2t81>%2sr zMfi~hms$>=`8s9&T z08*Fzil6zYFF#giKnIS1goF>s%_rpTYsWjU&$yE}6q`$`BRs*-6ro^C|5!EXmC*r0 z2t5?OC#RQaxs}2FYA1|NZxY{Uh^d47Bl3aaT9J^RIAUa`%s*3Ju{6R^*1ue$mH3HQ zsIoK9&=gC0w(V0}e6Z-CeWF@48C^)#fM%U`=>iis_{6An^**_3y}c5Tslezk9cnmj%8GJ6WaMBY>m-9@PD{Er{GTF zH|xim*tYFtV%xTDJNZp)+qP{@Y}>YziIdIl{_CyUx2iAtqOZEEx}NWO&iR};0Smy_ zujTrB+A!lWC$st7tPm2K@Sp2or>-jcfb$Y2DS4`7a>B$+3!9iNTtb%kEsQUQL<Cfw>HZ!T)37ACeULA4@G`LSb3`d~rXW7}sgyB5wvf8U z#j*r9y-Ka*Y%_WB^~8nI?rzglAHq}d*;JI+4 zq@|{GV!vP5AC>+WA2YZZUD9Zt=2dD#;oegpsPl?*$13Anem#hu#~v*t2}lr<+&o2Q zNu;!n9=B7ZTR#jnF=>q$4qD@0=fz9EZg;VHKD61W)DV7I=bZk7FKYha8ytD$M^((Y z*cJQ69gAIZn`FzICgY9mAbYljKDf_nU7txzHLzOq?CNwYHNJPux{^siag*nnWgS10 z&pa&*X8vk*rkKMx{?sQL0vIAXql`SbJ;@^A_i@=o%!wF>q~wyR??mwLOBA`K!iW;| zy_HrFFQAq2BlghIf$F6Ru~^`B8AP=02_?TSq{|L&az)5y5;4CnvELF#`?suVsoi*4 z-MG+lysCXtWV^JXeNt>Y)zV5Yu~E^`N-wiv)wThn7;h4ygFe?q34l_LPMKw`DE3qd zb!)?4*?>47IHzUhlPeOxOA2qx8rQKARr~ETEKe;TbC1eLJFfhCODTVlKq-Ghg8d@# zrIkc~f^`w+LJ#f%zUUI3Y`dxP+p+a&R!4;<9mA=W?fGGi`5WW^>ZXGU)`sq&KtM;3 zKtQdL*`Vv7|C4;*&(?!t_#xvyGo~^vgZ@V&&C3VH2mFVM`*7b7XF^DlCnzWsAcj-` z7F;F3NGkEyN*mKmF99+!os$K)_*1)Sv1wf^wPH!DdNGB*1&tP1y0}TJxyJU&jKj9l zZRvWsAo-j7c`9WL>}uyr;JW)}+j-{qbIxao_|D5X5^=`O?S;$lnWuX!zV#tD~KifMORQ}ktKQ@x}_GI-NM++ z6?6CE$d76v<34%(j zK7c|v$305JwUCg|B`$1>IUr}18=tI`bKIt1;68j%vZPNmD`mY&I@ZPR)h;#tz|Tg1 zppUMdwFK`~=X10E;FC|ZAGYqcHCOS>7@xn?86#=<@DqFo#&h>gc5rW|^-++!2M}4- zII>+4J2jW#Nxux_ko7hrjjc5E^~BVs>T-Czk_6b)uyRN>iXLPhj+U@~&TrCAiMyU3 zJX`ogDs-!6#J)Prw0gcCIPJ7r`-GO3|DM{Xc#$Kx*^?i?ySZnbYCYkVJt=`iJ1OJO zAy4Hkyenn>Y8v)Vr&b$D=zlS-1Q8?Kfn{q4ZUjE{ z;W47l1^&~IuHv{OZep7J#|0aXO7f#G{? z>18+dZW*h3U0t1xcsO2OnVni2{`rNK*03S-un5^#x)WZhCr-^Zg|g)Hob%e78%MY@ zN9?Wf22H&^6j-eVpF)hNk>m&UqZMgrvious^wT-zJ5g}UmBF62K(4mo!3@UtC&H{F zQ-mpzMvfCvDB@@C#J+kvuUlYGB)(#p(Hmg z#YSrnhe)g&IJ@w&$_U_xb;3o^opMQar#_Hcj1LN*F}9F{emt2}z@ka5qb3h0t3fbw z+p!P0rL6L4|5SP;`*Ce;#7GOscbhMsZ5{}cyS;ycJ;y=hVb}HHpWk7LGSi{g$)2}r z%jTki@hKWSuq;T?Ar`bBE&@!8O0`%7xRCp60T*xwRwc)l!&VLuwvlO4fET5YuxP>X ztj~wP3dI5HK*{jYfZuEjRQ67E1-=7gP=jqsk}5b2wcs}LE{2HS9+zlLQyvT2CK*YE zU%a6GL_~Ij#D+siO>m1e&RarOYBF$LAuZLg@KnC@r+(4=g?Hx3D{ooDxhpSr(Y<+h z7<+_{L4GW21+aEfQ(4e5)0r~i#;{X5Q0_t+xCiC)GMxcH0N@x8THD6b!-Lbn$*FA* z#*EX*A;=@BHdB^uGjPbMA{~u-GI+LkThfrhT9=HuuS1|9BS1~#-+NQoL1Hubs!ysM zc2eSBf*EE$pqMzYTD!y54jWRLu*B$AA7q^W_VO7?x4D+B+e1zMRA%&fTK*I&P~Tre zjY-N=+xXz&0mh}=RzJKTWGVpye?vHXXb+O(WavMWdIO~W)3Xv<+m@v?w5!6BgBT(- zh{BxBWJj`mcqc-&ied=Z4VjYFh%xl#=V5F?(J|`!EK`o-6AOVqMd-U&;}Q6p%|HxX z(SB-xt;J)yVKB9aaX%qJdPIx6n+0P3(?&EPW5PmvmbW6Pcq5l)Zx z<{G#)_wd?~4gE0~6*l9cazBcI7^?Q1M~y%+rs}X_haoXFAY~vqEl+>=Ml|y|gXSI^ zrC8T~&@ZJLq3OTta5i>u{n{HA-%AkL&cR}%*d`7tIi%9X@Ucrx_`_f5W87TCgBnFW zn_Pc&447}T6wCYD!MqNyJtfLs-9HPotF1I=;w9Tdd@_XM!7yXMxNR@W7BEtUc|fsX zXBVaBX0ObbvsJRAxHVP<4Kh6fecbX~n`zh3(Jm zvg_a^0OBh8%cng#46IfCnbcUjb*M#~2=_Nw=sH29FzL}%3rtQub73HIG!kXdtrUvI z-{68fOd#kmUOe52xS$p{w~OXPDz=gP!XIB4$piHcAZvo>tt@^x%n=7E3~u6Qoy>5fKiW)uUtl7kc9+NT$#Pzo zz;SoH5L+S~)?G8ZpN~v|cFD)=Z*Be0^8h@EE&3^Emr}vlxdUv#+Ab)M)vX|3&}08k z3Wx@R;J6msho6Ay#o7mqJR^S#7YiH8Y#wpVYjL;sfrHhrZx`~+Dv&QMq<0Jf>w}TM z;I0+ySh0?O8o{M10`}RxFYZ7xkf3k|>w}XYSeiOX2K$4QKiFk>*Zx5n;_65o7SIt< zBNk(P>wenSzcb|dV%dQb9^1cjaAW-e8u$}UXMVx@s_*CD%eDGo2?R`&jfTPcrR1`_ zV9b9gW$52II{;Nf@XvG%GhluYe`_7=NPKHY1I%x4UJ)RAMRJ)=3tb|CHP~NF-|$=< zeR51@Lr<{-zbV7M2LbG-T0ZlxfO#E;DY$u`w3@jW21=XZYx`J{s{Ekz_{y+{+WB4b z?_pM&8UJwWi94g;nO}CdG#>~W+ROG;u;h?&kC-3S-wV6O9~u32KRu`&jBgAUaL3z> zFKvOakkSWn!)Feb@U45doU8)ByJnlz$oL2LP(YSY-WFLo;PJq4MV*FB0k3+KdFrPG z5TDUscAT&s*q$4fzZMAw6fY^q7BW6S)SZ)rjAEFln8qBExTziN#K{&4z6r6Jm%cM| z(#zj_aebYWsY_wYDC3NXE3)en{4p4GYWpsFByAJavL~&b0 zvWiGjA2m*>{TY}bzLPS9PJ`nG{w)qj(hxIk`MC(~vy{8LI;+oA0FIZgbi2<=No$3w zinJ6Hzb}inncu1;OfCzuLB{q2Xq$Iu74&fpJ;Z5ys{LlAf|w8AtG@Qy@J0gX40>TQ zjRzm>ZIZQ^im@`iQd?_-^iFS^47HnNPSDEGU=A&VnOUhkJFblQU5Sp2i!JyEJ^%K< zu>T%V(Xr-%o`Sap1)z;-SD!LcSDUGRNT_*lwZ`YO?jrYAhar2ko$ zSOYDk7!FA=r?LYI4-fuOr%R2U+e3w?i!V{oOKdG;{-`f#jvkXs4UV86udX!yy3*Z3<#+BslYuD)?dXE+X44q*a$ zV$*q&D4%5@0Dwa)gS(W4wO3ShtTG?x!-SqCWh4=#w=~;&lo3qOkB$c5-;*`o9V|M6 z-S-8jFkorp!DwNJtaAJ<5Adq!$hPaFeJ&Um|f;{|r_BY%c%mPyzT> z^a?(~1E|(iVgr7C(o-QUa#+zX6<#XwM$kV3&x+NDx*_yjL*Os^E~f_I zejjV@_e|Twk&=Q>C^ZkHF~6L~@^%{5a`XAqwElU>E6}600zA(|&m{l>g?gjx!O6=x`3@EigQK`V`MU~)e%`l2vFUeD?MFMDxKGRi<)Y`&@`X~<#NBG zOlI{uhgU3Tk}@r1Ew@V=$7xp{%YN>^ZjS*?_y!19RVrc_z1{Ec$T;t|}Z(8a3IodK;JuawQ}0%ZGg z8j$|YzNWc~>(F^!xPW(Pcl+uKJQL5W0`KFOTi38L;vM@YTOvWs29wf98o9(cXd$mwe6)Jo6!D|_2CcRTYl!*T~4K7U7uV|k5rvB5g&xXdic zYT}|LW`0wVi$r=_Y4N&{B^^5wM6^%^0f3vK?;h&^RHZrl21f)a#%GfUz@aO zc#LvLr(c)qqRAryrz)m8=EvpEpY0xoUZK3Hq0Qm$)raN~t5istqD-}1$ck_^beP|| zK)NoXY{3%6An}V*M4Ad#^dfNGw(toxA2>n@7I45S!c7IdAo-WDb)d?vFN{9e5pY@b zex~~<`$q7_-kq5v_)Xg#s#ipF>i($5C3a(6LbE1HVl%6%BS>%vm80@QJ+oxd8rJR-g!x0 zQbFjE4Ak?AM%EP08D#MWnmrM8?QZn^xAfMEF>k%aKi0#V^a$G&0EkK8;|(r8>_z7v zJxCvoV^K=xd6W7XxaCDPw#iM@?41>-h}HPTIRct_V3mJ^H}pGxD=as5qHdc&a-QK8 zv;C5;l#;gV2}V~+bc@GZxL;r=+v1f>q%Y@ycUngido$ z1)V_v-_MES?f@wf1B7WB6(}1ZvKZL8GPXGzB3Cm`%B3A+rO(ovG8Jrp|SecEESIx;_AbnQ-LN z{B*Q>bp8lz1aOI|_X;ZCebUZw!Iv1QB2@Ssw7awny!R0~%=ZZWOIY@K#M#-Aw$!}x`^zA8`)5HM3_&(1S^ zSu@v@M!WwkoMH572Ix8`-@3NfB_X=qG( z5DPrQw{3EG9ur9{^*PL z{SK-0g%k41o-XBxgT*U#uL}%WmE_*VsWC#BM`qZX;=&7&ZzJ6#EmKgd!n+>=7qQ=aynBr;+?Zf!h1DjY^ zUjT^ZBt?-t3{Wy9yoOX|dI+RhpZeqcR>;2C+n-TNtGwdH znlv3B*NoOvA~t?SlZX)OE(mx26T*_a^!oeW!Tj(J=5cbni_=v}-WG3sj8?m2J~H_5 zcsOgoi<#C_g^VUhUv&Hwb0jRM7Blh}qZ2H@XqqP+e=WtS{^|Cgk`rfkv|vjvzFdseCd|#{n$@Eo-*HeE>s|2c3_7&R;(XaSVJncG>v~_ua&>uMp zwLRA72>B_FM@5&nCY1V2@G2`lnF3I#v`abSf1xD}_v2QHK~%;Y`%}}I(~qyZ3&V5| zq}Pi1{vO4}GJ$^)F!j=bmA8P*bBc>|j|?NtgQQxdvPYnqpvIW7bph8A$KITVh}}7G zzsWBLPTgUtRs3av5HG(px3`5aa(`l2V^(;<_+%Rg(gApr=zRn&-*%EGzyv^#SyW=< z71^%QaH53zyYd_-LF|mPOnxMG06M-yFDm`x2A|6(KNplVtc^P+av(T zM3+Eo-$!rvpQxRwX2}S61=82WeTEVCWkrKT*xT|O2=g)Cmf^gvmeY&#cgl4C7N@hy z)x6Jje=FPmTkLc$S%0Ro&+sL&9tPIR`?4*=TSuZxooD{ol9;fJ<1#mZPfV_n+oN8B zOuC}~vz!ye9gvwmzJSb=EiZRVrDJ;!%a<%KeJhibyu0A(hEu(tfjG0b9!<&MW^7Go zcLK96dSeS?a43{SBwIBCS~FCYN|FD)b_Btc0=XKRy}L@vcM zJs;FW29|)nKF==j>xak(gKCk-IVks*`<`RwiM{4{ag*7(<2=JV0hso^pRnh90PrB$ z9z*)F3hn#^9v|jG-f~iV(@+nZ5`gBJ+0u%d54Tb2Axk>Et<7`P*1NrGy# zC1WIid++dq6o+`r)b8-&2Bgv7#E4Lwj|6apems3iuqyDQF&c+k5UTMbc9G2vs&K8g z)RtDZwtE+K%d@-TSq&iR(#O#lI1!+|X)O5`dM;KWr0<2l`FpTp=JYKGNU&l;jZATJ zI_I#mp+T=a7oXJY;6z95{q&G)H%%Jfz4=QzYo#%M#5?d{|KKhI0DGJZre|m<{-Y}0 z*mf2}fB#MfGnEX5p6F)qXCoUavs*93Gp9L8|>cY}=;A2ci&5wl@JrW9Hopp`l+7iir?rq0Il_#yl` zU)|P40jy5OeFXLiG;QSA!)fEr^Zv3gbc&}7%jgz{d`5`VP1WUH^#@7nSYZECt9N?|3P?+REW=MSwvS3Pjp10klZ6>psM< zdJ3}By`H-}fCgdBamOxG8cxGUcU1>@>WKQKbkIS6d7lC!deC*oz+TwVcH0hDDdps& zjqe5~Ee3a9{h5GDdont^D1lu(y-E&&G@hOw@3W1fA=1mmL{Jvm?mcmyGOF{Xrl#*6 zos$AIyww;)2AL+Zn}BS(vF|Sx_;Px8SekNhVF9!}z)$$FTUFJ4iF4>!hYTMBHWu6f ze+WL{ubTQ)mkruT)OkI^EZmQHDh6M(`Mx{Dlo+eGZq@gskdG; zF;Fw~TaCN`Mc@)D7MNXsMV&wF4T2^DTtm2eYaAIc=xYjw@_o7PFT!p*kMLj=f6Z_; zA(h4Ls;4WI1-DpV&?y?s-6ur@bwRQ~<3$z;02T;RnAM}E2p6Wgf;UClKMF6SsEZv- zTecmuMTVV`R>}fag%$}kS|+a=C~Dh49w!-LP!=~Vm(&RCbx|f97yS^8OQj&oW6-oN zgubl)vS)4o*5*Ldo>KJsuHH3ETW&3r2LS>mk3=l?Bbt}y$tMKD9dKFi%5ET!4WSSm z;KFBh*ZP$!yEfHJ>Ba^)&L4xQmLc*e$JNlhA0EV4mPC>SA+HG0-^5SPNE8 zVRW}p2{$n6waucKvicgIh0pSK$|v%ty8*HK6Z$$P`G)mHjmz}5^JNP{6k77Z7NR%Q zp5q0+XCY5JDD$}>kI;YWIo#sffOMeP8BZ|D`|ob&%O?cjPfx`IB$C?k6XXUf>{r}u z7Y=yK4(N%qR+(UKAwSD0X|@y8M!NsShhgB&(Ys4X*UbrJ(5`qoyIw;oVQ7~Lplfrq z>GK=5p)o>A(4@pinHkhWm$7)vG*a_U%ih-7etU-(s;b7$R@JZqLyQZWbt;}%%QI+d zx?uCHAel4Vbe}09yo#B$k2!<_10+{VL2HZ8Js3Z8OJD0M4HaTV1rGPu@MofgV`ZOE zvQhqchmPv<(LFrL)jY`@lO)g`AgIFu4A?r`_q_vtFMD|tj-}h9Z_Z&ZkhnaUIVL}O5RZ8mc}z3RI>{z#i89V=%w$%1sf zV&V*^iqE?|9tWwz`q=`?f52D5NN6R-oigs@2QQ+ zNOPptsbpt*!Swk)vJ29|$NAa+cn?_T#I_5Mv@!(&0ezP?{RWs2K!IUG3FUPs{#V@a zF);pX*YU}eh=r=fN#?1(4;RO{!)AJkbV5Z%*$dgDCXJ&->t+Ttfg^w`&wT3XN>3ol>6$|r(VQe$qJR9)1!)P$=dRz_t>f=e|zNqK41 zTY&)>uBeN0CwRNmk+?x0yP8*6M?1qkL#LUgD4X2U)(L@gJz}91uy-u$^7|@}XkBzg@mKny zRBL?EVFZg8!dA^oFQ~i9&kKV9&khR}Xe(2!)Xps0?{Jl*rlOOb|4W+O-qNP4&BLOi z_fFcL*kti(z63d2dPq`MAlii6>-JG{>kZ^WpP4^IA?cn?>@N9*?rufed&p5L0otsb zG>S>95P1C?fKy+!!sNjosnt*0%;p^9pv2udq^z!`nBR__&{QO}P;{R zywZ6{ix=a(cxV{`yC>YG1CSPW(Yqx-uLPulD&!d!0K4Sml+ic3rub$Kt}97q8^Jch zjGOLiEhBl^`^>iht4Xd;>Otj#-i!a`)`8y_D5Yvn$*urlpNB(tdgD~s!t>P5Mql>G zUa3^>nGu8CdCYD(!p+%{#affMkI^^nx|udiKNvh5&9Cy_aQzXrnz}k8pC+N{4P0yC zw0zbKQ1+%s9oKP8>S*%#zmz>ENj* zq!bz{Z%#S2C_36Jd)BJ#mPayklZXq-%1t1H(Ocseo8VsD3;~M??M5v zd0DP9n`>Z;OgUwdZ^j4mO|{~cAOO`bFtoM@>*5tb2-E|id~tm9{n3#;;9jSd(YSH} z4z1^pkhO_wmv({&xJ=^@E()dc=Z_NMC1b+K_|uP6Z^lRG9;oXEt?12l2`6tlFi|{K zhc&Q$V~y$No;mpx+!t5bb{73lX~qw{SeaY@j^!tI#2N3gKKO77`9*^8q ztSTE zXFRGoT3Aeg+bD)%=LZ(b1uKnJKqAdPZr~g;t%s4=w_{<%i+nM5OG^hz?MXfL;?BuS zwf|`h1SzVjV8&B(it=`fm2LwbaQbUZwV@x-i3}?kily=wu_j2VHdIU8@w>?eKyGt< zqvo{F!8rA3GH%Dd%KT5F&2!t5J9mcgP;zbBQfj@kH6I-sm{uzr#*0`uKuanBJ6kb7 z2dOTnrJQx`94U=TYkimW(FKBtS5!hC$txtM85+(o`b94sQEM4Uz)E>sj;2FmiXS1l z8_4vlxS;FrdSZc&5C9m#bSZ%aa6jt@?_I^xvZ|hQVZmT_o1R*bBCcQe>H~bD8M0Mr zflL=96rDO>4(4U~q*c`u71Vvwo2T2Fzc zHY<&UW$b)+%;tsLP;#=T>TW9vKa01w9z;7&GQwV*+(_END37M{k%4h);1r!!_Oe20 zLfN=!BE?6Are=*Kx1{xo-^=ig?G@f>rfSmZ{X2a zr0P-vP*A@B*3(kP`&_|6{!lJIf0e`3FqK{q#%_qJS2mjyTHjo~k@KDU$ZZ3L>;r19 zT9wu{rI2baj#>pOB)!`%Of`mU^|7CNBd5Ktor*&VGEgh@Ueu!19@D3IUJPt7g%`6x7~M zov&TumGky`2ZjZuB;>rEIk2wp4?LMpO<{1gOpT1C7ey*9tWecn03;Ntg2UsuTgHKFic$a#=j^%&595dCAw@L_1~B7>!{j`<>G~*L!B|WOHtZzw;l`pP2)D zLof%%sCNg-r~!Znb5!YVQ-Jwl4V?hyj1bB~p{j*=MTF8BqYEz5y|F50D3Ow|XA@;N|@<;eG60}om@-kT!E~AVu zBggNGje&KG5SDsi8c~htU0e)uQ}fNdDM(0KZ`yQrGnR6b@rRZSQPQ5-UmizZbO znCZB1eBH6wi_2D$>1|fh@2()m679sXZlnI@J!t@eG0>Z+d5R*YQ`6$0@p{q)KRE1k z2h*0J4erKxn-+=KGA0{y2utV6I3^YK5XxtDaVBLlaw*eflbms7lnv8%oG=55DET-M zv@6*$1lF~nZ9=^c-DKOysKv2{(`Y>w0}`&)V`hw9B8VY^LzCUj2Z`63zXF!Dg-Uduh;eO{!PQXp&3$UE@suTC) z#t}TP2zYJz3(<7h3zA>ezH6519mi{TM?171Ri8VF`;rhLzrASNX!S zt$2s=k-TaB6Ww=fl0Iz<6fw=&@psEg3QLKLEq8V=cp4s4RwlA13u*uvn%c||u>_n) zRMl2z)lXWj-xT{oyOU|9vJRnEt1@H~il2!ZYdu5Mi`ch^B_I8Ru-y!GqZ4G#qExRqG^|X;2jwJ0n*#{06@Ir>;H; z6EJTNxmkt|0jViC(X}PcjA!1~ETcY*$wJ}UKX33n-M^RpPHIDmAP)|HT@NUhi6KDm zQcUR|o|qdi3RCSRC6hbK_Uttd>*S;E0qSsdoH{)-{KQl&wRii(@NOtQ`6uVh-D%?* zeyK{&0dryJcn33niHpQ%+Y`;rwaRuYveHik&C5Xz2VOG7TQX!XxDsbfr$A9AD|<%X z>$Z+^L{EL9zn5|vm-$LY!v}!WjEEmZ@3}b{4XsvKJ;|PM!!b|rk@kUP*Y$tQp}7}r z5p-{W);Fs30`UOacukq}$IEHBfeV5X@0Rs^X_>HnKH9Ulo)L}#e^9uGdTj;&*a&zi zTYu#H>nXyn@6;<_+ku0k(Z|Kt?L+?BC5G#Yzl4$Z!a$4&XZwqGItWmZs}m&C6gi3} zE4Dc%kWM@VAx&P(ARI}XXG_bX7~$rt9mhg*Tz}6~(XICg;?^2&hwuJ+#AEc-(8U&; z;q{wPuUu8bv>HB3%5$N4+ohTVk0&`pe2ZsUNAy#4vT5kLCiOF?L8svIIq7J8+_pX> zpxf)WMgi6>YhW^)Xdd9xE)O9;;v&U8ODFpP>JcM|c6jyxr9>Ee${Q9ca=Ye@nO&55 z>bi$?O+ncmZTA?54mXc=Nh$w5fk?J4(+dTD zCT-4n`zyJMv)e=JuFvel=J$_az@UFq8Qj@5@>q>F?bi##M5?q5ublFG9k#G&$vL|0 zQgRwHRVSo3uQEU>&*0o6Fjbc&Sl|Ck$j$cnfim}Qs2Z%OeYK-qlpNAnHn?AkNrMB! znqJR_O3x-o8yDkG#&HqZ$dy>s6|h>2FzLKu!l@+ksb$U~mRhvACk)&t=8@+-=AQjc zAZGyT@ap{vM+~zW%4od9hyl9i{!0Nx42EX`c6>>gyeeP_FgP+cawarG)~JFq(#se7 zq?ar)?n{}g8XNPLwE!_2Lkus z4>VpXD97Rf0X3z5oq!4fZZ@VcoUX_GTZ`_* zLA*)ySZc&Ks8p*|@d~R4)2di%vFg@pUb3og0od|tT~(`zzM5}8Uzs(oAwGOt|LgXA zn9Ag^H{14MvA;`a@Oz;I%A)Nt41~NBv$NYjHnZy)pQ78`9G|iUY;M|xg0_X`cW-X? zPp!1QcHrF%c4Bs9;*8zk+g%?WXS!KkHy(Vp#b(;C-2rdTOtrqAxwpO61ne{lw+04!H+BsHACL&&W3#<&udM+D>-mXL zxBM?i90U(u-?IJkx60(7QReujn)gG)U}Gyz3s769o4qct3ef+B&tYjH9 z>U-nrwEB_0BJt<*FpyxUdC7>h!Y~w6N8*5GL?{n{@RFZ9=Or9X0TfX)+v#)5TNl3l zNR3}D@iB6RUtX{R> zW!OlUs>xT)*-LcMbhfPRj+x$}orB#hN=kT-kiti#BC67=!i{ou9*+*t0j9pfvf{jd zABPP9Wu-+MtrIs?cVNQX34FEOJc#!p((Aq_Ug6Qr^)2l&R98-7=E}m(ph6KbY+`3` zg{pATc+IwWwsccaSP+6d^y2WC*HwBOa}6zpjpYs1HU2rP*f?6;aN(D*;ux~!)#a5} zHkDPD8XI!n7Pgia`01whwRV-dJ8P@6I?|wkPfhOuG3+Ad*te8nEn^#NJbyeUk0ghT z7`y5!JBu2UPY;b~*2Y{|_3DA+FjkdU%H*dfNYHHoQk{90-N-g!GN#IwH=Yg1w_oC# z?K;fcdt_#9@tAMjyoN!vTONMyd8I|v5*O{DB5Ctzm-pa@^O54wqh9RtvnS>ukrXt5 zX-aIq+9eG~A2a*J!Ogc`0@*$r9iNARwx!H|~S>w6UPMy69Dao5Do`Bi}o zl5W2BiGVQ);fu^p;p=QDbBt(C2i?)For{N{)WswUE_2r;WA8z{yA*pFpKWXyy9X~~ z<72kPS?V4Ed1(whW+lMyn;&4()4zDY;ad12UKGXJeCr#C9YB?FQ8rZ59awoL!4Aw^ z$q=c;Lu@RR(KrAuPB#z~iJz)X@?7g|h2u{g_xAEA;Z`9>Afxl&&xC@`fUV9`9Xss! z?(P*jUx8n5oy7)*1i!ArV#y#<%9JEcX8w`8_p-Ku5KtTC5J#AndDYgIrY@!yAgsK1kaQoezF90Tdv*2qB#g(c$bK-t`D|^u zOdg!99{ICCyq#G)yT3z>j-YV?T6hwZ#^-?hllxkhZ=Rn*yXPrp#k=0N;v*Q5L4anxpJ_odY*RIbrk(itv~mfaF8A$hw8NyKfFSW%W)r}8oj zf@+VAb>k7a6Lzs-o*(?#nISK=7vJoVeJTZE&?-#fc}1*Z1ym zpbe751$Ru2H4Y3-=4SH*pjun(Iv8KE`78_@4RuBBmZhv-J?ZQ=4JtE_rAAfS5+dF` zd9J+v<>RVK_W!d7WK7Ho{_A;kAz|HaU!H|>{n1-EUe^b6K(Sm6^^-ry2u&vbgzLIG zMe-dtu`LbM4t|1K5!n(rUKW~Sa)Meai#_Et0SR3iS@V_!tI*^HpfbQTtJ4(!yPgdD zsB;Y~nQ`xGQfrQ?Au<7x5hauXmjG;oq$owVO9ZqtdI;n6Uk*yLaF345Z_+ZP7FW`T zIu;#7Uv&H@nM7Elvpy4D3MQhsbSwYCAkAkj57c+bw?2#Os$>txR8rbjlSe1kNlA}H z)&=VZ&5qE-Ma)tU08B9|-1yVM24a|p@Z)*Oq-m#Iw(eqF)+Y5-9Vg6e0#(O3RcH96 z(x9YC%Bh9Xk(ygD2~jJB5=AHpSKNXnTjz%GJ1hphRufb{p}%IrA-7a-+F4;B*@39DVU^>sMz__ittWzi!(g zEz=>PExn5ju{&H;mHL;D9Hs`iZwUf3Yj z{R$!|fT`OYaxE~;p?F%|Qd|`j>s|W{i-VHv=dJ!rY1aCb<$zYtr75s*SEFw7X+#{> zdPN(hK{MGbs_FS%{#&AMa zpTsKm9E}h5M?k)<%rh~MTn{_@r^=vP(C@-KfNj6OfICj{Bx=P+k{J5Ap1fQosEOg; ziCHs*{2h!hab6f?TC4LJ4DMOT)jSb0yhL`hONi3qkOT|0RQnehZOWTN?43CI9>_Pk5i5zlvWiBW=@{IvQw`tF#EfI@&={ua#uLh3 zo}`jpNF{i!A0dggpNILPu052a|aAz1TDmW%CO{zciax94a3;;KGr&4GUjeEO>>+E$gd<^r{5nVZ1w2%X0biX~}-Dstb} zR_dxXwwI@uWwo~Z)~a5jt`}w^oXr+CFnFPJW8)_=qK^NRH#D@j6en7d0Bp9&uCDhf zY_cQlO|0V0iDG89bG3s}&Zbvxp(gFwC7^WqVl{zyoGn>0M{hi8vm{M^?Ulo) zz8h)W!$CAW>?-ICdpEZsZ!dopYJ`VtG0pSA{)?(}j0!Al+jf)PG}*Ro+qP}jgsFD6 zZQGM=+cni>+nVt9Jny%@wcbDb$6ovQeeZQ%*LfT;BRXkV3IZQ$SSQYUb~+LwZe}ES zz2R3&^C%VNj0Rehc%K;~>G$6NPr4f}kxc+I5Wx%2M%TK?GvHf9e0+>y{)O1w@5mzs*e^zO*uUiXOt&2hGN_5^KFV{{O9a6cFHt1i3+Mg$EULt6st>1E;p{y*dT6Jd=( zeqvX&86uknNFD1BIvrXj3h%4Gcr#-o|J3mURDH;S0?Jigt=xNboxaO>`` zl&lEn%bJeptY6w;;z!ts+73w`0flIdlQ z8YDt|#J4y!FKS?7#tweCRzeAk+&@F&EpKUL&5LfulR*iBf6(W4bm6}w3hg{k?iS`1 zPh34J7RU1oOo>^unJ9d(~+4V|jqxsl&?QI$}5;5@r#g^wkP-Zea5Y77o z9sS0)P8iV;`;0330YQ>)0^mHUt+z+l644(c;tFDQ=Ya9O0NZOW);o&$XVIL1*}VYA zYiaZcRw1x_oXhfh6#aoA{wY%k^c@={b#0&OJoYeqRVbJ$EQOz!!>7JGL?6}S@S)My z11gUcvpMAjrH=q$xhUdMn0 z7`TcG-#7V>uz1ysjSeeBi@wrxEYaEWaHp}WZq-Z;I$2G2u)#{6DVD4lTMXmWGIihF;NXaUAEp$Bj{1qUY{+RD^+z5kviSyN~avTTnkw54UC#G0wr3%y2@2%})6# zC2tpN8t4Hkl}J77dOSMpu0pZKLOj|#V?F%JB#WFFP3C|?s}uE%QZyOA?@ZIB$FO7U zsLIR*iDK>Y^$6KXQDtUIvUFJOSxP5|XdROahe!ib;AQl8j9HVu#tFW+u(ZXGw6`gA zao_af!0>P5?fdP6xt)92X5nypB@|ka_e(!t3E_cnoJawVSXl@fBGC54llrSLTR|>{ zm_O%`yTW3&%v=X+2wS!gfIym^Ek`tOaE(3GR`iB#FV{WtyHRrr=Y@zp@RI*gV+Jj{^VJqSk%eMI-22S<)g$fxaWM+Sb7t-;XkZ@i%YZk(Rk z`4NDvfz)k~ZbT$0f-8y{0PS{L&jZPp)F0+UI8@$ji~TJpzo-A7H#+pIA1T_8R~|g= z#GsFFpG7Q#vpr#f5LM5xTln$a&et$&b0c}PzB%licLHl|(9Qy(#jxH5y``lz*MFFH zi>Muw1R?k(Ai5Q|(>^f4NlwU^&8&Zpq>=zl03yYFf@OJrABCZOQx)+xC1DenihTCP z_%{|3V?7 zc|e$ykej`xIa$+GCG^v5V)FdgfFeKqL@iCzY2d=XAXWg{55-W!V(?={HOXFn@MPe} zcAmP}ETd|wHTVjqW5slt`VTp*0JR^IF4}Y-^RA^!>6>zbAu3KKnL6< z=U(v2R%t#iJXdl^#0dm{mN7+g%dcB&4xY7zs;TVTCMrIYv%fMiZG-6uZx&n3)){ zmj@zRu5Xh3i@6YYhhC2E&@)fAzQBt&ueX(Ke)vVmhJH1jioX*U%~tB;euxFEKl(47 ztoq26CtA?#J%^YiQLm?~%88#6A}7Y3X|I9J#55Pt8M#!j`Wri~d9}cEt2v7cj}9~D z4;+MD#D7>O(vMgUt?yox+Q>4?;S~w!DZn&%gdE9Cei3Trt=t+Wh|mnNcJi?*$2ZFn z=5zTQvaJyNLYO5`9TS+@5&M9WfB9d-Aj}bb7wO~u`5SCkd8{PpKgZNqAyfaZy|a(f zpQLP1T$jIY18{DuK032MCG)rz^6d}!lLSgA49Oy)KR3`k$u>o_YUqn;Gz@6R337fO zYQ8=Rx6u5XaKeRr@+fLdpa=)aF*;u3_^8@vA#Z}FbM!>K{I^@ZT9X1O;&XrxTD%}6 zO(h?URv)$210a7vSHWELisFo}zdS#>dU!g;Oe?aclXJ+{pn;oZcWm(OYS{MyzajN_ z^Mxd8y>JW1*|uA3Rqy_8=L((_uKIEnQ%D!+tZ<|UcXtM(>@QTmMXs__*qL!(sP8S7 z>gdTsdWGaY@wb|e*PjDK*Eb%R&2$^JpE`>}^_tuJ$b`Aw!S~r$AfNT;K5>_RAWs!w zuc>B7<`@Uc(Lbms%r?#FQ_tq+%S+~YEpigAL;ujHvN%X-b<^Yq=>1_`X{6}8%orvP zW|$f98Sx!SL=L(Tl8D1}|IsHZOHxz@O|Jtm;iyGVcIDB>T7}xil-cwfIYS z(No`nCILAz>3;~5e{v{lxzi-Ox+`(D2N~?c6hE4eW9;*nLHF|L!X9DuKio#KZxvukcRlKLt{F2Ux_1c2%vXKo zhrgI+-l*j{dZJk-KYKy%MmQIk;Vg8fdr@cuHBGUG%Tow;KqnGgXK$HPG&lRiQhIib zCqi2no#ADw1A3TAodi){mV$?HK0(MG+0p|mJ zTlMZhx^ZM%wVV;Q@!H>Vo_H%%4m(~4J{x7;L77Pkjt$y=7UeE=Ds;jv?I0bCVyo5k zL-=lFj}@7-r9XGro1j`MzhO%-j!KbjBHe9oc~EFmg}U`Bbwa2GWLb^~H6kZP%V~-f zqK+4Y?zjPq(5W&R@FvtVgg*9zRJ;TG!8A4t;@P|HaEP7z54t2cdDARL9nS>)x7C**N0PuCPxgaucnnI@AAbV*il!WSxMEc5mo z0+;j0NfOxc4w&CoKakTEROH?$?u>$i8TWf1XVDZ^B=0QSh>Wx(&^p9AY--g!tsUJ6 zlYs`DouwU${^{0w!`;TjvsgI)^`}Ue#r#ydHubwNjEhv;Rat$*>U`$Xm5_X$c*Rvl zoj+6JEHFGNbv!IJd_k3ehhL86eQERFUCPA`#!f6qi&cs~!FFJJpDEg=Qhg*8%Lp)0 zb)CzJ8Q|mSj21(oq6SQsWwa%aPnUx@f_v(gZHiO@j_e{7Vds6z`Ye8-t*$sp(6Qb%iMaG zYTc+*8}IsNw5=28o?S3zl_n<3%6j_ZiV$ZUHY%R6^3X+)DkiY-B9gJl63B=fMA`x; zl?@X~q9cW~Vg1V1ax=3}HEGgnrP2;=nsSrXe`P5(6g|36RlU?c(JKzC1{{T=3@13j zQ!DR(K7Wk94{7bo`C$lS>&wb}!AuTL#F5qqRp zlNPA=+d(*(YQj;``7D1L80JJ-I!&Rt;N59+&xC4DgtY@H^?fW?e@=0k)%&$APDDX9 zfTc}`OdZ+e=c4%@e;nK@TrMb2@;C-w5S%CKFAe3S?aatuf_=ZJ`h8fYzxs^3@?9{L zz3OK%F>LeIHcrV-gr}BxYp_L=H0F0d7nM@+aL za0<{d3D7xsr-j>0QoW|tbL<9e4wMSE1xWj1I8AFggdrY|wu^><-R8ie`nOXUhc$RP{A8eZ;wcrq(yl~%TbAz8~Xj|EUkk#gK;q!7Mq>!wa-E+hcbpRiJ&)KZ^o zobz`Fd@?=wGmL2|$_xqJESq6_M8>?}_IV4_yzIlcG@JZXFfA_6BQO^YRBa1Iq})^M zjcxA3P8q52rGK&(*HzpcQhPXNDd(sGvdT_{&5u6P&Ue|7>w@i1(!Ni&nC%{B z@T)<(knKtYyOPARR9*lAc1Z*ZQ#R?9B;nOWvQJ^RNS=VsO}b#w{Qpf| z@pzvbWre*N+;kEn0W0PkF<4De>Tm%w z+?y@d!K*&~z!S4!PtCMajfkNa@=1zaY+p0@xa(PkzD5GlLar4h0)Hzj+OYJ2q1WR1WdBJ%IWU{H`{LTt8UGx}7N6 z>$#OovzW@@igcZou!126PZMzz5%xol9EMDDO{UI|W8yO4j~Bozm~g92lca zHcg5*O4h5Eo7xA+(?g_Pl~$DGEE}J0uE|SlQ=_usPb~Wn$Y7PZpD{f zVFut3K>j+E3*9*kCGvspeq}Vp_t#Q#lEYvi&}j6DD8fs<?f*MC75Jbbc;fH4^X%Jh|0iJq;z^jRFl+S_pPtgBA{{8Rt_eTFu z&*_(j1Pm=HIS6pN)RUfwG@aTz24pf5Ev#UDD?fb_5itK;*?xWWQHzAyAv^oC;g-Z5=WxPPi77XX7qMK zyi&$jQVR4P)sPY=mcPM6oFc;xT-)+FT&H&HnI--lQpUM9+1P3RH_mxqQ5bYG_;*; zo3kyz>C`ywa(UFC(DylXKx@2PW@sghiAl*#MF z2U%3{1W(*7J*)16<7Y=Dw+2}A8{^$7H7r#X8o4zwohMaT;7k;so)(q7tRD2*v)9n? zL6)B?9C--%9FDu_t_BiOJQ}A}W5ic9a1TjTtTjAbyoNf@q*iQtg$ppqsC{Dd-n~zh zz)P#eZcXN9D=!HoYCjqi(6I%pcL^wX7gdnR0*3~s8e0}}A?+nz zC9;)wODolO)i*CQ)&R)|!beKJ5H`}9wzc)U+(QvcYzha*Vzu2}ZH>u^$R26<{QS9t zwZXdPg7%dIvH9>Up?fntgPOKD?SwpDjom%R&EfgC%^%fgkwJ~xU@7QlMtt4ieW%%N zKl;>hV636j5xg{QPOtQ8#nzV|i26-AL_tkelVxR0P^==|&j8aKEfU&=bqpAr9gnK2 zN`u(Sxq7tI!f?;STl)EaAf*x;;HBc)Pn~e7BM8V!%m^wSUD&2#9e@yTYlUo#zGL6QmKGIe1(!6 zUVb8BH4!br7^VxZlXfEW>VT7Wxa&FI9P}4s4&;{^YN5Py<1)V5!0&0v##99dgRglh z8AcVB*m^%o$j_rW0=t=REu`TND>+Fxcc$(606pzW?8SfKLK)kOW#S#K3Fk#qWEQ&M zEf3}2oZ|t`VA0{Wz?9iRXXY5Damkp3B6VRx&F0B`z6XT(;)mjS)8Z)X2S$mSNF^!0 zLE+|H_}VZYYnrxj+~u;<9Z0t>^i#{r^C&B)c$iVJ7gh->7X0X-pl{w@NxO=eE*b8J zqbOTAFsW=3ZV^sKmj^Us>WGLMfZqv4G%)|}%MT(?&i^4MK4(%p+0MMwoq_G zR|VKgs>irDQmX3`nQ4chl+#r?n>#U8j1E%$Mkb9J@{dcm)3f`E4Fq*c?)*ow(upk^ z7=a*_*wSl7L}T8X(LX$ydFn$daiwGChnjF^Ge-I8l&V!qMNI9u3V~o(5<}$`>_AXw zK4&@1gIlGDXHu%KLEmRT!Kh>wgGC9!z!q93sQah~nSw#EBIBXri;nQS-iMKpMb^# z?nBgH!pJXSdQ`PyyV@f&s)eQ%4!Bahmbcz^ZWZq9z+4mht~)m6wxK&TwX~r-L+ZX~ z4^gwT)8q&t*1L*JzsCp7BEG9b^1fq8bAXw=XIE3ZigALW7GesrPtci)Q@`q?8iTj@ zg9^W-+n^8XT4>xAmOluI<{6s5VjG0NY}=$&Vz>*I92$Y6u7tzc1;wTZ34k*5{-R+x zD)zlUt3c!i36Nf(5FdJVylxj0D1dfaa=Qf9IIlxl3v(!C|Wm zVAzfsmxl_I)XEo%nwZ0dq?h~n zWGBV4jj!;Tb$QV;4tA+royJC(Zk2^B(Ldf7ATNI+r8wiARqCj_sEhntdpvN9zBhDM z!iL4p5#gLtRl#*&1_XvQ%wUHJE3>%Jho0p1MD*-_;jLtLFK4`Z-F%F*)_ok76bUhp zB~FR&q&s~bTg=01yOSmwo0m=$0Oe%Z%%1{NHYhw(d1`Jd zronX*x>rx(9oH1}h`~n9PAPW~IC=(`xFEybKCax2{59}mQR zF}zX(3K-<$WM-nwu<^;EEEBG~%y&Vxs21Lw(Q-H>#;9B}4Hca`tT)Vs7g%kpJlcxm zHEmJ+hebQBK(imV^c*i8v+ir`M~3PBLZ0)6cV@dj`wUh8*pOYOn{@I0BW(%Wkg?qF z-z6S{*b~^dC9-G)5>y8y^S_hfhET~O|430ZUnTAJ*o+R*oN2GWH?bkOVq`rdlZInZ zt}yDeh|Y5{Ac|p!rWtq-;^sCdaX~GxJM7YpZIZ^L0*j!#k%7BT&dZ!y#5QS^T8d+t z&op(1^4#kB2G+_f(3VPbH`d7w$1o!7M-m5(d%hIIL4&sW?p0wZwR>IKUcZc}b-^)I zd~zTXx0zSPXM!$R>wBO2hMKqmd@Bi^g#J)&bTA>)_NQ2l|@WCls;GAy2M#yF3S5EIB}2YU{8!d}hu zPvPjVW>tww%B#0#n&Y0ME*QaIg!~FZ=?VF@!|%){ z@{~wh>4zT_I=TbT2Ok?JL-rh%tG##x^bzbZt%5Pn;q*w zAZ0p_wg3Ahv6bRF+ScGa03;nUT9B@(U)e!2gC5Av%Z-lMoH7nZkX~jiw~0z@29OWaVpn z59B$hsR1fa9)t_5P8Oui{!ccE8`MR)B_qy^?~OluP4Ta^)=ZqpyO|mb`DQz zX1i@4zxygBxp+Z}dCLMrc=hO$EGqdp#-Xk^sJj2B-%_z>>%X$`%v4^K^)dr~kdKb- z{wOg|u)2T|7*3N%AMdqs(FAa(X7af$)-Pvf@UWO?2N4ZMMw|P7e|qHY?Oo?fvyf%w zHRE1{RE`wXIEBsx+y=xYFxFw%ZjsPoXfKvu8b@ouG^FxO+sdoLi+{UN3{fMbZ)eC&?BZ0N5#kV`R!jnD%}f#p81Rd}RbY!B$dYerur0DtIghlv;D*Ufj* zYsT{d4x{f|!6P?d+@GI*?P2A4k+%?^v5JSi z-@@z*atDM)Nwgt+0ikkd*y>4tk!xJkgebae-V4fDPI^C#9kOe|8a4k^s%&D}=CvKQ zjHX`Ki515*LY&EZZ%~P_TyQwcDI4&yy1`q-PWd>nQ>h6KXlLQb1ID)mLJU_;L?vT> zNh-~T^H2knqF(Wdfoq(A`L7uP-Zi-p)^&gx*&D}6YWS1~0PZU@Uw{4m=WGq4FgyM* z`ZGa*^R-+Rg#dn#t~Un8z$fzlFp?wwTgGP-bPMjIFU17(*0(tJA#XDTG>#v%i_P>#&rsn*Dz0V!KhU2;f zo%v^**?C<}HNn#6xQ`#R@m=kP>mlcCI|M1~^)pfdkBb>W*7)6Ha2xF7e8KiSP4=1V z^inXK9RJqG$dn(~NGUTL?YT6MQvw!mU^{d!^(DBX0AI@;=mfXDMCiWYk%X?8!}7Q^ zLx$4EJapTuv0%X%9h#dJ0)^fsqK_#Z$DchtqQ_>aU_f*$^LC~2)XDxO{KN2a~q_i`SNiBs>EW^eA*? z0&KG>?x3oM`=81PC1aOa!k(gnp(zMWu`6aOE4mC99AcNG!PBAOWs3@92p1z?b z%?Rqn^;b>{>ZJu}KbD1ovukmY+4~KdCXk`}t0k3J{} z`uC4c!1>C(=gRvi>niKh)BA2bHzR>Ra_gF&vtx`jlXRkWt3?(2=ay?^ z%B4;E$Wy*u$x=Sy>V;baZX_|-*gvzvBR|u|BmTT1xsBVCcKHRBC8vvY^bba@4S~*gJ8Px5sSlI>*kx9z9S!`+{qCKyml6y6!y=Zzxea<*~vdNkTuyFeBv$Cd9O`H&~ zfPd8X>}`*-_LIV$vu$BakK2GS(Moh)0hl+sC{%D9>TTF4B>bt zX5A9osezRP%x=G%Z}WX_uYTGcOe_l?$+&J--Jxf{%Z4!gU^0<20(k9*)1`OKY4?$8 zIZSR8S?i})CI^q0G! zo5utOXBAnMx6-ws+M0<`VaTSe>iW zM%nB<{;XHLkf|h!&Z=@f_{8x`sirPOe+#IQd&cqd}Pa}E}JgeN524}P$K@E zG06^BC8(A7mNq$EOh6Y6`d@R%AA6548AK4|7w1rlKhu6U92knT;;O>$<%6>_%!CLz zqr-Cl2t53rQhIQAp6vNO$reHEZD(mt^SdAFTdyM+f>22WOzfa4>L?e)!p00|iH9R8 za>)C7GR=3wA|xFN2y${3P;Yc#l8=3%bEXkq5USk&;^M>TKsmc+zRlps54JaNx@20% z4PQ_?5FO0ixT*i|VulzB;ml=h`Uma;^`aLOP36GHAmKt)=aM=~{soe|kmpd}MVE4(*G=U#m*wF}MC3??^Zy?2g-#=Ran2SRKq6lSL1zmFwJIrSIp)39!^*^>?Me)#*8aas3hWb4i*_I7X@4TpeJ@C|%` zOd{MDo9}0F?|o`Xj&X-7LKuGOr3rPnl5jp^jIbExa!KKiT_LK7NJRP>^#FHBN<+_c}AXz+$aK+xYD}IXb7R8tNMC- zI!Un&-qgP}D1WdL)$^jx9Ihn#?eq;H(t~(8<#2MLttzBIM((}rH&~MssjE}MJ(E}$ z@U;)kqU#3Fl2pS+yMo`#tL@?1uLkR&Ob#qoL;D3Sw0}z8gjY83zwp zz+|XmqsE2`_9;z^zYusHFm=x@Zcz zki(^F#TzQgb)rLw1&tFt#R*oG(g}ZmBnPXapfL{Z=rOt2NZyLhKn8Y88WqCyg=ABF} zz{SGdUPOS1budnk2^k##H4j=)4qC@Gx+JZD8C*Ei4 z?%{0)W>YFuuW3%GMJ?>DSf0%{ZLU|Y^Y8#xT$o4O@SNlzeYaj2PKBVhFNP=xBw~v}Wq?-ZZYv{Kv92Ppl#?SyEwqyKG zS|)%qNN_Y(JaDtv0P~)`%jCKc{P^rHGh>F^enF!TyLFKHD>l zuX2)r={2T6c*KKeyIP6L=WbL$x6|&uKl;nvXca%(x{uc1(?u9qo`rK1_JqCU6KS@1 z7lA^$$zjX-u?N`*{$r zu@ze+d7IiZ8C^b{9sYSn9W7Jm2ym)5&7z|p6``5+slfaSsj)SJM|vo;u(O4hYftN zu?1^$moFtMQqhnD0z%YalEwNv@)z*e+B2r~BcR$@PAUNG=`7_DUDc$hDeu6nq=Ec+ zfZURr+?K*idrdpTO9y1n*yi}`ToOo^dd-zTqfcp6*Q$xE-a=~36KK{$)Lh-1k6ib4 zZo%tdQ1x+bc<^5rX5w}O*DT;zLt8To*~y^_$aiG5A4bXU%VX`Ins+}7!=kZ#0?1q1H0cv?D{(-68$0MsudF=$nG8s%8_Gka zc9VHBHZQ2sz8`ZK9NB8o4VPWbWtBhRb&l7ECLL#hO9`n?bh}EFRq$n*U8GYwm64l| zIV~X-unBYW;Xl*fN6m6qNJAaja%FW`hjcKQ0e?D$x#VG?;E4!x3qJS}qD!wEXfCLC zUrEs}7bT&io-OO9*8Zwi?gCV@E=>JlY=N#TKNW3q##^(>BLRoXa_!&h4EjDfU4_N4 z+we5jW+x)T8VhOpJ=#1B)`~pX3VIJ(TLDLGjP4zC*xqVk5yvOa>q@fQoqVffah-gs z%&RbY@E`U`-6BW3R3}X@jvY;o!SG7-YA9j~w>1*VO3EKZC86pM_&>lu*c@^R1Eo2m zd9T-VEfa}l&50B;Kbl{9!&e#n1( z?((suw&0$b{+>sjkajCWDK#4pXZ zEz~>j>#{`D8(Xrx#aLkTCfA;Jak9_`!-)LH00koYsBr>0Ph^A+;)%jVROn|9x#8w0 zJM|4#Ds9w~!AB0r3!GayLHCmr-^z0^&W-98YXRkFZjbJkL!4i&>=z6iULoVUQn}83 zq^h1h`I+7Ak|Xbq3q?^X?`~YSpjWlZG(#SIVktgHk1?EpF zr#9m=%5SgbQuUZ(^;x(vwwZvQcl8Y61L(lO-uwPkTPSOw$)fD=JKbO@J)?FbJ6i>x zL(+G+NC*8x%wm;AK@nQ|KFg@n)Dwk;`R-t}c9KpDL#1GQq|0(gRZFy(Jd#ec86)nd zIjSGuFA;q3kBqphEtH(y6b##B%#jvOqJwjUvCK6g%v-5l?Y?&gK{ZFuVR5le3n5dg zCN5Y8QpqO*3rWXT;-0&rb{(a4rIu}je4za=AlW?96Z= zWfq5|n;h6d%eMD%$p^S(1w{}$8GMxVw#xZ;%K0w>jpDjO^Vl!$%~$=p-34g799*eeYp^WssXRi1pn`)Ct5@ zyX9Me1qoLu=aIj>NJdI>Pd7i>bAO!(T^53QBl8XVdZh*4Q-&Tp#mu32L-37pED&uf zn7m=)?O2>Zy{ULb0Ad3BTMI1gJa|oV#YeUj3wO;2_W^cv@1x6N3~TJOGR<`N^>$(U zzc2D~S8ED1>{jM%nsH9t*6r>?F6g}$9zm7?g8Uw}ms2I`p>}yBLNNKE3VEpG4$O-@ zFE8k|)IXq&DfmjRI*Nz*g;z>2p0+KsPbY+qoLfKn_+pg4(KYMI73R6jVy(V|i(`A* ztshH8xt_MX9Dk1{I@7b#5f1%5Al8xpjyy`YZ@noZ(3|xJ+L)EoA4A+7aCTyKtW3)V zkfc*QmCv8@A}+MWSHr@l#e4f|<}I*5L+P~;lq!@_0uX_P+pA4N5E39HMAzpE)sbaL}`EZxI_An}$FA6G4-KIX#yGRh4F7QRc^!hENQk%RPI zp%dMX9c?g2Uj`NC4l=Zbj$=b#|2YOL_IEzIJc9-2SA>msB+8T?F(+@N;2R&1Hv`24 zUns>-9NgjMG5LRP;}r&)X+875_t6lJKtq`2zHh z!*(pDF-H^cq}0LE70Mzmr9@QOVNqKkGI-0$CJ(?F?2($c+rXuce7^@o zah|Bu7IMoG@%3O7YW#Ux@?dcM{+Za8cAX3MFCLqL-~KxVuBkTHl*Q!CFFIsfJJ1IDXU%?~MrV(7;B^3gl}fxqGs&!@}2SL6<>kX=HqI1%=F_pkMT=qL)|^9S9C2@JtQq-c74MWJoZoY3yM^# z4&7o<+v?#EQvf#t+B2@vbbT9adD+f*>N&ir1DRveO<@WbAY~kGfto=y{|C~QiuE5F zJ9eSTfA=#|WHABwp`~!;g1-!;Dfeggad*!tDnaNdba4@cexw?0y@O$f#1a+$*M z)&_?8owh=Gjlt;u>ZugmSc|N1Boi}=2+#9X%>SyoauYD34MI&bm8!u`kEC%Es2rKt z-?1IJ$Y3hb=CHi^XszhDCa1&hwC;H3dFEE$u7_ZaLR#D zXzu6IEH-Y6xU(}HR`KYZjfiw)5@Azc4UxgDXi`!ck?TT8-DS4Nwp|UIsP>>{XIh-} zpxbDySTzTO${Aj`P z$F3WzzqvHz!f)T+cB1rq1(N(8aB1+jU|%x?gZ$zekdK~+V4fZw(%ScLh_;41v-D1p zcORJBPpdmcMr<|qQ9aY)(Dpi1dc+{0p9Q*L?RCIsTLj--d*eu1WkzhNp!;wiG{m%@ zw2d3vz>j*}=p0RE+~ShVs5s3+R(s?l^u!8mr$?sMM%sD6*jpr|GB-^Cw%~RqNd&iQ z3`d8s_P&EI8qAp*S~u36Aq*XXp*-omv34GG`lY)Mvd$PB9o3{YIJB*yLq7{49F%X& z&76?K2yiw7epP$Wd<2oXW!8KAA!4eftpNi|YkYVxYq0=SwC-=Lt^kMmzMp1HgDIy! zuV>`V=J>dKgM2G?`OyHNWcPyl16Rlf9@1xL&5z>8jhJdD7*WGm%NWK_hewI7EpVH{!QclA@K6fcP>BOuZ8r_~*&t@-Rak<-HmMjrFy~HTld; zb`N$>YTnF3w5EJPN?rmYJGH6#*GJ5NCaa-(PG>tC7Z;m}_8=-Cd$nS?Jq9vJN-p0~ zK`a%J>DAdm2=+nq;a4yvJdadueb@1k)i&fqUwCziUz@&WmP1q3$KbRU#oF2n3wtr zJ+01^=T8uYIh0*;^+B(%!hI3T@opukXb#$J*tG(vq*;<;GkyZ6FdC#~f=UV8-@_;M z0R;!YkAkLM@St#*6`dcj5Z?Iw(puX{uZ3{P`w8>OuFim6*~G}}0n)2BXke!QHA zZ$w#fsf!aL(&8p2^QadOiL%l?)VbbGHFXv&{aR!s!rJJM_fM}~$UlthPZx*F+N9XK zUu+Ur*8B4j_#Ip)yN9{CgYoO!_|hTp1ahxRfyc6%5(^2KN4)}yWvH_?!l*a*&OKt z)@lusSsi(aW*gk1yV?7b7?R=3IkQjyuAZM@)K>J{qg|;wNj~RwsCMcMy;CEqKoik> zdC!pvPf(;JmCU-h$=JBN4@&4JBtpn=qN==%NvQ)W3v$Z$Zb5u~lJ1lnBhFVABEp>Z zy8r4$eRlX$-pg7R#)5tD`vnE&!WkI~y|trw5<_R9&um{!J|$P`YMw;BE8q0y^ly#f zIbH(zc7D)b?ecmeS*zIR zO3NMj@cJ_rjt@%5W$ZGdqisbFr??ZPYh!)jexvf_&}Yi6#Y?ucv-UDb=L9DiInVD( z1A{%A1lJNRjlrP43|(SMQYKdQ?c^rE3!Z^MJ$|o#TYxk^heukNf||VG%Q%(pin|p# z8e6K99&dX8mf#c@j7ux(Ta3?MFC(o2fha>7vqOm$*(=H%CTU}ANJ&feUO&5SOOgKi z&s&)Bn}Hmo;$jux<9t8MF6Yap$D;{ODJT&{+2Qz$a#ir#~D6GILVp9 zJc3kxC)Q~M0IK^{8F|WOiTPiB=cR|Beo`W{bVWf>Ua&cR#6KvhvuJPefS-j*J`eU< z9aH1j71`0I*(^$IqRh&*XsJYj4rq73UmhNlC5?^_*9T4Hg}69^mT$b}FQ2zZJ0pXZ zTznDdT4Jc4xfU~)VmKxNjh|JS*%@IIS9|uBdS9aMkXzMEq0#{nqrv>GGRNdxGCj?s zr~4p2AMEpB9b~~kf`O(WAZb33s8x9yV<{L?RJ-&T1bHA3TNi4j(jzvc$Bz$tLlEIB zinDSg;UMU*#^y!rQM%zrxEg_CeIvs!*bo{p*a=MHvwZ%JyLfH%))W%EU5L#e607__ zT%B`p;Bfb^yR~iG+S;~l+wRs)ZQC}tZnt*3<<_>b#n!xi-{0JO=iW>vlgZ@2Oy-+> z&N`@c5-z;)Wk%2(;n8_Po?IoGFZN2g1}e=2}CQ}KEVrA_ft4E08umF_pVNG zO?^d8b&U$j6Y0tE7q7hv{sHj-@up(xZ|f(?qe}>Z9dX}C6?_E4k#x59T%@(>aKqnI zj4Sea)^03?yL3-f2!^GQjKM@UPnKbfRM2&MyS7iiAT|G8|7T5`O5M0Puz=!RX5PXh z7xP7PAic-Qo~?Mo3=R1M{JS)3F*EvR_}1~1x^;Ai69sNjMh<4wymOFs^5r)pd~3#DK4jGh4!lY7w!sP=i~Z^e9ke0eJ%Q0 zgNoPNxF6y1uT1%ODE?Ku#&2?iGab)C*<_w-$pM5KBJxS(+R1W2l6G+RE~dN+xq2#n zmf0}=E$TR;geZ)8EDQIVRd6&7s(fuNuh(=8PF4z~HJ{$E<|zLpHHr>O^-?zh8qri1 z_Hjn}f>$Z+EH>q=0HrsKeVl>G`pfS$JtaTl)l~cznPvKow?465&{7!-8M87-Uqz|8 zEXG+LDD4|u%x}{HbmGWX^AuHx(HabDF#5{s{REDs4@n9n8~yjWEDU)9^!xKQ3-^*C zEaRU``a@G-$|`Gt!mtC)xs0)4E2;@+7M7?F zXNt-(R>f(QZ}4L8-{Lx7mdSsoQ@S-TH@C0btexxfm~02q2mSOMjHDRfP8m85bpVK& zy_K1!J)Nh=tn)rT9AGU4U_J2YUfxg~-<}+R86hn`rzWcZU_vW#?^O&<>6UxK;%d&V zDje&|v1I}OHd(+tBw6*~k|wD-#X7aKr?RKDIFFu66$(#R*TiH`u0fsY8o}B;*5BkE zEoV+#n$~bu?5SFuK)oEPf_Ab*C$@%a4aMeP{^kA|U2Y2{a?}&)pQSoR#*nl2zoeV_ z^1mF-(X=?j3Dfi3H!?&dL|aRBm!0>;Q2mbr?+1X&*rnV=89lYAbBngA!eDbGR#m-{ z*IWxl0Hs?!(X*O#vnonLyVi~8d#y@VvF1y196{iTNsw{wAq;uY4~0@+vLAXw=i{N< zD>Fz-ClLU*|72;>?69^eEEr48J&)Of-<^@|FxXH0v>2*ygT`2=h@B@Hh(4>H;-_5m z`&dAiUen@S^ldaJ$JuaqXl;{zMb8sqL9pIpbTyR3xVz1`CW@_&tDmI2s@zSoY5$5N z$Whu$>is26k8bG`a)N~BPJPm^t%F!9+@4HYft%JJO|1IazgXlvXGVw@5$rtEtfV-7 z=8%-JRKyN!iYAURh>oIEFdj@1xJeu%OILunq+enjch({dd>VO;L1%0%2?82_O#RI) z#Yj2o%`Q+3d*Tl%o`aborUP9oe?BvE5hF1M2nR8hs7MA~1;_q#`6x$H7!&W^JYiz@ z{v9O_bo?XE$&@AssH{$AknLOhq}yKRBjXU;>t~jWlAe0rg#`}LSqY* zY)N;iP>5YBTA`EhsG;{yHi8A1YtQ*7OvpV3TgUn`Wh|SS;e!l!6D>57{Jemob8mf5 zkZ51a4LY!2PykI`Q#T6IAYGE!|H1WbgBd|%5MB#R5Q6d75Xny@e@fbc_1$A0uv@h? z%TgL(mAOQd?huMZ6fbPj_@^RX5DX_U`0LhqtV(0zZ&;*gLN`<#ohBQh-p{}=EN~=| zY33=63y^cj(^7`sHNS99GC*{ILP5a_>sim#i`V)|mGBMCDEYv)!;Z&!wn+K;;E(&2xriuM z!W7y;sQMpo#M+_DRk>N982iP6p9Jasr7NK6yE0ECKL!q0WOb%tn^M&*P-{YXcNA3W z;Yf(Wb{K!oX0mL^|0tP*Y2a2N6m7s>LmI5H11AUwE-8ZF1nVvEgWrUEOdR;`Cddb3 zp)^Z(Azp}g!A|{|1g#IxZP*8jfmnH6eMrmanL@3t<{2S`K`4RYUpqhsys$`_-2TBZ zM7U&L=_Q6L8ZbTL!S#nNb93eYmJb%yO4{ne)heP*4@k`-NZ^#TWr-<1;cE-87T@lh zpS>&f5dF5QXxx*xjS!wsN9vazRBG_6^Mba379xSmlm4PmOsj_*rDZh3_uG9-Xq`d{ zu!lZ^CH^|V2o=Xt;o$-EFm)_D@H{aIcASIGJZgTdCFiqmx_t&0QbczgD~lbOKEf@w zuB_Gr_}CZDE08`_7o~{9h1@JYot{;+=LT9oj|{lX_-B|(XQM*L0~fV;*4FWd7X04G}f(C7)6Tek9!sK@+cbC4xi zLYXG84o0+%(G2&0UehgDJC*84|N9r?^>S_HeNbr>Dmw?!LqZ)f@QyMq+xQRi!apPI zv^=-$4{iH0rxLpf5XP5%z&Sq+0YRPHr#}y2qNB}BR8<|()fq&m%GESLH81;k%#_{B z2uWdoD^XKBx84<4|22}Ss8ixPx#K1ow!`8#oA{mD=nsAXM^F94smxk=+=c3J&q~}u zH~GOvPE56jkiSFR3f&KakohXO97fB2=4M{kT*kC9<}c!^DU{gWT3Uf=9N#>nmHWYJ zs{X7IwXxlcSyt;s(Mg%0jPG`oZox`o8<>kVzde>*fx+71s<~X zaCeJr=6WzAx5MEtM)`a#>vlpm8fSO=;SI&@LC15PuY`Z!Mhg@yj>~~&;}Bv$=r7Yi z*7(2e3`CEFevw#L5k5!2AkBh-tim4882RS`ITCy7-ZNX&iR&2Dl9HIA!p(;K$0Pi$ zu0YhW@GT;sYyAju0OME$;)55u!h72Ley~Vb@}PYieKq(k2ljD?rya{@$G;1ga0qXQ z#5XW!()OCG2S#xR>bfKap*J<>y7_Cmxs>KQM-6;Nw)DD44Teej->!M(H-kilU_t5f z!Rk5UE=qoQM;XOF-8s7J);r2BvTi6Kb$MX>fbj`X+Ja`9uiE*|mO29!|9*Jw_fy%LmaL3VO;m8C*`&b1)z2 z_{TmEEWH`ovi}O2DW2L~Y2%r{Jt7YlC|Cr2rliKGerA!4t2_u)?ZNwiW=c4eOLYv! zf=L35acg_UJS{TF48fStN`zv4zjuiwz)l?g+f@YD?qhHa)r4srz;P@7Y8nK~-+-$} zNr4phBKT?!h150Y>=IVu(IaLG=KK$nz@^Tg%u`8$?86X*cl^QCGrNG^)6g62Lxj(A ze{oLFGn^QzCz4!TXDX5QX7rkI>QLt2jSJuzPfYa+kR83Nm^rUXp8lDqxgBE}0jRHD z@Xh$5MnyH|P=7bVUd=Q09WxthsL!K}Em?l`g-VC^qNtS|%DL$XLL4$@^ajXa2=o=F z5Gdt%OPK*gBXd&oWaLqDS-<57LXU=u5(wqc`P1xO~Klv|R+^40vdBsWbf0ntU(YG;&s=HBVX{*1?y#DoAHt zvBzv|D1RInHUFVY3bVdU}v&o~x2G!0JPyW-%jQu5;8aEO}v+lrwRSHCtPNYq!fnmQk z<_Td2t1J4@X&z*p4AONbg*WEtl6ueo4z<;%H>W`58|0M{uaFbONIxLWMF3Fk^U)8n zS|34y8-@+Hqsdr6ebG#YfjG<%wkT!BLX|KMGaP8Y?pDl5aft$FftNmq*X4@g7-m*C&>CH z|IMGgD?F3@y6zeWc6^t8mlY6uh|KPHPr>g*W!2%BV{7E6ZQ1()Z-MaIe^_V>JusG1XVa@~}A^2N* zDFqLsjJ|WSTPC1v=}eU>E|0%^qk>EShpfb&V`X60nw(OKy~NbW(7 z^wq`0L{!;Uy&pb(bq|QRw%$D#N?d~~5{;~jm6Y~Q8H+;YmGdjdN_UA;aj~0Ke}{c_*!$UN*)xZ<5RN6KFN5-) zq3j3PC;N|lIeur5GLoke0%@P+=x**8?-(FRfWqNva_~A+*t||yoP{EPJ6T9HYCd6) zO(2{J9`~PhS_AMj5tC(@IVndRn1D-FG6F+DGCvPfOOB5y_=EDGik>LU-CXMaA_CSd zV(pziiU4Jde3$i5#7{A&QQy-PeYSir6M49vt9StUSLSp=vNk`j@X=Am=ayV zHm$ju#RQq%Y6zn*-sDqm$ONr(8v2cKTnDpqU-AgEi9BF&(A5y5l!9Je0b53o&M=B9 zBTLElR2pKJVX;xS*sf2xt>C*Vo8+JNWZ;6L|Ig&--Vc@`S+u%roL+~rr)lbs{!9~3 z*u5p^NJE98dg47z)SK!Nl4&B=OixG)TvDSw-$6T6;p5_=&QoH~2T>{{Nf{b_uOC4& z(r%On*~CERMF@D-7LRHKwR{BhAHsf^1#{)ILPPUR=Tx>H8A}<2P5I>&Q5|p70gSml zO)0c(!)Mr4XUm_9?E@DjeC^m0b2~J5quZxtxbHB(1>Ez^^ShY*hw(=Sp^R_|gOaa> zGXmp;d<*4RNB`JS9VyP@`**= zx#J0xF%O%sLUb^ixAkQ0HqJL{6vSLNCo7(kru{&nduZM?DleqiO?V?PnrgG{l)QG) ze;e;V+fzgsUxBIjE_$N>!0$f$w=*Kxr%^RGGmN!M>5H?~ulXmcUUlg;%`=Nd|Kz4X zUA*NsdGEA}c^g_seXql;5bTiIU8hXnAf^ClLt_=U&9&M$nAlmek#2HQygJ9l<32bT zyKy)h3xt@A=ni{3B@Z5<7hSC}KMe2Vh1d6pqlEZ}%C=mUObQy1JnH$+_##fR2MiaKQyWHWZiP{>jrN3NwftD+_BP@4{alRXQ)Zp_WSs=Di76(m`RBgZAq zw{yd#ekVR4sPYm-l^`@Om=`gOB2%p`L#7pWh*H&1wyd1UP9}n(QHo^wbw(BBy6d~9 zE{&fvs?w%g@tX&#r)_0C4iszlH7`h4ycfHd>_ww1;Pn&i|1DLKB@aFvec>YRK>u53 z>a+hUML9*lLZ^3y!$P+itAJmBL;Mdoq5^m1rT(jAl?a_|w2PPif9`9GQUf3TpOTdc z#(gF_1_%f*ZF2wl|GfnfNaca?)E)lAsyOG9^kzqwmZHVoCoOlmLNaY_5)Mw6=8SG9 z+mMSU<(ZaePSI#a&J6{?z1hp?SQRn=)`fb9GS=2`WzHh=D&EdS-KXF9shdknOPhtV zT@LbBAKg|oP^%QTa{s%n=8EPM0gvZMpnWdme*@^8VK`+w0PT?}7Y7Ze`HPV1Yx*z^ zm-)Sb>Mua9`bN&wlnqo}ziSS73-_OR+YW0F6A<2Z?sRFM4()QIS(tfe{^A)|Bdi~+ z3xo1wk;WSZM)d@UH*!SruNWIAee&&@*$k5=)o4e198`JnSYKjBuldW3i=87<2evXi zCFX(P3N&|o;DB;u@Jp#chA0_dhl)L7>5e-)7fcwb-0>>E*;TuO|-_(0OKg}nOJ|Z&x z^&E5^V8ydKboy;`kcSnipQNea_sTOaTloF~8@^fD=NC^n8i$q`T?P(tdJc>|-vp2Q z@NOtI=BHfNN1$R}fv#X}Q*&zNr3Sh9ORPqph z$J_1zjzA$Cm9I4*1mg=Jlco7L^JZCaa#Q^Af>0f_H+mh#B%RFf-1KDa=H@d!X*<4S z3-#SYA6{0PQC3qlWj7C1IIvy@K~J|7_AL=y7S<^-G5lStyj;p^=3gy)P$Nw>5QhUR zoF*Xn*doXd4*YP3E_W}TYbdkwH6)!wmoB{r%8d0VV#@C2R1M!yb1~HpFx}km+-_l8 z1Q)KZej{yu{iFz4j>Z`P#O)378uy`Zy9BmyuWCmq9ie%A76UStn#?&w6}w75%K^!@ z-Zs`1QP+{5OzpM73IieMBKibJD_>r%_sjk~1#roB=GrhSxmD5{WN=%JiVo`_+%QQ% zMVdczifve8Uz=f5YzcaltW!eLM!qw_0H3TfWXpj$aVCyxf0Z3N?FAw`!qSIUhL5gu zPrBRE%~MG6(H0D5K+V0B)J!&(UgnEdF@-qH3hjO+54zUDQ)W5-w(3TUqA;AiD#TYS z+33cLe6+}vF=oM)Y6n}oKO|!s<(>^#b+czJJrL{Z8MYJTTHBjZ6OPj()MWV*t+_Vd zp}_eqwvPYXb+e(e7c|#r7U~>IZkPqx+}ZT@#;_epBbW<6ot&pqePqoub43_Q)-kcC zB`Ae5rd~$X#TCC!Lr-JWF$?mAF3;Zsfi|!FV;3Yh&rlPxe$o+(9ZtNNcj5_{O`i;b zkxcR*W=gMuRh|fhSRZ2@T;a_PA*iTERvrevu3E~lO&}B#k2DDT_deOkQODG6nipH>G zzAFI2q>Dqax?zX8JKZi+JFm%$p5-adg{xc1W;i8uC6DDTW){q;gk|El(7mYMCX2^k zhRc~zWMiiH#63G7`1>&!ejL-jN=Z}idd%2()L@qWN?qB}y=GVKv=BhbEi(j>M=@@i zuRjo!5!T?qI*`e{fcBgJMRcG@z z{swk7u8coT17L}im%f_8C`&Vwb2EI{2anW9r*dD;qFx%A~k>vrrR@kQqB|y?HE4Ns;4N zDjWE?X4?=x7y8t)a4HYjO|*hoi|`QCq9mnm!;-BJx=eI>$oxSpnmCc18=oq#~n@#U!`Hkn=lNm%01C1dx+k_ z`EBtGfS-Z{CJe2(!H6YC#!~%_FsAy+&o`q;rZOiWC?_f&#Qq;OXZ#IeyeW4mA4Yzk z3&!73$LbSO==`B_HDBC(rvPbvElr^88zQDJi0ZtH*RmW zHwYwPeD(`$rK_FK>EsH>nO_c>KX|O(9vj{U3|gM9$;E!5D{yyXlA-3;glyCf{2RX| ztX^|&%qsgw_fACS65p0NFz||f7z|@wKhpL@FjYQ5y%k3Rdq?JPO;JF-3u!|aXptvYjvx!QG9qGRqhvJvVJCMA+2cg;V=TE^nfd7WZf5*e;@ z7pW}AbI&w~!sTP)(c3{d=0`bfuA~z{W+_2O;a|kM=gG#~=HztjgF_DYy9cQCcl{jA zyhg&zGhz`iU&`G(D@WLD;dx#~gs|jOafCukGEv(WIlehb@j1rn+VdHPs1?XGG?S=b z5J@!P9R>Pk&8KK&0Ev8?^#v|X-ba)KQ7P!LZ3Jc>gr1d^#-L*ZUl)`yhBf=lNAh?2*(IgPSI* zWgSJM_oe-2{98pDBiw4!uZ9kUFT~ZwJ$xW~^F0XF_cp06Jf=c&V4scClqAvPu+aAE ztr9NIbv|jOLL$p}ICD&9c&W0sqxP0MrR6I2qYPZt7EPz7sLGs5r_$p6p3)_MxxZsx z9yTFr^jL@C$Rgj3^HpsAVynk*;q)8@xJr|qRCpG%a?^Z^AhkBL1f5+Ro*nB zl9efe@57BZ565UmD4*MCP>dSSh*Qrwh%ic1*Sp+YjqSC!SS+Ht4)JmXxYOMe(2KF9dSpgLP~xsFEVv0fXy zFqfs%P`0F{%4;0!CXlI87?SSDBEk^;!{&0VXzp08a*Hpr`{QlrS>m~B0V){spy0fs zoOK{QrRn&b;jMWWSq(DRvr*jjM;XGUMc_dNAxbaw;+IsM!k`zZ7D|ylPT733wX;gd zll_RpK$$JdN;Vh7s{|qANBEb@Ydt&~GIUY%QmLEcy%{9Wj8zv>U6JK9DE9>Jo7C8- z_(v+pwtu`O_$f4B2KLYYfHRIKKO~xZ$1fZ?UUerwG@3rUR<|u4+OppXEP(P83Pw#a z#o?%vD@;>PU|fO%q2+Ow8a_uDbkdFsUS<$`1t~C?=a_`LSb-n>@G-K*u&fpKsr*sH z=Cu%>W6l%JHO3 zgylDSTkP=P8XY&#?F-Hs9Ej?%`#TQmxIK`0->9cz&>nX!l8E%$;Y=-?{woZ3u%pYU4sp znXeR_R5(8wkJNpTF9i17B&y$u7g93Zae2Gz7q?EDu)f*}+D$ie@Cxb@5!D?N#zdkZ z!5RtzfNEQ-JMCk7{BTIn3xRVkwniFykzE7&!N9_)75#Ex=%4(tljfa1;zfJf9r4f_81u!MJLO~DaepH8B|=ZKj~;(Ec2=g_3dDfrE9xsg$MC%1 za&Dx%<_d)6``Rn}R7cpPK%bkh2r9?~W>!GixFDBY);qwv5X9c@E_jmSe!K5CuI2&7 z6MWGr>%x?JPZ5U~kcZh$MeX!tW$zdN0T|gyBkosq4p# zKV1}!4(piuNAxF0G#AfqynO#UL%;Hk+;CpsL<$_$BHMGf4g12!w7r4&A&CM^<9#tQ zb#Yyzi}Xp0$EW*S8b&2q(c)L?NVCgYbDWTV1Ffm1vrHiAnm4~LM3r@mv@4#OzoZ?F zY@OW>>ArY(89^xN*5pC!=eR|6jZz%nvQae%3z+Q1swz>vAE0RlUpGCkpZw^HFRD$n zIb-{ecz5TbFdwn)c5k@s^zQ)i-3VbWosa$rNx=2gF%YV?r5!0~0u0N^@v-j#(}R8e z1X^$5%)F;|-fy1BF3;Gy?m@%Has%?8-+cF?tgfE`QD(J!*~}v|mmjO2LF4|14eAlM zft%x&{Cj2*#B7tsiL~Y%>q8&e-6Ub?^EEbo*r+i(-?#H!>675{9Zu|L%!cd(EfOU*CY@AIxyA3*UFe49>I@dhH`O814Bb z*nQna^2B&UAqq|($Lbq#qaT2sV5wVt9)%s}Jej)pIEmq=52+FCUyap;!Ncak=GL_RF&vh?jd~@{tQeyd^0dC$gPT zEWh%#GelFfd}LWz>YP!Vd_wxe37jgsboP=>JILa2zhLb=?f?++<|N!_>0|9p^p<@@ zRvJOiY24S6K{Y>D_JRaa1aUNU>91LYVQbR2$UFHI9amo{ z?$D5R(4Vk|L5?(Ca|U2{39(Lxdr!}>X~uDJZ)C60H@J8ukgOW2uQD@=jNFx@_QuPp zKLgt)(al59%TR56$hf;!@6?WGx4Fdh4x7UD*dr~fZGp6JD|(IJ#$r=Ulw$;8|I{)* z<4xCM>R_(fBBOnnNtG}(!J}+bv7msS$tB_;pupD|R4*T;cHeRh zMUTm=G!5ycx^ZXebJp6Z;@~ z^6`#qL}862OZG0=gxC@t1pX{qV>L14WgK4(j0xF@lMMR3 zUuY53a464)jB|A+^=bx)6-x3gsHJV_rM2jXcPc4MDk-co$~rR28tFwTGRiM9%6sTC-qftF?z9qO zmoO)FGWdbJuYr16F4a&fk~@3frHH~N-;G$6R!LLr3VvV}PO~WaL@Q~4xl5zSumDO| zOd{Iw3#H=JY)a`^g&MdONSK9L2q|A*NG1gjUl(vH=%SP?6){?7g#1dN7Xd>9XItvi zoh3wDnkk#|8YU3`lL8k%f+1q54|{%J{9ij7CuL_<;dM?CDhbS?9|#Av-u*#MPeFTj z&gHtNq%(!b3LYgE`}e?er)bf=#mbAfbYQ zjFSHE=oU4dIr2X+Uu`&}l*Lp5OBUA8$%C0-a#3sp$Ov|FAy26k@W6x+LnYHjn+r`b6^`+LjirUWV%fCx!tu3i@ zR~rCjCLf4LM#tlZ&kX@IrgduN*_1s2-kFK5uz)tOhjmzTQIhQu}aN8 z_iD-h;T#M#`;1%f%=l?HVz_R5tl(1TR36Y}sOLXigyRU?EpZInC@_s-NfmfVq!Zz? zN$Jy)Kh}f#@8N74ZCtO(Z`coWVNdTnQwy)OWZ665U@%e3=zvz)V%s&{@wWed+p#`) z?iHNPv=d93CO?f~H^rMywD!;7eIFv7JH7Wk%h$kz5uj|jvy5)E>zwT%0&7-x{nXp*LF6MUW% zm&{}mp5|_1t(J zR4BNlL4@^)^%cCaV=SZxt9-jt#wXCqSSw4hur39f<>)nK811GO09BW7(3>B2Yh@HN0xf_w`l z);-$rK}@*`519bAkrdGv8O4AL3bQgiI$Vt}J$xJQbBu?VDt_dZdD2?^Kx714M16}U~ z*hdEQx$R{v`Q+bOZ&rr^{A#kqk|>hRj^fRJYy*aRI8sz&sJBWgbXnjct!Yox@-RI{ zK!&j{80XU|r&$s{l7KLiR%ZJ228Ft=G|-79!+Wi$yFth*m4-4u8}r-oxU}3q#o5TB({h-oY;Qy+O zjjv=eCtiSWcrqazm9?hP zX1B6o5PNYbJ!j2n^lETEB91qS?ORx}#KvPP!Rde<6;Wgx0|;qKOCo5ykg655U@yhHaGTGIXRE&%KMW$749Ue12!|4WhxyB5~#m zwq0=}&jW-yEg19=Kb*iqpPSF_IwJ#Y>3$M3#v z)7wT72id;q3d?Y=oY3{#dp_(vipQ_d2DwPrZSMX7{#mGE*flAfIFXFGL9{`#ggEillW@Iwb-;g2V5{3tYdN=bx-|k-j*rP;LSP!2=hpJc1L! za+ZGmz+ObhMiS0>n{Df~Ks<8Euxi zhxSt>QV0v&9C9sTuvJ!Dt&x@iNxP}fjqDl;D2@@9Dvf7bRlv`j38SMACn14I9hOP3 zuj(;!buR|o*~OIS68!JR`c%yi^VnWODfSbwBzyo<=~O#C@MmUI6#wl`FOSAAi*nNG4uME(&lmEpcJdJb(@6% zcb`PMrI59?y6W9^4Sue#XTK=liWnE>6xo6Fy)tk$=*byXC zv@9zbj~slO#1}5u8cot!Es%+#r!q+bA?uZRNPkR;Z(d@(8qCAH+w3A z(*jAX@WqX!nkCi~0Yc4v9`0sL&0c->FjJ zda6j*zCe$LQjOC^TvO2CYj$~5N7a$>TR*LmNI@7$Kom2V@ZoD)1pdC5?_u5mB6pcN zTqjYAXAhg!>B!UlsLjjzZATJD`F{lO$1#V>0zmGB^Dk8oDJG!!(yq!+Z_ zsOmW@qaro0_+Hjmckf<%iNL-H#EyZK0|8vYg#q5_Sn+5YBhCjK#wBX@#g{3)1TAiT zx3V_#`*EQG^5W&Rn< zG(G_?zsoMEJOmF3$%Q8Y>;f2b0n3qrZ@)zy+q@Axg>;#vp1rpGv$%vpnf{c>Jm&b{ z@=FoAB@>~Nsv;&$91|8)rq%_ku}xQv@|ft9R!<(|3fOqxR-DfNEo=Ji6w6w}Ue43A zkVTD~mu;YP)TEfrD#QxX?)&g9i)LU#X&`zQz1iPIg-*WU2W^Qv@H6PXIfJpldrgX= zIg(>G)a|>z2&8=>fz>NDh&=?!G%`Vnf_F@-vY>srC5@aQ$gn20jH43LJN(L(YK%Y- zgD>bifVdg$;$2Wi!1ajuD|w?JMc705kx^Mj#TfLmyfYOwexCD$utKN6ajq?;F@C<= zjR>7__T3GH)_pD?I0y{xN%#mRED4taGqg=kK>}^cyxVWqDh_9VnSRFQcL7b&!{vuX zuBiFr!S21GLz$iByT_#-G?^Ty)0dyfKhXf&cMQHkH4WzI$)qE3m?7=OhB0#gjg8~H z;__1E5`tDhuBjlJ6>mb!+R#R6Q(N}pU5!Pk$+6DqLA4STX!fU74XDmPq6Rt3uLePi z@gpqwMq57y&L;?S9)Lyu^^&pfbL+IV9S`sD_6O$*e^_DG&wkTthY z4OFe1+>_()_NdWqler-x(>D37igNL2bZhIrpa*F5V6K7Wo=-4J=j{!d7$u~^D;-*o zALkGbrn5!?fjiRJW754gxM)3ghSMPGk!lwrztb5wH3z>QzX%1xHz83Y$+LD;N6H9j z;YA(fvPxdQtOU+r7x-m3RNh@u0e+luxHX&Z2DNJsswB0?v!}Xf_KW!X=Z$x~5nCN-@o(Dc}{dI1L^)tIm z3i7MW`Gn|>`HQ;DdthBkd_~{9F#XLT)H+Lchz~JmX;1Ybn!Tm_OF&QT6Q=8Ps8i_R z{6d*DjmC86DfN-W@1idxl~b zbmIsBE^vo^EpR(Msyls6$d1RvdyHYxOu@;^g9z_VC(%1|`cB8-_|FDhe;;>$5e?XX zN+3C*@Q=}*l59ypJ>z<3I2K5H3clSsd*=WOinpD2=z!Gw8x8-|=xM@~bh!QTp8|V? zotC>Ad$MjLxY_7d#FxBF%9ox?j+em8A1{f3y$u4N4*d42!S+$SMt@uTQkE{)5(TvST797Kj&OAN>*G5ACg>6T>eETJncw{hK!q zkPv;=e@GXwanQCYBl*qigmm5DMN%kp!Mro&113QMMmNI%A|>=SS6C2Ib5(DM>5pxI z%aguV-?`RQXwF9nNDMrP^?Te0juN5SgY8#@cPN`76Q&IloqHe7~OmLm+b`IM`J*C>VlGkx3NX&?XnkD?jKMuyoX-u-V2? z&){Mj%3se9!87N|Zv!))pxXW8>6)z`takaYJ6A4PGoz!QO*9(xv@y8lY|rpHaL0ph zV7ZJbiCj>i+gz3#vjJH{cC7Hl@quvbU+B4nXr_rW%2(cf_=UnSJ;W$~=`zmPw!C-< z?D42&sR6Z=5;Y5V(U+;s1~F|Cqa?9 zH-6u9(~<$fzAC{$0)H9DLLmGDs2E!N_6I>JveC5-+L`*95KpFOG-YuO{SLDLKIety z9W;T!Qc$)R{GhMW?~cxV6X_4Cc`&X*PO;srOi%Lo50S~W-)%J2C`~+YDO+WLBJK#^ zoeN{*!LVW+OIU9SPO#q?_SQE`j+QpQj%5<_`I9NCIS$^W>}~nFo^t4J00~7$j($*~ zqp_(O{{G0R@HA0-niy&wqa_k^DPbk2Dh-3upLIy>pAv*m1is{Wa*csG8@{AE#02Bq z3PSutjA}ojT6<2d=d>Chs~@st<>2g7dkn7xYaYUgtHQvOe3UcRyJpp0*!nnN&7yOWCivvfnk8_SUMdwUth53vUgoa5a?? zS!c?st~HhH)~f$%DhaGrWos)vaclqOsqpluXKGQdm9}57kXIjK*B98l*_Nk5hp|In zx_buJi1=wEkr^N~02ScRiAjDG6>pfJp%;MUCqemV;b-jNj6mF=@VG#wxb~}c&PV)5 zI}FOx49N?;#OpE_?Dl?k!U3atT!L_?SX~FB&d~8SYP$ghQ|ian{}(cm1cCE_g8!%Q zugx$7+#T$HPFKRgi~c8iifiRqtNo%=TyXs#$y9nkBrJ0JOw?EYRLTqUl|TJq-Tv#p zO=u`3)hNwD{@o}=C_t!>8YU~-j3iweWRT=*?z-{k_{b*07vC&JLpOe@SfzH9DH6&+ z85F~@R*UY-AjP>@)w1Nh4KX43ug9?|dkS)han;}oj6NGXr*cPILuxRe`Pq&xFZh_&GY?0gb?4dh+cGDeCy6GbiLq|RWjVb6$YL~( zo=GVF8@FliPM9o%Cyv4N4lLnL`o=XKq$W#yRR3blH9NdNFtwv|v~Cm1@PyZa-yE+e zpeWjY$pcY;?BCn6hu}#ToSosz8vJSM1Q%=%51HYZ(4dRc8QZXqv(azF8_bKdF}&jd zai#1u27B+>i-Eb12;req2;<>==m9HW6pFbqwId9P^xZRK>LWt$VM#OIu$AT0w&Nn! z^0`T~fApXc@at6gxE{#ScUc|9H3?14`ZsoxWpKxuW0(lrXCw$1 zvSe`L{o8{2kP`$XP4r}U_11b@gy}iJkd4>pxleD5Gilv;y|GUC2s8TJ>wMT9X7*b3 z_wLBLtU}@P)=wJZbWQGH!1YAce}CW!=4^i{!+F#OD&Mk$9LEnsv+ir3I6gLmu68=R z_^!qe?c;4GR3C=)ZgyLNF>{YoG$us^rtR_LvzYC(l*V_vpY?eO6Nf)f1!gSmvh?!M z|FXN65|1Co8q36mQ9tzreX3o9fiJGEpTnp<>-85qM5rl#ElikC9Sbe8g?#+c#BuOE_Y()3~eG&yZct-UI6f z5U(WiJ7+JEJYjwK>WqLd1*_e?!)*e1M^72hkj8BCGGC_g(}LbSf{KFJ4IAr z>G*hY?wY;M2%9r(=q#7(cLu-Thk>Fawbshw6+#DSXkv@Q!>{H0$HQ2Iud=s@VRJY! zJr|2t@muszrr*2%ub^8{$9hgT)F2XIO=Yg__qOmY+Ie?(-pEHDd!A6XZEQUC_`N@8 zM}Blp!WqvW?6U_*6bphx4mN*@bSg0*4iEOpZ_3}%v0@GHx?S{O8CvzWJT`4<|BAs5 z)>FDDn)@tG1u&KDYx%Z&_ZDHe45{b0Y2fj*;uqVJbM*jiOA@r=>FvtHQ2@YzAXt{) zlqErOn7uT+rF#XF(ioV;)7{NzSSmOx?4!k6SXf;F)=#L3wKo1&d5{d>9s3;^+kbl} zAz}~;)`HWEE4Z`fNje>w&%>-WZSH|iM&hMtJj4Y?CDwT9NMG81bcSSC_#1{RF`k$Y zs}>hWC{Qq}R;`3D4U)xpdttK=A}6bT4f4tWj>m@*0OvmOvU^5aZ9b!N4HhS)Q)yy zS1(}Qle33CRxts#P@#^5C>&cfpGNh+FpRv7TXsBDUP&J3o#tH*o`QDb7nvjlDVjK5od!^|zRG7|{m+f*juw*xVV zKyDz;MK}sDTxYs){62C*j`h$Cq1WB702G9`T!~7>@1nk{Ov?W?O=V%%IrGpD67FG!+*08Q$ZC16f6s^n+bIR?1@rf3uyD3D~2=I@f@ zo?9KlHyF~x2*$;kcMug;(1|sIpym;J6p!v-OCMAu+w)|$;5))Mfsbk^J{V@N2TJT$ zTL{ci8bD>^3@bZhpDR~mseyNac{jL zP|T^hbWR>vOfUu>p6}*1t9_o9RB2PbQ=Ug(JSkc`S~bb-lFA`~GFphZfM)wRL(A9M z(O;%>WrGkMP5l9;r(_5L`@_xyfB4mQ!a6g%Mp@|h-BW*r0(pZml-!tsx3@fsVyfL( zp>_BEQw4AWZPUDDhJE*bQsWDhc^2#eZgZ%81IkDx!Bv^1z{74xrZjiY&z&Q2cNbKd zOXFy%!u}kEfe~3vpiQjG_|B}ZUmygaj+RNWzlbENQ2D~IyAF3z%l?!Z8wZ9ZY7|O^ zD#e8z>gb9Hq>T`2N-6HjQiWClmnA@7m&9cXVgsHlOoAMLTo1TPMPXzbWm54YAWG=| z)=h)gJHV=Au~AC9`aM+hC%+UE?F&c4SVa?~$kC~yU!9c^ToZaxVDXJ_IHkG7xYYtF zp!(fhGoTS1`bl8%jcz=^<(XU&@d+7lJX#eBN+E|Mio)APV00&SF6KoS-4?&R?W~g6 z0sx)@V`ec067!VX*vHPX7`s_jQebni0UQ0Bx+!i&)RS@0sut}2TuQOjlYz%*7Whul zvknnqWsVuF!hw9e`^BrggF2ri>fb#(SVef#=eB;V`ms_fr7CIFQZNN5s;8tY1bWZ} zl62ODPA3a0h0LWoiPQyBs%3GOsHJL&X8_V-YPvY|a;46N9H~eplucmO($pkZQ}xL#aqk8ZE$scQ+R{>DI^{y;0%uXJDk++RMC%CEGRLw8WW%A@ z3~-9k>wGnV!To+JAa zE_Y@DqTcdPkhZlT5ohjz%m0pxgPXo|11svf3~yfS4IkUl@@gH>{euF^k8H{|16QY$ z@8}Pgs(tm9v!=H& zPrHaA@V%8#F4~YN-p$|dhnk5-g-@(4E-y~(yCPK_Np_pBEG=qm}Ko+!0qK6g5H{~D=n7jv8{3F~)_ zS^Q0ZU&?b_$}@D9GBm=j72qD!{l!Tn0tIzcc*EDolzFR%mNPd{X(x6>>Pp;$yUfy> zRMdPbAwm%ds_`|w(<~$x?sdMbae?G5lWGKOz2SCV!(#&+JLn)I5ACu5Mf&m8Kg*z` zG~a*Zb@78g*5PD7yGhf#@#UstZkX%xv}7FNKE?mjY5TIomMCqe~-qqddG@e?QarY{0}G6zJd-Q%eAp zYwF7`H8QoaevGlO#fJd)rv9u8ZQnx25}aOGEL>F=?^!&>+ku7Go!Dcn+Kn{Q=I|uH(Iv*MyVBclb0Il0y~G#j^y>GLND@3d>kFgv^m}zqb@ONf zs13$Ch?UpOJrd8Py1YntoiHONhvcHi4jU=&l;wt8ZCqCSV8Ae4mhk;vz!_&R6ICB- zmkZ7Ls|%@YX2bM-dA@P$kOHr;x?0g9V0jnL>qS$=KHUzI ze1nBp8NDH@q)V)mp)b8g{@ltHPv#G3k4F)Luu-T^4NTmEVG1YgC|G}tQl3mVfl_df zH%kG=2(>!Bmh@t{yNlpY1@r}o_+0_f2zJngI8pI{PK+0wM$k@)VA?I?0et@fNN@!z zTz|qW9Y9<;TsSHGsRz`Ek+Gj}1v-T_h(kW!2)20z_sEdb6tTj3(2$dTj<>NVH%4iI z#cc@j;NLGAw0Urir3XRAaBs4t-j>Ry)3mw#jKt;oQFQXRrv_19oO=)bZ z+~k&&)O-&ZcDUq(U7HvuyHGlJXOH1T785KBB%qcvqMtF|YnX7!4X6l7NBaEIKXeA> zbf*|@6=GNr($avB)*tRb)GQ|6hO`BW-lu*CnG>ff*uelNLmKCrca0ZgF6f1d>vMWX z*YcC&1B9#vw(>?=#!uf6TqjV|mJR)fl>==uqR|O1?tycq-U!LGMS1F(TtR5w5nBoR zDN_Ubf(5^&Zb7RK=CK938ff38-wpOU*d&PA0_4m7F|3~Fi>qzk`TL~Q_XU3)gTV4c z-yyyc@%d|u;@jjRo3s~{d21?~f%V+6BkAEY#90BZ%0GG+g)x5X*BfSb+|572cMncE z-)YpB55hpoa1edUn?ex%To8Slo5-bt9ze4|00Y8YOt3*L=x00G?-UkQ%?E$CWGJ~; z2wOQORTNh86w6Z1o-lxm3M*87QC#oWulGm7-F$2a-_--%`k)+JoC2$ri@z~Bh7RC8 ze^&TG59}P24YPiug|*Xf^6#0WxKdHp9V_Te2fpWnj9YtQ{YDcM8{4&Y1nOEAD+2JP z$#@C0#y<@}c_e5Tr4#tQ^6Y?OHxzXFG>cjQUk531Ae^Blfce!4C>-IiCDPL+1@DOX zQVQF~2}}qpkRz_S9D?lDC=2M^Zg5)J>{ zCDFIb=$pWxtxe0BuRukTIS1>W&!Aoz$Zzd6$>VOS_Jm?@2>s^CP31=DAFb`&TxdUs zcs?qO!FyWToSCzcCvvxvOe3MwzdpqeVlP`o!HS+qVw8oNZ*mk>Y!g#N&IdHiyo)Ys z{1abeq&1-_;F-g7)+HK@-Qo_>W~-;i=^4LNYv0I)9FHoIG&MFXO^bW-Y?oE1RK*FS zgwj^pO>n}NE4sxA8&B6tiV= zYv*@kZfy#oS!c5-4`8K{+y|_kIXRb?rkh?Ohc}T=OiJ5?)6zYL*hOOUKO^kGIF#7w zirN)4GXLPz$t#TphIl@*!ZSqd!fS}Gpm8?p7pF&8@M~~bK}Nxwv83Cule6?$f@_=? zr<*DTk(g8$r569$A68GvqNDvNnOuouQwVtc4iCia#r-89-f9{FK>whsA!Hlqq#@;0 zgIOJYH&*+pM*f7b)d6N}A`_(ksjnMQ6{g=+jcy}U0fMhOA=a+p zsxk9WL>xYwS`d4fRYTkUv%~Nu2V^;G=Mua?xukkUI@>&|6avgqO)~#f!+diH7Ye-( zI*=r1dlJzcA5mL7VC5GRQ+*;&3Z-@EjcD^Q>~4l=be|DX7}BKiGMw)}oD2>_eyX+p zN5hj$r}iffONRk8%mIre(QV$hDT%qSm&e4$Mb zSOpS?Nv{@vl-Kyo;C+lRLGx=l`?HXUs6>eM`RaSJ6jk;Rm0V2?0S=re6%7=%wV1j& zxujX%Vja}p)e)@x3XL}0S%USrtLNz~64!7W&sjIM(SIcS2y)&RZ6pdFXcLv{jj8C; z<*78u3XQ|50BBbEtk!6o#5`1=&?s0SFosQ$4 zSzn!EREyd-#N>VYwZMA4(mPHcXdS*BJ?X9#7yZLK|6YhY0^4KF`+5!ObBwDAfmlTrCyZ!@MWv_|sbx&#j_5}zSHn8< z#+<7U09rYw&H(Xo6uUB=P_R4V465cm+E$$K1E8tIce^Z4JoIsn-P=1lPW>)8>4VD_ zfi8^kgG~+k?g+Fy{)&X{Ug}qUm2Xt5!|PhP+Fa$-$nXRsor;$lz1GyTW+N2+$s07v z0g;A&z%Jp+Xc-3ax05OMDr4-`69kd27Uh>K0K8YOX_emGVu*_o7|uLErr&HPh&-X! z&=qbeS4bmm7f-|Av~LcMpr5$`G0E@)>JWG$*+K^_+T3$U4s+=xqF5O`=k{+NZtvKg zjOb4lTFSHvG>)PPzcSl{A;^7dR-s47(i<`@VuPa_K?$et!+4T@5Net#@}JR9TXMMp zz#oZtmwvkxztWgoRDXoa6mWPl7;pN9F&~vfDVbte@Li2VPe%m=s3RKh3DOD3L@5e6 zVty=insUZ)MzFO6_6hO{*z$zI6yX#w?nEixFh&~Ck+s%<)g2iVayfFDKog9j&6(_B0V_HF%)ONfxzW21z!j|nu38Dy8^G@dR~ZO zBWkx;s2QcVcmZn6n=LXxbAl=2LHq@nM90m+vGoL1s|c6xhNr+ORtl&;mY3WE05)od z=qlp)6rV)u4pAV1kEbw~l6!!xYm7{?Gh{0yGV(n6RACn)U|c7pz7ZFEo4k1^U{NOq z+RQ|;W3uR)F(dQO)S2AaBN|S;J?jAKrynyYGsW$g|B|z?T3jIy)#&nq4Q{WDrX)LD ze1D3;WK;Udn@~nT#!v{=`bOp-fN7VtCgB)khVUHO&qO^3a`V!#O+)&L6>gA2>1)Sr z`gE}=HF z%Z5deqG2O)co$9YeW#BjMK1^k^Y+vI`x1;4ylDylBmszu~j9Ku| z;FRXz`FFbsC7vrloWS9YfM-r#y_Q8NPJQ_?D+}B-=#?Uj8rOmf&O6GI(QP2|4M?>O z(t~1)3&VEAq3d|uLFpRSs5^F9x7!nmMvcR1^22GO!)d;ZJN8`OJwL)Mi9tyX^nc(@ zEi5ZCEG;3XH6|HYH{;aPIk+?rSg2K*3A}j;v|0X|rDsTmd6Q-4rf3Z9D&cJBiGP;LM=I0_d^N2~G%)q; z$kc8t3ts*WDSmM2-mbNTrLztWj_MBcE_T2pF*Nm=l5ah+bLJ;wQZ%}v`q#;t zC8}b0UCiXOuSo0*e@r~X1{lUB#F@>?To&~2O)w0EUNWBD<7dHGu{TlFQ;|r=R6<=M ziE!3AhJ1-e?9;K5C^qa;&aegr5?wq|Zb_0)ZYi}^u{CT_K-rAMvS{oW>)gM52~}(h zy@VI;NJnGTQLdzg+*q3^Vz<1ETSaJUUPdtTm>7+#WM;A-2uH6CwRD+PEEA)!j~M z3${E=9?UYWIL8Lj8x7&zEGdhHEzO4Jl}~#~NBWq12gY@NehpNxXe%PQfKtQVmKtLowK*`3GU^vNm;m}Zk$e+$fCW4n{q7QC^#J({JIX=TXK1A?;Ck}UmpO`)T1AgP`q?+kYo(Ie@jGg{IO}=xL z&i{s1K>KXw{h|=~mj3sCQc}?!x9vLw9zv2SI5FWH8!^v&&FbaPMx(e17fTlj4F9r$z3w2iua@YwN{uXyN9Vdt2 zp4V*wCjQmFt!Em>Ew)3CY{tkJ```}Q#e*%j{Z|px40e~+zRPIaf_QcKN4Ik|AZ}!M z`Q=56pnH8fvO|WF!(xNBjW&50Iu`S& zfZc5Fi4woH*qQ5PH9d3HJ5ps+RPJ7}Ai-&aFE!A|L}L;#9AWNGY*Ntge`J^+DT#w? zejV}f_s^Z<)APeW!?LSYjLe9jd}ZgBc`1$3CXhVgO`f0>zg3)2b9+)=^WupE$SalN z$OJ4|YZfJoc`2JnN2XiyqA)p{)TVq%fQL3Klc8(f7$QsSJR*?JFdd5p%Vg#ew~>bN zF7T?}Dp+4uibU^$t}(f+2c5F!e%;@m>xR9a>NBQzvF(ACnpo^Gcna9qsW8DP%7WhZ z`qL)yN!Iy2tRqaE<~XrAx!~amN7{|qZ5SH|aabJUbt;-%k&|D^T_>0l0oWwt04b^~ zrg*!3!iGp6SzfeEBkmc_%E=)WN6&?b!d&TE25tvr*fqs<^L15E{+PNaEG7?hy#g4W zo(=#edp4`mUn2yBlLC0ANro0a!}L(cmVWH>B$ko0bW{cb#~0R0)RP+WI6Dnf!Pw7c zAEpHv%rS_=o8AEp=D5X$oAy;v9mu@#_vof1t-iL(F|@Q*788vY!)JF_M}3 z!A7{xDVxDGCM}oQ8W2v=GgvpM!TI(?F*;6B+OCHC1KP8<@r$odnE<+nGwnQdGa z)a`)TEE%m4RuwCe%P^yZlLw0y9-Fm2`Gb{~*g8=K7bP^&Xk$w{KxVwL!Mg_yB(*HR@Fx(Ga+D+*0t6 zW2R1AKu1LU9cg<6z>(G@%FIexHaJy+Rl@_vT~WDEuzz{$B!I6hVm&sDeA1DadzH~# z`~68f-V_$rxP{wDlEv;hk0oz!057hHl&bfn$nuP75gS5jNDsv;2iDK;W%o;EL&9x& znX5AEqokshwdKhk+wtHk6zZ+5+3DXZpR4w_vjnIw9aJAPAh#r5(8Fm>YTYqxjy;km z1wCmZworE|fZB5lH%B~95_L?3HIsdga3GT#PFbcHuR*z(^Kzj@`q*a6N2u^#tV>p0 zdpm%;XujW*CoFY}Z=>9Spfe2Lu~eyKete_)9_TrL=(IyqujwXdN*FPtnfZ^+q8rb( zfaro7#b)_EfZlC`NXRo(Z{d{et!~QY&cm@wI>v>CmZ#bE#qRXq)vu>q@XTjh zm1Dyw3*6;Z#G`Y^t#Oi)I_~JY(tCbha~{~?cd)QIGgi41-XY0M=UF^%ZF?&ndq%(%z)l=dxHmILiaPsWe0N>@90t>NqWS8s2i_}&TFnNzekYFY_>Uu_0;DOPWVhCJv{!ui?g^qO=?m1{CCkj`-Phj zWwD)8tV^pS-BcQt;gQwOoHGnL%P);FpG@vQG3{-&FCCzL8CWXNsIFtjAwH#!*sRRIBZn5?YnxfvaY6bZCvxHVZ`3vop}gc z6XD}KrjOC?)3P)-fed6PWn7{o*MkdOBBF65Cthi=&C-pUoHCFXlboK9pgbYdgveR@ z0dcXU*imh&ELJFED{AzpCgwO9x0`c{LJ_Mhf3$B6IPUMohM>%1e7g-{jHRk0QRZMpvh4ZFtdd`LsF}`^NYW04$#_&Ix))Mtu+dQqbx4*MfR?+}t(R2I z>o34&{J#&X-_5(zHj!D6Zp?en zkUhUVv%=IjZPZg7>Wblu1SIQh0aL7U5Ou7);EYFmBfQdI?k+(fSk(U>mprCpqe3;y zm!}lL=AqgIbEJk~6&BCRpG`{MtW;>MWP|*A*I*Yjb9^?Sm@+$FwCZQl;&WRk$K~fc zim7}Gzp(DIi(V-tt;S~jVCk%N^^`$(-fRasArXE z#$BZ|`}tIG%5eG6dA5-42Ot*%#}4D2e@rpRT!b=Xx6{V zz$v{TDw^9b(JxB02w^_SB-7p2nT7P1uG>Jpo8D{@;@;%fdR zABgP@)9S%4GHXPSJbCTIKfGiMt+3ksfs|!jms@_4&}-4{&gvobej#U8xiNgJXw7BB z$+ya|BIcB500G7Vu ziEON_6Gpt2-hP;+0h@x3Ox~t%bh1|)9e)$UTGq4#j_g3Kv`$HK^YLm&OSO{s5nna3 zqb^U$0!CPCBi{Df;x@1&i;wQ>XlE^k;Xqu8{gIBS)B*m8PLAVQ!k5nGM4!_9B&$Ox%TpMDeh?nyS7!t~ zrE5s}!V8;LXjd=X@0HdTM&?%P6UHMym|1L}mgP{g5yf-2P1H>ppm3J;rVSS9%`YT3E6&XSnG0ee4 zrC9mW&$*_jG3BF;zsMrKs`-v>bwuc~L4=X&=V9QDz9kfhG{#IkQ-fs?$#02FF^je+ zQN81V&g+AGm4moh;q672wNvI{iC3}!sMYlH7?R^w)oJga3GcV{giKRaMURqCX$Fya ztinD7M?<{8yvL2I)ZSNkR0CebfE}h-%sAiWL(A6%_pIPUaqvVxWG5NsgJA#ClB3bb z^oAlJx~A$mLCOpZ1=-N35$X`5dxpfE5^YwJYQKVrIxo!@)h{@txlb!>I~ohnt8={m8G&zYrW7so71X9pXiFyYwpdY;{MH8S$-DTA3XNFpudoSd}nlJ zijBU>VH4eKvKsAF&tn>X6~R=!cL@T-0rJ0BM85^TD|EuH)!vvsQC|P=TR`U6-}4nn zARxt`!ECzt`X$U{g9lKsWSekklxCks&^^fikJ6fUfztmkV4Kndit!8SKdh}AuSmN- z3=j}L77!3^vLPiHUUEzXG;;EFKPV(X?@4b6kmA6)ArO6-88>1li<6oWyI%=6c2aTGQ;i+)Ja(i3 zJ8qYayGhXh>m>u14|5pVlRql>rpCGpahT*K&l*2+AF+!xonhFPA3t3A<(4zqi_DLr z4}-UT=QV3Uvr*};e77m(9o;7VbzyP2k=B)YLk;GUq8mWB!M^MT)7;8O{Nj!aa|`$S zD%m>Bk-vh`-+Xfk*+t^=R%H$7!su6i@do`3sefY|{uaI;{Gtf^dq|%2GF$AX9?~1X zmjSflPi~I(WoyIVb7#3HegSfkT8&~JLg$;*8QKJxHij)oD6wy_**aD8# zEHYN7h|5^Z-9b-&y+6r@qd216aV#)MCVvNV0xKAEX42E4IfI{qh>RIIE`(jZ#sPJ4 z399Fns6Gb+x1H|wk>H}Q=tM?}0O!E1dlcj!sV#d`XE#`Xb&kPo;wQo?eq`DTpRiO)v&MKo# ztdp9%`OL^lL-2OirLh6k-J-hnE#SIo0?&OYwShi$hhEGur#zc~yHJ~^z_M>AzF@T8 zeM-_{0tga5wH2vUCsvk&0zAP4C{e^A_oNMAuExa0XHpI(z#;7z;erLZ8;Z}EYw4!f2eOt;SE8aO3wUCI<2SLTMP zyYe*r@3oCsHr!GG>|eG5?WvH6Y9VfUq1*%(;>3s*V^sC74Z_R`1+Cn;Hs?hAidXMM z3W7?h^=4DS{@dh{$RY<4Q_^8(hfSNi5-SP%G;RQ9V1*ol_#$(nlqoxHT1IW2^X+>D z__tYWwWF!jAz`THoi@gq40~F9G)pA)RjyNP+pOpUXfYBqPLc^o zv7m%AvIu$2?gi*&l(K{bSE0*wD{ReHD;3zzZr%hYK%{?(aqIY} z7Moje+8h`__meu3^0!RRzSoW#4GUK__<+)o0MX@)7s&W{cJkt9lW`%798-Jc1BwP& zqD*SPnwY-Th%jgVg9u&H9Efz3OI7#^)aI1NP)xoM=S81w48AkCDrt4?99aKUq06K^ z*HKjF5j}~pR{=^8sTb}7rdpk@11gi?5b^3&vvyINHUGN%W>8}A>O48$# zayS@(@Vr&HIYmz?P&)HC!c9^t#~rhv`9K-yNrp?6YG9@?Q}!p zgWQnH;$NMtS?xw$7iNE}xu#e{F*cVo=H3cAD!waPGPA^1otu#nY$Y8|i`2G=xcNeW z%`%0pn3rX9FP&RpDMhpUVCB}K+V5UaG;K`{;-W-0XbU$Ty7|t$KnrOT8K>u1b)7Ia z()cS;inSWH)%-Kwf0{!B*tzq&K#xbWr&iqZWJXb9Z`R~YK;5QN~5Ntp0c7u zQh9V!=ajf=ZCE(p96IJB@wl7ATtkTfd1u1Q&YJMZg>KtuglixBcvZ5rkgNqAN14tW z&DD z4BkoWMG$EkE9(5_{BW8BolY)=@b9>P+)Iy0-X^AddM1DV(Br92p`93%RL_%l5x4Yuc zxmLz0!%}p>;wfgyLuW~I$CL!mryPE1&6;%}**{`;clzDw#_;)yNQOU5&h(4V2%a9z z=>)}1hum7H$`gRb_W^0*QHzzBuoWOZJA9X9HeubX=3V&QITDjUenWjK8TFHnL@;oz z1vNa-ihqtUjvY|K;1K}^2IQ0xbA2aRgc{c#6JaZ>zG!cU+;K^%@$x_yd# zT+x$Nc;%5ncxvW(fTnMNMi94n?3B)Ku)9;$ zu&SWs&1Xt|XqF;M{2QmUqlHlCHNAX6_& zIWb?r-6aI+hz8N|>deL5{buADiWrJDV~w)^(8?8aivkh36!*=~VHU$hW5^K=Id)Y5 zlYv!KJKLV%XyqsEcL&_+1TX%{J%A1FkgYyoiDW@1SP$yA!EEQXs@k(3CE8dSux834 z-?LmI4yhzGYgYn@^7TlM>~v2pJDx>bs%s*SvS=3d*R?^sARCiMubiYYbi->*}jFo%uJ3BV`~Ynu6H8 zQejXv=wy)eWLZquM z*MHX9EniDi5~E?{k{wxMwzX3a5~`rT4~-qQq4L9wKHYw8omA?awOZbdAtYVsDQ=is#XPJ>*mW<fSIzt z(RsN*wF3l@=zTiz+nZ-G=to}hC2k1QJ}4oi75qdK3>3w`rU;KfVPJj_%`&5V7x!V^ zf6$E`eeCWTW)_ojx%5Cd0if^{3rKEkI)X1rXUY~qJ14`((HSy~B4rWwCKNLcA^uVC zV%-lG!8o&Q@lcJ3*RE9C&fEFvlwl9PhhdZ#)&VqbtFH*t5QrRMrQgczo)jB!2U^8# zw}?dGDdC2V4{;L@{aw4)9)H0KuL2}4YksI?a(F1BM(JV6a*S1b%PK&);VpyG>noc7J)kLlH*5lK$D4X9}f4`$c_q zE@7C)z|wIiAgm>p!6Oy7ZSmd6_qWf&z`t4l#hO=df$*JFU* zoPjqCol#@7`k3Masx&MeKDa#2-anBpZBFW(k<$xz#Iid6FfMJh<~WPcxhU3nF?cSQ znyvL|?F9DM6>_z2%)fb6yD1y>6X0 zTLd!-yT?8`K6dKqLE%*ulsNZ$01r}RWDGL{cb^sSw*BkDQ>N(jGs=9wCi}}G1>D_$ zxnK%jZde6 zY=-a_BipD9zR+)hVhOlaR*|*Bj~tyf@#0RR>-=$kpmm;2R^60OS*hV-^!kxdPG1@j zL5!FPX9n0Wu>bxovq+@ChcFR=fY_4}=RoNI8c?3N$EpB%noD!_{Qf(#)w)VjskS)l z>V2A9B<nAoQ`=86_!fhk`+IS{^ppIVD`m znHeEpCCUdN=tFauh5}iuuj};H#Vd&>sJG9DNsjH?sc#{aMLI1>0@ZZ!^Khwp&_2j;h3a@8e@*nu#>YDE=)>-es^W9?^pZzvRGe{$J0gaw7i|p!a%zgJZp!r-2bu`cp7jc6dT_cB@$M3YT zmJ;vXSGR!bZ^T+%f`?ozJ3>pjnJgkw{g>=$_?E1q(`4Lj7mk zcUt}v(_XM7I@zDlnTbx#LwtVpIZEbQh3`cz9 zCB;I1$Yu0yjeeudRz`5*WW3(FOQTQ&etx9UH*#EC)6 zSVF_Q;5x|S(#WTagLiJ0DDRA|!yNe9VDbDd(iNB7Pi?2#@tV=%HEoNToLr+a8R4gW z7DOlttQEP>*t$@eDD$XjSmj{jGBOR0K#DDF8V*wE2fy)m0n{$wH5*){+mNQEEJ{VE ziSK@bD!Y~^Hf{Ws$<+YdGbV}P%VUm5QM|QBlTSvxi1)CZV2_6Ck>qm{6A-=)CTQ+M z&iB`1y=-K%G4HF*0lS73jHcaAWk}?Jp*c}d7$kim1;Bl@iw3~a zOkV~r=(Z+%xgt$Q3Fg)|=DV4I7%{1mg_9a;+5J*P0)I+K_hSI?!rpk3)9r_jtGLjK z?sU%@&HD4FN%ItiB*JK?aHiHVyZMAs`|pd1iTq?%C2{k$BEeuR6nEv?tXmaKLzURu zffq%$?2*mC)`^qE0izpT(xd|;CgK%}F1Sy49CQN=DWEK;A&bXFWxT)43i| z6LmfI(DDdvYW4t-Dw;vO6cF2UZUp(>&z zrFPs76urFiXf}P8+@uH%nQ=2ns_H?WB6xh(`Xh7t9Vv0xb)=9(5a~N<4|Xfu^K5$- z<*MXYLUSHVWCO4*U24I^p)@klO6W6<6pnUrI&~1_kZ}OvEgp)uMWV)-Cm1V*cr~pv zKwOUJcWv*#of&&R`1T2FWIMtL>t54I-}U8+TMX4y=v!31*w`Pm)Xtbd-r*0RpAn!erECK z)6NYkeGq!=hlH!@+Ip6_pPq|RtL&YRI})*i z0}$m`b>I1e4=}mw70b_?Il9NvpFGe!5M_G&_`mow-`$d@o@eX15p1ic{2yp7L#Kp0 za70Cp4Y%@{%KjPGR{a8^j)`Z!e+x@{cLbnLy#JWA2o_$6W^aHl1=SO}*R#eVa9+y_ z@7Gsn+ydgcqnRlq!gBeCAe`{`?G{)v>D-l$g?V!w!YJ6}#?iEoVSiURB;jT1X3bfI z5L%~C1;2(wO#$^Y0X&0V%w{X}&EYg#K3^5#G!--;tmq9wA*ZDG;E z2i(a!E*n{yKN9?bZkSd1gU+-8*E*~nMB}{83pwqol_wV{=J>?jerS|~GvsvjbHbXt ze%&wVe9?H@t=><$%ve3y((NNml@G8_^SBBgp7R8o5;YcZDF;t5S-a{~;Z_tXH?898 zh)3KJ%M`b7ic6qp_v$XFag`K}S-`bCWvqZ5%@tabl*1jb3WvgN-@-%nh*o#0`q)tp zY1$do@Q=uNAQpRrti6quqvssIx-mZey`zu1oaa+ap4zGSjQ8HDrRF)ppdIk5bDQ#n zo|-pC9*9!~Fu4Kr#@K9jL#fj1!pJUYaWjE^2a60u@qL%YxvyF0jL)dr!z&Gapb@ zIM_2vr~yLhk{Q2Cj?1foi#)*PSb>96#baIsu{Qy6C58pmHaW=-2d zr^N9i3YO%#Y{ts;lRJ1cFh=7f%G?p0myL44j7kLMyo6d@L`z%HMtdymA0tS05^$0? z$^}lOZqOj!1$dX7aSwCMSFjTRZPnMeU-v{LQuiqHCw3O)R_$;EWB@ilYs&HKeo+}s z(ju^JmyAA3`>iE}sEX$5^XJq-^Mz`}^!bEd-|z;ma*+~zit0mw1dhxgX&2HJQ!bFX zNMQH}ZwINNlF}BXS7(-(rVVQw4bnL1U=^iHcyp7M<&Z5%d!3ZL-Kq(-QxZ2q-ffr->LcT3K_&}u~;vSrt7myqo&O*7%vLL*a%p-1e0{YSM z`Z#@?BVCh5=(82glrZ}>NFcdO<;r!X;wv?h6oT-F_@(EM<~gO)xEl)(iS5Qss8`ih zonnPBN*V$g6g0=Vp!EsiqVHf(Eq;oy)nwwmL#Y`Q7A>f+EdZHCY4wDQB32f^9-yd* zv4NG)*d=82*_&RS@B&TXMSHJ|+{r|(vcuCzCAJ0Q~sx38P-w+*$K%#ID@)-189gaIrk%Fq9;BpzKqqdxC@Ds4M! zvwugGSGJxWb6EJ`b!uKZ-&xg))Lo6gKZYc3Xwu6|T+w2aE!RG$w!2r+YgBgIl#^Bd zpv~BCeP_&&?)is#QVHyx?z5>z=mMc&1yo7Za@L9YJLEWc=LVs_bs9K48wmTi|2jZM z{8ZZZY#DHZ_dw?!u$3duB^7N)$2T?k09u_(;YPwYi1)ziK8wODLct|{tv2J9ctpY~ z-0}+fQk}!>j#_Vjvt80x1(M+8PO(INTF&`QKT+0uXxhjlpA#RBFoB;x4Ca%O2#0s^T9`WOZzl+ zrvS&XCR{v*PtrGrp=qDYrbHF|!qaco?X@JumUlBtQu4|ct1xZ{uB&Ii!osgI=^#Iu zsY@;69RvTdW*^j#G~J!Hd7ZMT(C=mUDm-CV#=TstzK*Ng6#B5ATD2(IrmMJB%Ft(w zO4oogBf_de%M#Dzg5NQKrcXkbibQfY#{g_p`O)~Ak1K07r;CU!s1ik%489EC77c9R zI}t}F2|5LBz92u-W-Lma?E$ZXAIZ!Q9GVp#O+uRiDoEWF1OR zn%yGNhV${@WZf!ZF)s>zEX&Tf&7(d?XjfmP{SQ~)7@S$Ob{X5YosQM9ZQHhuH@0nC z9ox2T+eybsPwt(mnfj*coL_raoqzl6^(<}PS9@eynKtgduKUaC`>XOHMEF4h)_x0L zp5eLfMRA)e*G);USHO^0X^QQSKl)iH3Ztjq_uoi=XzHL**+E|ZRZsS~1U{8+DmZ1f z-EvR3IkTr^RvCLCx_?u=KB>*~Xdx;&d4WjaA0<(H^&$}>+aYUMm zGH>YSmPEKKn&r>I5^WQXrxpGez)$a8>nMBi2{%%X_lx374Vhi!-3vx{csV|DeRstG zo?1@=NU4`Ec1gXEHIgSE)q~nL_guPfmn$VY^Ykwf*^U#D}D+(Kfkg7vz)R) z;Bw=YtM-qO6pUdru=bN@tv9ymt_)}iGk*iK;3DrdMiKGxc%X>xc8Pr%FyS#LthE+< z9_7-n{z05V9j@m8@l4xPE}FZzq?YQ{>w=42p1)Kbb-XJf_gUq{NquzaU{Vj(=oaaS4 z-f8htc&DhtDS)6)I{gRoKZgpft_NTgpz!~pqeC2&qmmJTfcpP4ULa1(kAVSCn>qfW zqM<#|PCdW*EZxoB*?t)%#DhVR6&Vl%PZ|aZ>TuDm3xP;N1>qYsb4!3$;hUNdqf^S^ z>9iP+QGU-A`iEMK0(kEQa-IJdb@Ea87GU8=l}Q+JGFtd1>F+1S zk6M%md8Yavg7w8L&|9b2!;*pxVUuwvv`MIym}oS&{12{=zA z`icyKQGavmRr|MD5bL@e=-q5D-tTE{*sSG9v2L`*tSb$-?UKw z=2UC`57M;M{1SLu?jK|abwQo2{5xE*#^u8HmD!jd%XFLMz8OU`WyX@ybws(P6-DXK zRk#MyD=Zelb%%Kf?S>bb7d?io5HLPJX24ZKDXyJ9Axl>xjyk9{u@rL@kc&Xk6JaUX znZUX@Z{qbkGkvMc<># zC;YC5!;CB%?f0qs#xP8a4-;L+O5JE!K@);4Ny%`bCEbh)3uA`N<>5x19pHi#x`r)- zbzzjkFee{#>%g z-pNNq8ea6?qCgPzM~Xj(1vq&wq~t9XhWX2qA%i8!$VhtFfgSZECf*dR@S}3)oqj4E z={mEQ5v3e?N{3#aCW>FkN6(rd^0%T3%lY_F8iA%urSDi>1g5X6{YGBHFj*tnQQ_)< zwyJh9okEM8-WzUmB4896N;(GvYf_((%BbsORGo!D1&NsjJ3-6D1-LPygm$S14Gukw zq&Ay->yELLuQNEm4g;wfrbEm2uu%CFX)lV8IwX6igBb1S6UfII`a$sT1I+gU9%ffZ zKk{dlh5_r6v_Hxo-2=!W98_ID5hgNz_r`OEOE^E ziuTbq9&?oEEgm&`HQd&#O-v2=$`>sKjwUz4Y>E2FmPH4{0kW<~is4dXO$!!s*&0VQ z|KvtnGiJbS|LS53H*k5V9!4qDJ13$6Ezg}>G=IU4$3kF-qCjxvmWMuN$~jAAn+cTd zS!TeVlpv&UsHWu;@xJ6=()4 z*I58pF2bdM0SqZ6=+h6i3}uHr;b6MhC4=_}uma@Ubn~8?BC8?HC;$bd8GDBG!pzob z!_9~DYULvi1q6r3K@+@8Bk^lSA+=xS~LI%18-0b zw;>d_N;tTKocSjcm?ihN)1DP%mYm3uh4!ubBCG*=0CEas%(#lo<$@>|{Deun9-het zqdMMH!u8yghE$$}bm#NL2bARe_)~h*O^XU^MOMUFMMr;=<3X{b6c|k}m6BLY^4(JR z*u2sc1~zuk0A#%XMLv9Sn}_Z|A@+)?B1V$XcG^Ix1a`N9TP;8Os!|Uxx?6!*!6Ec@ zG*t=$U@}Lk$_q9c>rk^-pLcb0qv15z2o6^ zqOq*-Efyuk6iM5aVcBkdWpTzxVXAuA2=RM%wW28xLZu_ZPR$YtUSA$k1xIL5`z&8- z&_!XthGthlT*ZqNU(q8g9Z&h33SZfybApZ)P^gqF7B8f_BN#ftJ)F}_BRhXc(;c_- z=Yf7Frn>Thz)sXkwLNB2wb+<7r|=wQI%cb80hP7J2~k(!jiSS!D5sUWQ{tKjbDqrcYjRnaU2OSY9zC zpkSZpynFsBed5DY;8>7A=?!Qw1Y>G!&no2$d{+IUBkVp#!Ed1K{w$|G6!~m1e;B; zeY*;eOtbS!EK;|3$eF;c61-VRuCxjiK*jEu$b{7zJv{x?>Ma~E1|Of~8QfcYlgm5K z?eEKeQO#6l)62^%k}6qdA+$fzB{OL--eZL^|8r`sO;{5_B~> zcwOvCny{N{a*}X!W7`zwRN+>=FUVhcys%B31!+gw&4XVNW~pn122*NlRFhoQfM4cm zYXori^&P_HPPh>Am*;C(6E?(a5Y#~s(h%_Ufi&&tqPa%J2VTsXbwB(Olk~xS1TK@jH>M9*Q zOJ55xU}gRiQ+|k!$X>bumPjpczyQm>0b++%(#5E59!rerTmh6NkK5%Q%tLZxIp#ECDIgj|!j zBeD{NFG7fMqQfkjmms=zTuS@_nj6PY(IW&x! zg(Hg>Ae1JPMWuaP{cvyz5O$wmiAso`-6 zxj@h@eZOPF)-tWP9h<|YU%W6cJ=6NdYGxseF)E9IcX_{Q$Dhv(AabyQ)ho_vr_?Qu zY1g%$jWIPQo}~CCpkPftNecdHb+;L=FYgRq(^|11KQR{?)dYNrtGiNF-_vfPdp4?$ z&!bX``(Yu#W?Ype* zakhV?7X-E!X1=xcHp#M+Oj z7+GeSm{+8{a5K~YV4&Ty9ibRF67q{tDiN3#qX^nVr2?-zLaEM_iJ4kfPiq*{0;S0Z zZ69&ba!=KQwl{4iup!Sa=p~B@Zg`f!JV?X zO(vByIkhuwJJ99!iaB1G?MWRNon`5P<|@n-x@uijRaM}-mw9fwQ$zkf zi2f4|mM+ycSRalq(>Gqq0qrF0jsjNU&BmF-iu+*g;!6+ft_4@0!mvxKN!pY)j(yIS zVSVlM!E%TRfUcvBbUx>n()k~_wa8|?9?1u8NTx3ANMBgA54GR#n|o6BVUxSys=M%P zJFx1V@-%yGAq-VO(Kg@)PxN!t2}SP4Dll5yC3U>{ZJIEfupQG%YkXHVi34hVMGylR zFuw&%_ZZOno(Q}c$|I04`(+&NBKPh!5IW@Pd&-Ci0G_rQ>r`HP@6c8r+-f%ivcPkz zOVQ!!m_iD*J%lf}X-laZWlnKVBUZ#Cg9hp-4bgtUFf41KB;j!eFD z#fSwTjJ`t>;oVVV*P=w;6KiDsl7{=d3F9Axbb4xFHXMp^Pw=egI=`Fk`I%mi#P9w0s*B zsJ>ncsJ~7%elCFdL9(@@|FJ~_Zf6z^19Vx6%T1{Vk@>hd5Qn!xI4Y`)U zE)5X&L;xJIZ+22X0fa=|38|1#l)hY=N`PxU-S?nE7UyFjXR-BNnkjs=wMv&4aIl8 z)QM#V3N+CarJ;|Y%%m5Q?MooBsuAI24BSL;!s#hIdQB#-A3oC9b}r(U@^NH?`ZXcS z6(Z+OZ}>}p$|$Fh9)l>?pC7|pW$Xb!rP*zC@>IUMr`X&7>i+1d5^!ubryF|M353Y$ zAC#TuiLqBGgW31<$JFt!VmPX@pTg@~mxlSE3P#zx2+$XNF@HL>>rSX!lWz@K{+rYyaUOrt$z~_HEtM zr#_obT{Uj0t=&NS$PV8i$n*QdS3_$2X_#rPAhS{IG1Kh10?Ln#OQ{9V(kzk%2jl#U z&%8*lG+(L-(acNxPmQkXbfo-Wt~b&SAv}mU`!l2C-jX!r^3JFSW4jW3yT!dJU%Qf- ztHv+4z{srnh4vXwh);18U#L>Po5g_AG}(8|_f-UuF#x~JKf!+$#4}$UzLa9SB?LO~ zK@zQd8aJb7=TK?0=Gr)gu5Z>geBk z%t>i71my72nNS#7R+O+ZA@mY!i5UW6p>ctgZqlPzs2BSE9Xiz8h&{V5^|6nO zdp{qdK*R$A;+KhzkBd8EAC0!Sv4f8gAC=Kj5{nT~62CeE!cj_-WyK6{2}WL>Fhd`u zHhJi`CK(=*E%RU=nxjS`0#u~9<$bJJ*o-+xp;1YA_@3i+GdDol@mtH~l>`N=g*NL{ zL}x5vx?J7jRIH{U+BYlwz6ZemAJAW~mkh|CieAR>;qB^6SF7^#8$yXE2l`}oP-S85 zKbNLPmfk#BktJL6*_Rq}d!u5u{OFgi(=ID+)dZAvL5_-g*4%D&dcv+vu9UJv+f5~g zb_}aeF);|5J8l4HDrrgMKUpL?N%@@gFv9)e*VY61Hyh4@?G`QuA6iawmnpy)QgpG59;CU&O&u~+7F%afKGa3h8XkcH9wvvV~lllG5l6-H@>jC{<^@h8N4G(-)(vOWO&mW>wn)3twn2LEGzq|!hy zmFj`=V96;^Nx=?2ELpJj^1OvN>sdPpBYavmJo7B0E{xLPg7Zz#8=DQcncLg}Q%P%k zi!h<=BKNq)jfG6avSzT7CbxQGQV^+`9OEqU>(Y0PnVe~4tTNXF7s0Bd7J45xzWmv1 zcI+$*9Wy}9!Q#Uswkp@e=b-koB!ak3WTcJ)fArx%bMb}lWMjj^`q&27NtWSyv?KJh z&zRX|(m}I==^#_yd~qQ7`n2JsEw+qRhex{Fa1fk}7U%4jja^q=!U)Q0r3ZC!m?n6Q zv#C&u)95;o3jN7R08>NJiri)^_A~vcV}|e*0~}!M;bD-Y%-opQk~==g==tcE{5lNh z36)|P`DMe0WUy82~*Z;S8lIeGlkQab*;>XA)F$rb2d|sf*s3aN|f4hQ&KyO zb&57Zqu1QrMtl@A-QidX{*vLY9OgZ--ldcxiqbg&$J_EmPmoBwqJz1SN(;aQxQ7kOKlEd^1?3-zbNw9ZlfP#HFROI<9%tBk%)7fiHRNwj!fxJVL> zMfBQ(blEJQs3se7nwp~YL!P+u8=#&lBUq6gcHFe z;x4?uteX-+ImuYys@20>Z|(q~%lZO~XXLYZ0IC;G>aPhsT&p|*SpqL_4?!y0-k+2c zulhpIC8v&?tHlIMBD!+o?pPPLleu~HWH%(KKqRhZfZ2p4a=ZiXe2KtwKCYt{GQD7J zCOdn4oU<|xyP-3%$FkB=VXSvV)3IW2X(=zFam>z2^(oV-p3ZW0YYt%OM_p=r;)XM` zcffcfEZs;y*d9_LX?f=HVabZ)IW=kQHwuP<7b0p6ySn70y9h?_i6nc?77B-Odw5sp zj6>(yRh*M(1uZtem{7P*%HlIMU9KqXNaHMGw5B6{eR7BWYhg|+l7sWgi}^ z4-{*t=#yX&;iw*0-s!k;E$Y;XuMd7&o`i6#g=q85Ca@f_ABV77l^t+4?0^R>SWIz`4Wj~cDQ zqqzj%-@?YtTzaxn1i z(jyI(QnX>N9-%Rn)VQiYLQ)J|A9yvW=>{hjcU8FQ8uUXi(e{UJ^c4H5^3R`-dehK6 zE^7(CO*kEYnA38&D8Bt|OnwYcrPbH$cczo}dH}IhWfAYohHlCgSO(jWt9zmLSUg>m zGsZuJo z0z(Cefd~&!jTH(s*DebzSW;DTV=ub_F^R#;;TWHKXJ9@2 z$;=J@$w6ArHpXqatCv)NZr9#1>i@ik?QW=p~iciaXwbny5!we!w#9(8Y z%YTy|*y$RQ#gtu*6Av2PkhbW8V_IJHIekx=X`jn0Ci4E*S*uoORbu2$Sy~s+M7hxz z%Xg7Ew%L=xrc`RaFp_V}J%z%Z{pDDvrLVnTDQvljsh5$Lz5o8$gnm!p(96+L>aMso zlGLGkb2L_*{MsM(P zN>;Q1{2m_M{(uhL{tzGh_J9`v?p>$e|ItQw2nz1*pxqyKa7+qLc!-LfNAn8jZt7FJ z2kS$9NDHoihzl-nkQZzl$2G&;qk4zmlXf2zNO+$F^<@tIvFf>#{;o>yI@+=xW!C?6 zx-7uVdu+vZ%t2Qa!<{;~Qk~blhJ&X)E`>0;)G{GxM6A)(V5i-rC8+|CGILJB@nqqy z>PTs=_OsDgW<53Qr?PAj3$s?$E-GpkS=WA8!KpEdG}vGv(b{y!r~OUkNXcNr3Fj%2 zS(T2`L93&Z^T(_-#e6x>X=Ivn@BxHnN@BDU1}}saQ1Fz#-=iCDu+ve^yUhZOwXbfG!0B*7~SO>6OVMH4ti(YUz6XrM@~a zA9M2)S}MSeGls;%++~m7p*vBnI|Vvu%;k|2spa)ieoF>xejz9h5vWeH78bA(kFHWe z=>x_?+odu}OieCPwipsyIPo@yY;h0ixVSYGwnujTN7RI*Em9u-u7M0siDRU@HCYoQ z8r*J4BXnM}HKG9M2$!Wi5@p4lcY3ifPSY7Wi5=m7zpqpoIlCLcW_PipRGgxlt>$8@vH}lQX&{eE>EhB))+r=^gq>#+^pa1xhc% z5KIP++)nbK0pgY49+Zh#!|z}G!Rz9Va0Lc0aIq{*+)RKV)HCx1h_>9J#`yE9IQv;9 zLDVNNm>{UdTlVaeTIhQsyNVb&5Au0IQ)<7_75yryf?B1>eP(wus!8nVRBJ8)S!8En z`zu5nU1}?`e1g*Nguac`#3kmN(0t+Fo(^v9{9d5N0+;${*_J(VwW2P&gT}oDp2T+@ zD29})r=TeMr2tFCxNQ$> zZn{Wku}h{sSzoLi@xOFyKAlK9+0Jh7w4Z*zT&d^jdwx{uQx?L1s>DN_0c>NaCCGJ9 z@`ZJ1V#IO&u<}{5T7E8of#4l!GB1GgWC=6Vz&dcwCMf>yb8Z(BO99RueKb`;KeEyz znijIe0B;Y)g!F`7m1<;_;PA*`odk7BzYJV+R7T2HhuWUTS+(wBmY6)V<>$yh6|+>6 zY~+%V_Kdl*O4PLu5@-=B1zehR@Ifiivi1zOK4MDmUfAo`IN01>!)UPV*4|~kYyl=0 zR!u#NZbR}C-YLhjJQ{Dgj?G(P`Y|jsOV%$eu}L4ACe*D?ZE@_={KE3wCr))2n#QE6 zSZx=YAlri6C-Lornmpr1asnOxuzq}Q9iM&)t<*TijX<*UjTO6(01m|(=rANpqR~pP z@jJBlbY-nMn;QE$1DIMFPiMGb{zy)Q_z@O3r&o4Lz#SWNuN96NVeybCV4m^6BWhr_oz2$3pXm8%^@sg zI2dw6tMiDo+-GyDEn}x&MXT2d=*36I#p9bg7*RGA4wGsMM;jkmafeSgSUKmG-gO$uW;n{@^E+%d*c5vza3c&}GI z&~6mkVXZLb6K9AJ=by}-0n*^Gh9?zg@I%WwmNeGoirAF@iykv#?o2%#b-evHAAmBcY=B+fV+|4Lvo#m0H51ez;z>>UYXC764y1B|q?yorM3C^GGV--OPsQ{z15 zwh+CE*;H@TCG6DrILm!a6nZFZa}&sC6^;03FgyB5^W@fj0)c2>qdAiOYpyUJlYuol zvw)*_$LMNOc`kP7J|q&P5YQsVJ7!Yoq9ni$fd>oDUwJ3O`(bgv%O5HQ*wRoU9uetLrj$q$e`a`2*dGsu5kVE zxCaK6O|~ObPwSx25^%w;PT|7aay0jY$*9`{fOqOTS2Nci+D}+?<&}c6T2pxBe#}EA zL#bkda{{WGH|6iJc5s!xuK00=LxHS0OALR?2Vd*Xn8l)~L#D=p?VS+EE&8{j{`fzgGz?7spH>1Jd{{D!PlNWy1(O zKv%F3&33IgN>^@D(d@cJI|Q6l0G$+^OU;cjo-xd(_W7m#@60R>Qf@;}D&}p@twY$4 z3gL2TBKwal`=Vs(8cTUYB6G3i+!Z2FD;-W_RgeIo35H}GWqB6`KYmRj4 zW_G;01jvPSG-c6|bb}hmR6!GE);GD!Y*0%FMDQ5Le$E14-*6kS#%((=LGYgSd zCZ$FR%FVv#LlH?4$|$m5ip4kkB1!|}ekv3bmUMD73M*F}Ns@S6Dzw=37~?f+9^#4T zixEeX<+Ca!rYaGy0t>(Gq*|^9+E2X_g~b+HC+*X+(6|U#W+Vu>DtiRHf+FStHsM-K z+vM7fE+iEr9=#=hQO2%y$nS&kvQTJG>i7MUU>UvK!@t~f=VYqnGkcFTzS5^m9o3K9F4*Jb_LgqsbB+{NYneH>Pr)mWETvD(w+dUoSs;wV zR-6?J+SN|U%8Df~dE^)(@AOvQlCwW>x@#XTv3({Qa^hoatE1H})V94R|YG%nT;ZV6*)ws|6I#8d2($(PWj&68$czG!%bR~6x^;%z^-P{6wHDomY%J%3; zL^vPy<2xi!KA~Q^9?b^^=!>h1YXczf)Y10%QuPtmhYjV}0je|a-2cE5Dreo8k^_W^ z>|85+BPYLWW+ogSibO9?uClaOVPxhaaT!1Xr^@rSChQ_aPim$7z2+-NLANftT_u!v^neiz&vTzkx zLBK!@X+e!&2&_WhNJW%^SLA=>_yl{V>q1$XVvLnGr~690U3DK{NSmPY$BWEsnRK*@ z;9U3b*j1&tl6Ws(mx5`&tkJXJ0wal)b(_$ZLyS~xu#kGWOCS$?+8DPWpUVc=+dMc0 zRk+;>7~uTOOkM#>cO5LHD2qjKKk6bLZ37)hzA2YyNygcNR&}0TOK7vcCrE8kZbP86 zZbQma;e6$uRjy1$(JgaEV@`??tjX!uSCiv1dFBTvj80)BY%!ZpNFa8ljmYinT-ONP zwEeT{2jgGEpW%?IHFhOm?>NI(;A0lZ>%sWk0Dw-=y3QiXFTx6kx#_pC^oq|84Mbc; zqa&4H)PES@G}#}*d4vGJ_Sv-jdHxLJ3*>szH@&H=Uyoix%PS_8pj~V-R;S>2zXNXD z1izC+m_xtd9g}`u>epWH$gkLL1U&0I>lOwDY$QDGKuino8!1c+-J7bv)7N961ElJP zfEF%c>!k#DjBNFoU9L|qTw05o>E#}!&=vjsW{uuq({7kc+^Cg;sOjkfn2zQv8a9qJ z)il+)mC8NI0PKmm=aGvBxN9Wx_sYQ2s;5WnjdhI}hE95#-#-Q8i?S9k3goUz@FI=b z&x)wmWz$RWq+I?CkoWcsaHV-OgMi#(z~GZ+M~)w?pCkH?GkoqN1^(a{iH=whUMaDj z1O!8=pWF9H%mZ6Tn0}%68+=DxuPowS+?n7v zH1Cg1jwfV@)wVHZUXzQmaOiB?1rbkB>}A21L@WBH3~~>F*$a_ZLQiYvPvD|AU|d|* zCx@U^{Kt{@M#C!=myqZ7@c6_R4bl|GF!yl|idG!-N$rJ4ir>cGXCDA`hI1~Al`@YC z#L{5&LBMgcge9o6hzgF4ikWZuR~IF9N&$rdSkb^~7|dWKffdS*yupuBJKt z@b*aSP+)#`n9Bcv(uZ)6E<$Pq2=E{x5pFY`C#4*yxrb{Oyv5f9JgImObf$24Rdr9` z`YsIOHjAcg#B-dqTPO9FE`%wvJumMxQ_oSACKhbsV3tU;G?g)RbuQ>f7`vSePI!UA z1_rZAltL(JB3M?3lCcYcY!-ZNo>6P`hZX#dBVy-^@pw@zsXD~Cs;*@OG`NP$Q}$Jf z#Q4D%DcxNudENUvS1m+gerBcU`TRERUWf{9ya*6*afL#DcPybTm0u|9lRdCPHFFA7 zA6R;9r+r;IpoAgGTMhkd`El7eL3%&Y0Q!V*h34NADi*xo#TaPycX91s^#S{A;e_r& z*+QWItL%F;yj3^+g#GXgVCEFBjUH|90dp_2#DU3|T{KVF9hkr@-~)w>V)U8bC-lm{ z>jfKzV+={L4m6x$&W!D^N!ecnF8gQUjLcN6MIST`u?K^HAgm8~J~vTwpJ|rpx`nbX z8C(`1YJg?|pl(j!rv>}L4-L=II3BhFn)Z>?GL#X$GR7YEM#dh0z)kyk@H}S-V;6$q z(HYOJ1lA9+y&J^nM>yaCJ>Y>o@Cp%p4-^$^4 zs`2}u=asA5;IVD_WWQZRSB{LIVeeqv@&2eyC#*zE=NS+n1}A}TB7yLcllVngeoi-B zyFxNm4_ls@wtSWuxdwL#m?vL(&wjO&LAGvGyIW9v2Xz5JQ93ax=7Ex?C8qHzr4}<9J^zhAzN}0io!YMOp!=)K1MBE9fPAuvWEt(fPri*pnaS<30rg<@S^p#K z`vqSl4hQp^T_dHcIg9#JQ&{{{J}hT zy6+z(_oiq0EEH_*;j?kU@xIA_NH70IRKUIHQQWdw@uS>4Ca38Zd`}kZs;th4Ps0=K zmY5QkS{qFuAhxSGJ)s^!d^{p+m z#{f69+j<5ldIER|A&2xI)%jDs7`p^zfb@d>&jH0rM*G+#91u`TS{yDo6F|e#Kt~mw z&z+gY-s~Z?W?AMI@4DYE7!N=|wBJ%uC z4_chtToH_~aKWgLih#V=IRNCnG>(0~we7|Bn`am{&gqu>^Nk+RGn!ZS_6P^)xh)}_ zLu`Mk4$D1!7Uy%Cd;EN>kMk2^aJUuy?iw1*^Ex+waweoJ(!V=RgZYZw)PFqX_Jo+X3n3%C%&1Fzzlj7mc!fx}6|^X9aqHKeqVFpPtIvTbOP>{3 z^rkYplJ>NAi^jJ}C@3}}bJQqoT_B2%vZeWkf?;TBZQ{JRJzW!8*q?9GS$KveU_pyL z70o*^+K@FF$iQYC0-&eio-an5AOwdiKs&WJ8Md||p$$px$fGS<3r6Xb6^>2uA%((( z`{$5pe-~oc=j)W)_iOIf7KsV*huRic7^@IQjIv_Xn`PS7rz0cYQ<%Berz!v zt(T758^q;A3X6yy(_$jV9$q?^cyaKS5j}GXDg^8Uj3Q7ceZM)+o5WllT%KLXe(sZ) zS^epDp+TS#a~k3n5>W^Av*BjiG76sg6oi?Tx%X`)qfLI>OOC?EJa!tyu%)AP&Fw94 zrfNanBSon*fc%dp=oQZ|oh)tAj$s%V%4jA!Lwr*UGaM~Z0}AHSQoOUQ#_XbXEOQqB zRyU;7Mk))*{BAR~Jcsl9aCTtxlOnU5`HQ|^kek?H)>AvGwOQ+z$bOdov;e%P*zENos0@BfI(|?mS!!SF-?{IyBk&u0+nI`5gje3yP=PLwshCF_s@$d}-e#P5@kHaCw}f|15VW+l=;8Jdol z6?BqkpDW5~8(%^!-XYY7QL^4>lEJZ1T*)P~Ar1$Myfy=1?a^#ypZE%NHHM7t_8tTW4KZN;ug-Un4$V|FZ& z=5>PseA2}LXe~#vt2zvB7IE|6sgxL*SaYN+Lk;oyg zV0j)2#^$s$ulFkUE}0fDO#`+}#X6us9)3(P0Rq!L!Y-a>8+qi037k=9nSGyREPVD< z&URWhmpF+OY4x^Rzvbu!Uat2on0Y@(=?i-p>(EZK9Tzbp$AM;s?LW&=N!P`W5s?P8>o*vN$( zx1&Q5KD_A;`veaeAtB_kW{rm=9NM;meu3Xcl7U}bWw3eguYHHJN0*`Ai))tt3%84T z7xtM))?p3xbR+p4Loc0Bw-Pb8lGBIn2Y|uvbEu|8o=3USJsy7ujtnc>06T3KY*#W^ z{k20(ni@H7eWKJu-5kexWpizRy}sMoX$`a|=)Hx63R!Ms=iAy#lgor3Oi*YCT%3afb-{q)0PKYSqE7ef43O z29^3mgT6w`1QGPAAuH8vS;L!}pCeLfSgS)29a!vC`5e`yQ!0$AARI?^DUwUI8ufBt z{K_wKEk81UtvuXWMR680Z_;T7HA{ur0%bLls$D z#j$6tGTgS(0%%66g|uua-AoBX6OotcKcmaA{#sGG}GQhz;%JRPs}f_)x9j8<;N_1r3-xs`c(3H12wt z#BGVmY(y%CU`4`U4)fHVO*zNKsXB(SF4TfKxzc|w)FOe=AetLbSIECXGbX}3*h*L= zxkWZ7W+k6c?#e3>3-AR;ROs(HI8Z*i+CDw{CTlMp^Zk66R5F>Qr5snDv@RR-PV~vJ zGrT6NpsawBy_cjBY}_NGtEQvll{9^kKm&bUIZzAaliQG*w8ULj27TH=@O1-vlq1>{ zRTnsAWbH=dR>dW~E)vuvC;ApfIYcxXvaa3uD8IUS0=MJz1URl3sz2PJC+a|ULtOh& z!(o$4jv!2Nzq;6Nv$pYZZo*@yNkl|l=}Jay8CzkGArWmhtdIwA>bRfeZ)Al`B&bmf zX+4+-qlAE@@GSprmx4DFR9HYl!zo4fJf=FA6pS-Sg)PT|)zZ@E5IsJ7^H5RX7e(K4 zbUJ0Flai&E1IW^k9HFTiX{6r@sP=%W{*E`aCHEv7 zO+~J=Ccu%r>V9K=Oe0fzgnL$IQtHVp!YZ6oYu(oD zN^zxW0!3qpwmBwJS5rUd(>v$XJLis_A6Rs83q3l9ipl<@InzV(NnDvj+j*oe&Y30U z+hw@di&cRov+VkE;q4Y(SVY|I60};B=LmcPS?`S4fhcmk{r$NNo`HLg@4~_gv!K-h z4&X&RVhCK_hO=9fsT!NFnCsLF0csVx6;m&GfeNuxHSi9@%k2xf4T4;IO5O*7a4knT zPk|O}pwn%9>HsaVKFrVag?=KMgKXif$}V9$Tefpn?Z>=~wRdBvaS+#0JWa_;S#W*M zz^&Sgx%{(rRY6-*p+Li<+*B|SBrNzE2FTt{&z{zB1;qI)NspGGg}%g>pxhGboBI=3d6zpy4&&ICsVQls6lwm5Sz4DDAHq1DvK1eWvB z7g>Tw7~yq>TS23<*WC{jvTL4%tUy_mmJ=dGzimlSw(J)`pTLs{io>+_ZV(X%R(lKQ z)%S1o5eIkk;s-*agW{52{{27vGyCIx&CCpG^M?Qe^8R^Afm)5I!2dw}mx(1q$qf#G z1_DY!PwOuOCryJ-fWd9mWdM(Y{_pa7Ssx7jj|S%q?*A@BrFkd7paN3VzMN4-vHaM( zx5)RYnjcIBEs%+2LxLWtYlasP=|WrB$zjSpy0Z=UoiK0NLoNu97`}<3;aRu_U$a=g z6)!r|tf4lG>2l7mZ>~RhKDr1$^uFI-;?#lY4^QzBin51^eNu*3+bGRn8a@2&kFK=e zUg^WaUin~gts%1UoB&kj3gd=IwK|{if^6dc9{V^R$)s>;aib8qSa(TZMK zkl))Onh5*Pn6haBBF)aOL)*81GU+Z=%BY&w>t&y|-Jg$_6Ss1g9f8 zM$9R(oC-#lL)ts)b; zQID_$NUqH!al7%#fvbAybhCv{VL%UNe6q`KOJ8-PM*?{MwAUNW<~)DptI8*DIn#uE zd97wvIS|k4BY@IS66;>+xAN-Miz3Z0+Ocihwr$(CZNC#+Z*1GPZQGh)l1%K(oY{MSRo|)ev+KF5`(JlI zy{>z$2C@|h^aYoZQK+Ee8sS+NJMT5BpDfPDR6>>j9KdJ)n9F@#sB8ho8f3%?zh&-F zW?oJ~zrKNHz?D(-Dn~4QtOmIuK2D%m<)Ou2CspLKRCde(-~nOTTEhfyMIq<*>MaA2o|aHEbu z$|{?lwhL!bzf#GlJ#&&Kq>>lR>UMyh{$U#qqi#JF1Fd5Gk_WVO^<1)@dq5mM?1Ue1 z0vs?`YR)(*<&o-zdr8>m2T|*44o;yi`fr)FKtk$yZ;LZAw_^!;@u@+; zDPVbakXmMGco1Vtb*8YT42pirTaTzRqGVGvS1GFEq>*j6_%AMW3x^7}oItkRLj(4B zCEZ$FpezMF;nLF1($YQdTA#)PFIG3ril*fm(e#r}7Q^(;TX7DJA*N@+9kO2(Fhe

;b-i_3;DBJ6o!!hg`MgXIKierK9E9wJtPlUjHQ&it@s0YJ2WCc*mMsROgErlK<6V$bdAVA}E) z_JMsfQ(^;HS2-%%d$=eHVIcUT^4!oZT*7eWbla8vZNymU*~*RZr~dX&W`9eQc-Eab zR7yt7xx=wO-A-G-qVK}jRiQKhwT-Z{$aTMAr%A3~blyRZw-i1FQTjZEdx}TLxeY%dQpASPO=BxtLg4~W64OrAv=-nFQTa2x01ho>Z!wfxlIkYoEmOg!=}1ow3+|> zGZpB%!0>0DXDe*Mft$RY^5Y7+SGLswh)WYF1x%*w)@oT{=@r2KYFn6DgdT*_o0n5j zluD|;h+7T8j{1JuMSTvN@@qz$*scBJtxQPz8v#Gh46o%uajx&D^6Y*fnx1qUD{|o%midy=dPH)A4n6e`qooxwb!6($y7b8S%bWH_XLTNsVZ*A!Y4i{^b zgEOfL=fWUY3k(>U1xvOIQLYOVM(9K1?BA8k(1DZippQAHz*+##nD}H0CY<9ubw3@8 zbQ5F@B5)Up*O=?>3h$Z1JyRwq8Qqm5IPqNY^bYPB`fvlzEZ&_( znSG(cn+1M@|3oV`aaxiQEY1%hq3XI!IRr@36Rj8{8G>}~Eyhdq_8GQUiMmZ)u$4;{ z8{S1m2m^pLu2k1XR4er&D23sT=FNz08_@yMQ#nq_3u}jWoo4VNf}_`2%cad*GzJ|Q zYAbSc=WACs%8sXz{I;H|Ef$vun2UQtGL3r8`bAn(&HB{CNn-t5|De4PIJ~3DT;94n zPcs4`gHV}OVJq69nNZI1auFQu$-a%xFx%@5NdQcI^6U?`R!gjIF#NL7NEvAh*GPwX zh4c@SU@d~gf!%?2_u@C-mQs)6V^`#*$RU9Zzs{HVe^?rYx6v{V`9mKI541ERmB}d& z>>bRyFaoDdrI6}lw7b67LKOaYXP^% zwdY%6V@+#Xyx?7&J4m&O|CG8e4TsnQ(ZxT|ERkQrvAiteC!A_?8@J5BNT{lA{onSI z#_ReV=JULR0aRuJk6}+W*$PeXL=;7UKEUKx7Jqe$h(xct z%-&I^lC*LZ41=-*$ZzT1@{@lchi?DU&~{Gb#9KBN9y-w{g(Qe~Widejfx)^+(*O~~ zn9#A`w{bbmqgBnUwU21sSp4-V8OB76t4eP|)&Ht$6i}O@*-ji>Ft+l33;ev3*g~`m zLbUb;MYjwtlUB$tj06AZUSJ#b5vV%r4H9In{2}D%;ZfZ~euR1{|t zB53L3)6cG-_Q*NPuU_FRD9ZodQFn7?>uu)r*YL_G>7q9UzYxx9N)ixn>kVtE1SV+S z=*DDs!8Iw(zGn*({cJq_hS#J&`I=khdtgXeI6QjYqlGTdm=$Pynn+d5wHA z%)2?v&0Q?3)TR@y!^k$fK*&4>OMEI)d|9RFWs`Nvs{DYj%rt>j_&Z9T2!qtxNYua5 z%W(@^fKu~FRenB;I?z;Hp`%yH0+nrwP#HvD``wc@iyF-xk*la({3WWlGFEEYa?T`F z@RX5$xC$SfsyyQ$@g$(1r7+s#J=u0QKex+{GYNDo1?uY5Xzo)p=%@``0YY`SMna-} zYOuaZuZT!HQJt0(+Oq83@K=5D@QD<7ReTA!e5boW8`cUjK{Iu(5Z^)U&eEuE&*CJ2 zWm)!W#RQ&|?Za59;rjT5)%a`5TNv&>K>GK~Ype7q<932B6d%uUOS9Mq#ua z8(J53)Eb`B3e108bw*T1J!(h>#Czy?CWK6Qo?n8eU6~(?dlzaO0l+BG30`PuBT@cm z9OozBvZNxtMY)EN-u$tDZ1J6}cU1epG&AOk+n$amUd(!r4j*ASQmPZ7*ql1S+q-9g zlUX#DD+#xKQDw`R8#fD zCndA>r2pO)m#wL^$5zdKRjplK9L83)UtZ*8EnBaxlw~R7xl-G9dyA|=hiei3l6T&I|?fAdBux->m zpjKf2;lD0r`*VPS00D`EruR$y_>pHj=QX(u_>11NS zw3~7if5*%yra@=dBbGJnXxYSwp2E2|JXh+d365SXx+Ga>ZslL zW8bEw{2xZZXf9Aw_KsuEvuDqJ?&x>U^?++V;1v$J_M})~T^6uIT?V*U0q;I7y`Jxt zz3}Dn-;pGE`(fvmqY2*3%Rh)(e~v}$kE(nONeY&J-_6aOp73;+wAK;dDT98t!F>c6wVL>BNjfr}O%A)|r$?`n z`^#IlrSsRwDg$Ef*Di{Ao`R^-PwjSv7*Z9qq0?Q#V~lO{<@Yv>RPM+6=S~| zy?5&waDAkeHN>|wWH*#JnXrmIsm?5fF(4Wi$ls2gmLWrqedPyd)k2h6}s8=Z>iZ77oWN~U!)quvjcS&^l;#?=zxC`l~bsB)wv z_8ay4Jt%s@D_iIZWXmSCY{p{B1|6Eduuwn!`?vf3K|gEl`?nR!hPQ5qw2a7HY}wGD zhEezW!~m;uWvF{*Mno>UUaYD|Mx)btMvk`6J^21j%vod~-g7~j_)2)Obkhag|bYsxpE7349IVixO zN>CBVlJC!bd6A_Jls3~YLTRKN*GV0#W@@YQWde{lj{Phs4w#ve;9^QisacV&@D<8X zEU1<$|9mFS20fT<#Y_s1VX{XI&i(dc%NsM5h&9@7CP#@b(aF&JdL!1Wp%(zbPW6;D z+1q{?a^hmPLXb>d+$TOoFe`OLw5hy>VwiPX!`t8OAcekHa%0NL_%$?X)#e1Pvhksf z!3#h=KJ+3>v9sCvcer5<{TcZ(wWnm$tk=)J%r>CLPm8Z5Jcbe`U~O-l1t2y-nl7m= zDoPww5yCA6rDk<27|l^5nT1X+bx9^*MNv&RI`8enXKf5m zy78WF4Pil0n2=;uX>r#_Q7kW-HHlZDx&|22z#bu6=(t2C69?{j@o)t5YM9rzpvnz; z7O`B1Y{dNi8xj$wXECM4CGhiTz*YD9L$PJ!Mo>|OpxUPCc?@gsIjD^2a@Om*tm=9L zFa&8L$vTY!&t`+1M6@X#m@s`=g15Igd9vWj7xj<`LOO^i2CF|Fn_s=Arrqe!GXYSD z;z`J-b?g|?x(KoFwJuQulhY795=I@Xz_Ie-sN=OQ8Pso1(Qbuz`)0>CHh{ggq5+nh zm2_AZ%^z}DpPcr5qh;myzV2ZG4Blc|Jku*mUVjG7=m5tl&c5D0md1XR7%*jEsuUDV z^*!W8?wv~=ie~hX#6Ux|3#9NKB|yt?OwoJ3qi+0K4_$4W$y#1Bd@=*)Dv}WHS}Jr< znW;R8LvFZy8H^r5rcamy!QLI_i-owAEK|02`1_lPqKz8dwIfdVte!E{x-FKz^zX;8 z>*sW+dv{3>1H$!*I#DO%PM+s3b1QaF5*ac z4+F+-P}-faFo4T)cAt_9o#KmWya6o^7DlxI!5VD2A!$k6B<`N0zH;j8*^|>7lLYq# zsp}+1YZWcivU_UK zdBS$fFj6p^opKX8(Fkc<0E7xFX8|D``U0o9WD6&|MGHgA;A|>bhp4FV$+qD`_7;A~FuLp;0W_kTW6Lh#GaociVV^Lhil{bTn^7=hmw zKj1;c_T%3vxOb?0KK*gm;=W#Lu@~ISLtGzx%0`~c~2`D7&F36f265U}wI%i(xr75n*Fg4cmJQgJu!W+~59c?g-f#!(?gx#FPA zZb};bqtT$pl9IKVX+Iw`sO3tz>~DmX2MG_Z{C*K|yfBFlFoUFSzy(0=INb2Q>Oak53t$X_`V=y0<1!KF>zW?uN6XeCOok}1bh@uo=I`^W`AF-A6Tc_d)I{bd&1uO zmb7a|Ar=4)BM!9XKv>P5oGQZm{37u9wVla-@j)DNeelC`UEO_uB^9|Tma}EtfKGrn z;J~XhUw`;%!t|~)gl7lzz*pVo4$U|wCZoH2d`IJ!^|wL-0VaUiD3NZaHRr%1y1#j; z$Up3>Z2sG36{1E}K46z1)o?IQi5oo;JylqmPhJ?!)4!RYsR5%UOzlMuyGmr}IFd~| zkQnD^uJl=^4rRCm`?|YK-s=GApI1;_dW_TZ7e;C@eH9iAwRT zHEBp@l3}DDHyRjnpyJ`e5kt=Vqr0_SOof?VjvekT+R+|+=p$zS{+$CunHRks3hEOh z!Vbc$HDGNa2?iaKRBJV0Ols(`em`rhhxoPmumy=m*V+!H=RLoS8>1l5uE#2)I@ypm)ERqEGW_BmyR*pZk+f?=TiSg z*CECdZ>rl_@3tZGyCsFWAiO&N`LjdbK9#4Z1z@bjc<8Btz#sHB2=2*TV ztztin-JQH$`U2qW9^L;lrbsX!`GSMQ0I*-i(Ns{?KB%&$sn21RPhDVJY3;vU-_0zl z3P(N6D?4Ax*EFP8oJf}ykG6si;Jraz;|JooFFTDgE$NI)?kw^O;bm3PyUji*30ilS zIe|;75ccespu2E~%bO_HU=g(!??+a!IpOfap*>l#sw+cPQ!Tbux%8B*-g>WX1b{EE zf?(hO%P$I3Z8>FI;?Q8Io7-F_P`n~&YaL~sAef7jwYH>GFZ>r8+F21=SNQ5iPha9- zRRKxr-xBd=?7Y&y3~`EpQ&QX#Eg-QnnB-8vxZv;x^Y4Z5RN_tG^2COP8wx&(qmwRn zZ9Qcf->uvVwDx&`C0gx*!H4kW2C)10Awa8M0+w6IbMR`bB|~$b-^%;cz|K%%sa`c* zfzXJ-{wT`6Ce{AnPGkAbClKL{$bYN}=ZoVh>Zn`kov4;qUX~_ZVXn#AXF|Km_G!^d z^gu4yY}p$hrrObibGdyO$T;k1osE6q3&7Mfzw`iB zYhv?cWaQqwt#!aH3{1V;Ui@BaKr4>Qv(TdO&n;@1uy}riW}QhMH(vKQuXuJ`BBJRO zmaSXR6-JGNSohM=xJ{Qtei=qNf~51ia|=leic}+pjxM5YFGkh{qzD`^VL0&t*DNu- z9TyC~AIz8&-s%n4p*xO_F97Dx8${QY_vyKZ_#C89s~aJH5Z%iD5BDMcBfAfl)kl0{ znO3K0ie%|ezJLhB(i@e+d|yBR(>B+OZ{Qcu!@N*u{2bwcg4iJK*fY*j;k~nGrvhS+ zh)zc*eC+)Ym0>Y)u0Y`ep}JL87t!8=Tz=UM)yatMYUsfcBE}l0#9>We(*b4_Is6m_R zp>nR6=q`|idqyV}xlA&s%jwShty!DPm6!Yd1)S@iYWgtBut2aa^Sn8e2D5Av-Y=W+;&Xm#CZq0|R zA;)=rvY0!R4?EjCr|jPru5z>)5b{P&)T>I|VN1**TTFa4D?o8pI(ytgmmY+n6gE32 zG;fT!#1iTZTV%m)oPsTsecu&b#7Y^}s6w5ZyLy*}9RM-T4@)jkN@Zw$`B$k92xYTK zp-#yXt?&~pVVlP^#Q#VH(w8SpPrZedeZ*^YxO-*nlTfU*emv^`Ovy%WY&o)VE}f&(+w0Obu}6| zUVesc?lCiM7WjeU0o?B$sU`i4)~cvFnpnFgCziZe0w8B(ooj*5LeFWDJPnXcb1&Z? zA8)j|*@()|?CqwC&`TWmbCOCoopd%!tf_QunAGa@ZJ*!(DxwMYwzxI6X%``|3F38ePrQ(&u?}Kl?r)P z{Y2SYUAlA_RQ@Kwo^;nF5zAvMfU0*(z>;IHkDOG>r2;c-jf@4ibjjE~JMN07ouBkU zkrT@ZNauDcDr>ft(DS3K)6-_R;#|gz7gqBx0j?sfv|}|ct!^gp9S8R88LSQQ?UT&GHJg>VGk_C85>3mkXN7YTdjkw%ZeJd!%Or$nN z(`Xg@cr4gF&04hRB46=#Xhl|lr|BVve)9kcVUE}vqmxQ~;eU2R!E#4+g+v8v5FZwj z0Dg?Gz=(aV^v3igE4Wft?zugM3!Lt67!!y+?T2_OR~le-fTnKy+)MlI@R8;g*DQ!8 z1WRE(qS3@|3|gWaB>zq#6~%=D)KO4JiU_JQz%<{I22DCil~0n#WnEF>g4-aPu)S}O z*kwFz#RQ6Bgsosbf*-IG>0|G{HF>-s38tM|Ll;(mWAKxGb)kcUkj>>M|Nl4os9psH z2mQ}1gYO{US`!KgXb3sIX9H9Qpr*Eh{l(#GF|CKdgRMqJ1ft-cK(t)ef-Em20Y)wb zEdFLBV0~&`mC1Y>&FJD2tknVk2qG(9QQ$YWvv1=zrzDu5XJ2?qsP7Yy|j?##?@J(cAM=qLZuh5e`wDBwVuw z_$dxQt9MZqJeDqmFXheynzc!3k*0CdD$6C{Xl*U#Bi{ExOnQaPJt=ZqA6xi~%3Z=S zukw*@E?E}JJ_`aVm-$Ev+$@vA`_2Pc?col~M&N9<2xSvd&SuCeG|FA-V8w>>n5uGrn5t9#I<6KsNM-_VpW^1hw3lkR3 zEn=nAmWRy624ne5YyPGBcx-B$%a}*P6~$Bgx0tQpGxOy?c`*;kF4M@>Txs)~IP>51 z#rCt~c$_F65qzBd^Q@kDIq=HrY^mY+*a2=16Txrg`3v+Ap=EVZbQg4o2}Rw zvZrW|ysKs(9lm}ak|v;HPx7U)?}@j6OThBXM(q|AzJAXgUT_!}Cm@`YJ!hC3U2x?F z_CsY**GqTU8@_j-p1mssmWIKmJ#+#mfHuPOHZO`6Cm=!?{o3}0e;?-m%nD} zA6WWTS?A&n^tPFZtZM_MWm!^q>E4W&;-KM;rb&Hjn0{lmdcgq$O$vAb=De~9i5`f+ zvYdKNhuo4{YNZ-5KqHE`RR^7xUPJrjVtj?_A|o8&Yn8!{V{4F*O0o%rjIsOgm&@c*iL3nf}KWG8IoBseB*u%hA|Fv3y>O$nz*@g<6SY zqh*0?WoZ2Om=m=;QNon;(zM^wor}>qH>0{i(o9C5vDcpH^EM%SazSn&> z+oB-Zn#V;kK=?K~{i8eZU7Tr^v2}~TgQNcdeo)AV$eW-9zvaDCBaXm#?8hdCq!4f^ zD<6ky9iI0a9v`>XtgnV9EFfDQ04^duw;U_gL!;Zs*b5`P?UDZapYd+^*eJgM%7j#X zH0J{}KDc&omy;k0es2#giO2Do%d6u^wP3n?45vysukUJK>!|IRwW}kZxSHsz2&t}s z?Hasm%F2aMi=T}_fYn}E3dEKTh4OlARKpRd#uAJ?&ovI%HGIT zCn#OUfKJcEeMEo{G)$|$NZl_imtWfe^k6ewsvmKrjJ~D7egX!yblu_iyOcJ2{1T?p z+4KM=vSZ=`-_%BY~^6t=>A0^gVv|=(=}JXWY4LhFxS$ zy)s{2h6>%W^Kc4_34LN#a4gQSCf$L%xu3b2nGU~#j$~upfkl};tccZ!Pf-aVEg%1} z9kE;NFV$@Vi3E$-n6=3vd)X^|@GeU-Amr>jqw*V)=f;sQ^v8~{K1Ux%%CKz$L$2nd z&xKY%Vu`;>t~#~mz$fMOcTM!PL{PvPLw{8iX)%iRR3Znd8ne7Hoi!gcQlsV@ubbux zT6v9pAXh|tiCV)G+I&q$%|9G4J;S8H+I>pfr&CUiBU+nX=gUZ>=Zo>Bv*TTHUy++F zxwUDcrg01ZPZAxW0OxaBdbwjCmU7Qd@DnA@5Qe6TFNct*-uCJ?xZ_;hwHjm6n_n}9 zmb|P-ST&*nLsY!13R7M^JtGPHjR`_ebwHQNy=u9(G;@G5w_Hhf;{^|}%i4Gvr8z0i zF-gC_j9JM@r!g@c-Z3_^KNY?|73&&(5nS}f-H6uy`OC>K#or`Fh(`vAUjm4~AK{j4 zAs~iwHZzeqoH`O2>!Tnb%5d%gkMb~`wJAd^E|53UO_@xAUSeNOnT!V62I{AN|3Fkv z@Ind+OPExVBlte%!`T94*}33M0buMUu9j}RB?VefX0^(5B)1|~-41bz_^b&G$4y<$ zU?ccUTw6EoD|j`-i@k#eee-1ehGhmyW!i0*6B#>#OFPCClFinXjGX-q>qcn3Q=0f- zeWFmBl7T=6am=-Jor8n2jdK)OHk%u;rqgfP1OxN>-@Vf0U)TU&kta8deDUA=;FQ4d z4tSWTPRUBKyv$wFeIwYGnNdKCR;H$^3uW?~I0H_FP)|hz#_*UxgHM%X0e?aRo;AEH zPc@)1<-lpPWDs~)W})`LKx%?NrCr{ju^9svwC@G~cQJx|xm)`0hZzF_3IxR3 z7I_Ft_kRVKj$=>|u>Wc=z2~5F|J7bRg~M?J@qvIagp>O#{-e}DruSWf5&|4O?~ja{ zakZeZ5ZK9th@?`)h$#QcFeCv5FE^~|Cx!hFGbT{$I>bxqwgU2{x)#0i_h%SUkWA~k zk6QJTjcu!j@0U8@(pa~8zhCga$C0x$J51_3rHj+C$NTKXz6w675E;p|Gu`8_m ziPyCEe2WZ@sJn|__5~bIsD8st`-Mb!atv+pPKukd8*l$YCNO-T4>+!zak@u!$U8db zru{<8x7^1>`@l9eXxW#2adj~GJvUyzx~uU4F4}8WrP=X{&ROq#&%@b!Z0*SOfLrF9 zT-b*8Q5)RbCXD(u2NC;1De;9U3edR0$8Fi|$({F5gEs0R8D;$NL3X^n3R>A11&m#DSy_u-Du1`fKH#3s$h7RPK#><|D>A zU-uT4&nC8^FvsxIl;jN{; zr<&YVz0Cky`7_qjh+)+Q9c#c_J-O^A~Bnk5tjm57_GX~}fz3#h1 z>j;e=&(;nf>7Q*-_rV>1J|A-*nkV%1QT4|J#ZX5lw}}9gOO%(3%-*-%Jo|lg+}4F8 z3K~PyQC#T40QU%yFDd<5)Y!M;C@P6D2SmuvOW@v>omTh0`d@3IHaP#Tu^$}nB(cI0 zFdrpB@^)Prr0 zU0HbA0zlzg9CNSS*~Tmg6-&WTJV0clSqMWM29qKDx+c=T}x@sh{xP`*27mQ5h zaH?p;%|Ai+5(Lqr(;g8ZO!B0(2dXZCugm&_w5c`fl43aDBeCm9!-WBkXvBuB2D7N= z^wsbSK6yyU7LTF6AjBOH!70evGw1M-!IMt?fXJxi{RnmGoL|+ilR{KTx=}_{dEHqh z)v)hYogGs_3B9SSvlx8*!UL<>g9a{Yh#j=C?j_92m<8RF{K(c;{>6;@Yr#$dw-unA z5`3Wkz>Y0lJv3X~7yEd;rg<5?Hu`VRPf}jRJGi*4Gy00vU?Sc2{BC1XpXyzLsx>n^ z0L3KC5>-#;JhO=nBq;CT*1ccx2+hYJ;oB~R!K}p%P~6*SuSg0wmY`-UH%4?)Fb;`- zG$2~wiR5^em&b^D7N>~h2t9jCPV*WZX>%uBCCsn?-AfTF4GQO@(cu^s;{RoPoXMO3-9KR%BcS34Tz#D&Q1%xejKH;8z$K^^5sH`T7o1Y;}K^M z#U5@}+468UulC$w=doBd zT-bfcYN^L@q@ll^@f$rye}SD5G>Q#md90Bxur&nbZ0?}nh8E!tBnBY7fZ8=#RaHx| z-Z?N77&b*)N7t}< zO9g79;N5ur&0MQOt3e^fjo;t2lfxp!^5vW3B9yQ6fVlW{<0>J*sx(5jG%@KR!JrBr zFck3CkETSjd3tyWvEAUX`}JnZf^p}M`HR9NeMtG?_YJq3uXc4ZYXoCkHsBzpL(x-) zHagXbG5A2o1hA46NPaeY0Op9PIch|Oar#`3AO`9tV=F?ub!RHVDh@q!y3zzecw3H* zW&!c>la&w%n`>8-js7MSX@qe(3{vz*ScZh2q$$U0z3XHD!P;~! zJ-&%b(XxNX%qhuv0YyG=1hDTu8A(4!$7pV;H_&36*;=HGhGt1*L=h*%#{K3#B1Nz3 z4b9mZOO15*%J^%7*b!YG0lF&Go=~3K4i0m;S6sEHGD(;OkxO|+dIroaN{5VDdAS=$ z-WU)pkT9OxnndT|z3y^UIWgyCvW`A4^K4q}hDce-EPab6N{ypt4H#X)k9s9_vs4{# zk}hVT^7x;fxvX@*KwHex%6w#OO?1&46DCmzW9v7w@~r6gZ%1&BoYWv)cxo-~y{z-+ zwC_)5B&lRf(}*wP78s4*UJCfU8<@PEbnc9l?+Qq~op=!GEPXdl5GA_4j(~fH z@T@6vMrA}Z09_S{04dA!Pd8g|2$MU!6LKze>l!O%#!}wyJ*dk0nzLU(Ge$M>_}sl| zb@@VUr)zqP*szY9Xxn%En+DB(3d*pT zbyUP6ZVJek@teVV)M%xDCj5+XDc#UQK$;rvWO{AlUpT=|0ctqwnk~ugWI7q5MZy@m z3Eh8t-C>V{%;o~qpOjqqN^7Lb$lbMgve%d0JeQQzjTc_syidPeY@(=iP>s^*st~<= zNb>^L+XaUb+oumM@9*C#24rtSVH92O(Kr=d?oAyG4v!@_`KG5F_dIDnfC$w0%x#9O z;krTMX-pDn05n5qG+hw&)i+qhfT=0O4(|{gwjya{%LLQ87sv?EO`F^>fovdALEMnq9L#l9k$i$W059{-O-4Yy5#_5Y3c-QLdq;n= zM-IK(ivESQ-iJZhq*bdps(DyPy$1D!YF|&?Pdul5pm$gF4}}UUmAYH>W7JIr7d|?= zr4p$RQxQ!4P33?h(nl!z7aiw}^S!ErL4kxFQa8;A__`W*((`^GL$-Ve&NLp88xJ8RSupHQIX0d znuY;MSKXPoQJB#6v#MPR8MAsH#W|6N0X@AEuT)bsE{kShaP|1qMl3 zrc(_DAU#NDU$LMd*UM@H2`U_gTh%W7PiZ)IpF(|;&OsQ-^(?_p{~yumWCzXDK_HC- zAWV{4HDgU_p`oEp1idYCL){tj045&u8ND$%{)|C-eP^up7z@P1A8?5g=u^(bqBeXOjDB_1EU|;CZ5E zQW{mqW2dVfN3sGVp~?rdqhT#2&do@*k>u^&8aAvkz%IoMuHT9vvjHG%L(cqWV0?G; zDRxAoud|$%)!b>DwUKQj^*(%cSgPvSSmi~MwJX@jh3bnj#Qx`^UyEpLE#XN8FwyF& zDJgGj=_@ZOYOA@4^?QylG%5%_$cU*mZ;r;R8V_`FqWTm; z^!~r{!j8ha>Y#k$b6y)9+@pINKwY?dTkA+`vaE&u!uG&}tND{RNz>-^Qs8eX)|I)K zOy=Kkc)AJ}uKsycr^xHQo4BSQh4zyNChHscxHS3cP#&+OpC2kzE5rwygrs~ZY*WRjRY@M(K-lF9K2z;I<>JzBeTuD$OjEZz zKXJinsPgIaO_YM0jeYD4aaW7K+|4cA%__&gT*uU4QYrsUq79B&;p;8ENQQjUX&nD^ z-a)EuoZGM)!KyAzl)W6slu>Ytb~iP54U}t#cn{V68gumfm(-)30r+jt3R{ad8VRQc zm-K2j&be(UJwm%f-`Ifh_@XiXks~y>Oh_V`l})S`ms?1g>?i-XMztqP#i`h-pS)@2 zIu(GJ;cjQ~H*tCq^}&mCj+u}=4ijN||Lt&zolTya$AIJy4H{8xRKV|TXG5Bdgp6DR zK99)TlPLrEg+1a`SpfMJTLv8D9+LX{PI+RWWZ#H+&4=!@sn54)ce#k>li>V2;l*dN z&v(kUVD0nF>8Ikumv%Qm;Tll&Jah30>+{Xp4N$%|oPW=sFmMW^f7g7-vq4%@1t;;P zX*K`0{d~vuQ5=r^x0Ccq-C|j_Uirx%>jNFXIK#jVwVY(!0KgBVJ6{A%&^P&sAVCtP zhkHXBfw(_`CiE&cy@9qS_sd$LJZLQ+) zf?%ljus59Kq`MVt=>#CzNikzeJUEk^R{d@Q7Wr_sT&fK9FX@h$NYd9Am02c#iYq&6(tr zE8yq}9*}z)dfx)7LCx%uKQ;3z=S^nob03TNQ|0*f0E4TT6FrK?StC9Q-u$%+ASYe$vChfTO!M;wAexQyKzPAo97y>}g zdjeiSh=U<7V1AJKVc#R^#*96{?i{Yls8^KAiup!XS}%Z;g}5Z}I6;rZZQq zl0HfpJZ{+_#ds9TXpns5ioTPIK1>+AC4mqlGJO*6WY|AFc$Jr~T&Zbds{HT*z^1>g z0o=g(z$(1VCo!3Ikw#)c5d6WD#d(N-oUt%2<-s7Ehw!Cfz$EmEB?4X-j;j!0aKeDb zF%Q4cXQ&9%4yoe@&L9hdKmNrWtBAf1Hh4w;qe*YNh!t9b%JCKrQ^uuB1YKaFOAYkK zN|P4C4!42U3NMrZ!CSY1#tHfZgWLc3vu2`{*(O2koQW=7==XvZjK(2X>@*%BaEC%N z>&E=3(YCRbo-bC`G6s))Phq7(wd0sIjtfpi4#t-!(kA3y%{X)yK4|hEirIG70GpdM zV=ZFM243~#h3&Q;k{?Lgm21^SYa(f8H>)GRGPu7&=kFv|Pq%+=aNPHgfVU!r4uI9` z!R)C^oY1{9H}(pzt3PGm|KaMK!ovvHcAYeKW2>=kCyi~}wlT5Q*tQ!djnUY)ZKJ`T zwby^J_dc6zj^=2->wBN)z3=E|!YayXjb=va98JNPNjaDrLMIIP->cyw){uxrfz8Mk zTM!&pI%-ydrs=PXUuJ=E66;}5{7f&?ttQDU#J*EwyZ9HA^nX5|#Hc9N6LRgRyN0%v zjU9YUYS}5aj}07`pbc|f7q5{%In^e>BdB*IBv1M*bLgz4e(o=gxk)(>-a#9w+2$-W zH4e+o^7zp#GbawEW*e8x72U^y!(+mWNmF^nW@al!votbnvl{_fE=v|PwL_2n8kj0k zt;OT|F}_SO?B&J>lcUBP0b3)AM7-dp0h=pZe zB@8Q{EdxVrd!4UU&iE;LW40bV+g*TO0Dhx!@l`4;zwgB5F#Rfo1ZHBIT8=vmduf+V z<9hU)EUS7zvrHC?&(sMk!g=5V{g6k8SWjX^cuRs)k0tLnKJPqdofMpt)ZJ0qTBqHd z!jj;L!pbz0G9t^Y#7hV%jI5g5 z(UF=Fv|rSvttGq&>`Q1VR9?wZJ~te^miD}=15i{D;GFQV3r3zv`&{LaG)1r0wd8+?l5U9nyl#h>yLFaOgr%yKcWsEQ(Y zN|<+llp2z29Ib8FsxXeL+zx{g$(ybY z2qCN#?I7Z_gbyx1219@8E@eS)WZ$$udA}7aZjDgX4$&%noM8&EV>!62 z+ORQyZaFkDTF(VLh;yYCyA;cPk9E(FcjTE813P!%>k(A5RX_Vrku+4up=rY zgO*#}d&+-x;+|N(qffupJyHH8Z5axB;&M=5?U5hkvVMT~XRYkKD|{o|{+>bgtFa%s z1Dp>0K$*v1Ef7y5t~4K^p+}P24??vMJ)RtjG1EMrf5`w5m||q@IY^Usaoe+dMn2pD zr(_J>foq&oFSW!)Gvw!nZU=LkmUMwA8k3^!iP&bW4aRK3K9n4gom5B}G^eE5W05d6 zw`56b5gL>X&MbI~Eppv4NvqO<$J{}qEvl98`;iqnm*;Qx3G?;H4Hq(+`4*-*YG+Pe zd#i6gVtfS9Ozp}9M%Vp(0iFCY3_h0p?!hc%W}!?lpbV|FZF7+6K`n%FP3dmHB&2q% z-n?fMXj7-!1}_ag8fYtpCJm!x7*>yb^gRiog_=K0S^;srIxFZ7dNc$o$&HqT5=l=* z%7OnPsAGcCAz+>mi@(37dN;l zy}mzkKp;NR|2T>--v03h|46Cf2)-KYe*&F#Lsfp>T=K0Z;>dh|BBV{qD+@2+?G!xUtU- zV4i?v@}zaFUOBY!>v**!i>T3Idh5?jDqa&FntVtpdttZ0Ce6EkLlmKJNPF`?+cJK1(in(0XGGMZR5%yRs# zojbCp0)6|{5u`muYh=T!E(NQhu=zC3Nykp-7T%%P>jbnlSUloS!jEqPgzM7DuPu~) z8>#!fFOsD>758{mb9mV`d~RouIyC@cxR_R0^EXYh;&FoVYXaZRxo05L?T%>qnkNAW z5F=QE6MBP`ERFmm$%OBdpAJr)3S*VR{2)g0V}R+l=iO;2x(>gj%n{vywUG;kvV}6+ z>XYoE)?oLOsNvrmotV3lea^)^X<8d>{v`nLIjemXfu z>*3bEO&GuZ$r-v`dmQM#=cRj%-p+m}F+Y|I8UkC;311@pZlCZ7&wi)u zCSR{)cB5z+BWzFvj<9ySi=(!pe7Wan9_|?JBh{!=0w4R6cO~z6g8bx5wv7HIdtazu zH0gIPb=fk++R1&)020gj5}XDll>W*Cq-k{I{dkILr2QSi@Ly5NfObh{lf*O<3|dc2 zyWnRDOvm#h)gJ>d;^fDWFhh$Ap;j}j8vKAWv2Cw^ZdPL3*50LQT|%UXCJDH+lHo#% zJ2mh!ZUa=~;{!<%l3Apde@Y!zDNBM>$NjO5$Zef5SQR{10BX4aJxA&+hR7Xm#UCwt zMHeK$A1+!Y?XvUpWVrcL#QQjn|K4L41^G!yGt%|o1>??ri%t_@@7dS9_K7}Dggd}| z@w4A)OS|_2xD~}%6sglGjngS7(kY=>6f>9=?IwR(j{j^ULoFsoJ%C836eS<6PN#H) zC)2p@d)8OE0lt4Sg}v4owpt1-pK}lfYCno>GWz%mEF<+-TjM*d5w{v+xe)~G{_8Es zzmyTC!a1!WO_CJZNDOASDzhighsQb9mZa=0TPGcWjWKgau__N;O$^p5$tREyR<$mx zAytv(cCHmel@?xz6hK7P9G)pzd!@Ha?i?`Q;MAsnS(S`-LmUays43?d_0-<3 z^hTNJRDWGwm=0jk)ERoE3q7#)2nK1cM=A9})R+3fTInK1JSMn1Flz7i9$N9cF$QrR zhPW%ZB||O!=oY@yGGwzaBO&$nFVJ%ezDqR0iPT~Cv)c7-DSk5`!`@7Jm-5kn+<0cV z{J+t6|H0ke=&f|0ex<-*V2Os}U%BotSp3utXK=)pJ~;5h|5`(c{RNMaP(eV#NK-#c zzl^+$39z_8G8c@2%0ko8_@fy)12HM~a4T zSysA#-n-w@{ZjijeRXv)^`&$$v4p6!>Ng?(l5V)1J=&1crXO%rms?Of8Q z9Pi7vqa5#M@5}v_D*~=BAMgzug--Auo&&L&GfNJTiD&1OJ-^R26N1{Bemvmg;;h`$ zkl0F1HFK;-y>)Cx zrMX7aV+-TR9-H8`J9KXFKcObm84gm$Z-uUG)f_*b%bJdn#?l&I;*1+q(&Emw4B-MWSy?fYoQkihJBxPCy~m2~v+ za;#b%;_}YKfoeZMaU)xcHqEcY8k84GN?!m&v?Ba&T2>s>btPhiZYx%1XJfW(Y?6|9 zzt>`MXxtNn`I=9=b5vhndMhWLjJ|v0WA!mwGZeZ>Vbp1*s|c&VcrO!ev;dtO%nw{T~s$cY^I1MM2L_1$|9Vtb)MmP zJmotk{Iq-U)aG8~SZZeT(hg7OpC7@mE-!XEt25;~>3^8m#Nf|bm=Z5={qk#9FBz^` zYDq*fh%%;5>Vz1SBSEPIJIZQF*q)qil!@^q#R&E7vxdAEsf4IV8-rO!e8sLsH=6yd zbGR^J^9sCbGYh4I$rgjKrfbdI^|FNIkW*~^$7;*DX zz6pljIuVsoOEFpYF`*pgAJ1j3dPo-qA?-f6BZTagGlM?7)*adxWW5y8MVAJ=BPko@ zAxQ?hoH#^rvuq}p8MuNDF;oDpa0-y-15J^=4YCim)8!F=zecMPbN0O`+z&eV%@{w< z1_jHHD42?ZmxapPn6nPu@GYI{W$jNg^cZni5Gb*ZjB)SXtnOA1iYj@;#g(PnkG?|` zc!_0-9W!J=o0M0*uNuX!a6o$KSZUAI=+F9Wy0MLgVYi4wsagBHgFPTB!dND1RG~m& zb$>*rL{>rFZ-P?P6nqdL%`{{4=^9$t ziP!n7PE3zSN3}ZI`1fS70C%cu6h^o^s-pseE7P_Ln66bO%Ji#+X{fK#k zGE-B9X$(guZi_l{Ws5%&OS92vl}WCYK`y;=^B7y{6oDxD@=qw%M2q(eIr_w5kU^no zWodCcdz3weilBFuiA~bocle;6j86KUKCt-qE)!oqIMJ@Qt5yS*na!?sQ8kO`XC|#* z?ezgIRElP}^q-uE@$iLCjen{c(3ZRwRJCMC7^)FM;Kvd#`4sc z=ir*(nL(H0$!`PsHoJ<(A7vO3QFrDng+_-eRSgAv?@6}peTuhQ+J(ad;FP{Mc8+!2 zw?1?jD(sjoL;aaveVJ?mFRDG;RMC9h*?5t$`$*QkyW!hfGQX9wR;6GdB8|0bF;of$ zz3M4k*P35AJrnX-9k*T=FlObgRW9Z!!^f*>v?bXSNXCH*jwl{1X7BlGZOWsBQC0yM z9XDQtDw$GK?6V&0qo^gC54+?i zacn$n#%d4tiT-;p=%2u$~b{Y<)%>X7QI^z`Bp-YLtwZHD~U-jToP zz)HWz=I|$aY1cIgX{f!K5^2nXZ=G%rVSRmAycLGOpo(^H;`$dn&kZ#;KMAz^_LRvR z*XEBshU-*jUU0A^m(U{xZ2Lid$yVji)NL4Sy+h!z)FC9g`|p}bYXVVgWad}Ol#zL{ zt}{j2vWL&C)8B8s1AFT~Gosz63q2RMx7O#IFNk}974mLdQ#ycpiFyzs3pLE|LBUb< z`%f7n&)*BhgaUH9^`IxElEfSS4*kDS*FxBYecq;cJz->DUrN9YPi}!|XW(eRe@M>X zrw8CAIpjviZRbV*yWwEwhXv%QsU%R;SZQwTu#vWnQTXZi>~Hd-yZb3jd{A-|ZoYHK z@3ACxl$@YfMo;ZJlgRMadn8?ZV(SY^O)-o-GZP%Lbo|(>^hh(>`M0D79Tg|8^M?r| zj{2jOV5#fasp9JOjn9g;&1>;#tHMOC-4mFr2w!JH;TN89wEj^s^tZ1wn@?XH{MB`lZyZh<9uOr>?Qv65Su2*?sb#sUwjxEAHBU9toxID0T=c!aL zkEsEI%1nxMR#H;4xM)LprgHF2WSys}rmJlDc|uC!#7LR}r{w)}NU6q%4`Iw|%HmXG z>vuUaD``l0 z1>ItG1nXF4L3UuyJY>LG@^`ljgl~zqn4rd#g7C8>--7BP97&q(1`8AJ;C7ZYhHtS& zk#uHfCc!Is->8O zLyCuOX>2HqbOE`vsXb=(WCX}{^N)6@m?wPk9Ud<2*=16;e)SrGmJG%wyU=DG&A1EV^6i%tDma94(83Kmli`Cg0T|LgMGbt}} zpJ$9w{i4Ot9+&=t@q?GEnRvk!r~fGm6wm0J-mBxjyA^i-J+5VYJ&XSE zD(vn(wr73K{As^?s}J1s{LB?%o}Tkx)wY-y^eEzQv0*S+0ZDuGPv;&ZsN*Nacn@5q z-KH2UHwYlt+Jx^e`c=gcq`jlQ+th&SSKYwM7MRQq_1sJg+DxteLL}kz?HtA-iK0i7 zEcqfd8Z_R$Z@?*YJZOx4=DL2G$b`&5$8%<48_WM(w>Xm#AWL=en)D zE!)bnmD3Djnxfngr(|wJ#KoA)Pe)jewyJeos*GfRD)8lv6mS{SgY=MFVaAA6_BtV` z=rC1AWVJ-~ssI3@4iRTZ=DJrim@Ctd-Txcz4&HTQT-iQ)_CAbm9UN;bW*{R-=QXq= z4>YnzWSL$tWd|se2h#2}$89N)AmA&4VYc^kSmtQDtEKm1n@G;AHOTDT2Cd%!{vwbk z1i3rp&$b;io5<6&o*C!{)Kg+FwigHiY2xZOoS&AW05b6L4XNKQKK#)o=#HSk2J}T+ zgGfj?u#<)qi&rY^9OaxuAy8Z)@Ezq%EEh6SkpGoV1vwK;4XIZ@kZi6!+TY&af>2ku zenwi=o%+l(9!#`o7O#G}QN&C<{hl)EJiyW<>O}V7u#zAO9&+0RbQ#K^83b?t9vz%)J4uS7*BPEOXuAz^e3E;jgYd9=1L@6WKj(CmD6?6viptm1J`&yHcBr2^`{%5mD(bqYFdJ$xiaZZ{9Ku%S5E=ctE9-b^ zQ`_BYxjsM0=GsnRm1t6++BGLAjro?WBcnFy&+m@=CEZl_94tr~m~C!CZUoP*El0g4 zQ93U*eIGyS&Ak_Xn&~88O$sQSu&ZOV!s-B**^Cp}SJY|RY$JRTD!Qu2IrnIs8zGkw zCTY^J5*aO?GeIKhhuwz6P3p>mwqcGg()%+AOc8cpI%t-pxoXB-yI?XGT-w6S9&z^` zoOXzBXu8N+zWfIvJe2ypvet~8sFUabXuXTcl2~%o_4HS2}Q0!a*zO| z9XAiGr(ObHXc!;F$6ag2@T(qvpWMKA)Mfh&P$(I=Z6;+TJXYHfaT&}W)Dk~VlT}3d z%$gu`nV{>e6Ge~Bd(I9EFBCmyK7=q?h92t@jvd!I^Xt%)ul1PnYuN_y+Dw)m+esUX zpl`ctkln?+oS<>jFaVUif0Tu(M*?tbL|i={BH|J&**K);0hv?0!a=ph4>hHHILhJ+ z!=P~aGvhO<8@`}}W5Ff38~F!aO6F!zKe(nr*9o0R2oVh}Qzv{aib;@ZiO4mM5X!R* z)V6Ejd0i;|I0v+oV2=ytTMiM$PnnjUOmNel7nj8r=!BC2gzH>VeexPo-*+IOXtXb= zXr{%I9XGe1`rtdT!zX!h19e}Wn|p!3QSAfCjk2i2C&11Qsew~ zHb1jWNf6^i;%=|$a4*xUivV8S=PH72L@eNR@c_2x@sgY)O6giJhk@1ZqUt7iRjjLi zD6tSja#WLR_pAfYy7u@4bL4k21KY{=zA^TLEbR7<*#u`bl*STFB9-myCf(zDg=VUP zXaj_HTKdX~6#oWizcd}AG0j|XvY?cNpTEX1@?zCBbWskzM*tQ(j6ec{abkE(RBY1| zWJYO)VMkNKZJ^TfRwC2~qpsAUROy(cqyu+#eUvJq-hm5OyKOH5{huhrV!hoWmFqB- z-Wg#~5Qku;o-h@c53mwt!Q5}T3Qo^SRxMMM=K`fDdvMfZpQ4zb>MqFu!c_c-z8Gpp zq}elx);3tMh|lvhC2M ziXmrW@>v`5W-zwprU~2r$8y^HPmje?72XrQwj?ztViOvgQb3qf6_jVN?QZ~j14Ii9 z_kseGDXJ(t+|5e70-Z?lgI(QMk3muGjxxDH)H24CC_jq1FPKT{j4u$QA$S~H*erO; z__}-Em#KMs@mC;b{B~k2@iQWEYj#$z2kQ1W#V1gov^g$lU8EpO0hihdFx&55kVLJR zUWB1a_~=q1$-qgO1WtvHxagb$#aWpLj#YE)YF20l3l5vQcs7l~8n{(TY=yLl>T%iK ztO5c4Lm{gk0{3Yk>wJA!Fh$)cHF4tVoCKNl2v{YR@`51UyNe)x@w(SCB!QO(9SJ(S z(m8GEzN5dy1V^Usnf6DcHNn@iPsRna_O49G>!0y_5WYm+wz?lobucMkxodiWAH1p*4r*h*zT&p2B zb#2qnqd)GOpsQQ29qTeZ0mTl^2rzi=oQil zW^ArC>3*Ns`wXC1lRlwl+Os${Ibco8R?;dYi=k7k0~a?yKb3O86Gv!gkpYt^($MEfa4RA~Rg zrAA+#w3FVF-HWpab8J<5ef{E)faB?Oog(2;+PNGG3LkK|%fs`KIFem$-|GGW)OvZc z*xy{6^3s-e=xA>VpUQ{UOfT|v$$#)yS9_0~9{Utes-L`pX16e72WX7TG>Qg|6s4O~ zNMuAvFt)GAkdoXimk9Ep>W{OQ{s(Rq_}A!11Dxf z@=Pd_rHp#{8CeE~mNIx-_(t8?H6~7IH4%I;z5qSoX|dN2(9Ua#8fj8CF|KGV3Wqc< zocQ9Dkg~&iISb!tP$S1Z4w3vuo8)?mtg5nt2duN!c6T;jl!J_WVaViok(rFk4Pd3H zlKgyl39K*2CXL&g$-nqji_FQav>Wh!wl|F6G*__$!rv4;X9FMeq-wiD+-gGGG9qqJ)z8&}~w`;|5->{)7{<&t0=2|=N( zc-$?X9>^e0npqb++PLi@^*ly#j&Y)%~kT0A-W{bNZQctawI7=MW zO_Cd77h$m}2*S1TboSa~rlYWegC$KH|c zpN!zHV7@2FT&0t1$V13ct^}gbVcZlHeT=@^U0Z+1ixNxW#@=1q5v{&kLkSmzDx15P z3JN-0Wkd!qqen0A)zGuCIuBylmwd>`m z0%M7u_b$)GWU!?e1f*0ks5B9WhF$ZngKGcm%8%bX>6(fg3LS#WNdXf2c0E9~wT4%H z{28u)4#{4LlG^$&35{x&t3w&71G;HF)_78F$acgMsBuO^YXY>;}=>U{}&E>6R zxBHb_IUuEM`DNKzyg|QaG#G)9#<51%N1MH^6dAI>{3NGO7zuL!X7eR9LK9oZ)!`zl zD+3>9WM&?cguTO}yCp8+Aj_8s+N7OjJ93eT;h$2f7?WwU7NYLJhJp{8V$ozlI7#UC zQ{fGGUAb$yON5*QGaGq?=_Vu|Swb|V`yxWguKHE@RdjGXejmG~X&^whVOC!wz=>Tg zUE&sWJ=)&rd8&j_Su`Q_r&&HBrMauGCcKQf0Jb=u3i3)mZH)v48?pt<1=Tk^0)AEW zdll_gC*zngq^|VR2_Dn4)oY#*hm>;?zsYp}efT5~eC%y&FHYxa{Sj5EMKB9Lq25lJOa%3*8`-t^v10++>Xgp1-e!cn|wcv1=l)(_o+l z?(Xa)R7bb0(PTRHSTd-Kc7ilu0{@LEDB*ZU&a*S|O1Ms3ffKM}FSn1AuTYX|;4avR z>t`LLQZXYM+wh6&&E1yAd82xD(;|X6Cn&-QDuLcS=dp`Lr+&imA>6XR=IrfA85II>A9hHg9awci6l=fE4JJ$4INLYh8Sy3hEx#pM4pFB-}3* zeYOnB-6{R$`;nE9XgR2lN2BmIL4c)j^ufh@roNxSP`aPRA)R1W!Dq;(K`R5aqv*IK ztkPpvxfP%C(8CiC!AMgT-9T36P(C(v+!waEyS#F^A^{Wa3J{OY1{Ux~)S`Vb%Qr_J znk;|xR5!^R{}87|2ZK~UBPKWVI7@+BqtWmUN34*E!tJA7K7s=3sqInN6}Q70mVW)S zdpZb#D7gyTwjf~ypQhUH8}GR93OXW0>XC1hp}u0waUWC&4ZkqceKa9tN`5Fxk}ry? zUHXfFeE@nogizdGVY3`xDAy`@p4$9t?#fH2HIf;Nk0Mo>v3*ZXyWWV13z#DRat|Z% zI}cLq(Yh@H>}(mzu}5&@UPaJ_Q(ozJ2Ks$>A1^NsY8y^v zE6Pp66;rXq3SP)uuD}cnUQ2Ri-<`Uo-xo@3X9yS1sP8G@rkqQwD`WBF4CO6-5O#Vf zqo>LIXLS2ZM{P-au*A{0rR#)Mf!P0=9Os)v9396e<=BWQk^&XoeZ^L;YY(jrDtpU=qe22GvCkqL%tOcIbykvB#zG-oGEX(?^gy> za(%B0{H6V!pV69=wyW0SIG2Ljoif;-7?WM(G*C}qZ6OcK zfUBG-`_Al!B>u~Ik>n8RE;w;ilxVZ&^k=i?`ToL&K~ z=1)A!n7JYWal7xgyw%UXSQq6*`JHK5^N27!7GSQ5{`C0-rzP4Frv`)BcEx-ZcAL_K zze%0nAia69POY+t?JE~u(xhUr`?|TtO3Kd_S65j@4ywKO8dR8Moe4{nGgw9R9(7`t z_p!r0 ztB?{QhFFP@U?p)NC2@+udLRnj0qB6VqZj`4n>WZELX{t;Kd+cFJW+jI&B2_)`qErX z2R!=WOY2)zab_E8LikH91W53c?Y-h`uOab94bcm<$vc+CXH`#=Og7Cm%H&jL zISe+;Wac}o_3CGaVXFPnnYrG~=v<&T_prBZYG6N)j6LW3Ii}5)k7TaTbUufuIA##T z*Cv(vTcoibT`WMQ_O7&yjnb^K(k^}H|w{IG%mVFo89?GCjEb1UHh&+S+%%(a6QOO5YRuHLma8gsi zR=FccJkZUN7y{TNyBmOuZFJND$7Rqj5fuxdhxpqXo$>j8ge`!Q; zDNL|Xyt6AyGMFiL%MoM39?_@6Z|o3Idfw&B+R@YS-GWobwiR24{RtWbpwjU@sLd` z!mal9%;~uW$4?fXSUcg`lxKMZ$3Mh8rg`J`O$LPZ z_w?uB5TWoL$BPSNy?7-j`i__7 z#-nx26@B8;U`#dPUz>U6uqfh^#*4QXbxe~+cc9ym&;_drAA#+b)uCUk_QX^+8D%ke zTRM05>f9o_+IBbJhV9J~4?tA& z-;u3S2@9W4EAn$^)9+ch<37??kB=ns?TJLYV2D1yfxM8RtZ4f`14Lx+uyua84j%|T zx7w5!?jVo$zbHTR{8{~j-OyCJV}n&9H&93O=&N)~1Pi0IY+1ZcL~;35CE783tUw}b zDS_v#hzAUxf%QsB9!SUx+xf z4*ue(yV%qDvA8&js!nK#>bfK=!^VtCGbe{uTu)cnr4R=`fq21hU-sdIh*1Jd}3z?BXViZ z;0H^T&gM@aebNj(oxL?2}LtmmHTUA9}yDX27I$wnePw)?9%>K7ZB+b~`GStXl65Z>1Fn=gw#T2}XZ${&6A_#RoJrpdB{JGA@VoME9P zBK^PeZ**UCWcP%lN2$?eFq+X|odGpOVm=Xxsqe2m^TQbV6B;BlmBP>qjd@CE)+Q?M znqaBrQq2(^KJ3YNT#-)MO%x(+!XZd%ol8lMSe_NfJ!BzJc3hJIpED_U|L(yu#Tslm zG52YycrRbL+?-9%A4PsjTi0)!(1fQT|5WDCFa+L=f9i<; zBDxe7dTW5bRrY?&O;QjLX>ATZZ3v;p%%3-H61+)1-JJ$K;r?a7p@a?PR75)^p;>b| z_hVs-g;U>5`eYhbwTnvpr?{B zp-DB(J4d74vGUN`BGETcZhXLXCcT4Be4h;aS1OTaM97u85tlU{qR@Dzgl@`r@j8OA zQfX^CVlTL03zR~77k&w`m@}c-Y^Y()+xfnC6~%_!=nys}^H81opJTL&AmixnXuDz- z*jIubIHmltG>*7*huDq`#enjz)K#k5xzH5?y7#3z#`WU3=9Ef6t{3nM+SPL2P}O*G zZfV0U6~w}t)Kpgw&Fr!GgCL3m+9&s;6Z(~<@njo@y%hOKY*ijmTd9l{b{S-~^$Yb$ z)<&E&otl0-vh-+;q!*A;mzz@!I|iGYX12Dd#DT5I7qhm|o~&r7&UcucUM)ortl!dD z%;pO+WKCHh;Nbo?2CMK`5SGgLM-`PuinMXH$aM*k&^_>}wM@+qJ2 zk-BLquJxjf!gXMEfPkp;K-Sk zwd{O7SrPL7y<2-I?a(F$@zqhSm|vUqC{0D-wH z2~StwQ{0-CPo`#d+NxQ-|dDTbE^92??jBaP;H3E zd!-q#ZCG*`RL1)F0X64E*d3wO;6 zG1by%Wa|KGtTQ|l&?~Z=&K*0kvL9t@OKojaQ3g>S{eJ2O$sBk$VSzN+2+$tP z!e+jdSP|`kGpaR$-AhHeknF@1+LSZGa75LOn6Rg#78D;y$*=6nArqtQvfe=Mf*5+tqn{UFfy|0sCa1rNTFeA2>!h3KH?m(n{%dM%9l z{&nN5Jl=ne9~z51K=RUl^2rP9UZ zcFyaA<5R+Pefhh2loslURLxI~=eZ@=HzBN*m)8375%k<$#`(>`vV|Fz+H=kWV)c96 zl|?|~h`!h`5ijc|woB#_Ldx?;7sUr1DjC_l^3ct8z%;rB4y^Yu)`|=u;l`&*0Pej? z^NYJ(eB+zpE>q3O>ntI{G%9Pne0&EEV>wE%!p_@0A4# zJ=Fjq2%utnqwi(CaJw$>A6iGM5tQT1UJO0D7JrwG7Y?5~dyAX9c*g)4H}d$-*BS%` zxr28{{^n@AT|z+%%Q-9{)-JN6m*P#BIYUW-#zN~nk9%pFALqpyBe#6^1O6U00Gfp< zQZSmXFlrk5Oy`wklkQ9x`O2!B;*=zJ&>@jyxgV?{Zai=UwbLKupN?GudJKD8d*=>T z2DRADAT85*(bFc@z1T28z405lf)NW7O8Re@Yy{K>$BfNdV!2kJ7F9Xz-6YSJV<(s+k5ODX zGA$Lh8H_E3J4(U4WmQOp2Bb@`z!V|V5B7c>|=bMz`4OK|(4^gVRk)kuS(4v0@1v233mifdjHeT)9 z2C)N7=cdNUX%ZO7ma?&+WTta*=n!}pq@qBrdiam+YB)$&=N}PMGRdhlzqMA5iHD?l zhMDd?`xR60acfeDX(jlcaYN9_PzoFB&H-`~a1=@8;Ub{Ea4d-9V46;?=r7y9GI7bD z?8eiBe(Q_pu=cbw@zNQu-Vz>MzgSIfM`smwL~LCwaK)i^h1Ji`i^?$^Bl&8KsVZhl z3unsrgIW7Yn&1-pAC<=A$Fk(|o9h)WQH=!AaT{qUuQNrCJW@kCH$kY{R6Qh1&7cdD zs$Dywzl{So7HkWc;i(~){siZA_#ZiWG*Ty6eeL&G8ZG=N2!GZUcMAW7yR%#Sy6!Aj z(&OL;?J;ewBA+7t=^T3l-N`{+WsDjj8t2bo9zwFc7F#z2^i}qYEAo^Ie&tuTjkG-k z_mL8NwkZgH(|K1U6hFF=K7sv^=y8>k6lZNTG(HCKx-)g!#Y-s&O8skgA}6DNazJ&E zfeP^y%%!w6I+dlSF5g#SJH7o#ck_O^SnJ!g6W|NYH)d;lh}oRTq+|*AY`!hrI8QRs z@ym@xudZBjT~wsES~ziOr}S8E!cDGvY$%e(d8^5(t5gr+V+;nNJ`cW1{$YS;deP&;AN=LL{gLE5Uz6B7ak5+Or7ORyg@ga2+o(Fq4c(4JJ^xcGnm(jU|Z zvGv6Q%6Dt8kg4yim-lXMD^v5wOqDs1 z>Ev(QW8Y{77cl+3w1K;S;*>n-S47VZGDHV}u&G4mQt5sbp8(H)e1z9fKEGyB(e?W< zRa>Kw+9Q#+{!Y*_rqSa3LMprV_D~8DaByb(VydRzprh9iL)&fdR6dKNH{V@r+12bF zdfB--IHPiKFmGCu{(M7SmwIJnr%=3hy}cH&^?@Iim-j;6_g2> zqrI`9Ll<(eLw@_{k}%4Q1bR7CeWI|RX+-Szwp4te_#-z|vCJB1PL;29gUhLG;*sv6 z4?^TWc@AKyyTU#dZhYTLBh%B0x4Tu|Kt8K?f#+7Fm!hW|67aa z%(p)Mif42JH3S1ebi1H6)u3J?DoCKviZMU?TwuYqEZjn2hY`C;D3pfsuS~gpnt=PG z&DYdyoL8s0D%4NOg}kXi1s;QcqymdsCCF;H=pRoJ>3G67if6IEIV__V@KECvMM-hf^-$3X*>-?Zn;IEu z+9B>hMazKM>DDScQ)P<5yU=D-p1Iv95cMmkf1LKE)93RWcfabZz`H1qI!H&0Yr?l= zU$IsxXFE(KVG7x$(=eoPQ7DbS|EyV_)@$);d(O&>0z$0#$T%mf>-smJI@cR)|_EF(=1arIuCyJJA72E1A_w1k|Vw9vHYs3o$ zTD0SrMdeVxsSKF9Y|(|Y#2Q`I{n_EH^Q;H~Q&xO>65BMAfZzwR5tM+C39 zSPa+Ab}n1z6N8b#aT$PSfmgPnvNlPtRHZ|%+)TW<@O<8Zo2go1v|!-`HI~5n*eK92 z=D?9O&`mC?17?iw;NfKG&B`ExoOg7eDOE}c(>zA zOH`)%;#JraG1;!NOset^AI3Bu%F=rke;-+MGiQ@-uw5WN(#lRIo|!~B^d*tEjI{r( z*w@JFZ<6s9u}F*vtfg_`%+h9|iJ-Zoy|t2Fdu;5AXj!(O`czGj7gPS`ozPp19}i`h zEh7_`mQ+*vEefQ}jJ12t*X~413>+rM@a-=D)6jzizLWPtI1sB+Ug*P}YB_t4@d6SzufBH%M4`+m zLkPc%W<^9Xp%WLBqWrv1B2u~{(ksu(e?-I)?UDK30|OjDfs8rB{}ZC-;D`RpHv7IV z0o61An{fZuP~kD?tK#Tahhq1aFK|D5UJfK=b-^H5&8Q;g?*$_|w*h1pWP>5X8+5A^ zN?1>vVJ+p^Wniuayo9nvZb-@70ZHECC^{6eGJZf6@^B6leDj*2?jUq@rRwNaNR}a1 zH|{NsNiqPHYM-}r&>Lhx7|;>9i*JA(`bHcdmTv%#hmNROffKMNMu%nvC-!?=!Gf?l z$KiXV6FGeU05YW~H2Fft$?`}`P_q11zjrBoz=|P3z^s-jGvX|kxgKjAsl+^QLp`u zk4KKpp6qP@)HVtyd};w`a{(Cr5X?0`Z%##Qx&zr{NTmbQ|B!V~(UpYlx{YnyX2TOwz7aJ;YPkrCc&Z~#sgc>MAl)|SH?oK0zXS?h2QeyJa zc|{l|W<}fL9@*|W$hvW6A%|Mw&D{`v6V717`7Ay?j~K~s zz0yUX{UZ?G7(qP9X>5O1%y|&=mHU|Pf&0zZfx~D77$tmr5jIHEn zZjb}jgKVEfJPHJh>bQmQ;PbFUrM zEdFFtA2+!Ozb)dh-`kS(pq{?{wZ(3%WhwxSU2yDjL!I=DmTz2gyq@>iSgh}q&d*im z;u~={UphpSnb&fJ_34Bmi559v;)W~7icNCBef}_E|42C*xXa8YuR97%@^xj&R!bTr zBKmc_zKLg?R`K`Jy9y`FOQ|$z1R}p%OIE%)vRyq*!!Z|dfNCynEec@tUh@qJh(5*=W zVu{fr7`4T!?H>gW$ePyw+TW2?%|5Vj3+9zh1!2uJ(MH@{Y(g$vdh_T1TIPT;A#y(_ z)BgQu2RZ|#lh*^TiVsrnuhVH|*^3EKA$Akx+9Ir5-0a_BV0K$Q@=%PTKBaQSbZaBM zg0T7BWhh4Ia zgvcG&u^Z-s=c{74Z6%>6w>tpI9ZYwVE62;9KXm!qa^w#vcWJ`ZwQX@-yX1Gkpk8v) zXKtcCiZ)dKJ%0g6k|D-jldb^21xyg05Nz)V?yl@R=KF|oa2Ya=*GT?AW2iGIn;bWn zhj*8H(A;ZH1-usTc(5{*@43hXv&*p!_tUhEbemHE`3Jt?uU6#Rft_L+FJ)cm8+oe% z#zewTYKLIdVmLoKhk&?Z!d)}q8TYe92cl5Qb;t}|>$CPNwBK+piB&@0jy$^;L~gJ` zVL950a=@U9w7xL%jEGRqvsNVIj97pP&Tz~L9BUk%MgI-mJQkWDv|&CV%nefkxAMhp z8%dNp&hlpWN4)uW^A=a|g12s|cxayzrDsf0%~huAUn}qvzy1`5fM7%!E|VIX2>Z!p1BEe@ zCD}jWKE+hHWiKrvjb;LoYrkm>>OsW};(`P_PB!Ar(xZbwJehyEGYliX>|gvC9(2a@ z=SgUvkt3tb*LLg0<%*NNZJG$OGqe04J5qg zf=*-5E_)&gATvv#Wx?`(9Z^M#+!FpH5c6$Af> z`CH6%Vqc`xm?S1v0g}4xPs;-6X%XzMba?W~FPZgD1a}+0t1)V9SSK5 z*mkMkEu;X-)oGs?(*XSa4rg{atucJfkgOMYzn+aHVd@@`i; zq?E3_N92covLB`$W3;Cqgl;Ec*`9*60t*;W9~*K<@=1fDCSwX~=DR1?;dvv&t|iYh zyGXv3+-gnN`Ebu_+CS+?8y`k>V^t5nfy*OLfHK6*9guN(4gz7(w3u!}Nrvqq#haB* zlxB$HNJ9ewn?C);eQ(yG{;ws}GKPsssUQwKE8e?D^jE(q#FybNfx4gfoRZln#r_&xfqL5*{{Tzk|oa3uF&_@ZyGi@FJ5+6lU&~ zpVN-Vkr?T6jxi{7Rm~aU!+ZD9d8@^0DXD*t9VP)GIh&=jGWmQw96}7WaMmWl*Jz!~ zC~?oninNwT64}k#nTy7xPmsgyyEaRyq+FPW85-6gxQBW2Yn@vd7FbUJE)=xtL~;`_ zowD$5_?`DZJ#+}2mkBqjPZb5YT=Clds;$IOB+G1hB=L>V&L~Em_^hmLZexR`TzJK? z@}z*(c!HFg(F6}_8gHR>0qVK}@C{DrtG~Zx2g~O}To{wEgh*S!1tCjI{#6y(7^Yv z*BV|-T8!$mNII+dKb&JZy&+gT%vg*-i+EdIue>9Vk7zzS_W*80mfL?=2|4#d!oM-Y&;Nmg>;!Lc2>E=5DSt1pHe@^YGd#zmQvJt2)Wvf$ZdaPXemM9ohR)ql41Z4-N0y zhLtX@b;4d#l7l_+e5SCw@Gui@Aq2p)*F4~a$^Za!fP~@^-fpeTbu4DKBI;CfzMy^< zlcC0LGMTO%kwGS5Q6$@CJ#`91+>1^|3_1M){n0H4G{RP^$pL6sGjMynbik0ej?vr% z5@p6m3HH<&*g#1=~bd;e4qnC>C!6_uC4^vNi#i5oVEV17Ztg zlgyj&$EF8llXMz%H>|0!ChY3z8s;RyffU|pEtvrGB8z5iB~Vk6@)uS?K4>VC*$j8p z+FFUP*a=n}!Qs3H%1{&?XjzAKdlI5?`K7Zn^n3S@HGJ?s?b{i|nP6odNZaN13u)M0 z84KRYzdTjEiS|v1W!^H6FZGqSImQPmpMs|N0BsL-Z*xy8yhnKR2 z`pMN^w?_sQTJQu0_0+H6z>v%d_^p_e!|7hgjV+s*S)}+ts|cK0D&?kDoLVmBrd0&Q z3}@CV=FpZ-+iwvqf0Ki@G1)rK%OIh+x=LS>snxwH{N73!rA# zAuG|~`XZF@D}wMigV5!NAe9Ej3-c)6DN9(jkf5%Irx=`=`J6@s&4zB23>zOw~JD%s@O;^v} zCyV592}MiJwu--6Ppmi8g0-Ij%Fyo{52gwSLD+d6^+bKZr(qIhWck z2g`A}CWa3^F#YfPXI`iSHTcKj)Ad%T=gsz3r?00R$-ljtH!$NC^X5Sv-lQy@O``EB zd&grZ^`l?F##_43*yGZ5loL~Aao6^Y(J4QEmOe8gs3pES6kHeen?4x(Lre4|PUi)t zqET=&khT&q7a7ULuzfJpU=#PV6Fq;$yvdd;d>Guv+gZC7$xzWOAnR$9~FZZUO_N^q1 zPcpZA?domcQ{a^jj@|HE`HbN|6I;IrWjRFSyb3ME_6{^&I-%rVk)0Act(c}~m$v;ouki6XE4O$?eOb4xC#JdO`ql9hO|cami?&n_ z<5wcsB)qX?HFz?K*5k1F2{G*fHoGDH0RRpdNlUa`_(0BuvmkS(MLE`Uj-QkD#sy`i z5CyX|%g#)IC^aB2_%&Bz67%>;MHE%J_sq`4nXiM?Nfu~U&}wp&>GLD1H3z4)N}Z=X z<$T1;;wKeW#B@mr@^&d#jQf>csxJXw7CMSegoG~xWd9U7utXSRiQ$ctiyLjpG=&)0 z&rHBPCd*`PV{f;QEmzjsSVR4tNoJCVo0F@?rq&L`bd?Vv-saoM4Eg=jB`JJpV1UYU zRZco;G>wQ(sJ5)yRngACH>oV<_}(PU3P70?44>7_95b?-LGX5dF6f{L=V4^4dyAaa z@T@})cig7pdi0I!{y};`mzSjS5+4pYvSdxIGl=^|5;|pNyA<=Of07o{?VcXuW5q)m z!6i$dC}p9{eMkViopgW?ZEgwZVPRhX?GXZ(w1aV*#0+Sli$N~_zD*cSp8UxRZ+%io z!mM;0CrwFiM1>d2167nMtkeo=;rb?sK+ED6ZDxkareQyZZuy|!1 zS@F>=3bfZ8+)Q{X5F(d{t)D%vA^3h1CAB>FShVa-V4Y^%Ho76n;}wLH^Cz=@$hTRD z?{9j-Voo&eTJ~0d9f2-h1k4z@+t+DWLZj*9hm=GelhTk56u^E56Vo&&BcWJmLSWou zaB21bKr7z(AdZ{F{|^{K78WSTLEp)Uu^JuU%0~^9u4QnH$AE_pcB&^sG)%v)f=MM# z9eS+&0eBmBPuQDbH>5mhrts6JJ$PWhj=x2{H=kuYHD$uuz)n`2sw>F38NV|o+m;`7 z+;ui5BeKSYWmQUevQFrkcpOS5xQ4e8TXK=Ph~=r6Gbu#a?Yul9OXQhnA?ovxm zRs0xNMUu<@kBO^JlyEb9-8^%oHj@piD^Xm$2sxR3Gns?U3P*fR|~f6X2}TWff6sC z644(5u4!{irqLSCtq|_7Zn3>{F6RE8_v^=kQFR98!E78{Iq>>1z)4`Wj2Uqx&~4#j zz+`ZQYVbZGx3tufkq~kyNi)9k(QfY9^0A|C!epdMo^lk!Ws2b~!nD4|o?<&vJ6ZXJ z;GuZkbo?c-Az@)sgdC=4(QePUZ55BMe$TaHr*_zsn!|FEERU#Q7^&7Z(4S_37N&6? zR=O0`vJCYY1nlFUA!R3Fm6kRqJ72+pUNdq{?BESl4*qr^LL)P>3d4LH2lI9y#%A_& zq0$P=6Y6{5tang>X%6Mpd6~*4W<=tFPFC6pSRv(aQSi$aA5tXFNpUcH`k%WP^${JTi2eu|X3l9~&S_dDh0e|)= zpjnQN*@2EMd&gpqEXT)E&qWZuVTf35xddJ4pZR?#wxGD^PH>j^TN>zp!90v0rgy~= zJ*+P5AL>qMKgv!d`uUy80>#_p`?tKx0zLO~%=->4Y7ifuD#ooM(zdI21-)vcpXj}W zf20SsBMALMop?r5{)cZeP_8g^fQWqWHP9o&Sp(cPGM4G@-586#rebn-vP7Xul=w9#R35ivt=s0{RdR}2d%!_A)(y5F@s0{e(NDg=^_CcV=jd3_ z&!`_2^b`M|;`ev|+~veYnt!Uhx;USFLVv=Z6QchCKxXeU{mLM9XyKq*@4SEX&)@w; zS#QQvW|(>ugx&8H1RAyaYqfK0ZwaA$kATPgoAM@}a)WaZOVV15&w`)d_W7cbEZDEr zsp3^qsU+EDElnA9WO9TVbSWnV(F_c;iw_Fj3Q6)F!gOvz0)dlF3?ku;SHD4ndYGn13%SE&8^&KKAu5uM8w{ z*C}g(?9-Fp+H599eW`?zI=g*LQ>FsFy4s&s?1ErP{x*-Q!srvX@=4x^YWrrZX2Ze> z3z9gLwX;{7x%6<{HKMI`^5sy2*LSW;reFYwZ zG0{7WzkJA_8*8fmm)+f0k#|33i=b0h?$;|RV8on}?R^^l$B`5;WX{OuUJL(YNeUP< zXJmK35@EQXC~>b5AN~o$#zMAMZeQ?7L+}C@w;0E`1MTuc23++B%;6hV8Y@&Dh5F zQ*5Gmp4ydg85cByS*Dt1c^6;jRj}ZpGN0QT(C;YkjH6ZF_fNaKCg@8J(Ej`FF z&}njsh6PaQ0^(f;?QVlBSd#`iV>?#bETctx>PmJQn4^XKypR*CPNfe7?MHd5E?-JWAhFk8iK zpouFKXzLN^C)|e?v1*#S1{`vE9pEP5>)NNpRr*W60pYP7e?=_TPy;+fNuZ3GtlgkH zO;GN|FroSpFUEK;_MqSvE+c|t`f0)k+netER%LKaFnz~aBrAv1fdAgy@W7HpW4uwlum7n0*K zP&iT?3FDyITX>RU=qP;h-q$6IpF3YBiZNEUwIfb{>pe0r5>(rt?Vuyk=P5FztV~CJ zR!+6Tnsvn1G3lsw&BVUfB(0$S=g8OORVf`PrTM+EWPtMmr97Lp10NBN%N1@+L^@Z` zVi~q^xUUfPI6S}|tpbV+bwCxO4tZb>!uVeWjWwKY1rgK?m$65iH_RliPv)6pdhea1 zcAZP$ABEjg1H9{L8 zk*tU08p|8^>->7AzU9p{H3^qeYa<$gr}zRIC&wv$@Nj1VAUZLtb24>y-J!EUF+b#2 zBgwB9@m)o>3D=Vnydz|@WF8aFv@SOmM=Ql1{vAbm*{v_}5kAYXZ4WSF=SJzrW-?`veN=qcLBBuTIm_+cAU4UyiD zK8y;C$Sr7jyX?{m0j=BxA1+Qp3TXXyI|J{U?Cs{7%VHIzGh1hiziBOGio7A3e?z=_ zs=eFHc35zx&pjIA|G=2MxI5`8xo?wI?cSnQ3G7SV-Xw5HkR8c@AC`crpVk%v(KG=k zS6~fS&YK$ud%@>j6fN*;rVfhWjWzUcxZ7Gs?0^{O7-v=EoP8Fzm<#~NvS2EbhWa7N z+c(}#$!my)&1E*K8OE;DWpjmB9zkRgA*Q5%$B8pI1C&kwioW5K1j%_39rt7I2GAA| z=LRl;IEPED=u!m`X_Ihs;elm9=>zXbG*+~wC=huUlJ6dNvN0;(9)Kxi#R;V=wiyJ& z63XLD-4*f^#GMOuvr7+R$pydJ`v8IaLzAkNzi2ZADVJn`GBhCnB@yho{zmSJ*X&E1 zuidpf6ANSw`cZPR3wwsMN{g%(2!fECC*hQ>Et2$st)73gP7)emI%5QCD1@Xt5X5~i zHJ#*2nfKzuaUvRW{ub~xdG(4lp9w{+kEb{hK0EZCL-|+O$Sb=Jdnzy^PBQLAkaO-m zMhowx-u;AqbV^p$6p-wJ1Q`>*>O_LxvX%~4voA#%q>W89NlqG_q zW8}n5y!&X@-3t#_WMvXiQRjV-U@c$m6?~g^4C!yN@*ZR$({92xP3L7n+d4}((m!&U z(4~3T;vGROEy#H@5W1+xY1(zjKa9g)NhKS*W`Pa63iGqHQ1r#)H@oVA4LW%se9`a4 zOHc6IknP1AD|D6%-rxNRSiz((!JRHC&CH|7KA=m5z~1PxPvQoE3(}#iHm`)*@5GDg z=4)N3k;aq$aEk1gCBJ6gBcJAU;Gf#YsCxoyW8TfcV^*;d)J3xnjLFLdPrk-jr2U0W ze#PH1;`|_Y2wr4_>7~gR;Sc3wFqsM*FwcI#y-#1lcTexDq^x~6gk@5yMA2rX%PWNa zaD=OJ)4g%7;+$juYCimhO7muhOocMW_R0tahp~tGO3yz< z7U32DY*LwX#rseziXa9HK}<%ceZ+OfrC-SrATL|Mps$xrA=q0R?c12vj@xa zhVFzXi5#cKn&!VxO=iY_Xe^ys4sCNg2}N}P*LDwHbu) zk#sWzVh(*4x;2~^&;j_C&`KCFOQ>N>u z^-(wr#WaR`722~AAg1kQK`!Aj7!icF1zo?q$o~YU8JNe4md0C-~?(k$F66FW>ywW%ZN`AGTVm5@^K(9dF!b; zBhoGHF2f+wPgRuZc7mVhC)obAJS~v0LnK1%EyX&Jvo2Aqh^eVdQ$r&a{E(;9Z4QF} z{yo_#ux)|MErB+%b0J3v3N^-rO(}BEJR4&WL*PrCxwps0G~58-#s0%p)n~&i7|J1S ze8i9~+6hMOZOI!JbKInw;Ej{5brA~9`-_miT|2OM_wyh4|4CSLU7=Y2SBQEG<2D6{ z0S1;q@xQJ8*;Po`G++t>;(x3ADc=#l0J$kA3YObh8C`xd>{LNtgj@m)GPG}U5LD#w z<06UpNnj9wyL9gi0rm`hOB%A%SLl7Cjn~>1TfqC0@-K4RW?j82T?Z}CE8UBUimQ(G zEypECJ>g`*lb)9&$hN`5ZPyvWr%l(Hn_T{`yQi`|$X^!E$v|R{0cS!aN~fUB^tSN^ zb+eWtXlh4ue%-l|m>jFdc2)DquZ7xUcD|X=7v7ix2uFk~?O+uAGQB;VT>4|@h-f9k z>Ar=wjBzHpE0w^;OE13E+lsZWGa|=h7xn2Wfzr3oXe&_uKd>|>$N%H`+6 z54^5BfZ4Pjbalq8v}jxmhcUF}Z93_08I5E~CfN2)5w4X*R;Didv~)VQ&?_E!FHZiE z^Ed2g<4A|adujB^xR+4iJ_1a$jH^hDR5P8Jzed!lt#J@e#CgH4j}{_CjpUdO3Um=0 z7v4rbOel~`e*Zb#*yze}t*Lo!Ywx;rn0R9;$F{kHQFDt3A(-L;E;Xhmb=xCYhqxfT zcfITe#jCQrAY4^BgoqLl#_*pz3|U^R z*-T_@-2&K$RfgcI$QMGi$tm)@(D;=C*yftO0tek;CWADl{LQ}y6E zi{F8p^xA1mRBE}4jQx#q837JV z+MW=8>%=N8g?x&0Re`q7hw}&_-#Yb0xwJ8y8$1VAGAjnq8I&*HGG<(#+^9&qJzykXkfu5(Z-7 z@3$d^xw)*}R@{Ay9q#z`d8(gk(80at>KG#UzTA+M0LrrmRZ6t+|(>K8A#$ zOv|apgK=1gBBH&^)01>_dbpEXO$tzO{K%qvGMx|3fF%~kMr7dwvT1TescDY4BWEvm z=+**b0j)Opv1k)NDi}h{hS?{0Q}fhcX*l@u8y13QCnaAPk@*?rMH@U!o5Y>Mq}x=^ zQy6Bp4{Fa1v6w8IG?v)#rcZemM|Y9^t$3&nvADPTi+91+#ZHhw#WVF`NNfXEoZp@G zC62XUb=BNinKyqF$4A^Jp9#p6o~lZe?2QxYu$W)_C3rjo=TfsQcA9T!8lBQfxGaid zoUe3G&=o+hHYz(EyQ}&euTLc&&Xr4Dqd11Y=y6kME|)pqO=W*HKHbBTlsdJzaJ}8u z+!|5C>>H?DE7x=LO-a8+HBN;ox%sq0xDaIyzL|`$L+1g-x=WbBi5RF~+c)eK0kNVI z^nqmXXDaC%Ly=KG_#*aZY*6wX7Se8fpePbO-Uu;*loPC&^Mqg~#2z?T3ck0EMn4|P zpEmV=gUS1!&msj1^?DY43dJPdVlVQ+iv?4O6hOb4xK$1$Ux zVWB}ijuT+Ev!wZphT9kfI1hp5VCDqx+&slqH!4eRfrJGDia&u#fjkGy$s7NZmx4UH z#QSgdnGy7d2Mnefwj(^pp9P_N<2>oTc(#jnyFr#}=-?P79qKX2bkC4o%Kcx>dgw1l zH-ga6)ZlY?bR5I8xL@?$`ew;~(eASGM zCIDURW1KDv*dl3$z9f$eXSYCXQ`TU=%3m&-Sa|}R`Zz$b|Ns&BC7E2knHQiWq zyIw9uQTE0BT{w`^{_s4c{$o=R|2>Ma^eYSGT__`oJp=DCj9x)b``*2!XmHPR>R93_ zE>?N$FNlT*q$hC4=HTa;Qa}!Sqd&4uPK2!tyD#S%?lyWtm6i~?(Fm%@WA66Le*8x& z-~Mb5v@uv{>M8QH`{8Rx+iiK7?C2MIgf^`dP7jf_sQd}Y3t$^NKT(#tU7BB?Ti@K6 zkTjL|RM*S$B09p?PU~d+9WT&OyivZK6i1y$fPZLqg#U|wzMl)j>{y|Onr4OVyS{G; z0teL0iZ3*E9(Yo&Fs31{eYw~+#cZWy=rc1V@R8h?C)ca^4^jB)Lz*=%$d5MaEb7A(G>M_b0fpq)^gNyJ8=6 zlQ?;pF_Clm6vUk%Iw~#ys@N|fNfj-_3qEho=Q~Nw@>luAuWoq$x9xN>Gfn(oM;!)I zATNJ%O%Uy;*SC75nmqO^i<&gdJuzHm?-`aHc7pDW2^+gdeYXBrVuO^b%)_; zF`Izo*(qwBP?!mwxH8QEs$4z4Q7x*)+`$(r3qkHIdA}hdUz?Ha6q_x69hi0sSC8j=< zM@{4l?spb&NuYOOFU8!A;{6-O$ESpF;%TkIy%zOrrR0x&F}?ehNTIC9Vv20wI-&KV zoL6yA-5s3q5nVcpIF9@Aps}|aQ->t2 z)iGf(g>>vN8-NmhB@GJnVpa^$kcN*!j~yliI#xBEBy9hrpm@5)7%TfJD5nD-^;^;c z%C9AxsKH6T3vjwD(`83{Rb8uU7u^NDDLH$t%6k;vqR3e14mR3|D@J4q9Ri-ph6x)M z1GKO;DD9kM-bs@q3-}}GJx*IeGEp9dAVa#)heK$>T?Jm;bz{sn6ApV|FtZa$HY&q? zKZ>n%pZxM&0v{JIn7TYr<8veR6O=UI+0tnv?*{P6+?_BGMN04(5mu%uZP6_%6~GLR5S}*y3t()e3In7f@XFBzieI|3$I`i3Q2r_xG*MGO*Y15v-kFj~ zL)*=xyomuiTw%L}jFO%s6{_XogYOr1Q$;HDV1MW|;6(^RpdsRc(k2C9RfiW*aFOEf z)iJxn@T*FoM5yd3Jxf7IuB_aEk}OL;rk(_~uuDQ`Z7HH-^su2F%DPLq>@_pAB}W%+ zv(!GBhNByF-YB?ptg^(y`h_aW&L0wBi+3wzQG;tr7Nx7hCM{5}QX|IRMCVH5f+veu z)7kKEZ%TDQrSp7X1_dv+l@igp4yC2#p~my7srFxiML0z^5hA=6DxR#fIvt2fB{vj8 zU`)4x%JWi-B^+LaL*Ig}UCZ0=cW*?{v0VW| z(lz}VP!?nH%L#vs)(dK8zbnFhD=*lKWL>DQ9eNWhD;+(VT|(sYGB(=Q1WVX7JauG0vO5ij^u6<~m!*V(%_{WJG~t?}03FgCerY*4VrdX1m2HAs{S^7L4@+F)tW@iAGO#4?mpT zq9oi5!~DMj${xH^_niL}#Jp`|&&d91img|$3nH;%n1@=F`tFu}L1jz6>eBe47*%Xr zA|1f!B$BPt4-orTMcH&6QkZrO#$O%nGl7g>LUCjFYs>yDdSMTjDkZRl7p4{?S)AY% z!?0*ge}17X+5POA+~Fr&F9ltm+at?6=A7ceX7X5dHsXgdztSi(*4d4_!cTLrpdJ{J zo(Jfv4}>oh>6#yrT>i89q7M5z2eooBzydgWmL2RH{4Wdj6M9=g|Ja?=G;E4T%^1B3 z5nHtE->bAbPdnA|Kdu9q8Rf0rUYf4mAlAf*XBc6*?dx3G@q*;feJ3T+r^$~EM4!Nw z#Y{w>q|9srR40o74cZn*0PZk%5rq5i z=CIhPJDYYzL7sH$+a-F(bdy0(bgw&Mjk}Pi!8;3zALIaQ(mCcgwyk7f z;p%Jfb+7Vxr7$J%gQH9GqZ5Q%unhE9Ga&i`O>JmL{3d*|J|7We=vt=AZw;oMAV(H@?A*o0XcEF3~Q5J6{L?La03-+#0b?o0HnEaK+tVW_if*O zXIu3_Q)C*$Xhn&I@_<18&z*)I+Od2BFtC8Mgm@?cpkMOREyvEa z{|M9Q?kC618@Dgjuco&@Jv=|QyS)D%Pi67^#mRks>P7|Y zQ#jM$-wYHY+>G{TS$3Wq2TJ1Ng0n1d>?&>csm#K(n(>H}vkd6puYx$ESK%Yq*+RSZ z?VAp01ahLL6kK3%h1Ea`{D=GhzP*lm2q4aAf`}OXtOxUU+c&ohcfB`x^D-PP8uDD6 z!FgB@_bK?X_Ga)p()n5H_qgA`9@+-($0Stxi>0NDfR% zEBBp4bL;-o>_B!LF1vyfEZQYKtoSiPPdYrWdM=Nsgp#Xqj5UjN6Y2NFeh&-0AuqpH86*9T>{F-;)aVCNm^Xz6eJ=mn zxwu)~JkSCGe+H{w1*llf8WEyE;fKXzKS)F5?qUF`2;jnSIxo7riD(&$l-sS;tGc+q1W}f*KtsD%DuRvar!ayrW< zW!GfQY+X>;-CVl7wJ9RMkadmyAi=y_n%M&5$??!c3nqGG34 z&Lv?3yloJQ&{0nJln-0+DRf>X!tCVXk<8c<+=~~+ic0l-gfY#P@iwj1gWN{$7Q|HJ z$#ct@OR^`2bB&EQiu{SrZ&%m4fTog*2?uRTOP(%A!%XgNHz>59w}uDzlI7dE@=8gZ z+blX@&J)^g?oYxlW=kmJTE&PaneHMnKl}ay%=yH_cVxmqX$gfa&^933e;OI9K_5v| zkULr?MoDRvfEbz^#6nD+^=f3@Uki59l^v)dq{z*!`NhN6?dZ|5w>%PL|P7;y=wMJC=O>jF@+=p5DP3 z<$L+caJa~IyVK^Zrp6Hy7#DY*>Yk3T=ETuf2PN*_Je=M>!Ao?Yp1^+?pCCwRVGR%^ zv~VfEZoe{`%h=r4lv9jLLK&M>2uh1!;nn!tEapR$;t1GJSt-V( z24JxwmT}yu{5ehBKsAkWF^35EHE7-h@4P`$AYga?SKP46w`{zjYAIlOQs*QIu%1&s zIW22{{s3V&CLA4pe#8?9QMF=MwjR zju+og8&;+)xACKVaw|P$nz$ghH#7Su;BrlYL!Boz{q{8B`tdEaPZ7*UTSP?6LX0%Ira*7t z3q{Xsvd@codw10o8|52OYgSIs<`Jr!$M7=(nK;)_69-XRQjE6e9^fqYI-C_+OYa9A z&gmm7yac3Movj$T*^G_zXbGv5a$#%Nwlv2qoC~qwr;I(vty-aTdxiWbkg+~Eu2{0A z)KHt2_{?^pmdSN&P-&$9*>nyaTU7N`0w7K2e=fk(4bWE_XtYXN9HgMNb1N4vqw3DW zFTX5L6#L~p5LG^hRb_iRX1zY#vHx=}SqL_P8^vJN62j&z)|!2uZ17>kj#|?k{Hco)!b%Pza%nOiIAqM- zvlw^yt4T^y%y1Y%!l(_iy$8YpLP$f5O)DqtX`9miuWi@*9_eAhz?Z}Q<~?oP7^)v? zm+&u<{9~+G(q>uS26y<(e&9(O;OL(|A5-Qe)#(2^zMyaF7loRMz?eh0#@|^IGD!G@ z?^!%^-HMsWUb4IM;%COH?94xW-U3rgD*0`Bc{!imyvBHJUMr%~U?`g6O67r$s3BWDo$z4iW}#2i-wEJkyca! z&+r~gmK`x#2?FyJ7#sf3f6tAQZf`@qre-80QKFk?gBva0m%N{q>Q4`I@bTFS?r^FN zPqH8;Ba8>e9#P0A(5QvF$9tKI1$IcJ(8!j+4TnW(rnf1i(8!Pep2uRDDEVE%iJS{4 zKI0TnoHn7Tm`D1p5i;sE{H86)(f&fkLwd3gKSDh7rb3>RFGE`~&vXU_s7SVsJMQ~@ z)`W_%^Tv!2Z!Kk*N>NfPVfd|^Vq2^$S)o<(q80>XV2Aw-sIbA> zETdSl$dFSd=kQGicYf|c-L7n!ir+SkZ+?>?*taAGnacSvc!X&w@Wq&Z&C{q+{)93f@Ya28atB*1pgYiGVJ z>a0JVg{Nu3?;MWBrC{hivIuD4*WRcZ752=pL)Lc1ko3sRh&Ii{K?{p+F1 zi3Xa77$D?rXUNFIvOCo-Y?|ZBBg2!h7?1uUMAQUBZRBAZ6q6O3-c(jv=w1pP#HSIbLdS)#vy8&RwAI9WDC-H4p(D zVGsU8;gATJRvI`pZ=^+*zU5HYQ*`yUQ`GzED!qv|bpg?DY%5Y;W>J-{uwH;8Si(~! zuy7I)zhfQ2>C)3DhbJtMOhkTfU;Cq~_Nx2@sNo4GZ@!r0~XbE^JC6vNyHNo|BTjiMOKuTf~vG z$jOsL)?_I+G8QnzH&7k0FuYirDC_QXp77p)r3hpWKdCKJW8-9vLkcbWw5}RHDTzGA{mZFLg;tc^p9ywC^8dIxhv-bgZjE-w zwr$(CZFg+j$rszUZQEAIwr#7En~TYRC$(x=gIcTVJ!e1rAuEgq|2a;_we=6*u0=RQ zarS(>^XM78rz6mlG=4)%j+G5*BZiifhD39%W+DzB%Psdb8y9;OfAz)p;|iPkMeoq^ z4VY3stXaS2kRVaRTda+Jlq3yV&}McFnGk(^>fViU8i2U*1ONl3q!5OUtW1c%@8=p~ z9P1N0i~-fiQ*zKb3r3^ENvw(fE^ej0kTD_>Q*soTe8YRAcNwI<{u!P{*q{fyrftDY zV?Y?d8+&w8#^7b7{cv?oY~%cn4q%kNmYX(Bl=4VVc!fPPWjE~S;8E{_h1*t(@R(17 zV*kPvzo*Lpc8h>mtS2L}?wK-t_H**6cS%L*tlNlpi$dR#GRh@XR??0FU%_1`^XMcR zRF*2yhnQU6=O>a57JGG>(-dC<-utw)axDK-{W{ z?`i55{2Ie;Qrh2P-7!jkc8#cQOz52ZUfx zb%-egWDNxi;}Y!39$;C}W5y0q)3q`DEePUPgSCl9J^pUbV)We9dXx^H0S9vKh#`z_Gv=;WSh z7aYKLkgp9G0PP0FeMxxX8+-T#jZ1{Boox^g(+z1?pN#aV{))ZEAZ$0tE%JAEXYWsg zUdWdq4h_LU^=F?@<@8{s#5VjX$kGAWD*_)7_4tZ#5!sWfH# zaur;lGq0I)I66I~1#3@f7Mqm88wnOLPycL%*0R_n$jV}~k4`!IFaXwkXrM0jfp4N+ z5kv0joq%_~BSyl{jYK+*-Y9?$D= zhA>1(TiuLGJG0VV4bo;LHx)z3!i7sj7@Dqi_;G?}$flBM=Z15!j;fK`Kv zJ28-!Z$eVDIiGjm^;8Epq--Sz=^N^0t!9c@Pt9^#gJt$y2hliaRB?`KFk5KuG^kF( z>XtIlSIXN}ZRcsy{%O*PT`dJPJ6LY(Z_Jva!8Hb|G_dmfO)(&Ugq7sCWnIa1KzAi` zcF@*4ENjhGCcHjo zNW);qBBnNboc1s{h`j)?O0T!N{n%Y6!C)xBJ_ZYnP&8}2NRv>Xxe;Nwr`@A zcap8eIlvNbREu$m_CdL?8XTlCG=vKiNEqwy~l*()`Ys$?ZV*=k6 z@+rvt(`QpZv}}h=5~64r{ia-SELA^-r0c3{vuM9REm#n%FTuzv3>?b&3b`~tRMdXR z_NI1=aJUoWqjf%|u^T5H_wsmreyxr!k_xyfzBPw8R&qTmnz95kQDvqq%#dDN^qwfv zqKMQI6U+;3D76JlWU(nNJO4J3NmXibh6N4zmqdD%2XiJk5%a7V_eydkLa!wDNY&-1 z_KN)T@o)$0is1KOxkYlvtqo?UIQ)RV4ragObcfyv>D@2AWgB+BQFy%n=}-BNgWBai z!*JKj0Q*ij9spNj_NH(d5T9?qt#`)sCb9{YFCN`vK0^h(>b!G%Q~JQ^rH>5yCSvz6 zKlQzoOz!!eaV5$4m^0akH=f}&rQwOKJ+e@h@E0ywi-&UJqdFm)rcK%>wF5E#RZTO| z4J-V6m1e^S>NK@dXzCle>&CeA$=NZrbAS;UWkj2b~?1JN{}D5d}FGL zukH7^ht;5dQT~9lj=LEKz2|eD#NQQqW7a8>84w!|v@J%~=4cp5&BLiiS^9?!Cje*h zgmVaBIwQd~RWkSe#bSX421*y|>=fC@`PUUAn2ZG=+;gUBE(WdSZruU?S%z@P!V6Ow zRtl4GX2F4J19Fs++D8xar>7n0dj4!m6{Q23>p`e(I?pO}a(4Q2YG)AhRG%vnrZj)T zIYs7l0H&nTI?zMxCYeEcm*ovh!2xBQU9Bf-IYE+g7{de10W*4SH%UJ9fDt@9jv4?) zxX1uNzduafLn2hA<4AU$Dg*&B2vC~r%}}yrP)_gX&rS%QQI&F_5j0J!jT!_BpqVW= zG$IsaqETk54YX9z{O%lRiSfGY?Q{6Z3^4 zM@ahp?_QTDBu}wUxCc9ylmZzq$!;VZ#H1g<_vT4MXwJezsTY|DF~RnfjyIsR&F+Cu zDrwRs6$3z4Wb)LX`aRK(gL8af90mAgdHYKjg45zvGemhlj!2HTaF^!GwRacepallo4;g4)G&uCHpCprWkJaft$2LjlXaK zNof`F4cONGz(pOK!ndMvabeSkDyPhM@KKWv6*&RB+QvXxc3P8J_NKr87z97!2H~4& zLU%Mo1fm{S5#iR6@cY5|O>wq4=K8dk6HG2AC!<X0bTU+#*?(YN$ZK*^zs*GtC zx{RYL2dg$ZQaHo>>@^62!8KWnC#CZJtL7}Hw+xG^_mhV%`n{QS`rsU?qzUj-2RL-# z5**;3?BQ+-bm+;i-=K}}QqA81uo)zA zbf~SoC^}o=OkUI+bVz^8B8zk2^NpPCL&OHUIfQTw%m@eDi!%LT9EDUb3Ok%1HvJIe z;l|@a*%5-Yd6D7C!EmbCu3hCs8{w^tQfSjWPH7kh!$q2HXRZJy? zty)n;l`MPXI*%Y(l;k>}AkkgoIzJ~-iH_-DgH$ap^i2+`SW;vLB(BoWDzcO0Zw@N* z;kpVi1=lV=w!Z0ID-34rO%i2^3%vA@0cEF+$;Zhe>(|n{a^z|)=1d3!W zo@~rheYiLlBRA4wLD6C)j)H!WKtVTb;$ja>7rPIo(+;G*N9oIhs(z3`;c0&b^*CT- z*abvH__rYegnbZqiLNd2d`D?3%xw>@14`RoVX@Mle&toXTrNZX>iz#&F4{TNvyc!Urg$VxT7Fubh zBr|;ba=mn(WZnGh`a15^bN}6^)y^JZ(1kUE;9HdfSb_O80`dJ!^n44~`qHH3kKQ$V z^#J(}(4#ojqrS6q??(EL`Bs<&V7=BtSl&uEcOmuz4gf-J>b&3TxZk-0Ud#b{d({lv zBa+Qsg=Ib1dyWy{K+O=0L!~KD!k>sN`%7^kuSo=uk%;keK}%K|Tae-;M9GMZ#Zt6O zBowRw#77C*;6zZwaH;I|O87x~#%3B78MN|+VFQae((@-8P+HYlCYLvBfEVrVO`Zjj z2K^+gg~|*nVOPN+V4?TUfPmyA=+K9dlbz;d{H-aaYbTEEoQQg<0-C_{{ zb&MJq@wE}fPlp_b`)YcRtISn`F;3wUwExL<-IX1JDnred)UY&>#89?2yXBpHRJ>}+ z-kZdPvOWt0G)x($$1Bs>9BESGq-iLcvC2P4+~KGsnT!c~nD4Nzxl7 zS9bamlru--840b^a@9~_3iEbDa8$YJM8Rf&)VsbT&sO3JOOnI0M_w6zdxR{YH>yT* zUdBWfU4{JET>Cuo?U+E_Y+iP*+h={DA=`i}o;_Uu?ks9JPGXuhR)5$_D{elP;~@A| zImGI$xiLa#%(Yr(QXQU9H0omo(tE{nCVWX&g;@8IqqRg!I8;x&eH zKrI(`*9*f=ZOi2xBRfF#!&(Ah7Hak-_dY?}}WPOd+CU)yr+vUgvoyqpX)Onez{z!Jk&aN*Wr_ zAryd~n(N7}?QJvGjO>MR>#J)jKu4e7ur$3+>^k9E3Z9*my*uoLx|DEB-CZ2OrcEX1 zqg>9g4h6<}Tv$+Vfwwo`uw567wQ-PQn%1zsU=i9rJTS%4orl87=e0hc-Sp>3&~zy% z*&#XTtBEe~_e`6Zt5^&GRn`nmSQ2;Mb>4+%y~)wn3ep7n#6`Avlo`ai1qE@|#l6yq zoEK>O?Z-rFgv+b^wy^%zR&N;OkN8InMd}}p*!FMDYWborH59xC@dby}4yfhi8`>*k znx?xT?K0a7X;1|ZWK2ggW=N~V>UowSHRt?}BBfgxIjXqJhK6uJ6mNX37&OjI7vHnca$1r2yqX0h z*4FYr?)=O>{gHK(#(Q-I1tflkI7zMa-4V~)O5!OkF68f%T*<(gbgv1Je_Ps}t(O=b zp1WXDBL29jL8uXc0!Zji8J*Z_vi&@>iW5_?nIkG>Vu`di#0?pe`oD3}B~8-c)G?IV z^CnWQ)`o&i4!PE*s!T_gXN*T!T~nrx9T}$kqV3B`y6q{$6G?ne^Yp+aFiLpsaxHar z=}aVpG&UtVvD`9i6)D(B2zo=QGF^W3nU00l%xgVi-ia9iB(!8XMBGGIs&cGkKrQ!{ z`NZG*-^#Y}xFMG;q%~=^>?R^eG^r&d!%QaV=$iswV`TyR?gMd*iGSQ%!>`)Lhgfis z!Q000B-5GbEYSWa<3N!iH>@N@1vEf8n#?Cr?rkcumO7Qoa&brY)#==>zNR;gSmwr!XSTKGxn`+;(a* zl6}*)`=Nh(=ub_lvd``p-*#~My%tRj?51LUSf26a z`*7TW&%V-2K?MUtQi3Fafd*yEunVOzL{`6PiLSCJ@3+M=f>@7S|KM_hI=d;ga@_Ud zj3!a?#{R5(v6Xm~QA4}MzxZOF8{8dUZq`_*_-cCf#reqj$d{B>WS(q);cHH_9F{f! zG}ZVICv$$bjV3+e6EMX;3B@Pc_*|g#W7s08<^ryTBboCV7~xng;LfD_j)>^wUV(vV zGfVIlrxv7FqzZ~GhXxgN$;*b4H=1p1`SI(<1r2{f7^e{k!YVKrA%i82r^Ln}--g2b zb`bUh;4E8P!plLpul@HNd04#n^u-rIVb`EX@CC(A3y}bXxy}=g@e<=}j_7a&@~z!Z zP7u!D4Dm4Mjz&n{0?G($XT}9~#ieY>lV&8j?g^#nOrQPvl#)8wAy%9^moJz;mtFz# zeB%ns$>3{oP(=X?ZUz+jM)b)Xh#1{>U4H-q? z3n3LZsG8WT!bxHK=>YjtR=}z=hgEJ~on>IjmWH=*0Ck_H#;Rgb0{zGw+UTU=3v!Yr zaL{s6N8~97ccV;xa%_*+k24L>Q};np-9CD$t+a)pbpP$aR$XaPHf~@-<9+HMs!+Z+ zSZ(m6gIY;*SW#m$C zX^He;9JVw{_100RnNJ%wZ20(?p>c^oo1xAf&#{SRWt+y?(Ww@bgQb#xy(0JyMR(MJ zsd{Sgqcq>`L93jLq6xf5cd88fI>2m_u!`so?ys#Q2+(Fws z>BI#0CVquYc6OvoQA|A=Q#eQP^@D0lYRX`W@tnP&p-D^=f^~71*{Muu?e>BmGvk1d z|F}6{pm=*Wz*laK*=*1TbKBw{ZFLMQ;nJ0Qr(AN`)R+d>> z=C+kScFvD@%N8n35ahuSp`03!eR# zi%z9#P;%Dw1o>}@wY6plgzo>S*WD2i^#7$^&o9`zFrk0g zR*b}%UhGtY2@rgMY3ZMv`RFzC5A!hTnyR;nrbb)&>pS#^7w+4yHgM zmd(}GYSrEFUKY*#7S$~QNLB8tRyNJgb*0@mA5EoNu{Yi6)@+GKug!1&evsCeuN$wO zZ};!-4W6(4AF@@Wgdlw3&H}ZS9B}{_l4itA zBAje9ap=Up)*O!90sk8PFEFGKFGWTul19J`IpwE)!X%#JUGVC;*$MwnBBxDCoHt7g z*`Ckv@*v`u> zQ_rYutCr}bZazVR&CYzuZZd8PZ`^by@vsh;*_s%@b9Oe{V8ec1)2UXl{WQ)bWfKx% z%TPq-2m~!3C*uA{D#lD!00*Z*N^IO^KCmQFTHSIHK_xa!nP#J?=~}6iptWDHGU*yC zx76LbSd(c>6>1( zpokhElhXRc3q@y(!#)hAjZc-vX(nkZIvZDQq_26;s%8y2?Y6NjM|>iuwUV<(XKImG znLE90vq~Lg88Kd(O*Vrqs!pCvSjjJksEvNRO3Ml_Tx+caucL%aKbhTLw_3j-8 zwf2$&8Ou8Vfl<-PBCi=AZ2kQ}2XQFkEUgt$g&#^Yp)g-Y@DeY#P9VqD^ z#BB}+#@{HflTI$M0v8O0_lB!vcm$Ixj2R8&f3mZaB$~f@iSwkXVJ{|V28lTaovBV5 zYSK4`8KM=mbD}KdW?`7I0>$F?G^qhE2qj5@+4KL(8^$9%EeNt*Z1CXbB8_he2r+%Bp=wN}!2u$WJLd}3S7^<`hTyI#Vd(>NvU^GPIB>s9BpNe?9bJ$Vj zn@B4h5j+&!y!yK=vrVYlo>!?y26yHM>HG<4+svf?$m~mG1()QU>Z@$;`h*N?U7((sB_gcWznhbD#N;;O;M~A*G`Sq%!Ek*vXeAJK z&#q3DDJ{FHndw-b{?smznbyHA=AH_`G{7UD#4qbIBr5%UHSgY_uf0_^h*6Ei4g}7E(qk+dD&$!y1e-621N2+-Cxh4Y0t8>96b(6?9%eo zVzZvYTY3T1P@RY_Og5?{yV~NqP3%lXa1NMidckl+l3bSVj3+O{N z>ip4dE^Y;c@bAlGeMR*$oClyPDST9h$bHHVGQW040L)*>zgT~Zh=hh*+`+-F>}sKY zFW=%VIfp$@_d4`Me^*s8J^h+vEQBOLc1udY`eB)bz%i9#H zi!I4)yfTm1qs<4ZG1w`~}?WTs*e`KHq||1=~&Y*sL9VUEiPUHN9=mvco= zGNW0!V%XNy$+=D8JQOxhBAgleh=SgUQEI9mIrae)NC|rE6`2T~C}THx$=D7^ivzE* zNU*`;WrjdXg|;*hm8E2}OLuVCwjBMbFpN%@5fd2Sh-iybib4ZCS!3C4uJv6_ocuita9ZbTHQC@=*Ya9tQmxTbwH#OsPfl@|)jNE$ zy2SA~+rdg2#aE~^s+ggYI z@TPp}TvEYtoCgY+Ob3}cREIDlBuqg5fQ-*L#9&VGu1!85jITb-Y?tauFL}+8gel=| zx%#9cn!u|oJ3~k+8H9KW9t=g`3zJy*Edoz8lIn@z(1QdXe`qx!X#PRE-EMtCK&D0< zz|4>hV-|nFriv4wdys*Xt-1u3n{zhGk zHJs(6F_NyXlAS)7o>(!(Qo5+3!&jf7;qXCm?7$@Hv>Aa1S3aB~(ngvtHDWiSMTi}V z_E0WDrMU{Yrk5lo-gqN4Yne>{48kPRO;>sDe%$4A#uxL^yX-O6TLnKqk9>vhd@rDE zp3HnG4;y!6r|Q_~Gz?|5Sdw58Qi_UA#K4BeK(`nXfiE;b zKgbsuZ=E$$Ur=V>_r4q@!x2M+SKf!TRvS1~L}~*l%*~b>JH*e2u1Lb)6vyJ51i3iL zCd^~EU3-&IARnCLd8YF{|D*TJ92bl4hPEdxlz4ov6Mc>Cu5JsfC-JN$^+k~^#@+}+ z9|ST^w~r{`iCmt2*i;aN^WdM#-D5&5<2G`F zW_y^)T*mkSkL_u*C7U7(a&-a%p(E`x|q23@&Yz61F`8CiNZyQaIu}@Dhg^%d2N@ zm6-!Op&R!yxEK*^HB!Qe1kv-iH0lv2-cL0Hs9|W)mxXWmlOkfLTZ+7$3|tD8oaN$< zGkGp0&f0M4seW8763tFVWt)zD7%M9?c@%kI5l%DYzQkC1j*4b%nv7@wWGz2mqg>DM zPnk^#ui7-j{>5|yWa-30cc@%f(7$-79v43M-Xzr$seMLCog&aonF{;mfGm3A6LuVc zf1^ZZKx3o<{sm2sa1Sf7pjA&f5Sdm;xFLHsiT<-f=(t=ss6h=^fbxjTL32ZfZGE2Y zisL^Q@mbj%37hbDW2(PnoH(cq=?S%UdZ5%oQ8_`&?~#+} zbdzg@NRJg%jcwa{IHHoRwZ8XF`Z(^bhvXICl4F+SP;dNHtvEd)e;FCE1Dg{x5 zQ^^yVponjX`ScfmI7fy~}rBZ-E|u3O5az zaqO^}pbtXt)qe3?#ZU*&LjJ(aTL*CVgA|y9OEut+TS;$AXj@_=g~=yrknju+dj3d< zk&HEZ;Quri;ZhQyi?%lrj${A?kP*5>{guk6e=vqgbBq z-Ua)V!jAup9?9+pJ);S`m0YNDt^m)26Bp(SMht2LvyrJlrD_il41c2bBbv_uP&$** z6&s4DiiN6ARyCxaqx1lVDMpHx3lNcF5V=%E;7mbQLxGOuJ`4@sF!y7&Cn^|F+1_bp1Ng$e>)ubH~6w-vW%C?!+If`1g8 z^)sj$Opd22lq68Trz!+z@&0qbc{fRAlklCKZWEp@SS2f6rrNV`%eD*|} z7wo10Y!+Gx%?#H*P4gnblUEqJ8U2qugAtzK27Jm}9 z`xv0W#O?+J=-*G#Yi#VqSu0|4@GNyZZ3ti&1mI;t7T^3&bvk~J>ue@8-=~}`kI#(( za2TgrY+Ku?oUQ;d6CQsIukBtE8;gT2Ix;CcR__N0USJh2_YiTt#qzwuZm^G_653(} z8DJFI#Nzqi`BvGTaRk?kqxQh6Ar-mFJ{fG;?mYGn^jwsueL@{UJk-sb_U+~@vkDjn zn#<*|rKru^LBqR{h}apu!$fTFsTaGMV^CE4x#IMZxY7YMZSUnHn4?2HpV9Ipdoib2 z$)3d7lPN2mALpC(?sQlAa#%-I{b{AybNyX|MT^nX=+jdrAGMm z3pq7+6@(U`1?i1);sTJTwrHxHGaw{{WPk|FP6nYlZV)7x1+A(EmL`D1XV8M3&s&=I zG#lC@k=qB(;vkh>V5?u?vX~cI@1P7tTy3J1#Mx{Uk747TXW`u>v&q1dTqmQHJN@=y z=GLkPSzNj)wd;B7dFj5%{(ceT@BUg)=MxsOdi@7LJTI}cc)Wr@o#hXv6#AwabTfWM z$Lzr_!FyLv|CcHDtt<46n13_(Li`B)F0c7XAN|EGg!(uLq3cUB7;Ey1k69Dk|L_;$ zUyv_WzFJ3&`iLX7QxG(V%0#eEQGG}zCyg+P5OkYLiVGnHFn}&KU+7>0g7#>`xE%_{ zBW4Ov5v(3PbsW;3auL*|t9v5q&PN}&=j!o?VvuOf2I9f6M>vGkaZd^JIw`u7=#wqR zauXx}>9HEgHo~5neh`{|#XWcvIS|*KbaB7)sILN|_L!9cuXf2jn`Vc2u$#0?w}rh= zYLn=M&9Y1KK&>R=wT;mbP9s*cJRZ+$)p#CoP@a^2CV>@W#3hp)lU^Tnn3wKA!`)21 zJwEipnC!AjIm)VZofn_Q5IOc?fOB)XzTQ&lb@G+{$IF#T)dimk4!gc69xEKS4RdpT zKn3IG^unY<)l1xH8j)r+iQq0M8%R(yWn4g9+YQ~;+KftSLv12h08jiN410r+nt&eQ zB9n!^y@!aRIRMFb#j=3OY|wVhpzQN4GSNKpS8%dEB*9dh%A_*{Iy!HkcMH;s=Qw5^ znYi#8k(>E=D2B^+gypB_3FVLVjGtEEe(2vQD^q)iIfJaKuN{h1Tgi8`jPIl^XJ8qYyxD0wjJ0^EI%v$7;?rFaYay0w&`3Rhg zrf6$2lNb3&=+u;)k%V#ic?;oUo_}9|XRpR-j26T5zIHg7X|vMcv0@wVv`QCXPD+!G zh!w>KXDDIp0Mcl!-d%5HE+`%CTVfHWP0X-rRH72wA6noyqsa)zz@xb{)z8*C>ai@@ zUd^RNCXvi&gsXwbA6=%49sm#@;WH-N#5~#0ZUZ$v!xrl4>!l^KuD{>Jlh{i4S&KxU zyTm}j()=;8Cz7Kndl+Vr$V38c3907$a_kdtgVBMzVkM=$_L-KpBoJTi+&fO+_%dX< zOX`yUs;6j~EjGpVwvo`sabH6EgATzDloQz{TF4=6wZ{RJY&hGEfoqa6 z0%xEEVLIt14hj^8rL?Z=ab4%7{Orr^|27)(p|XItsB*j^sfs@wDMqC1&bNWvJk5<@ z8=CdU4L8|G1l}uG`RwlsG8@7D#7XVP>Tn?|tf?RinoO8R>U$vBdG|auz#&@;J_+LN z-AV(B2Fwfn=I_0a9OD5ER;!Mrpom5m0$Ysj^u>8aW9kA<4WAJO@GWM|5BV@T1F*8} zod%)lk_7ihMA`-Qj^A6<>hF;iM8OKt=kZ8`$AU&gB-C-U zQBOr$1mVvrOB7+&Q}SHW$8vysD+{B);eXLRZDaA^nM^z9SQP;5(uIEmRt?X>2(VI}ai-BE2x_eg^pXbi|2FEd0cWGXN$Z*S&$Jfv6 zf}mm}pZ@yg>$DDV=shBd9)tz1@iCv`vnI_eQaMKCCdQZrPOO~0kI@EFRPFSOf(>Ka zy|EA6@mJBT5SJ?B>L3o36#!81@daGqT};Acrti}x`<{p#fhQg-p2CT=(I=XC2(&vetc140K;y7>r^yvAR!U>Cfm z%ifv(d8}+Ep6MGTe+C{RubbsJ-cOK)D|S$mpg2IoYa$o_u>9brGa4ti6(_=t{JFP| zw`YW$urt=uYtZye*x%Y&v&MKtk`y_;q7|2S93MQ@5oTTBd2Yt#-E~;9-IjjVSR!B7 zxxDF{qnGg4nSwp5Toi^1Njqx4d#O1ukt2J<+nWO~mix~!ZU9A+`HHLI~oGY%G2aLqF4g|IA$ z87)U{Nl_DPk&2G!-Z*}zwYwr%&FfB0h@gH&IEy_ApEm6+2XWE{c*2|w35~=ZG)tMc zIiG1EM09r3RZju7uGy`Wytq|*UyOjLE7wQ6L46MPR00WCgryw>Z~{<_OGVn? zZ=lWDg6vnsK=C{%K5K_xpXkR;f8L_BiY^vZSJ2yhGI*4)Xg19ud<9-}T6jM;I^3-7 z0{unpda($M3-78qLrV{$oBmEWWm*tg{$ZBX`>pT<#u_MEgTdZ5g|;IeEDnRo7KK!TL>mUy=5EO=HH^gJs69)|&1q7Dy! zM`bauE6Yu+NSVHuWhu-Qx4+rmUg`t@CZvknl=*_Y(F~@eT6AAmjy{hFE@1g7sa@AS z1nM0_cChT0PCtSLZKU`re;mZQvY4pacjkPdzQ}qzzeCd@ko57orWMLaItU|OYY${Oee55d0Oa?uSi}Xnu`FrA!5`m&By&$?@GO1F> zj?y8K53RB~gkDy5hJ&g{02>QPfJU*ch)_wEOYjY!pi_9WpgOb7DVk{1Z%$I1(>g^~ z5@P8G1F1xr_i@JFf){*0bJehh4+HsZ8wdDDU>XOcq%2pkMGVfh~S2 zPPORQ&Cf2{=pGe{75`HY$g45FB%<|9$AUWbpyG)fjATD0=sv)qeFIryL$6Fd2)*^> zaS6Z9D(VC}yYPlwNqz(DR|VFmdhCPGtLwLk*g=~c=gXl@WL`vENRd&l)BG6Gk_0I} zjAc1R8szUuSg&+lV>09w#htoiv@@ye{`m89I>e;N&fgzPHvwtaOKPp@D61*smANv_ zULBHb`Ji3j;rL=)lVS-ylJ3SBaJ&<+5{I-BMj(f6q7*!vA+!SUM;?saKR7mhq2&00 z*?XZ{zZrG@o!H-E+h4iuZdyHZ6q=n_dIqE}BzA@5?882?*cBg~O3L5jd4~M)%!SIK zW&t0^EEqle(*{7?f7?n+-u?1Y-A@i^JpV?d0zh*;{!@w3zEA#fploCQ{ zEIn&81~Vl;#moXEu6a3_J{V` z!wbb&%_@x#+$$cA6B&H{vRE-_Q3`4o<1d{HwSPWgeFsI9F4QCGkgGkHY4paw|Sy`{ezh*3}l^RGtDDH$k04{W=eJr_Pl+baAk z=|iCWhUQQ0-Ty|DJBaw^y~XnFL4|lWqfg-(ok9BTh2r~GK^S8N|N3sA3lPZHijT{M zyv_x86~PDi`_B9x$sN7IFUB%=q<2P0#}ZH%mQLaqos{*5W&4q@JEAEGx`Q6~3gwQ8 zAJ0a5jD3!46FiWgsr%q{)={Y}`9BSum_J!i@rheaA8OtzbLvzA*DP@|S*j?k)y&oI zq3T(Eq0R_7*B?iK&M3F9LQyn7v(P?UYZXtedB+2m`)y0hRn&rat#jUdp>_D8MYw=} zPtRvN=cFtI_j&K)K{N@eil{M*gT|a3D~Lvin0U8-1awCPA~|I`obakslEI5yk#@9x zFjen(#j`!Ks5jGeiu@R7`r9*ASg9_P6I^CYER!)PdL=Sv{I+<4ZtnA#wm{jD{{(RA z=2HPWqPBKG5kB$E`JgMP<1QYWGHSr))qiXG2Kp-Bm6xLDSEji;$;B-zpK`^7s95@H z74E31M)=Aol}+~%fJzmn-P4u-qM4yz0mLQ#66L!Au2|9M3f*~t>kb+P&6tu7TrM#! zt66+5FrK7b4F8s<%1dcF;=Y$|`R)X$pSeF(J0pc41=OI}hg;QSWPp?>+H|>Au9QR+%d?Ec@VK#W(ejH_4Zn+$RD6 zycFS|@sYGqL%_u`6OCTZyc4~XGaO9=xVeR=e}JF4Ta?-E4 zwL%$xHgeAl2yjG2+6lbtiG722)R<1UZM*;6?T8q)di-F%4Bmx0*|-Q*xDsctOJyl9 z*hfEe$z9QM!J5eWyYQ+72Mwo@hbjhOvN!n=)923^Hq*LtrlBFJcZV##z2yGT( zESrEFHCfU{A$NasUX7L?ZD8KhYLvv5kjr8S%Q-|6eWBLwQC`G>6v=LCsgi~TrR`Tl z!gJ-Ah{sp?{f1PWH!KsC!YecQ)?Yo2$J9p`aLxzV(65Z1HA#RlpcOv;Ux?(lz_)}C zRU=dxc)_D>c`2yQ6e-G=-ha*+TJKIl$bkPxn^e&!L!k-x>zC?(PaFtSt1^Dn-O(E0 z-pDJM-+Y?$lK1%-2G}qhtNnxnA!!1JNK^MwTNv2ZMgbdO#%Fc##@UsLnl_E=WZ4!A z*=!aIs2$h@XciX2TnoJO-7niVT=U6aJDm%+XVwQhH`~5DFMypC{*PXGULg_n2lKF+ z(p<{N2Lz8(biwlyy@+G=g12UKfG=^zPQO**L3JCj}f|_;^*vlKp zM_8Jh0n&-dQJteflI0Mod_{7o6x!6nDd4XoDnVrYgH%ASq1ZOxdocbE0KmJ|=z(49 z9PMB>nSN!*+wq^I$UenJ9$DIL*b>=sgCG`MxR(!1is&Kl9u?>jW+WGs!`>HnK_TsP zg+*SV_Q)`3(`JPH(yO_}3a(Y)m?(NKQPS!l#$=ZLJJi%z*=b|9bL+oXgB_Yq%AXb1r6SXGae5$WkJTD>gATq?8`7;i&Zx|1>Jo zLn$n8Vn0KK#+_oZO{*p_kvSJ*H0m{m08U4VbINwuLvKqG{a96rYY3|S)s`}0zIvco zqEO0~yu4o@m7-sPnI&iPC}|_Y{#0MIoFavpt^uZS*K=L~j(Y6}*i3*VuFeHn(P*G8 zk1Zu*^*5KzjmNW-J0(xJJ8om-v?$8(lA76j-!IhSDjYTYV@uJ^v(FP;c|;HvFEZwA zaaQa<(BuB1##?OG@{`zJi4kzd6%#@(SWwpbemqP|!He0O6LJB=h#tzLnz|CTGZhL& zIX7cYXHwGFXOlk%n0B?(vz3qrTOysUGM1Q$LKpP%;b#7Hs2-2}xJ*Fiv6>8(F@Y4S zT^8GWxovQk_tO)+y0dqI8nG|}6$L}8_hn5Eu=7W#)JJ6YUTJh?D$#xsi|}Mi3JG); zRV7hE!z?tk>kH+Duk~dKISs;z4aB)w+$OpAuR1>oOLvbN z)z%a$?BsDIIGEOL#oVqIq5CFHbcf%7S#6|QruA`pc&?fBt9_d?QKNq?qZ7$fEH6Nz zRR4wCUYF4cut=l`&e;El!HPWr(qhxz%8rT+G8lB&pUX;Ep-yc3w9MI$krR5~l0Hi* zRv7x;+ZK%l`lkjMFUY|=Z}sNs< zovL}4^{5KT4N-;Jf|wH6G?bBcu*e9rA9_V9uu@(gK+3WzS!|1jk1qtm&y;E=|VcV`98xz~MZQFJ-v28rDZQHhO+s?$clgU5t z`+a|{wW@lftFhA?SM`0LIC9E@$I|6BQ5;{ zOamAIm^9lcv8xQeRm^1p|HvI@k|&Pq6ZO*z$I#b`Hr!Nvow8K?(BhDsF0&3nyHg{;Oo0UsWtb-Iha8r9_F+xIS|h^HyO3I)6>Pq z_pPHJHl!DP}yaqadqdJ_{Wuc+u~?t~sm4%c}IWbHzF%Z2E( z#+OK$f*W~b71D5iMjozsc?-**S?MnPqPv1(H(gZmBB!!x>cv3gQIpw&wdvQ^mu)Tp zQSRT`gxUd65kAmQe`I92jIijZ;_+0RZSXvSCE9AMc84Oh5>BGnFmnmG>IaCFm-&2Y zg(4hPY~dk|1^txJg*)-hvPGzC6_2DzjU_p1z9c*4H*6-Z@Q?5i*m_n;Q_my#yKrt zu@mG@ofE}QoR4-rZr9xvH~yN9DV=Mk+GlgFEEKTXt(@gpnPIo$?_HL*<%;c*ox%?N zWBg9S;s+_T4FVs6Qp8HiW+pF^ovfr}(jJ=B48?bd8x>EC*DBurE+y>g$-3VFM?_@B zElu5Hp-!D+q6N66Zy1qSl5T}#9M3-KxOwp9E%|k7Ul7hSr3S4fOW7fxi+zWC5?8Du zd6B}pChB)JSkzR;+9+p9lQnQjHeGN;rwWsFtJ4}tBCprVxq#i0K^k@i9uc+96p#3Y z>=e8|g3FaH!oIfGdcKgIkRSH|nX2tf7q};QIO1b{S=BIScb8{G_k*v0i3ZBjlt(n0 zap)HX0nz+|+TPmO1A4<6+CbO*dfe8k%rEaWuBaj52AWB6xhZXqMDjZ$WLr?BW<`GE%#gi(n<$@i{ zVQRFoii$Q&f@P0RB#l<%ch`y|e_H&z&CKLFBvLv~rVxt)~8doSU1Q zG!JSYyi;{rXZIqzM*ni0RmVe5*VCGyi8_`Q!-wlql;;KgRXt z`2_=WPhy@CeMvcG<;Wbs;BrJpdUC#nL{(wOrRPgRT9FhzI#q?>TG;PuY+VHOE#CFW zL-NL3bTonQA?C`y_}fClRNt4IU%*a40{>m&MUwAK!-zl%p(b?W`e-QJ!upWw z&*m08GQzzAaW`3gQz)83FsQ) zK^c~=bf!7F7QFA$0^YXhxjCn{6pu9)rE(;RTrzE?--!G70hKi|c-L?odkv3B6hZzz zR%AAD$vqK_sihRkhhQpoR-cVH#e++`^kPM>WyQ!i6(iNyE z%HEKbS%~tNJU%+E8I66c64ja(mU)aswLH9xH`3d}S=&DI|g*1ZsId=Y8CIXBY= zR}Bzg0kAe-*Y&qe^*6LnPi&e`0_Wr}OTY-q(Il*+YLv?tQil-Or*7QSD9J}U7K!#0 zLAM1|y=jX8pVZQK5WEz2_r*q#S>o9N*m)wn2ac>bO+c%^zJt{u2g@A5)}0-anC z&pzR{-{teR)$`Xdd~v)^A75qrpq0)l1sIerkcV-A@=hnm>x;+-hwEcDwiO@%MbEqw zE&`AZlnny=fJ#VJzdZ>Z%`GSHM)u@li>cOTqBE|2496n%&Zx#=lHDN&-?q4xRtc$( z)a}5(BIOiQF%k)e(Q>%vRw*NIA;%=tRz#Pq;`;A(9lDSje~B1W zH=yjvlKP!X#$51^%PbtR>&mVY%!$o3_<1DnC_iIS^Ab z@5jLEL=bW=H~;qC9J?DT_~XX;3d(rvjs|VW$lx#JMW-8C0{b?hgQHKLd*9g++%Q80 zh<>G`jb1D2GUqq4$q~Wi4`X~d?ZzOBUivkP1$9Up%mix03uol>YmgJsh?hBxad)2> z?km1AWFbzU*9E#=otJ#6Mza3*i(#&(Cd6Ibz=uHWJw?<})3BLK6YrE!7~39XONXX& z$Wo>NsP*3~+*MjDsDgS9k?&fV?Hkp700xHozRr9PTB}LGWh)wHYNLT8WMNv=6rX(5 zS(O;!kY~J+=8+Wi1s;&)g06YclSj^7uNK%`5`!duzRJtY<-GS5)E`&z_**pKyJO(D zvmADR_k}K7W;%8(g$$JbxF`#c2UcEB?AwCZP1f2LOOLsE1d2ohRHgfq3Xexsz%FE8 zefhRO%b>qWL@;gr64l0@uw37Nnm~g*orJWa8*zJ7#BE9u=Y!}Q*pG%^%fOAVE#DHO zTtl<(a{IsgW{h$Q$)oata_%5V8mirk0&I#kInRKw6HM-2gd#nTF z9{ETf-1Lh@(EAHS11ZDk`c^9fJdIC)X8DyBu|kwUbb0R(3wRU=+(2u&1FC>}EfDqz z2JGR0zmPf&m#EVRxU8Jhff?MGK+%8Z9UF-H9v>FD{&5KSr~W~^l|I%f2Z^Hqs2x2s zw?13a-8F8pZN4zQ#QVJBd2U`zJPj*zrz2>#{f}5#qvSXW^$q7rR&&b#s-riG74K1V zEkE(0cq8Mll9f`qbNpKW7Mh~w&m9B6^{MBA#EUO!-{oaWP%Z34ao@X-9>GPO7XVU= z-4I;{5Tf&6Fno5zxPY1Bx+M--uoe4^C)*Es3g5I|0cnAJ0;?wy(ayZ#^Ri`{kU7dP z@Y??W8!`3YqTeHIfmMGfARrc$G{rA)oHWHO82JBXN|k6tc%!T#{nXG|ntHoSEv zATLfrQWC_o4uI8@ffA3FvbP75&$l#dMjh*!y2G~@*e;UKmuh&G$Yts`liDt^5BP&x zChcl??a9?W@&5$*^!PoJPNi0(N`Lw0=5W}@?#*Up_MbL%cZux$s( zjPD4?LUYj{#XNhU+#o%eY4wV=x2-05XF1qo+~{w3NZ|crdq8`-gYE`>Ufk<)#zBUB`cncF$HQEF+VN-J!ow9<_lw@rEpn23!oZe>Tsi&YU|*q$@{(gDfJT=a*%Ab3%{tSR9Cu_rY1tJqYj#wY`5$I9`RZSQy!wU)pyac#Y#u7w?;S zGTrf}pugVAugebkYBMG_Vpp!g+!*OcacssA*saQATHqGN24^&}PhJ$u+-(3Z;}32b zB3#m$UfZk(nP4-nN|-Q>t#wAnVqhla7NabPWs9{%Mp8B(Y^`2q{MKdPY!k7n(u~Up zbrTkvnrcB2oHpixv`s0*Z`G!V=Ag`w(=Pj7i6Eo%4mz$srks3HShRt7P}BVv>pC5M zOU{Ve=Z2|z)Dx7gEZZEzD!c#_Pdtz<2WPC~`8LoKvw`U#YH4VId?#&bC=ET3v`7#S zx+IKydC|g))%+v4AvQgLf1GznmP-9}_ymF$U&XA+7!mz0%N2V}=2UvCL)!@7ka}Utew3*{8t0Di9xz6ImUukrWIo*DKTsMXwKaD- z?TDvf*>01nIaDeGr|vSZT@f0S z=AjDiU7-n~k~NZ)QM9Tb+M@AmT&dD=nmST#M34RkhuY211r)GV%&2z>xy{62YujLI z!!A!|-GYhbfmO><4`B`OBQ(xUWPtiWR&9ES`LBuj_kPt|W_<{L1w4G*ZmaGcB6djCIOHmJbR96WE3K|M757cvLd8=9Z(K8MF@ zzx_S!T$O5EP6xnel~#_f;U_0x?-21y7ZiZn3_$)AfKAsRGTvu+s{+<(55i<}psQtZ zz^r3;=%S5-@r2i(s^z%jVEW)$wQ7GDTq!O%E}ToH(BLmKgIV_Yy*86OQQb*fuKXfKXKy;mgpR87Hd7;D=zFAtq7WJ4U z$Su_11mIYm>Fqk}w}0Z^FfYDN8q7Jrvy`*GG6O)*)-hD^?NJf?b>V7Cx%~zrFnchh z1zt%{u_od6&8dEuxjS3s1|?GuQ&m7Ts|H_tkXe-Rg^V>VJ$gTS%6sA9l(gHg7U>i- z_g)hxVx1#6qqY2i#2s}Xg>8`|WQOjc>t;+&`YGX-GRr7T3U}(dd2hQc3!oJWZVqw*#m0KF3biqx zCuOG*yo3>o@(#^?8u9v<%yd?t;xk;O9u=tAp3a-d{{Bmf z-mGAFAeH{qZsD688Aajn4ozzph1tmI7C&V?%SD?p9JNVVkrIqrgtk+ODW)V2Olen+ z%PwKLfy*CPg1w1pvmv!CGaaVL5r8287l8lwC%bZbt#bPHA)U+}$!xNp{e)v=#SLI) z2dO{1!*@2seuwY;Kwv*gYB!R!>;Yj(H=UR7q}|52^l8x%(_5JM zSm8{f!OP*a<(QO>(}6!)siwNuj}~ zSuqiXmM~)#ZD0O{{;0&Lug8iYXXsgC>lbQUZepzg-(9%)rnu7IJ*&#p+qn2

~KX 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 RmI9i5ff;a!IzTi~{s*6D{B-~T diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java b/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java index 6b67b179..c76235bc 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java @@ -60,7 +60,6 @@ import javax.swing.event.MenuListener; import org.apache.log4j.Logger; import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.appframework.miscutils.IConfigurationManager; -import org.diylc.appframework.miscutils.InMemoryConfigurationManager; import org.diylc.common.BadPositionException; import org.diylc.common.EventType; import org.diylc.common.IPlugIn; diff --git a/diylc/diylc-swing/src/org/diylc/swing/loadline/LoadlineEditorFrame.java b/diylc/diylc-swing/src/org/diylc/swing/loadline/LoadlineEditorFrame.java index 21a30125..ff204261 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/loadline/LoadlineEditorFrame.java +++ b/diylc/diylc-swing/src/org/diylc/swing/loadline/LoadlineEditorFrame.java @@ -482,9 +482,9 @@ public class LoadlineEditorFrame extends JFrame implements IView { if (CURVE.equals(c.getName())) { Point2D[] points = new Point2D[c.getControlPointCount()]; for (int j = 0; j < c.getControlPointCount(); j++) { - Point p = c.getControlPoint(j); - points[j] = new Point2D.Double(1.0f * (p.x - centerX) / (maxX - centerX) * v, - 1.0f * (p.y - centerY) / (maxY - centerY) * i); + Point2D p = c.getControlPoint(j); + points[j] = new Point2D.Double(1.0f * (p.getX() - centerX) / (maxX - centerX) * v, + 1.0f * (p.getY() - centerY) / (maxY - centerY) * i); } LoadlineCurve curve = (LoadlineCurve)c; org.diylc.components.misc.LoadlineEntity.Line line = diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java index 51831509..1ab9c5fe 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java @@ -48,7 +48,6 @@ import javax.swing.JComponent; import javax.swing.KeyStroke; import org.apache.log4j.Logger; -import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.appframework.miscutils.IConfigurationManager; import org.diylc.common.ComponentType; import org.diylc.common.DrawOption; diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java index 9914abd2..4465605d 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java @@ -50,9 +50,6 @@ import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.UIManager; -import net.java.balloontip.BalloonTip; -import net.java.balloontip.styles.EdgedBalloonStyle; - import org.apache.log4j.Logger; import org.diylc.announcements.AnnouncementProvider; import org.diylc.appframework.miscutils.ConfigurationManager; @@ -76,6 +73,9 @@ import org.diylc.swingframework.MemoryBar; import org.diylc.swingframework.miscutils.PercentageListCellRenderer; import org.diylc.swingframework.update.UpdateDialog; import org.diylc.swingframework.update.UpdateLabel; + +import net.java.balloontip.BalloonTip; +import net.java.balloontip.styles.EdgedBalloonStyle; public class StatusBar extends JPanel implements IPlugIn { @@ -122,7 +122,7 @@ public class StatusBar extends JPanel implements IPlugIn { // State variables private ComponentType componentSlot; - private Point controlPointSlot; + private Point2D controlPointSlot; private Boolean forceInstatiate; private List componentNamesUnderCursor; private List selectedComponentNames; @@ -481,7 +481,7 @@ public class StatusBar extends JPanel implements IPlugIn { break; case SLOT_CHANGED: componentSlot = (ComponentType) params[0]; - controlPointSlot = (Point) params[1]; + controlPointSlot = (Point2D) params[1]; forceInstatiate = params.length > 2 ? (Boolean)params[2] : null; refreshStatusText(); break;

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%0Dmg7fAD8w3~m==@fJ~n1L6eS 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üy*;%`~}gWO>xZz4I0x(E?E=AV7f`3t0TXy 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�%$bfGDofW$Ctc@kH^wa zj4$kc7`^uCgUYY+5AvJ$KD1Si;lpe|DSZ8G+J{-<4|M78*ET6&2?ihA@_7fznl^Am2C+rbS0`H zv$`65_*1b}ueUvIf0oyt8}fls4PTEGzF~`~;(ng&sNm(taQOeeM8>&VLR(*BAaDxZ*4Yu_$I{lRqZ{=|NhImZyB|71`=t|w-2?+d%-gtitNR)X zN!s+OeI(zh=0?2WGWJ}3Y0>7YPWS!Zr+zI7wPm`*hpsg}hrIU&B)E%w>X{>YySqHa z{5w=*K3ocZ*8NLf?G3MW4`I1Hb}mH#ef-Z@b7E)WjMcJ?@b$UbykR7 zoP#Z1r`O?CnoRnVQ+%0dh{};Cj#WJ#_D0->c?YHMlK$AY7Bg#S!dP%NqoVFs#K4xN z>E(^{O5fZQ6?)$$vPz=s_AB-qgtaif^>gFxH#yX-a?7N*yFMZ*UUIIKT#Q!G#wxDV zIfPo&S+b~%WX8f?NW;?lY{$!}D86w?>9X8%n+Y@2*=kDo#r^>H2H3T^a=MFj~08KUaK6nGcJ?$ z15Qo46b~ir*i`7I#WExfI6I6rrOzHuQAn>L@eTiZH|WZCB)6AnulT0u<@%bp1A;LV zT>}ntW!+bq9r})~5M`lRh16&HHW&_oCu%;`s}ma=DCf@F^OA@rX1b{Kh=yqEtmnJi z-6hT!9d+^PaURkm**N|CvuozF-(-jRS-!#{#?RJM){8#&n2fxu%ZX}c+OV`A)Sa=4 z%t-9@+bu^*fE6%3~LvFNo$GwIAOSx_O2#St{Y!c;uKTlTeAx#1)y}0xgL> zple+eniiPcQ!*Ixwo12BZ^qC4{gtj$cH5f1F%4T(qb|@YtYEBc!nA8E(4m0ZQky(Y z%C)2WY}AbBtcIgtUpAUmSKU0G)^n42L3C&qQkc1V#GXp@_(mRU z-)4l~g>gM}M8uskt?D&Z@#!mxw}qv0p8H10h;`XMrh*Dm!fM=w^(HC2Dn;&DN2!{S zD?Z~WDkd-7cgikYsQZd{K|`y#-R%Z)hlpW>EfmQ_uc-4|+mKavjZEe@@dfea7$&(E(;iB3nJ*0SHQX~cq%(Cw;iMHV zhZ+nuOp4{Y(u$an}S^L+eO9Yzax={>-!7p`EvcjQ^rI zW3@vOYXxcH20mCpde|=|fdQApxK}QxAr;)K2d5!b+^dPx&>{IiZ$^b|~PxHjp4zh{WC5sV2lI6dM@|rG-GJ!ryG5<5-qyOmBV`0uiAT zD3lBWq^I*YOL}<37GlDZ=oRei9pB3;n8d`kt1IC4qBl=ZGavD3aBH{#fb#8rz5l*t15B5NhCE0Fk|rb zJ(zFs*|~B;kKM$hY2o*dc(*=zqR2e}cy9x__wPW#@0`$w4**&gp7w@luz@ALcXj;> zrXYYX$(BSQKf$(VK}um$y1Q)1{JJ|WA1?VO<9#Qv3FL=D!B!JCYMK9yAu(2oHlAl<=OgXKZ(3<+UpV=4(u z3uHy1LO^6A1+Az9NHN&Y8LzxpYx)m&Q07hpb0Kpv=rhJtaFa8{jpb<&;w{BjQB z!6M7=F0h&KqEKP_|7ujSwu6L{JARSFO6TzAiecR|y$+c3gQ9^nf<8NZ&jVt;#Z5#H zr@278urow2QrBw$>plb4MP_9j=O4H~2hlFrAOt@}jYa!42Vm#ieYpSPyQ6AOs36Y{ z4GV1Riig|32}s@o672&LAtS9_eg{qo4=NDRz?pJHlyKb+Va)Sh<{mZ_YDVtgfaW}a zAY_8M&f_Oj5_@P`1S-rh$G@J{JoblXz=Vk5kIA|#P73Y;C4Cmmh4h@V%?=F(c+d*i z?fuR?ufD(WX`(=(80r6&?a6rz4O=ojF$JvdO2h>3b;HX>D!M?128pi==0e6&gU=rt z18<_;aNG{fk@{K1LEs-1K&Q52Xz)8HG|7L5h7#^`gZ5zE={Eb}k`E}1!;Jsd_jf^m z;QE2UorEdeOctmbfhrO}6<}$?l@l6&eTRkuu8tsLg{$0m%KTe*knTD0m~kPP+5=+2 zPT!W1FIfvph5vuDg*62O6^1pEf#nIgEg)pvx&@{V0pcPpB9e*0AH;IK%vyjB1ex^_ z#2m7)UCP6tMBvOEBI-X}CEwIYJ^@llGym&P^%9)G(nUm6aEvG3FR#U4h(%EY|Fi#F zrQ|Dd_%ELLitL?epV$xFq3|DfP`|-J4|qYMSgBthHgb!YTq+r?$_}qMGCku%hO#y~Z(a;zV9 z{@4j@{2SO9S%Vpe;d>WABZRHr-!1@$N=@M;D;NjKxECw{SPtj2JgtX8aO4R6TT;%< z;P64-_%&#_aqECQkh}@lM}ZJYm~f5U#6i`51Je(AL#$ZVF$aRi--C1z;r_QaFrnbY zix4Zk?>7+_tnY&tC4lp-zYq{bSpd`%1pocCIK1W^B3k%7L`(-;fMCT=((X^yW)3`I z{~!NmbNxm1%Lngdwj&<0>zrU|RQWe5b;SO{pS*})BOJRNtmc5rb_2y#5ke&$#^Cj_ zQfw7!nP&nYkOM0sJCXh)7?gsHl!Kd{kI%mWp&9K%g5k~#xC4O*S59cBIfhOgj=2Q! zVW*hq=)^2=<5t74%00UQE`s9Gd6A1Ogzj4->REo9vSPj;OTChz5<|bS@p((LAXcZb_$J*{y(s?^Sz;P5T6sHJ4 zOy$VFkAr62BiRMFW{_~edkgVe4rf?XN&^F~f^u*WK@^*ZCklZ?aPit20^*gk7I&LI z6cWHr`!PL8ffU$P`#*NQ-T)s9-8nT#4+X^EUSaOY!c*W6Eb(vk5Z8wcDAX}fP?46% zYQjKeVAC*&2{*l47~qi6gSjmN^M-?U<#iZ78HsN4z%HPupqT#EBCnr-7ss(N3;0@y5GX&$!pNL^@2575W&!|049ot_G5!9qt$)72blX9Fapv!K~)$O zH|!Y=@!;&37!B;0^$K&F3r?s7(tnNK*`CZ|#=71R#%SS=deYs0)Vrd3xXK2!ggjuq zK*sxQ3!W$jzX#8fG`M>gSRxKs0<0{AD<|~UM|giM#1GHK;1e!WQ2z}Zs7MO@D3mY( zhzXb*Js2qNAh1C;Pk9tD%moZVy(e5bq2DKPb7#fk%W{O*iRhbjDAddUFr=L!K*`|t zQBv|-arl@RtJ@mS1SUKOaulQ};mQdeS;x_Alaf)wN8|AM$$PMRPbd%tvjak!yqN@^ zj|aBJ;`8DlR-D~m#sS;jq#}&b!4&ZjD>lefzg4Bq0@Z@SGJ@P|Jb{141MdM=yI_y_ z9XAEX16Jd77*>L?1|<;7{~2D5Xs<>qDPYS6U`V8ub~9n{^4NG8OMTJ&7VIC&L67p! zVW0p`z+z4^dWOGyYU~+yXablxT^a`o79*qjPfsVrlzBB2?4(mbLL@fJS|M_O2!F? zB=5LrZ!(a=Ba{HZpUo#=Zc|^!-cHsep@iQiL;N_oe`1E#6aEa7WZoPl z2FB?Dnj+o7Q-q)q#U4N2KRUt#52S$ON8fil!&LCT*JSLl^eucuX7rGRJp#d91-y*h z{k&^O&@jQVxA6UQRG!1&V?fjLADZ^ge`wNL$sl-pXEIL5!z#X@sL}!9kyWSr1A>qd zzS~AdzUS`<$L!~sTa->71z8vYst2+;x&zO{&|X-5f{fNQ-1b3!_vm^9683#5pu?aVICdIfPg!479njl4PaBl1=sK3*&!aKX>i*0boak_%Mb#d z2Hw65CgID(PolrMyo(Dca|$Sf^ifJQj>s(&e_ls@f5D*+K-obIY7v4Nvv^a+6QH}` z$m`^cfBJ|*nybFLAWesWJrxl|V#x#|W>`vzj2w;wfrB%R`(0p~*N-ti;)QAR$m##= z96!C};Hm+|ViT;!$fSxZCg3Sxs;r%z4R03Um0S*Y-UmAyje8I!JoN-fhz~S_IVYIt9;km0>j)q1 zU%S{g5}@pG|GgcF=I>!7>c)(T!Yyyf8DMok{98%NlYC_Ez`o~z-;qm}ApHJ5=)Eo4 zL7Zehz1}YCreIqA_Epv99<(dQ7@Y28s^MQefav^e9ij;y9t|S0j zF#s>RzW``*ivJ!GwUyJm_JK@21!5Q(inEM=)8^uL?^dQ>c`SUOVF$s8%x)f50-g=0 z>SitwAyg4}J1Y+&gSGN@+BNGuFjjqtFot_)N$14TeG9;>!$2Bj_1rQfK*?aLeEgZ{ zyVZ#5THuPefCh=zI)TA!VPoZK`um5NH$(3N6td8sG{tdk&Bxc|XNvih1EADzgBpX} zHJq@(L8TtxH~N&?FGyBE0-J*3jI3LsZa8S%gPm^S2_PbF@xk5x`2hdE#H6|#eFTt+ z1!#+myYGQGsKG;s6PqukQ^#p(Vb6ykUtWaa#_9qo7~txM_%k+(=*1MwInW0n(IG_2 z^F|QxJby|Ai{q^Hk6oaaf@TNl_ZK$^czPJViC+aehL1Py11t9|&=zUKtqdGKE`@># znfOxb8D-Kew zvd4enc?$9IXdYbga1SVTKA_Ga(bT_Q5Y{vOUM1ar^4!;O6{goLpnVjg$o zVn0~4q<{<@>pF9JKf`LQW;;|wOE0uzZNXr|8nq1m>fq=k*k@HE;D&Nn{-ZI?hbLDr(%o_}a=mqEBk5(2*^ zn`(gQvT6adhw?Lmm89r%Z4-J6mgEaE!};`J00 z3|Du?nc$!Pl$3A{7{_|K{j$lR8fct0fNek>B3wD47q0El;3Q_HIj%g!k$Ao~96snd zwCm5looVu-$0p$K4)`MrFS>((#~mv44+~LX&c}@bYvfxLU7v7J;}>ApOE?lpG&O4f z1XxP|*2vV^*Gs^QVynYY-2QqJn6C;{2kRl+7*{34_=i{IAdQ|rFn>De{gCTW#V`Sn zd(7toIH$n8Jz@sLM85TNY6=Gpse~l4#wC?2)Gh`R@&XBwey9W|S{Oe7C>z$exI)2M z1swZ&5jVy&1AI!*mQOpC;wIo#`k$4OZv}_1t-?Q?BO%W3hIs}>2}p=+UnqZLpt$y> z{jfB*Fi^P<2#0JFEVeNy=|4_C#Y}ezsT+XbkY_Vq5;$m49lm}RdApTa0%$jY zA_H1zKMu-Lk3WEO$gC~>0E8VA`nS$}Qp7;n;DlG8WcbzNS-)mc>~jHDISLvGWZJIl z{)N|k2~orOFYzb5p){73hM=BvgU%IMm#PhrM7YPtepsH`?FlBa2a_P5;5&BeFMR4t zXdgB`Vk@MQy8wSf(2htEsx)R3%4Lqk)4>KW@dZfytJO8k&iD!Izr|hI{x70JQ!3^^ z3+9N--Rj>UBSb)yAy))1_rHib>;O?m!_G1@*Z{Kex#wR1bR#&E6lugi3K6IOsKf_w zlm(H4jDkvUBoVH_`DHi@3Gky(UV8u96YcvK9!NnA&olykF;68=OdEtf0!FF;PLM79PXj!%6CTh13$Jzu2#tMc4m1ByRQW@8aI&-y#F_*`==MhhB04w^(_~`s zUVb(l&wzrLK$s!%(oOK_Yw)-=1_krKfjCGc`>5cAPAW0jvmKZENp^$pdEckLdvD#Tnd)DiQ+=w> z)J)ase|KLseRL8%l8QVy1RMwm3g5tm9DQKWH z|AG)G^S|H<%J(nSgL3@~_~4WoUjd-7i2rBl|16n80VeS8yakx(|9Vhn%&mb#|9?TG zNI_6$G;~8irXYgDLHsAI6nt>*e?bde=wGM@rA+AoM@9Y5G|2yR;btWLf+0xx`@f#B z5WN37NI`J?3xN>y|3V!E!@sZ%!S>&Pn$aQY!Tu#N=rxFci3ouK>0eU9D+WXQ&sIXn zIM>|}KtM)tQa%Z&0eFA)Wx`LTl$@N>c4Q)2C_IR&wQ@$yh%BtLQpv(*fl^Eff0X1o zh=o!rTILrQ{FJxM9Q6LxRMKX3Q!qQ)-aI!tp>m~r*0xT?Q}?cn8AYwDUbma;6pYun z7!-N|T zgTXO`mgM8eI7wbrzW2Z*9l=c@-v3%`LPu3lC+bIqR}#;PIIiKQ$qdxed)1Tsc#+4pqmG4MgmewB4JC#@8>aPr!N0%QE1M-!V}9Od@^jQl zv6^T1k5TcV4$K z`yAYW$BF2(( zB4}wG{3Y_P*2Agx2p`6XOm5zRWBPOKE(e+WFxE$ z>=~mm5@Q`1IBr+5lL{|}hrHbalNQuh2@v##n_;kofKp(?$RJN=B#D>O9Du#{eN zD43TRFi&d#)PSOVu3#ae!%QQ1GC-=lLpsr2>OCI>cS|qG=ch>-XK$9JlA58Viz%nk zm63UFl-x>p#9%pgF|NUr4l@Etmrzb3-{UgLFIs|mUDCAe>CFxdc=wLvRU1v@)-DJb zt>w>D(CIe6)xEulU0G2>gSH`Yo{eI!m<1u zTjMvaS?P&KS_49cd*819Xeod1~9?!pjG}d%(6hQ1AY?raximVizqeAA# z6g;~B!!yHgdsqnQBxy&Fm_0PmTHN`F2(!^fp+?71k%dW7k>QuRSA39&PoM8vv@s46 zKAjIbhS*U!qlY!fZVst0J2mAgH|6t#NWlAD=xaQnJF%vj8LX#9>L(CxqTZ8rwXS*V zFhxd+B*B93_G%baRymqcgf59bQH*XbCz?0ny?cM#wK^|JF&Nfk2kiXHWOGlJ84jez^JQ~ajf}RU zO|Q3aeXqNH*YPGlL<#UzPtZ+CQGKE-2_9{q!G;wOy$F@ZsUAwkKN`o(%CTZ?D^z;2 zVsPWw7t8?s*3^A}hJB%h16Kl84+9Zgbvvi}B{ex&EUAH&a4|I(oi=PbB>xVX@ZI5~ z5N(tc_m1JKCb6Vti4tDp+K`n!u% z7#kwmK2;2twh}oHX~zQkuS<0DUc^V*plUymQZcZ>hsQIU|3$fBzzu7PU zr-yq2bWOh(Iar4FE$5jR$a6C9H6sZ#W>XsmYC%#B7Kd^ciW*c)k~#{(nzKJVlzQI7 za(il@wW4qtq@niSmYd&~JJQJ8%^BOw2|Y~$oJl6<5UO49BkNTFMz88UL}rNt54(Kl z>3E=!%BVI~->Z5q@=y{%wkK09pY9WkuG1j?X2XKX!T7BhXJ+bQW4^PuC z!n|EeT-@IIP?|xCS;t5#(NuCU`RiES69S;NqME-75NXr#y=&MO23d@Bl0~)_4o~dE z_CP6<^t7gfhBtVTO1l@y5P*Hzhh<)ccc>5ZkeEBZKCyE49ylW45C>0?XsB!xbq`!@ zHuh6(bno6oE>E>7F1diSI#PY;yP!Eqz!rQ=Sw?%oSxcK_4%k<`LxgK?x)9?iH#hfY~Gmk;}r44YV_WT zx;bLk)iT>LIe&xHbOhj9OTAh~x`p4=x!8b8ckWVKN@vRncqW+Z#*G%aehW2h8I(p$ zWx!*wGS(tL?XJ(Dz)F?J>JjAeWe1MUPM~qzl(xbJwiL;4izdAaabA*Vwkb@IW8VW( zdkTi%LDA-e-5N7=7so5Nr16L;bdg!5iL6`%LTWls_*Mp|y}>r`N{juGe0Wm`$~5vd z_QfQ7M^NlEk0vv>oG=Bc-ERET2z}i1Wj}T7l<29SkHTn|Q_#)#1-_f$}Olumj zz7;&DC_mlRiqhb5ePfx;tO}2R&QyT;);0O__~7ba-|-Q(qK6q1Rdr=ZS2?o%rS>#2 zXkEl|@iD+yiQz05Ya+C1~vNx1)}%G2daVa%FMOBz{>FTUz~Z4?)I3WdE6czPvF zJQxLBrD}Aq4EHRFa1oyedF=EgkBsh#>O#B6XY*Yu1nVy^-$TxDwo?oyS5d7}>{m}=}tb*#z z5I5aCqQ2sm`Q^yxfuF_J%elOc`n-?beWYZ1=2XQM##?82M_G4u6^bat~NF^(~&*b1goU z-wI-=pig~6&5mz65C>TQ9cQ>Swrr5PPc7peG~wo~x90OlG(PRkXf`s8cfJ$pfb-hR zdBv)?%<*Pi6X6ZzaV;c{Puf(xb0WmoZL!4tijSxFFev*$t&M&{ zn)`-3H@zqbz>pHIp1uBvx1Wae$!>;659b1_T8ZIGa4M=U{WR-v4Ebh54Op?tSt%@8HFGk zl7qy;`KUrzFjD+}hvc9Tcm*q`5k-2_1x`BUv2hqR&tdNrFjr@90&0HUp zG{Q5D98n_XT?Z(cop3pD1&n?-DO(L2t#nFQl^HP|;TG?!)QUJgEjH zJb)Rc`91H-evIk2CY;_G@bb@2a{9L*jE;rB2^sala|*5e^QHQr5>wyCatiH8k2V=Q zF(#R}err{VC~NWznNq^2eSYvw{#zuR-EnknLCk$e%LXu{tg2h;Fb%@tDm~txZ_zYU zf&NsBV29YE!`1q0Ltl>?pJS<0;~JZw#XdQAvCrl6BWdzl=w{Djcx(JJz@N%%{MhNA zl&&5jz(^>T`?aG0+QPg9A;;p-;RUaWW_W>D2*$lRvK?l{Ex@0s;Pw#SyC$LCRU|@` z8Jd?Oloa5@OKvqKPH@pVyaxN{ouIy4KszNC;6wIRW|R=1Gk*7Z6N|Uco#PqjAU7Qv z3?8E*&xaW;#^=}1@)lH=m1oG7fhrzX3?A#)Z?Z8jKj@vwulop?X3P^LRFL)>J{Wv1 zy1S8S5WgyQ|A&H3Yg^cA88SGKcsYDbjpAJI`o0^?L9cG2M^ zX-z*|mdc`F;$>1F5s%5^M^h>Z2!B8omvqdP51Op=t zNe<&_Hw<6NU=NJv%1|NvUEt z%)TWI+rQ;FP$YBPRpG&lYRNn~l8eVFF=<~2^blF;m(Jp=lQ1!KMc@t!jtL24PXnOb zY%KXsV5XvEHkvVMze%vd?d6GSmw~^jdj{&Xnhp`+xb@#(~fXE@T-8*TVFaqt`cYTNM<{-wd zf%!yNRF{pJ_MwquGy_zv^Wk!}M_z@1Pp|z$K}Sn@8+oMH>B4XR3=qqk+vEsxkpuS< zY}6s;St>Fv2%?*W30Wh@;s%$*@DN4TS3#0V$>@A-u3fabFvt<)`$spuIsgTMgo8ds za#Pm#4~(aK)Jp6IuB>^#HbA!M)vyQj8$tr!Mc|N4yp*{W2!uBES`q|X_p@V>i`oDp zg5OjWHRY2pnymxor@zHPU-MwJ!_J?S{XHa?BM9lJ220p()v4c`W$Uyi2IeQ8J}fAj zliM)M*RF$6S6KZMauv4RX#h_WViWca1}q7@EsA3Ig!JUcqQo(|Rp}5$6z1m_JjDJ` zNlRUbdM6+o`0z}z@VEK>wO~>Ezlh z&<15#FP)E^ddhS}6O7sxlrzFSM@hY;Fr&BE)J@6>s(_0nu)ihL2sYC7i=WlSpF5v0 z8KR^7`LVxmLlQ0b-S)V973zGenXO<*vpDN>&0D~xB~lYM(O5N?rrrGykKup>A0^DE zdiJHk+Ht}KhZ4U>7m#?scTKibK)m>N*rHz%3j=zAmd9L%eCEzdnhl7ZDlbU8|7k!V zE=xFnBJ7f=pg(KoGp5ou<0yZucwOWZRMNhDf-sExUifJJ`Yo@1Z3IJO8`21v_XH>H4@rNWp zrsCJ4KHo>yXYnJVe~D5-`RtiLdgT#wux)Ra^ZcupXs`6?=BsDk?H==`JK}EDqY>`! zd+o$A_fI-N@wEQYkPiSSJLtB2r4p=JWXE|W!WBY-z3+JfJ?sBb-Fmn$GuD>|+nZ2j z^XZ>=dn$V*1>~v!G(H696Ykp;OJ8~;0rV@l&$!1j_=LwI-2oHFOk#HH`us>r8nA7(x#Rfz=(}kqDAEuzM~Bs-)cm+?0-}+md54p%SNNbNoYMK3$P-QC(R_vg5vC=Hv(2g{&7?I;~ z`U$N_sYXY>t2kA+m~Cad(66w^kn+#%DUn5|3d(A}{Imd14Ymd@Ulyfao3eW|7?HZ-+q@ zpr+cAH93pi2RbYl%#$qdLxsl-Q(pIqxrH0c^X9m^n$G+nl)br(QeGXhWP|Z#lS{L6 zZuw_h-DJx^9j-p(j2;(j=5h=*E;}be%<6BXT5)GkdiLUmFLb!HT_1TZCObCx*4!}- z%L<`IwwOGfm-*0e7w_v9sSHB1oU4@-VACZ1gl^!ftDHr{DkbHd*HrsZ6;sacBm8$o zcS}*TIbre4fxkXIijr&p_QDGL9MnGZRCfa`Dm}qebZ_iK|4H7&v+E=sX?xtkHOsd* zsksn0sVx}9LP_fl-s#hHfpIU-UhcLX__PW9u8j>+21X~6HhB~KX)Uiw8Im1mz<|ez z^InG}pQU^U?ssCHdU~-|H~2UzEKeh1unG^!Kfl#3owe0~ zH&>+;KYAiIDO4*FZ&=p;2#qo0QfipxzyOVlJGZDCgJFrsi+oosfwnoa-qM!k)p}; znmKJQpxaM==_7WaA|k5J%m0JJ0@J;?MnAj?NYnWCY0nOWMjfiYd#Q?PZThpW!f{ADzJNX?QDGZVcbVu}7{Ls?hGUYVk$ zN?cdoT$RPtCzrTko5|Pr0`UEzkj1a0shB)df6xX$k7oGcnWTSRhanNU<#%QgOY7ss z5k#KF!|FOd6fPSj9w(O^uZmT+` zgV|78hRPQGIH~}Z)U1o1E0(j;788onN<7hY=d`%4I6QO9&5jGW-(SLGdIhqwLr>@^#|@&ts?PzVUY zDz(`kbayDxsw=Ze01ZL}D#_FiT67{H8k$%I)LY?m5zHqTfk z)!VUa;_VX5_$1{oC#)7>X{+nqFmz+db+)CSZDonHt(`P@j(C(Z#$7MnhokfaMX1wC z&yFxSmtd`=#bcC`Bn9o~tFSCj1{`$rSiadAwz5l3s<(jE0{IT+%NgVtw-9-42?EPP zrn}t%friT_V!DPyaFQEm7*9gcG<;9 z>R{^5ag;&Lzzq~%)sGGBYu8wrX=zP8(7ihK`?kQ4837T)zY-3;8yCrTJzX7Ckkm5D zeh#A_%CiP2!~iWXPqvsbuclTHl&a?tRa2h;QDhB^~A+tV8~r2u3dr&d2suk z5KN!MzQaNcQkcXI5_>H$!oV7f2K^+i*_8_N2P?Xl1RzGVQ8B*2P4AguqP~jd*JU$Y zVFR+Q7mj}h{Roma9;ZL2Gg8!kX?$dV=GzWXJrVzcwJr)D`Ch z-G)P~H9iPIWuWM1OMJd(i}Uc8E=^`_FR*%Ez9rjh ztZaVupC1u3cB zb^z2tNZXd7ZpK=4Zu%~{53(~|A2eE=0{jlR4xRSd7;Ogos;un;Y2&7tPH96oO~*ez zI8u;EtOX0lbgYZznioMsH!EZ=Rit!Et;{l!IMGwQzy`jhts4ZXm$2pVQ#TV*W=+!? z<1psWfRnr>K=snf)m*9hs3bK{38YbtW&r;@|Glk~4pW`SsLG2I!19rI&>AIL)L1;3 zH5YWth%_hjjvbq>oGP=>?04hom)r0+*TC)& zD_d_$je?xq$L(YOOhQk@sehj02LH|iUU-H)po-bn7zK2lk&K}`Yc~izCO2rF_ zr!W}$6POxw0Je@{P&>lQaEeoT$vNwgal%@dr8W^#FxCAA+D^6EH`HmVavy^?~c0kX$ zpDzDW>NnsfSJ*WB7C=!SjXSdgX&iQ#Dg#iP45@ zr{vdq5m4-c_;Z2pJ&@z|)jY|^_8G_*a3uYmikPVNE6uD+C~0Z;$;Hdv3pG% z{g&0tSk-}&znDbIMwO0PrAr?;eR~qKd>yPNMngIz7c;9kuEmD%pK`z?($!1!lS%n0~j^3(FZ_wt%u52o;tEqSnaHNh~gB2aUJQYCFEM6b*y+s}TVg7R~cCc_Q zkq5vPrz?x6`Y)o8{d1&miMmkD7dxZAtymacf`)!B19fhr%EFgDq{11))h(TwaNL%6 z&zxZAZvGpnPM;zNyHDQUSa z{&rI?xg}1YXpx;bvEdEw*!M`VQ#ob~xu8W_FHmepmzZf~(fp@r$Ye|5n`BFrlBVp8 zDE(ZyY_c0|{|u${y{R2Zdv){|cS^%fxgE$WeMkpwWT5<58Ctx7|E$4j8@PM0VFHlT z*b3Ptz%AcfX4@p!Ooq-;&71ci?H0Cdb(Gf5C{dvk^|RFjd2t29aq?__3SzR!VaR>} zD#$vK^r|;#Wg~w-ovettbDgmC()yiYX3aZs5@S1I-6w{h%=a(J-}N za060mB*G!S3WbN8IV6ey?ZD6{sOn6m00Hq*OEHz^1^i(BHI|?6cwc(Bnc010$1HL{ zKq0~sNiZ~0gG6M&B*f8RNK8~C#wlvVR?Ha0%$>$?3Qf)%-1`4$QP75#NE z|I6b&=8XGrPu>9KLnkXtJdKNJGmU#R8EaUMS>SRWvz!EN!i2ZROb~s?{aNupdMX7q z!1`T!u(N7m7zR66>H@9ApdscAQ#yK{gM7q=eT8+@Ru-fHMfwr{umkrNZP^TroAX^~ za#~`<7lAwFVaS5&4Zkb%AfzF4B4zZO8-cSxeva){?j9O-%=u51Q;g+OD7&4LQQWCr z1){uEYODK|^{uJ>@*T>P7^sCjnG38sGLgni%8eTNpVw#h&ge6;i;(TtT>(_{fTv5d9`oP)qZ7hPjiL?|HP|`c z?&(Z3E5q$5-%nJ=h;3nfOH=_3>{Aj1+xs8)(3@nS&NL@+kOQRIF@MfkJEn-E7akW* zq#y)viwa2zVn%E>*_<18>vfsF128|*%m0k9<8A0|V6p#f-Fe;_-$85~N8C5zVFNFs zX$_Qe6W6B~E6UYvD(u`(T`7-83PWYwmw7pw=_@aEZek|5SH5}nEBQbL+`mchF$njw z;N_ewGdt>jlahX%pbBGyHE~t9H(xXhY3`^p7uAPfT(3n@1nWnAitIA~r#`U}AwvBU z-|Iqx5leowWCa}4ADe02)9jd43W;|~HlT#Fn0_{3nFjxtYR^}liO;M0@ z;6IHR9HJU@pF#)&Yt)62dk(XNu@moDoZUbOd$0TGv42mZGzuB_9uQ)~W=55mT`9%8 zghe@$HI8N%)5}M4P&WqKYcz&kn4*-onj&+7r10DA3f~ce4KL2e1)kT@ixKyGg@96_ zgBLk0ShT%6hgE&;df%o`V}I#lYC3Bcy{RZmikEWQeqpsd zd4y|0xXrPNvz7f|JIJLRas552y`Fk6R>?6p>0CnAHW9__6PKQSb(4I*HPD#hvgbr< zK5_jYZ>!-)ZO(5Q*T}Dqq}P_6Vu#qcQIASaXceEONW*c#IgKu7U=h8QXd`FR9vyx zxKAc$fF*rRm`;3$7p#ZnF6@VH_{Wjsf17|2cr zwKd`)6VKpyrd^I~oP%8-FENcw7d13fK0XKp2Iek}v7(^PQtOe!2dvB_mIzX!7jpFS zww7?CT#ZDEVj1{HU~}*u9vV-~a!VLWr8wduk}nj{N_D9a8w61<&L00zOkyr~&d_p! zt}t3Im97*DJm3#}5IoAZPnV}(#eQ$$l?E$<6w3>oK$ctQSKs6}D@9boKBJVgm$DK8 zQog}KfHx{$@0;{V2OD<=dUP*E_&7lf|xh*TwzGDOTDtq4E3P=M0#2m8R?v490g88cOyMlV3a6P zs6=ZLJ(e-Rv|5P%h!uZ_#y&)Gr_Cs7|3{sBX68|v=4p9+iA(6}DtSPu@Q}1xnxM*w zj8UQi7Py3&Gs)1pQ@z*Ww@2IXH;KHGRs3_L#GzQ&&yergjkOy}a@BSW@m9Bt^)ro{ z8}ACnb98KZguyq7+)_fpb9`>HK;Cs+8z)<1u7^$Qq(H+g{=FN+G!3{R;r?gTtT1z* z?)aT3f+dZipXZpQ|SepRqBI_TN)y!;(}%o^=I2SoJyic9UFg4lbWB7VT9(4w|fX12F_R~R9#22df6p=X7S)4O6&<8P0|ul1x(DBKqZ(h(i94zgns1A1q1&o~EGuCb&} z$0uB_-NDNTNZ_l5vq8u(01>9xBP}!65Le?i3iyGN;Z|B9wQY)`=tBmL?vc)8NQlD> z0gg9*KZ)*F=7PQW7UK=;kn&JZ#B0@>X;hvWbf+wuMnFUTXijYmLZkeab=2QsC&MAc z#z^-dY_mQTKURmRfCErNfiXWKGWoHX@6*@)pEoBe{NwW|$R&1Bfb>v_JKQndH`-(F zA#V%Tr4#L}BwtBt>5)}>d{YI6@U4>9YGNi4x1NQ%G5428w5 zS(s4!%TRtN4OGNR0JJ9}6p*=_d3z-$u$W`DX%3ztu%7*RC3O^*n}p4xw1@3e6A<-w z*_u`n@A2;=NRgs;@z(kU7zT!+ehe&D1+fj?4&5T&mwU(F8`wq(H)!l)-I4?aYm>jt z6Au?4-2d=a#s;{Cj9>QycoJEl^$l`2iDBfjKj}WD8l5nf0h5T=?pNqE6DX!pOeiPw z=C6v^j9~qHU-9>x+@#k(!iN4PQOLu9`@Qjv@WSwD#H)nA-5#2OUDWK*DOCPMePFN` z&Vjt^TpyRiDkckt#1E)swSvnyD1WOHCmJzT1WC$m`s@Q148js9fmx+(aka<-w@PnV zqf&}Vl?RLpps1q~b(QYzN{2f+mKLfp_DFn~R_P7ml8Pt|Y$F5}ESmMILd;}tuE3om zKq2(qoF-gOHGHqW@To{y$kNI_Py5ZTAl)N8vm`6{Ii=*}N_DjsyQe!OZY5@#a}Cite} z)*#+E4D;>!drh;0QFBccnK6%q!f1NfCOG~_e`T!|O!|l}ru8SjF9r2RcHwG!y!!N? zPDRFOX6XF>1&s-5y-RGa`OguNFd6D;-%wj8lQIm8rOUTX34QDe0(!So>gG2jODpFIEkAje7W$zXy735JnzuQnJB_A7`YpFSA|QQQR%UX6*{#&( zcwc@T`_~w4(KKBA#KcO|Z5xkjMTyWw!pH_6zam=p^{C08Xt@CrF$J~UCOtOv!EgL@ zf0wIB7iUU4(<-z#s`PcHCr242mpUQ5O+OykfeZZ&?4=Y83#q)0ftqTkd~5K;K#5rv zHzWMEm#hVErb(Jx)e8 zEL(?;k^gk7YKNg+A?}ZLjrRmsGDla^&utSY`5K-f`gE@sRa7kV8SiUqnI6!uBtt4X z0CP-ymHg9JSo=d4S4%?tu=$CCk^){FtsI;Twq#|eoJ>CognxB<2z8e5Zf>n)Cn~C5 z2#uqudO}%%9or2Q1QexqitjxBHSZ4~%fqLk zkNE5+`aX}^&s-%RCSGPu0FPifJ>j^SDJ8g4Ad*e{!BFADM0LMmv8slum$pF&wRAg@ zQkYaC<0Bp)`>3gBiJ z_m}Q`y4ER!O_sR)_&I+vl`w@{JoC+9G`Mo!W}5{lZRA!8ntGV|w@PyS#xz#F_R^JH zOs-R;i@e_!W+O$hPDs9OmBM_JpKKvQv748Tbg6?GS(tgJa24GRAl89zB{&$CjjRuT&?)E zDtiiBT}fRyFu?jgXKcnZw=5k{zP;3*tM{vzeAK$TmftjFccbOIW9@eZ_ElsgxhAJz z-E6sfFY-v;U&?{BxcnW!2J;_j!fF{^JUEo=;taye#P+(MNkMrkd5SmtyXFUyB&9@< zlY6QlG~q>e7y^hevvBxxb84k}ytC@>pq)lBML==WiZfsH$ea6U z`3mgR$wf8e7e2xToToUchh(=YjK^?yzhTK$1R7q(O#~ZJ#_FC^<=%*T$yNBoHcLx6 z71H1Vi$AxREJKD zqnguHl&;U8mcYRBuz(r#W?IhF~0qaK#3KnQ%-O(p;%TtwGL~ zL#;EiF?$pIXD>18Ey(TC4P{loBrFt$ zDos*;TsZ>ltRPu{E^Z;gK44VF)GCS!SVp=~(mR zn%cQGPp4}BaY@kSYG#9nK>PHa?g&$synoz5n4FeuX#aJ3H`htQOAuyJYiw)?*sS8iM(~NZG#@Nx&DBFaGMDk_VSq?l(bAM4-RUMB>)>}s)vw>uDk75= zBc^Z9I?5%O`t#y2^f7Tv1G?IJ?5s%imlH%`i&|H~&MRq~NBR;Y`>yqmj#*l!=ycOc zY}SIv1J#&SA60^um^qUIIWK+Z9%*UE2%SwWP2Y%fNllPz<3qV^VIb--R@^HNRT%|N zjT$&5CTK`GP4_wa5cTjiyVFROWKEym!N_~PseaI ztZy&w*j|E*aiDxY2Ph=Xl-#j{dPF#_vQ-qaMm_81GQ$+ZsYk)-2H$9rE^#vY%@@57 zQBp_r{B6w3U{~2)+PAH2N7yJAeP^uQu7NUe?iS2Hyzf~yN8|dZZHnFo1Q?fc0+QjY zI}qfhL_fMw$HWHc>E!9w9mn$iK=m3SLAdJ%^S+AtYR!Q2?Kcbn%Cu(OWq+99} zCL@oK(lK_^A+hdI399RTI%vVvz2wlneO@`VHz#2H@kb`A))u~u@{RCu7 zB=smEtDargOtK|h9WD1i8j^ApU3uuCt8Ns`W~|h<73^G*)MmM48Efg&Ur&;CdNoh~ zDVJ!A!OWIzS@SnE2Ka%j8P9Ga``oxe9WD8|@(4HDUwO`{-x@R!mJ7gOCubNB)sO7+ z-^5mp-wRETn7SFlUZ%4E?LSig(I3)4>i2uQlV3eh&zDy%~auR#iL!LMf4BlQvb7aA~w6FcuBnYtaL81eSJqX2=t+u~6I z$N!xDm@51&Epr0&1&H7}F7F}{2dVRSM(0_+t6+o;;m5R!Jb$6SK3~1 z{`=Vm_%FB@Sj68kqz%fcgW$z*L}=!FsH)%z(Xw|PJfQg)9(OG^K_6y9?`jNT*h6%$ zt!JSbLr~tj1~Bze^81|k0k3f#@H;381EBX@?^^y4zqDia70a-8)BwGG{WCd4ZZeqZny?X~$E@4I9t(vG%M#4ozdJ?Dv@J5b6;Vmjo0Ak})0{2208$A?fz zbNeof535(jeoy|Hho_QBL}OE>(nw>O$h{I@RhzkA;91JOnz>Lu0P=Ae+@=!f1A7)^ z(AXU%dp17P5*}cC2IOn!Pz3dewCsj?6l(hD>foepT6yGhzL&JF^GNB(NZZr9=C;9& z+T%B9@k3MFV((jAv*i{WhL75b zjp(qjGwPEX$n0XXb~QGbLRiwctQzMSFS~Y=852t|>Dp+H2zc^zxm1-PXYe`=9LMv! zmL0+x9D8Fcd-;c0pGDPpK>v9Hd%7%JD?=W3`oLc+Sv3_Y2)%sbLb#Y@Ern*Ojcio@ zMKHT`I}r8BAoYx0`NcW%q}^cr#s6dVOY#G{L-Y%R`G7$Cd*RbxnkM!cGeV2t0Jhj^ za()Mq(xlkhdq4++gKf+yq9}weHTjsPQuSF!?Dua5zA?1e@dKhh0r!xcE8FT;KD5ZB zVKj`|0lI2s+zBXeG{a2f@B=a5#Xc|^N_ak+nt8USk}oq-EKy$FMSY$yx-Gb-s?&x{ zDWaxYP$$TyR1WQ0W2DDYg~{jcNk6gjE}lyhe^1kJUI=*D}gpLhpOC<@Ud@D2e_R8Z<5FQ^kZXdPS*yv?75=K#z`P@PtDijE}>H z;{z7YoonKog@X6958WzDJ+9%&Tv4dx<%FP=m$5Mvpw{mozc0A9#k)P6s;V!Qn16_} zosve9+LgbdrD!SleDaRNoVM+sVi?6pE7jvX;MU@U(|!FO>wv|L>nP3ns>_r$DcHMpah zqn=TiUiSV;nsQ^LWp7By5&Hhf-O%QHx(S9K=}noE$)xGYFC^U5X4r8&KVWzd#sGO$ zbf%KZY1e8zE|sN|W(vxl9L96lPt6Qkws}P`@+4EktS(H0(aOJjzMxID%TOtbOeY-( z?qg)wxtQ7W9>ozJf0#Og%bmUtCQyCg91-Hk@L~7>6B`gV`v=O0Av(lCZx5n=V~t`} zb8st6dPQ0`H#sXz$&8L&;oNa;&cL@_47r;L?PH{rm~^?G1=5=NuAh3kniI(>_M|6E zK2t(+t9@D}*=ZH(R?&IUJsSD(jXiafdMl!jTsY(3(Pqd3z&=qpenu#5T%IX(=g-{Z z?_2zY-MH71YjqBd^M*DE+T7#!rp_z(>QA_L;u{3um=BP6g1Yw-Qt5jWx`F)yoXD>| zqw3|~N!CI^;&-A9qmgGn{c)rZ$#voq7CP^Fh+>uZ-2LVB|hXk(LI&_8t` zl@8%;3S}Da+;Hm6Ygj#pP5~A9`y+K6_GB{&{5E}7vv?21>YM-J>Ybu9i?)T^*rnv}a)mJ?2t21z>O52ZIEf zq~@1V-mx)OX?r4gl=^40juZKx6q0Ln8<#{!hGPUJQoGhMj9|>4M1Z_?>XyXhM17k) zGh>%)kangg7!rqlQ0?CX7}#a@GBu}u&jm8z_$0sHr+Vz(a*T;(X|ZhYJ7$!eC|!5Pm#2@x;P_(Q@IefGU`7+=3REu{h7Or8$sr}z?0 znHahWwu83xGbqwT6`*0Y?Y&s6Ge2nHbx!TynS>6mjE16kuScMeoIy{%q(B)6wH~Ls zE+~jc5zGWhsCLl@)HOj;S)A>5|FjhMd5=5<1klJYkv=5NjZ`dG8MpENYka3+C?vr| zJ=nxDN}hRfs>cw~wHVA`Es?vG;8#%mx3<_Y|;&6eVm?C`TK z1o(nIedQ{;@UJHsK&YM-{hCPhWzb+;do}kLz`rpTK`!MaqY<{mCaJNzu@sl4qi`gn zI1DY|f#+n4p^w>V1zy4K<>Y9SU}+`lbfWOtScw%QEwR}>6R>etq#$Jo7ZW$Fd!r>< z*ac1y7i=d0S3QVOCgQi;f>s|79Q=%*z4N3Gi04R<3oE@f%fkG-~D?W?$yapwnWe;3-b#D;Z0tz zkqf@79IGi+iIAVQMLx;&VxISo_6=eevbvbI*|SrCifOFaL_UwRt?n*+cEBi;oAj+b zl3Q%%JsiKl8+-Mh(wY2+1XV^l1UN}S;wZkE0uK*%44RXEb7^R9Dr`yw#JCdn9(g{r zYZ!Q~7R%4v2s|4Jwn!R1PCO>$MpF;cOi97e7Z*;jYckEH6=itT3zZy}j`F?aZey8! zxTFYxcG=dqz()Ir-y4D}voPc#!Juk8;uA~H#O!UHC_~CpgU;gB%XE`7rybUDgjUUT zQ&ZAWlTCcn(cPL(7ZkKMH5{?*o^Gr_+V<+!=f3u%~DYz~qXb)Q$ zqXwQTYO0kJ@<}Ca(G8#R$t1xuxa^xww;l;VKQ!U3d`hV6ujP2BkUTcRxljBD3jf0? zanoBnEipDe&HK>@m$y4*ctoY`6(em-Eb8SHKPWZ@;^@Hg!xw>fGtJwY(~uV@0TJR8 zw0z$2*Yz~X2M*E4rU2B*&eb8=M|!5Me5%9?xZVhSbIRkMf5Ia!iT6vDOdJ&|J2gfi9A4xCk(6V)~q7m=b zAJLNc?2=#k)6+Yp&Q3TIL7U-jYxgz~@}sXAAzUG470>-$X`*$Zv)7~>I{-5wjZ|Tc z)Z}s0;(|qJ(jB0*@J%!%DLh(hx0}?nZI1-65t`>|i}EL8$P01=F9YU|>)XtN_;0s995KPBiUvQTXBsOCz>QzUk5^T~uAzKg4(>>#V zd@bAW1edyumC_fR+Cx*f27oNhwB-g*r!-BI=zsj&q!AwS()sRSD0dWp28{}XNAmc& zfsqFj?K|CJWRc_sxbNT^!#-=3Kj37MX9P>!5tbuzgrvC<%@(>Jf;}?oQ%UTRCi}f8 z5El%HXohm)pk5)IJ4jW*ZAZL{)N$=$cQWH=vu=s+)w)3`{Hj_LMFCXOeopr2(U(2Y z8@9;b6!thIV4Nzv6yLYOJb*6>nh%r^@9~w@j~y0Tr(4as+9YZFQ{Pd!ukm<1=IDJB zrZBZ!@lH#p(0Lj+3K{lbBEc5ygEqsRS!r_Lz{=}h0@+DE#Hph}k5=+KCk1s8UH{VudRgxqvlki`q&h0ww-8H4hDYv1_# z8~?wVPH`0UFKjR%AnG4s59^Qi#?H}<-Z+K&6YAIhgE|}hta<*|ThnJB^*`|E$a#F6 z7X%PcH+)K;DAfPLpT5qxfOjYCCDgBFPwT?UtVWU;T!I-vleKX1bj2tg2H$UX3+x0f!`=$W^{3i%8VHK9xpGg?R%U(4i0!4*VnsQnK;Glc1A+e}WUJEb# z!GOibp($y|?3>>o&G(qIm4n{!4pA7M5)|8hsUyBmL|3N%*HcdX&N#u8FF93?^p+(% ze&0;-=|mzzkK~rdmvYF7DqF2CU%!D|Td4&t_#!RF$C0gqpQAX}ZM=?0ujNx@t2|O2 zBQc+VEqUe$-8_X0P@*@>{3gQ3e54-3RZNhUkv*A>u;NAAMN;W8!tAq8wVLd-DOqey zrzJXUZ^=3`eYnnQj*ri7vydbIO9GyjDomEcBu`&yx^YOmOBKmhfnFo?)pVK>qi(vD z1A)B2cj*xY=iIsBaJBzm*QD{-gU;41tf8}v(q%2mr99kGOS9v6de8Pr;&DUT_%O9%t0q@=Wu^i zKo#6#sa89Ez(>}24$s9;c{lHpU=38sUyWZ7h_!~{fopXen&}SK-$A!J3%A1|rl=&H z<=rHO)d5^900H^hKJ=82kp1BXT9mXEdSP-Nm~PulzC8M1kL#OFl}L8Tjb_%H)MmbA z9=!8xg2cbZC;X67Tq_6($0;u<&U$1OpXIkM|F#$&vIH*o=C%^L17Te@*sTob9;L4> z=9_W#QmiHix)Gezj31XRP1~*Cm|!2O8%VSPY3d4EfEq?>AOBdLD*iVR$u^U{kiv*y z+KE=K)2=eDA({$ntGIWn~_ed`n7>I@@#H}#??xRwM6uu;*>_^^=iB-sB57A3J28))nQfrq> zM=}Z)WiR{ayX?$Grg>>5C6^HCL^K9Es|`6>)mMISL+TSl^r?D16a6ieO6V=(zE0^r zZ^1Zhx2l$D#JIgxboCSwv+Yh28adxnvRLU8*_p$Wi2L_NhoP~KDkDMvaeHiexWE3Q z0Jux{CAr$X*R$&bafEt4VG3D@Gpd;5o%24POqD5X_rGF2}34I9t zxQ7wTegkeVwjkXbj7~k?uA?xpS#tHsR*al--mA{P5y=pn`i5)+B7^M}qW1fK*%Ad^ zglk{*W7!Oxw?S8wgtLa++0tC$>!>5Qgg<=(2^sQCC?s9+zaa~!?o)@^eSMtY0$fPM zUfAjM;2(=Zc|Adj3dzoy%XZ+b6EF7I~v7= z&lLE*>Q5jFCC{<8T<%kxB;~SC=pt6Z=}wP?Hzlfa{4*48%~2n*(1Q9o?@y@;YL)pq zIx8xP1aPO?er0vie(@lwE`of6BZ{zfuG{tZ_;YpK0bX2g(bqnJVna?S0MCT6eA#%W zYt5D{n3LILqiMYo0HKPs8FzbB3Y+VFnf2^`BSKFeVSF6jA)On-vEyrM@k+yyclm{t zx`zR}?Z0)X0h81%9Jtn;xQ8+LH};&X!*lRqk3+@EA7Nei>~EGtpUUIX}ps7fCL7twxbvV1fvje0G0=nlp;^DCDU*J8J>D;d7x z1Cx=om_JuZX`X96vl(9r^Cz9q3bjfwhn+KC+Yi|fnX&92chB?}K%%>3wU9M#y}j5( z+tT{%+f0mUyTv3KEh3rdcQIiAHxcRZ*0^4;RJ4xB0J=2yok2(}*OjewGqvMQ%`MoE z3MEqbb#V9&GSD8pb>BZ`YFO3&$FaqPuFDTy_JRX_j~|aV@6|fBH^ISay$=J-4@Hxi zA*aT>tyt|PJUd;B>N?I=4gU;-)4LV~(&DX$54ww3c<(Hq;<%f+j7r-9S_s~uYN%cgO2GW8s;#V%fBp(tCOgN{-*>br+uro{4<>-EJDUyg0Xd{)>uKWBW6VKDt zDW#BTIJH25s_Tr`{J4+S1rNnPGz5d?ew9a!RAdME6;@{(7gAAn8WaZOJt6HDhS&@= z-h@aq`{jPhOg4v!{t@+B{m3(-@xm9rblU(Yr&e6sF?dy2X4h7LHVrO4I6SL=os7QB zYqwTL<*ExSn5Sm)v6Aogf+cI~#WV!Yu(L#TTYPr9B5t|;^bvt;i2)agv?hxU=Xi4N zwPfd1CUtXf{QV9lS|#w1&>Hn9*5nLvY?2a?Fr(kPS0R-_K9_Hc*=|+TShcdl0nU+1W-rLRx&VY8VWeH$0G5sK0Fdtp0m8$vjA|ji-T{>2qXR** zxBtTI#<1o5i(v+H2%kpXmbO?!+Xois$o|@gUuF1pwz(X)I#xp~SwJ0K_OtrfDi)3A zqcf>YzSwwL;}gXMJY2(~NIRFr3bA!R1?(Hv9OV+Aor;rGzT=~yJUm@+elSdMURWp3 z;4Om6S(;T8v9Y<9q>s`ohR%$mG)2e(%{FH84AkMyg*;ad;gFJ2X-o3Vui;T) zHFIq(cuV1KEUipiWh7G+;5=&&U9r^rWlSt`K=u)W!4TFJ8>+K9AKk{ErQ}p22BGk zRkkNmP!ytSBj{&yRP=XHAIlsYTbHF1s(ZH=;g%)G|SGMT7M>wd$%8*37>q10Wc%#>t-2YBYL7Y%sdP zq8;LpqrA4t>>|_RR^CiXGqdDA)!-s#FK14=K?7@+o#I3?A(cjpsaI}?&Sn}+5y><# zHAqPzW*%JDFZqSRoK+dB`~as!ja4m%(MLr-koQ1&+H3;7#f*o!ts4lY!DzVSM8vnS zbCG|J*-ZKj2Y5q=TKkQ%`BNSgwg=3njjFph0uZ6%Jr?(dpPaW(?L9TS1jTdm z$6Ic=W)~aP>O~cNq#Xvgkfv5(O+~>1BdeMW)sArZ*UScM15S%I{SVu=BoyA!z3~UN zHb4dyqFLE`pfKHvf2zvvw@e7O%-RWBp2OL|5=@Db!`mjtFjjG==9c|S%xY7Xjm?O? zOWCpIA^@2!N^|%JK16QSV|^FHGLzZIjb7nPP%i z5dzYlK>W=qT4Vo?%qqQ`M^n9Hg{t8eGbT&DlETf++9N+y^nsKIb&t{tl{arO zB0_E=`LnknYejHkpT|C!SR7OiXG;v=98H z_FEueRuJV5R8U$W$)P_k3>foDf$Y$7Rc=>C^Z6|;QL`ncG31W$DtfjZn-;K}9-yGA z#IXE@L`(mPVccw20FVFag!AcJ?QhTW0>aZn@HQ#uaUfp3;6B2h`GWnwndukQ|Dael z_s{6vAV5GbDYl59IElS6sEO5KxPTcKE4A~V;&}oBqI0$&n1F~3r!Wi&2xd$=Lf>=A zEK;2gXWR$?DxY$c=z!Tb#et7Wod3JNHectv?M>Trrq{bJ;PdMraxeG20#xc>Mo^i- z+%OGHhsnDm-q=a0)8tx$g@3@$_>$t{?t?9nM0m`??AskR+7ox!aCc_a*8rR3%Gke3 zI!-Op5GG3w(spah*zk!!X#p21O|(`kY%Bv+OFAQk!d3kXSnG;KdtU8(kSb*Ki{lL9 z)cEJkChELGtIO2IQ@Lo(Pq;b_E+ys3-m$eo$mA1J!7J3HA(t7|P{dsATZipVW6EyH zK}Y&HcL7JK7gL%;k8F<-G61_lzxADavYvmVKTR%ipHkn< zhTveYa;RG4(_|s9J3;m_PM!G`k3MKVLG~YEf8Psr()(ElXld^=19^tN28|&SM-ajV z?qPW#8^03c`}y=083BU+jT&L(vGyBH5`It&Yrc4tk1!jnhyz4kF#2_S=VE$fy^g?w z9j0X*u>Mqa_DcncQxncB5sQTtmhcH}@>TpUpil?>eOwUA8mI}1a)4?F@p+4TLlHDa zaDm3SHJtUAH=4!_p@dJMlftG&Mzd8#RuHL7^`5iqXlBz5Dnqp#MX^9E4si~-H6m9R zVe`lB`I-m%n8X$gIw%>c|86Ff*rtAL7zN=##TZ@IyB&;0aC*OwSA7`z^?!z5sA8bL zil6x20S5vSNc0b*P2sbLK~LO|#DYu3Mn+Bu9#WPFLz+*7ilPO^OJs|pMxz~J!w8Xz zIarp~dWdE(b~Cpafg3MQbc-SpnP>W+j3c4M%V4*b2rOu0Z>}G++@`y3x>s)acmbeseXd{v+{v|JW+262#w3HagP|t8opHBFHNsKi z!dl0hsJ{=mO+}<{Q;~n4IH>eu0Rmg?RuCiK;wOI5t~M(%(kv}K;}lq`!`;W2oXPen zW5aj##Zj-zvg$DMrfO<7Sh;M>)3(IZZImln6ta)QuPCs(B@VR7*3k$Bd3CXtj~J8L ztyf#E`1bkY>zWZw;##BZ*igb%+;}y><&>KymUL%}|D!;qSw+nj+uLsVw1;?_{Xfxj|}MWWtq8=n6AVtT9peWOnYN zxcsd1DOfP&>j?d9edLrHX?(;Z4`|4NPxggz+Q>P8)(Xu!Oi-4U% zLY2LqNd?V()ob?>XLBOqkxSf^*7*`mko0pno+Al9GH^Np*D)t2Vr$mdknY!&46>d# zdVH*X2k29xL2C;dbBgsq9_B(qa5G@s_r^iy8z92L>Oq5Ro~lXqp+O`mmIf0Rq1gT$ zJVA23cSR!|fw>03Eur07c?5vd7duQC&7uxFMI9gT0sr@!;c{@oL-;3g9saBvc>n*z z1p`p_us5MIvNmvXDpE4AoBvPbqrvF30B3O8bC#4Q$xuav|JG(3lQvDi0!48^nw@&G}Rqe&;kKpc{@_Io#UbcDmtse(KKY>Hf)^BCO!Q5skTp75W2$ z65znCytU*ERf~5y#keJj25d9}h6&D8@h~)fdl^=4xqGZSM9r`8@ipPbV=gp(2Y$39 z`7f}Exe4e1RdOhw0XRK}76y%SQI?KCU-JBTm@3-OE7!!lf4=Dv;lu-&_B!;D=gPr@ zAuC0;CoUUJbjsJ*xS`$RzX!GmL^>HxMjaqrCFyERtD#{k@Okv(^8MwKgNP7GE{d5Ymq#31wgh^7 zpYYhklQthAx-Ghz+ukn0Iw!+Xj9+o+DBPnWg2>@!YQ{_Sq2*9F`)$A*#HmLKWQe)e z5QH|JOUVWd6>zOwYMk`b2%%NKGqU&AUIfHaa$VPcNmG^DsGgcqI^zaU;h@9BP1$Em zKP=<|!opC{9N-`6$2z3`(tAMt!>n_H${96k74QleS>@`dCuHwe`yI)2SgHON@WLS+ z6Dza(@K~*#YmYpkkSQDEs+$MmkH=3{MVmwDa3AXoO|8v&Eu5-CB5{2#K8kG_RCCWB zc2!A|N$3%wd^l=&I62spNDgN~wz2<BTq}SGrczxox!_lI1= zz0;ZOPg!6ONmaO_bV4}ed^*h#3Z-m%MQ{>S)ir+uFVhc+Mzc?h4#`@c&|7_=a_j?;DCwFWOk}^P^yr3A z5m3}5FQ}wkfa8bt8ff3h%katVj%*OVIQ3}NJfm&qc8*K&qidF4IHP;|lJtCLbZ@oJvHKEG~h zv2^=W((`UM7a;;3Vfwe@X0Gg>L;Ab*^@}QE!c&-!mLWj*!nl4}xV^u3se&>vD#^+? zxkzoTuOEjTqg~pn-)x^&+uKDbFG76w$)f@-v$QNOwG65*vK8D|mfKduBA}AO(OUe- zV>iw@*c_v^vYf##Er)AeU> zTp;a(Tp9ol><@{pH&?I_oqjrbF>q?iZb8I^E#&#i#+LV80pkATBDAS!nZJ09*ePOe z3(HX!G{}YLH|Z*E8P%I!yZo=k5h2)KIg6Sfsa$F}5#A`9LC%|hgi7@Fag-g-o?Pb3 zROzqq-F_`)JuL&+mQHRj$@O47wZQB&z&=j1NN0e%y@+u>K9EfFcxu!3QkLpJQbO0= zcsb%A}hnZZp@$RMYMZ za6^gCXbXcze*T=0@5H`gEb~25$Jf}Cx zx%~iMVC|$+t4W19f|j0|5qNL9RrXvjHkS7HMN}e7%MY1oJ7t6?vgn?oyD6+4kcNwY zqJIms)YLh7wl>X7x+PZZKPF_Ap+GM%B(!e0A^Q%ws(pS6W}tfGroMH zP6Fj*eLkdj_%0`;w4eTAH7gs}u_};ris$~IFp!7@NSMdA2ssqfwU<+Zpn}4m1I9=>IG;xp1ASv8&^i6a zTd=#40fhhr;qVwZGfvC7@H_o%5}Gi_)c6QB>=rB6=#6kQ)TTaPMl&#+mx7NZi8%)~ z2y&w*aL%p_fk|{(?QN_(54K$dnpFVU4Hsi@I+H}s4*FU>(dn~Ct$n$?T;15BiVD^a zjPahbu}D!_tM+)x6XpVuzbkPQ71h+KwJ^nT#QyvvxZor(5xi+`j&eE#D{I?C&CVv| zX!mI0X)(94TeqwmiMesFbP4X0=~A@hi)E}WsEXJh1VhKOIY!|d-{knD!yy1r8fbsR z+G6cwSdtlTifM@%Er+OGf`AOH*clx+9;+-VbtXy}NE;6iMumU6tDrA3l8NJl z07Zz^gO|#BoO9w7Zr!hxO3-7l!@AxBb|pHoiW+QHFbyW!DLC$kR`@%lJ^Dk`2SzjW zLaSN9v1zTqPr_KYaJeEI2^v5S6}EGG;I%PPR&`;8y}=k&v_`i~NzMEb=gzd-sWZ6d zBkOwk0^3`=teTVqqmM?3RpCnn%8H~zILeB|9sGLrLzZ)(>`K9I$Ej#mcX+@}vE7+7 zGR!t%1N+2f%b9DIZNUcXk6YBsqhxw#?>#Q=v@_D}!a43s>V(IeF9Cp@g-;O0-H&+w zq2n88;SA@|bjV&8C3ebP_%QInlhq?vbMXOnwd7HQ0@{fP9Wxy}pT&t7fP)Ckcyr>z z$;BZSdSjTyI!rH*w>#q8oN6vy2scm4?MQ@YUcm_02AEtE6MMbud0^5t*; z2GUh}hv@PZzsR@zN)Gsl8lE}-z~QU8gXQcQr9b;n`rSYCf|<2FZ0oC0_<+;?0mFxH zLbIo9_2%OnWRL}z?upw^5&U9yr_9njT5(!^wZt)HIQ%w-X?(Z*o3wbLfsbC5En`(J$UkO7`GY1r-!8}m0AiRt*y$W zMAp2yh4_i*(E!?e8<$U^Dj>j(>37m1JKJcNS{u7p3G$mbx79XJWxKPx(ZY+J1vW|y zZyLlBlwMwezzYJAHzUP3LBJ_*?Zk3Xi+?iPb-SiIf6K{5b6r043I|{-Bh-=*+G7-$ zT1V4MXc1JNQ$>bv&6ggEiGApp)mWA3wl6L&&CiG zc?E(KV=#2m&%jXEmjqqZq8=k1i2u>$?Cj**Y7ZP?tQ3S2_wiz6m<4*~t!Z6gpIdF5 zI|#grE-Y=Le72jUh-FFeXQv4;j{OeT9*^^mlEmUS4@7>ndBn=oAmFAns2OM*A5}K=Vv2Gqnem5;Gvo|dXMJX+e71O4iSa>Iwnduvt43d*6 z=km4~WU(J!SwGl9yhaarr$|h&YFE#UET0Ha?gQMG!H9Xr&4DM^4ZSNS`}9dxtE*Bko$z%xvhggi4UoF$q)|@rj=ycH{4ht$!!GPs4btmM!15XA8%Lau zBo+vsiyOS>XN!cs>r~sNiI9 zvjI(mvB=G`ZsvjJHAP$`goE3^k>FF}gKF{MztZ1WHaAH%Y;^K-qrh|7&&=n%P560> zjG+sZV%{v{f(h7KSU$syZZfuQ)1)sfKz~Q)*DcCnhg%?fYBZ+dBxL4a#Vsl?rKGYV zai|bCsXU>UH;bcHS{}BRi>6ncS4_QOH34>rG^)#Mn5_!i%0&|@EDL|$1yr18OxbKjCO0iG9?t$$4?K=r$gTVusO)DsNPzm6@CrBFb&deF0E<<;0H6?! zS%{=;1Zja&eiz7MP?K=7MS-r!JC4cEo07?bI66}(nJ%}aECTP0)?_$@r73KyDXoKX zRfH8GPg|%AiAi68OJWBce6wiyP>YRqW7JNUErgUcW57LxSai-a z#mXj2$EB?6Ts2CZCtvTU3DXsH^9{_xpBU4}lw$^Dw?t$Qq(^{MFiOyH@aGnUUDqUC zlanIr;~h)WL}xizu;!_X*f^tA1tlxYIkI4{bl`QmfIQs^4;x~1gGfY70Vmjwj3#7N zH?uyHG4ykE>(LwW%XsbhW)c^`p1<5ks&3|mjE6iR&kRm$;Y$$apHJTl_b%U|Y6$BW zfK=&-Hq2N=3Vg75G$%sMalQl7S+Ocdc7Dsdn6m^Gi@s|VfMW5O(gX)r%#AqUY?~Fs z>_FdxSP};uFM`Iu{&W&uVPIzrH*08F)eS@v_PzO-Al7VNoEMMA3BfpjpfH&fc(wN67YvCQq|R2 zy7Bn8$}JW`3DgMMi{W?brn}^SJkE~8Y2rm)gJq@=Wt)m=N|{QPSB2P;xn3e2V;Y%C zyPFch^SB)u_p`WeHTB?;O^WPdPxXfU8m*z1LmZIib03>XCzi9+%{8E7_X*lcw?l93 zNaVwi=666U__dlPMvD8IyE)@9JtLQLDdC>`56$c)SnQ zdth-MTrW$&Y}c>o0tOjT`?Qc*CRhQJYDe>wUU&LnHr%?nT5Y0dX6?ZIYqSKR0|8=UQt8>hC{dAK;aUN121DJ}D|-Ttn3 zxQ!W*r@p=kc)RRpgq?->#{-Sj6CkK)UEg|Gfeki~B+}|aK$FAahLds%kUY_UV-`{t z5P!`&s$jek0)`#^98%hhsBvoQjOadFVB`^QAMrk+TC;EpCIvN4*ZhkG<`!Pb+DCIo z`kU%(sf`UPGo<)b{AYo`ve{0tHH#kvFGg15i!}G^>-SuFi*xiR1ruL=JRuAg zB^O?B7d*mAdn84~2wrdo@WYw=cNz>=_0Ks}QgHfg07dlrF?4@~HMBERx-fjJ<1Sb{ zzmz!Np=9Toe(?m@KL;aX(}sRzV1;slF}VXzZ{KFq3nA=xV#79Ija=mx9l#9#qZQuM zW7tDTw~x~fJDY%AhMQaa2|9x?EbN+nVlQ)V=VH%(PN|b<=moDBoXp>D#U_rpEJ548 z3=TjMfP0MnfdgeYNM2mJP7w5VICM8QI7^#{wG{S zd=Xu#A5AC)_6J_R<5$wKvBA*9BaCTq8_eUNj20Q5Pf~c>5 zk6wtwr*zHF7GEivVFwtN7G|cYF1MUR`5Zbw;7~-wF{zF!WV4uwL*QN%E^R_sl_GCf z1NxOXDozh0B@6f=87wuJOlA*9fWAf5&;aI`U7;%()5(D9Sk3>n$$&x6%$g z@}bH|>S3kSHxW}qfU3Sl;4sS|PREMK3!56wSSG0m0T0@EXeNO<-83H^-7H(N)a?gv ze4h2?1HKsrt20GDDFXSXE#H~DVFsp`1^*)S1F*o^-zkB7=n#lQ>KX#6VKRD_^?t+c z0tDV`Mu0zjlmWSXrXacrFdue6U(W`9ky7Zp_#K!O55Wf-$}=>W6~Wj8aL-zbl}84vQ7ui#C}R0T5y zBoo)z|% zmJKwDq1W|j_h2$t@drhR2OykdV&A(~ruN4O1JYV)oO0bB!!$vFzCr295$)0OAA=|5 z4$UDz``%Rj;WOx9k4lfKXVgPPfI(a0+9VL=HLlw}H>s<+k2OP2rwM;MSh0xX?(99MT8DxU$2D z&Dq|Z%!#sMmNAp2L;_MHJ(9}B4#p_bnvy>nvpvyMcJtb@3Et%Of;fXXqc{WFvwm(t zbo_w)?;XR2mQqSk`2XlSm$jw3Cw@xPi&KD8p>a}X9bkT^@H@glBob6Y1EjFDvT2$c zIQ}g9vnfyYZ05Xw~ zJ|_!CgGmxxd+xft!2h}n{M=?wuwJudOOUhM-gHZO*zS7nyj%G8cys{DxLaXZK2YZ& za@XNm-h1NiB#dI;m*L)=0MtC+T}~OKcLke0KU`LI-Zp!7;@<4;Wx>0nZ{rSw{+S-| zQoreX`Y|ERG$7XALwdZ#ML`azha)z;5Yuq3Bbrmm-w#Fc!hvt&g{riaVH#-dje?H6CWt2q1D7NZ1Rx-n!mjcGED0~1` z+h8h6HQh~V=t8=U1VA14jH6Jtobjm^{layzzcjBcBjM_d<)9RIEh(k8vpghd*MRsY zdfva#0<@r=k?DNSSbd3mgHRbqsQ+r|Q%&FHQ9U2*&q-PKwy*w|XN?j5Jgc3*4yS|y zoD~U|aCrJ+mTO4Ws;TZDXZYA@vo)H4`lMa@Whz6-);FSD5&+98a<&A=8tptWZX5x+ zw?2|854Q2RQ8!XyP!swVWb$^cL7Ay+3Cod}%|Jeel$je5Ng?X2bb)+b0=9~X3@y>( z`l@Xc!MO170F$XPH_<_6>DvPnUhEHb7IME_Vx4NztIrb zWmWIdCmhKRJ-~eOGMF)@M-D0(e2ad$(vOJ5ehH*5C`%2a@-%mAXDTVSvyRBQpRJ7v zo3cMMf&de9tnh4OkPbxO;F;}NMm?Lc8WE#fKn%BqCIcqqr9W#1EXl&fmG$p9HXeDX zWKk{`ULd0S`5%9%2pS}s7O;yDsVh5t)aO3QIh&ToHovJa_8+*W&?as^^|T|x~q4wUy1|l2!*n$cQ;n^ zcDYsscxrY#Ub3TZs9%76OLxUy>H>0hO9p{pd_(BK`9|nbK9FW8UQo01$|;{kH)*2E zO~#Gi^{8LqeJgg|Z~z#@Fut+m;UXv>{)FH0Tc6=8Uy}oR7`s(}O7(vU!LVc>37|Gz z&jYA5`a`5lL7?X*%n^y&B+0U#3-Yxa*R9W1gYI*Di5M2_j18JFO(i`U3y z`C|$fzD7dk)2^h7-z0s9*duBdgt?cSb^%P4xp(s}qb%9K*bRpq&t$C^MO|#9DLN`u zXCIO=e1_nEt_llP9apnf~NF*+2!0GAKa)zQ46~Ce4mp(+Yqa z5AMvrN6P%9fhpg7YTS~IsO9RmW7uBkpq6FDlb8`v7=t%1X+`}~6D@BulQvMWAA0+h z9G9gmyS zO~HorTaSFZx&&W=a%zBt*t5uixeH)J+$JnnboE=@W}(yrqsc622rW-b=s*-~)Ro%m zwcY)(B4B%(FkSHhLlfoS2|2$qtbuMmbTR-Mp4TxBOm7ezPZnbtQ(6hl&V_cDy&v zZRCQ2rPCIp`fY?~%msjmyN46(SY_7ba?x(n?mKrCqqoX3L+>kZqn2_;AMtoJY_kaO zMPX9Kca(k+$^DjvBT0?Pw!Yt-uaxOM-Z2x!`4c>XYMRnRAS|;90zE=>!>0!G2;PO0 zh?Bqan$1zyJ0gL$X}xQ1o5pF7k(9?f8uihAY>LROmc$=gyk`t>@L5gpSt;bb!{xW> zwsC-6U?sH6RRYcp`iDpmIvVH7NUnRc=yd(n+Ji1^aclZ3?$SXI-rXo&{D zusKx~+G<9mxYF;KJj-#XzW>k3X#-4?6zKocmVb64yC>?jiUR^lQGW}lu9rK&&gIUz z6Z!|u&PQTN?*>S_kzeh)hD_QrcKg-rH>G13!6EJnVa`}b!Ly&6o@72`aX5VeK0aI# zc7Nk3+v7elNwzAGS@iX1(4o<`nv5kxZqTV>VEKMmNe?KblKm%Nl41~t&V6Oc}Ci$U=4?u~AI zX>lyhxxa-U8fPFKls~%&haQS)d|pZsy*1Bm3&+d8WtL61K^^9dw_HU%6BnbqZdHHU zJ*W9Qe49X~t(cQ+BV zO)Q60`)Y}L`QdfM?3iYOG^I+4;K2qIRyt2uHAZ)i6^#g z+nCt4ZQJRYcw%Q_+qP}nwmIRS{hxEHPVK(vtM0q5uijqoTF-K=SjKk`7Mko6a(tn_ z{jy=e$J4DfWFoxcjR8G8@EwZ1w`;6X=0S_}TYIg28<}=sofnT*10~QbbW{6sX|IjI zHdg!y{gpPcTUh8z`C27jIZL{Luz1~a;rVu?tg{5B+tfkNbdi*jAlRHk4;VPC8v8qJyS&_O_`Z&kzpS*omBG@@<%Z}~aF+QN zY!qzV*5Z?oA|9%%WA+7%9oP8y}$yU3oByNy}#N~hghd20#%b-YvFX0<;t+5YUETizmZ~;Ro zz99PZFc`o1)G7fgy%AN!-10Fh8gGvO9?WPZz=fYT|5^!IwG7TDF~dFVO<+3P1;6t8;D}r zBC(dec7=bVmQ7B@g4M5IMhz7ei*<{uRt*iw4ULVfvt!>2SUx-XYSX^4|9$$r0$A>* z#s!WDvOb=7#6i;Y(GIq$OC6_+oU&)2>1_&8oGs`x5`ezCuY)hu%G6B?K11pbmvyW2 z`Mrd|jboyudZ`6Depg@5X=S~Hq4jS!s3$EdXc2UYD3^x(7sY}?8dC0NTfk4|{%wa{Iip5~m5r7MbLj9{BLt#?oA zer^5YhYsjpXmyE>-nk6z;se;n7S+f0?zk|st#Mr{d|Kr2m)edYS{3m*xQ@-dGgur= z^s^aSkI`FIC!eJs2M}yyvnpy`(td7T=F@TU+9f9Q+$^>>lHBUqDD=74)Lh8)oW8!kqD?6r9*@t( z$Ct~)1v5#e;(BR+XG=5PiQDY!W;&YI}JPpUjT05&%Ud zIM`s}4+UDSJi=TyDqDGi3J-Es-oLIQf#Bj&^shcCCU%_21|IV1ixxo$uz|vCcqLb` zcKVo5;6~w4jis72&|b#NL&#|L;6fjdIluLQ{Ixlp{lwkI>SWpezTn=g#a#R|1QBRe z@nJ^$qF3TfxWFH!N>;kaH?WV8?Z6C58oG&=xUs(m#@(5IHT9jhIjK+Q7S33&we7Ah zXijI8UgP=0$1o@o-4YJGxX*7yW$v_!oW!YS0o;TZY;TVXp^uGWZs;mqoQJy|6mNf$ zQ65U&RkUU3KO=t@_s{!BSK5uvcxJ>MqN(t-qudjI2Ie7<)ZiW|&<=;x$N(8XDvW|5 z_LNYl2j?IOvhC|3pp+5HNYzBjw+Qa8(K`&c246ze^9k-futMKOL~LLY{wQPOfOcwh zgvIG`mFFBP<&G05&sgvuVeuI3D{$%a8SqKr@dFF8Y!@KTLyRAD!iVz5piu93m&2!mPvPc zgmF`b5}I*FhD)l9xj-T6a34<77Wfy$d`?#4`c*t(&E-zQuWZB$e=tLpc@~g zn~EvS2ry}@HFQ@hfzgv=nIFOo^5406ywm=kl@+b)>as0Mcku@mo3gJvS;;zBZ|hgEyvn94jQQga~9PF2RNFg45bn+*^C< z^fGhuaN*)%EWg?Ku@BkHwlqR?llyZJP6vr}c#0qO9}6&RNTydtH(Px4B8)sc(D+sh zlJbmxY1%!*-&1x^hqBiF?+icwvcNvggF-fKGFusyk3rKocp<&2{S zvQ6gv0P=z~(-*oar9MqeW_^<74GmziMCi2J4R0RE@3==S5|76(^d;vL+B$HtoXzuC z&mVgJO$WdRXgh`nbehjToj{WF$qBHYh~EcF%ER2d#rs8g%dQjkXXX~ku2WIEj}=Z$ z*O7Np*Bu>uqUb{$?PdMF2YsK<$2c)3?+_8-a7;G%@Q2}KNxNt6Fq&mJL4)kDnzg>C zfqY-hUpnC+Z`?(HtdUVi<9k;l#JX_5r$KrBDjSaXi^d~=|Gmk05`AAN3FJ0$LXe{A z5a6Cak&ZziolTLy2W_&SRMA4eM+RlPi^SP)r;&GzA^1c-hyoY|wvg&bpNy6QH~gQu z0MD@i`Frvv%ZcwxcRz^Fel|i2EhdMOj6DoON$xU!)?b%j{LClD+{3jNn68<-1LOw^ zm4Kw2lOu?+RsZTN>&!sDaDxQ=#GurIONiOuR9$B%+oF;dkHQ0}#=XC055`t4sg_or zLhSnZ;95j&)3F8JH{a@nP?kQ#|Ejb|WIh2$`n@Bc>MK1t1`#kZ!XHFsc0wy(!QY~( zzWM2skIGiV$s$eDb*0N``rYya=tW2_8~~P*58WK2GySD>cc4_bR!yNaZTH?}Vc`l( zMVE94_lg@$KNpn!_^BYy5=Ox)Hf64j9n5Icud*Ph<|M4<#Bs1Nn)+vhvlfdDQyqk9 z=PsOTOe8;YRN187!u&ibFNQ;>No0R(U&ikrUmW$)1dS)JF$G3U`PZc2S*}QZA^@sW zWnY>YL|;7@WTbp}sF`nA8wUy^Sz1rOGHPt#C7wVvr2h&fH3i&!?)HUDdY-Ni6STCv zVwY3g)hu^GN@?!_jLJim_F1zHF4LlW3>{aGf=^ae`X!}AHQ1#FREbdYTdz~*J+tNR z-x&>$m@wS|L+Ywp1Bl}F1tteX)k;=Yy-a5Dpp#2sD!GdU#kAeUDWq4hVM+ryh>h@b_tCiy z|JanCJ0<;*u*8Leb6nAzGF1Gf1`VyOIx#}1oP@75+jcpkT5$p?z}+#*rtgB9aa&q5 zJRFQNd%+%0RdlOqx;2`;2PlgxJ4?TZvGcq7mQW0fvHXk4P-w@{t29y=)h{a3a9PG5 zMU#%zR7wP?%(c1=tV?1kp;)X_7IiB!t>>shm7Zu#!OGj%{h%l3aJXsKj$5$$lS(sG zA-ik?0ZK%ZRX>^`ZqK@z*(h~xQ7hC~lOvGn<`v+hmRDLU;<#671xVRD?v9ObB?yZi zqOHF=2w@q#%kh{%Vf-X_lTv*|4;ey%W{sUik9{+LavVBTR*SjFsAFb|F~z+gJ*` z-Ut?t{1$xdYxv7jxBK<4(|G)Thjgt=JXjvA^fPny z=x)s4zCY$hvdjsBjUS=XNgVJ#=}s!FQ1Jgyzc4bhL~>zOV)uS zhV4Lq{%Kf8fkt*?sq59xf#Qd`@&_yTl1?)Q^tKJjM-QUOY=yn=mCBGh0ujL-7WE5B zEo13x*LK)!?wUCpLM3!lui4-Hx4d+NRFM=`$K#_)VJvo^J-x&czwY4&Ch4|+TiWPKW=yaf2avFJq4xEb~i zf-0}ti2k&eM7ZJ7uBu4!@OSzuBMC5=W^o&1+O8>P-qR22HhxEeam%Lltq6Ef3u8G# zYjNhla1VOSZDTCzY81gs^+O2WC(7&kvE#)npUl7*3kypZQPR2tYIz! zw0kxQWJ}jB4yvFh)W{oj=~wA*2a_pC(e$v?_X8c#_~E-FWYK7!Mbk$AtuX8o*i^CJ zhg1uF52;POlP3{il${9liI+IRrwGVK2;saZg}t^0p5G^P1=I3TO`~6HlU)lAIDot=vV|6_vQF zB)G$P))d8%G})x2tZ#Ir2W`9>;^UmOLFJ`}@xIF7buX#O-2Gh1#6R(&tBxe$<7|3Y z!Wwh3jy8q|U?x@gD7&fC1D%-=vId390WrSCZ0HV)Ac72yu}@H_Js+EHZk+%`^J7Ny zdBH*tkW4`^d*WcgAk?YmcbFrR>aG#@S1U!DBi2UL*a@0Wj_S6QEjPQhvqJ+rLDmws zW5#0eSwo#e-eHfdmOy7V+;;eCVzcU6*jjy2jp!>@qm}(0`~~4<{mPB$8mi9#z>ea+ za#}O7=#U%o&%#XZJN{s(sE z>{j>OOPhxnfG~v(?lJi{_$bm7c>bdpf)T;yF{lw<6hWxR9DMD(=hSYa6QCZEc2jyo z)^4^Qt&bDE$1x~y?l@qd_geY=uC6P()f zxPalW%UA~Iu-^4NKh)$p+cS)~E*J8Ke?5>wFnIh#^6+wJK|M@cRAR@`8n<)B2vpe+u9@{+4)P_Uq> z$45-;zp^gXPsOci-vZ%}zBQ}Q~3 zJ*vt>m~%beiTiV?HCvmWw(Wk1Jz?H4YkD2y_MjsVIt+IlhT2K@nrL1N9|D0L%}jP( z`=KAaV@rp}6VFsrF!f@K+u_exFt!BNOzr(DVJ^zr;aPV}$nT;+D^6GU807$sPoev^ z$K5xxRa|)AS#i!(n+KPe1uO1rX-GZSZ8oQEb@;bcF?M3mu8!65E=bMd8w1vc=NG|K z(Vb<&+wVSs$T$=Hzmzr|A*2Q&50F}49&w0Q{xMdIfiC{u!v7V|-@kU%xBbcgOVN_X z!a$tXjI-erWMAn92!R4(zCA-F!oSgf-1v%k9(-fPp0HkNeqED@sl(()4s@y9>f44a z9slI}KxCM=MOj8Y*V!Ua-3VTjkRHndvlKI;Fjo5ftXrZ0gwtZF)M4IHB;8CbjE5hg zpI-ArS&%b&NJ;!k#TXs)>y+rW-Ntv1{2EgLr|xGADNYsDJpoRn&x68i-^UvS#y|u| z=;-8~Zya3&j`1T@VMDs-8L!KvfH?N%?u~7&p}>iXAOzmT9;?$dt&X!GjMYetiFja zp@KV{EFpuklPx)1G-Ao;^k<--1}5qDCP~EQlrv(?HH`5?zukO>Tdsozd~Z#X+i5iW%P?*^@+1CfMSAyd122s4MA9G4 ztj4yabzNhEwE{Pu?#u!Ug$U!8@UDx@W;D5y3W8Amkb1MN;NyRH5#w!`KGYY?X2hTP zeO(JqSjHO3Ou?>L#={Q^r6XAyiJN<8I%B|CFaGi&4>fE{LyDfEiQekD=%>+0gl435AAO`>7Cp;MG5n5Os!z7`6%|&{uCWocV!H(Vw|H{DUV{vrD^JQ znWJqS7y956-h$c!hic`0hifjVfBF{g6p2k~1*ivTwFi=H`8CD*3JWolmd|3UY*@hh zcNOQD){v4=qQt%v?r$6z%mjw)l7`OTGT@_3(ru!*Q9F#YatELs?^$TEi?mpq#RNWo z!&1Lns@#*J@ktI$YVyk+=mf_)kEhk6wdA_k=`E3YlZ<&nV6uV5_lBJ(a0Bv&09vc| zXuvq2STld%!gYSHnJ%K99WaFIo`LS}mOklAX5C($nW$pq$gu zv)D_GRdQ01Z|5t8|BQ6yhv4zP|1C_2gH9mlL}4F9fHC>+sMfIGE!PQCn1{)hVDTxz zs87!ZcTm*Z;YKcDFqvLaI=Qr<)=;MrMLC>dD}3rwB;KnGdk~GsQRn8!ZFk?$2D>Mb zhe;r6HCF5bOp{td`|oQubKon0+D9&M#Pa&XqY+Vjk5x~*U#||+b$zzU;n`xZ@k55y zxvdNAJ1&F^wX(Rr9GX?R3bY{+P7fIWi+e6>EV-y9GalLjvx!tf;cPu6p72~+bwt#| z9BitjYFRUL%0-bCchq5d?p{k`!k87Fdbk@*1}-i8-fF9q&d}ZiFZ?uqq6?bNe=i0F zlDY>>VZMDcKuz9phQx`lUcv>mUGY9USx2O2o0vyoOx&iO3NP}z52tPIq|r+5- ztzK80f8y#3v(feXTom1L+b#SpiN=(uyt|T6F9hMoH4+Fvb@vchv+yr~2mHDDTbnSL zd(buXI-S{5Xoq(ICsr2fcBhjMOcwe*KT5y(4VUAKC&;CG4MiaJIU2`P$ua@)V>4$8 zR1OFvSVe%5rvxD{VRrzL4~RZ$U5NiPawl!EpD1k?b@$TS8M>e!=yPkg59crY;^#u( zqVC@XB7RSvAaAfeG{hG0Smo#g~v({2Uc_MXhm+*;r!U3cJQsaX#?pFR1Ak zS7$w>Zpbfd8!XLCIl5?U7?5bGyCgH(7qVS@IW9%&(<5_H zb|M?JZyGO`{sU^MOu(!YFsOjc`jMT;WE8J$`u(T~O=W_r!aq#q&o3A`zF-K}F1B+s zi;aodX(zTfWl%9;RBiJ=OG^F?f1`#ERO12W-HJGmfoI=DbjK~Ln_~Zms zC^U{DTv7o*DdAD04@$RuZixLi16~ym5y+^y)W|%$SaI)Ame4^RM~O+5XAX%SUn!ew zvcpnmxkruUf3M>&r&R56*)Kr~2D!z~askh52?^(H5HorIbVj94iJ>9ebcn*0P#=7e zP_v1O)#{-2m_Y(X!|BfdDj#e;?x56|;(Yf|V&Dx(29GPj9)OJD7kqOH*LyhYyUe~9 zj;}D6rO1n(C)KqcQ?u@uxp_Wi=doS>a2+TOl~P6@OJG%Ov%ODa4XomBcF4Lq@`wClX0&m*B=_@SvH4j(8gjB{XLl~-&RPB@5)WoQgacv*|?Z=xjA|H z=wT07yReLz{Ib#@h8nw7qF=U(u&XE+*=IkzV6eF_j>7uq1|s z)6^WCRiHPP;m&b}(N%#bp;5}yl!wC>;uY=lvYD=iSA=5%S=^1p-UTg3-wpvSN7|MI z@e3^aJBIBSk!9h5J!SDswaWGei-+wO1#kAXD%RiDgiD(ljaa&t*2&#b_mJzWy20J^ zW@gMwSzQ%b|>$|$SlIQ9=dmL7BRjXT5HxYt$;e0%$g4C2-pUvERC}9F|*A6Gt^T)aATVs-O zg11>GYPrJY=qqikD^XP(5T8 z-{%f5T0mp_=|jiO9M8R7b&G)m`w%qRJVDw)a1Xxlcbw*112T6F{)3U!-sVQe+WFC% z5=Qp18Jf~6+&yq!Q5Cb^NS%kc!rq$3k8cSt9oG?g5drSF{O})+#kin*P?xdiD1qTS z6guMmWr}ifiKGPNbJ)!5{U~(uh#0w|ZdB;!yev~c+DjbI8egCT)m{J`a)nN%3WPG0 zX*VNJjf$;k@K;49^vA0qN8^y{=@8vw_%b71rX+!k^{2}cdyQ7obGTRd?dJk-MbD<% zR7#5Tf!qzwlAfwR1CMk%c2oHMe^5A21k=~)LUDh3nEtY&%j~wc!%F-45JspjO|DKv zocL!U?AGBIZULw2!N~^TL5xc|%o!Etkga{G&m@Pst17|tM;%S(ivKp0w=!l34X*tl zt(yuCxr+LDET7Djs|-dBoWj8hq{z&#el@s*(-ww|^$)R`YEJ2NdcvVlS;v!vw6CzL z=d$;=q90dDl2@z6Z8OwGb3!!&9;P5bQ8_fQ{F{FLx3mL6 zt0NSj2c~`RUUP)(zlpEed4vG!b0M+kRfP8MSm>NdQLD#%LT!Dz_;#S&Jf0(U&4uabe<3 zRxo7=Y7Ks>;tNyA<%cE`8)lHV1{eQ*plBxLvcZa-DT$4*GtiC5DuyKy7wkk9ApVxN zmlDLbkb+yat2D3PlB<nNz~&)6Kydr`|6ua)|FP@m zjVMMVe$AyLD9MhWP&i+tH^_MVT`b^_KJEhEC;xJQZZIYhsU2zTa`BITl+(q6sEAN7MF$h78b20z!kNvtr4uRR=pPL7dM9prl*Rs zth%l)=*@*>Zg-wG+n?H|nyNZK-@?C5_H^}Wgx?@q-DpDFC2q4r+a+(qLtg^0C|}ay zkweq^MV$FlU^VKKl!HFg<Ff`*9UMd6NORI>GsGzf_Rf?JC}W1l zplSk0(!GG+kqo9&0e_*4lnj6xYtBMDSDYy8)e~tHM-a!FpOSeQZhU+fu4jwYJ5#ei zp-?&M2e@}TB5fyZ@$&693!{%4UW(P%EVLVy8M4{xUHds)_nG`NE@}ovtmC^!&DOAr zWmAmRYS}G$#4ciT+WMk)7Tr>paPnboEv+}_*HV^S|Crc`$)}!x{O$(4SZuv;z+m!J zH$XeZcub+vr)>%&7k6^_`%Y$GX)_bp*CbbS=CJ*a;C(lDu&Wr(6G1#In6B~2g+p1lfrTmNQbYnzw2?AE;4kC?UG;DeXGNnLn z7-)E0T|F}A0j3p8^JBI7Oby-WkP*#Z%t$G{!|Y6i5u;Mw1fqtkjI^b3SIT0A9EoL- z@~DItpJhs2#TD*6i&7nO>EHFuTyqrzO-4anWGDnoJ#&6V>O4SoXtY{l$YGTwB*Jcv zZG=2YZmmAua|)NsnZAbKSG$eM)Juucb`mp+gM5Q0SKCbL$);##R+m|$3o*cLjg8N_ z-=bko8*a#MgnBWoe5T?d7@X8E!9&4vqgmrf|&@bVxntKK@p@C z4_}B3Rj+-a@*v;}D$1+}{i18|FBXM2HU{}E&ukRO1R5Uuu$yoX<#;K6J_&b`MQNoL z)_t{4Zg$yb)JvPYDv6(ZhFqg6?CdYcdu~{wrO+g}4EbrK;oc%a6HQABWK&lmK zO4Ij77O{nSq&~#ykPg8TW6glPBH5)`aS2QNHM{7)l6rvt)?q#@g@a;eLC(BN27O8T z(k13Qx$gdyB&FPe3UfgdyTneTa88NT0xz{|Q|%VMToLt!OMx{4R-*FiDet+H3k%;V z=Ez0ji$d^d(93y_+ZuEH{PTT~&TPz39?2+oQ@!ru+T!Z^+}griXGs&=VlTX=2#;+_ za*!sAR3m_6oYxpXT34kP`cB5;NR=z`=QylJHpJPd)#cF8qp&HQk9)r0UAVU2d}(Yt zCd14M-jvpuI#qY>_yL=~9|8`;AS3tzd47i%Zc5Uj6KqQQ8nhFwzlp6q^vc2mdTZgD zkJZux3mR@q+@Gv!2l6>5n3Em+h6JuETeL6wrW6Ry+E!KTSD_v%AJ48tHC(~M_6y6h zeCG1&sm<8XDA4PgS71q>4D*tUHf zjAk925^%p*CEQ%N7H==wk$tdxib+8<6_>Hwxuu^!^lrqLo`e!J;c0H8_TcoR?#Jkl^ssy)so!9y@;@rE%cis9jtj+ zI>iiRYcwO%87uVE9_#c|%Vj!roiyvoeea1wHLl%Wxz1M(KEK`6aDGj~^!-_Y(gKkG44&yf#44SVBjXCyU2%8bl4(62=TN|x zZJheT?skyN%V$I5{?bd{u+uZwsPtN%b|xEjZnSRJ(+<en6F-_NE&X>j`culiacq!g-rxvsM%FLHZ<>)2KrTCm3oI;c_I9dNR^H+?lAjYO2I0$wN_^`ZFA8Xh^wTzcuT4kQH{uYSYlA;>4Qpcx8kTnp6!-B*Z)cm&(*;Zyf+K047Di^!S zpt9M8JqE=wm!^Gu0cPyM?34CPzPT` z{^F}GIs?)C4I|()2ic!mUvQCG)A}FT+&BZt)47Ts#QaWo1n>QkOM4tJz}pfAs8h_0 z9bg}~%y0d?1(np(?E~_&Sy=hzb92F!Y98n#vDU5lYoWA?Qh;J#fS=eSUqqkSL_waPvjwx7o7ipaY zfA59#5^ZXm{|4Z`#ISetg+wS$;G;;3P+su!C|yOUTSWf48^^Q>sXgK_w%pYiG|5hU zse2E1TmK5m5O(U{uS+8MeFZ=nwj(mhLh(UyoF+&Y&&35FkH@jZDK1pwMP5o(9J!O% z&m4%0)~qI*L6eH_3kphk#m0#iy;ckMnCUBn_IiUbxQaf-bX(oV2OgSxvT5x5DVk=Z zIk28tbzAxh2<#<|jz0g3OL*t>$IS9;j+BVsI_CgP(LRBZ%gIYKY^zjMbR`L{CP^X< z>z$?f#x$E*deSy)_CRu6!&)B6!jyAbmiPoza4?&n@Zj>-y~Kq064Ggn*&ex}9R3(# zxuKLEJ3++rPn~>mvU3Ttw-fH|o>!lj_IJzH2>h@H4Tyr}gSH^;&`o#OhWPxwec}PE zKD0n+^d5Ysum6)9ghDuv=d%ggW$(t@B_D_n%+u{jk>_)S{}jXxgiq8~yL``4fQYX^ z);SDu#K!m;h~A~4e+RD&WDUZrryJof$QwlGchGpB*eCqMm1K`c)2%_R;b;Q=9rw=C zZR<`rNV~nM3qc>eXs~NIpZEjb)3s{zR~8`cvaDmhX{Uwg-%g!9m4{4E6F53gtF47u zl^suTA|C@f8sZTYtyNuZRGI09-URMaho>bXsFgNxip>?ig|rKK>&e4p#cJSUxvg{B z8tq)IHdulR^DKI}Ju+wKTy01i%V2(rot$>#CU2qjWOD`21eI}{T>gg%DR)fRLlf`= zjGcme?T7Qgh@~Y7j|>un%!bn zPPQnK+?RDWY%xeSn#YI}v?vh-drVW4?~HpQAj!-;{V?ASq2V?m#*?|RQFeRwI>Il_ zhK|E1KSOmUsl}@S&9gvfVnO@mC=;NtwJytaL-1rkC!@-@Fp6ns%vqx=PZ>^3VY9^2 zOtwvAs%P3*7(pc#^TVu>;nP|z#nnqhDo(?w`03gTo81j9KK(O$6x&_4);5{7?wF!# z|5ghM*O~Kum>|U|5-f>8(Nf8Mc-YEJN?v;?Td!A5z^m`DXKB_OtrE8Q?^c*eHgIkB{DwztOu%iSch*!!*Ta}R&veWr7 z>e-!F*E5-P&}FrbT-Gx79Y*3vC_^Ppgt-~&MpGgUBt7WAxw*zD6o%Do{v?c!VOT&( zwKQQ}s$G+rAWA<&?@g)4?E~1z@0$}ZmTb#trplX!{hz@zG;fnbFwm!dMU!`{VCk$e z7i8_C;yIRh>2j)7*OZusq$yX*%18z-4V&GMar%s$F*#Lt*W6L4(hefGuSG=g2%Yff z;`EWALUj_+UDQIqpHY(Dk`ex`9lWUDG<2|2PriMGHKX~W(~D7odjTr$vyHK1IJv=| ztPei+RQ%5-(Qcl&>FwsamvL~@T#D#mA z4Yv@VXim1W)A8l9nB?T5*-|g=&{4DBR-@BV6Z5_yMl16v05>GOIlGc?8UymvCA&qT zWzSf%|}MgDC;k|oYHnN@wmo+|zdl}bCR z>*Zoi)KM?8#BA+wp>+-2QL|s)A~34HAu&*TC=O&X=I>6mKZl2PF)w%Rkf8xbD+1U4 zU!06{eUIPNz@_BO@JcM3dC4<}9(u7pB_GT2Ch}gB5>YF@ux0j6m*rq*e&%e64v$i7iT+hk?x!hn2YZ z{PX5zMJvkO*}S-A!`k#rs;XtrUbK0z0O8;-kyFzjP|}of%E^u^##-lW-?2zId7HT$ zE|k4R-(TPi46RL^ZKA0)C7exJ#~o=Z*2v+E$?2_$(wrXci()K=SKsVS1+6d7LLF)T zH945El;s{x9BRVWG$e(cd{RhKrMRCZI?J4t$74qd|bq zM=+&T5%IzwJ+*b@pQl?)GE{ntBlc%KQ;24APw6mHoIZnxsXcC9W9L> z5Ev~-WM`WmY+q4ji9M=Sz?3i32jHlMBn@vmV8&}XvTXW3R>zZd9$?K zsw=CpJgAMK*xv{drE$-Dp|6ROh+2&t;Bj<`mp>SYs;FO&-H1-Lr1gYq@EtcHI9+^^ zOe~n=d^s$!#H}O$S*Bo#Mw%<7S5X23{FBTLR8~)1`7k^xDOI3(zaYm?j5KF8T8IlBPfZYJiGRM+}b*8qD6&Egb;Tzjz|XJ{%0Oq!Ip zEHBcNYeKy7JTo98Qr1u!F*pn`NRv8iv>W4MS;HMLBk;;e^Uh%-wk;=Ffh6!VFpB5jD3?HqZ zhu%}hKsz&}Ie|FzbKz!wH`vQLG9<3(cU`ac5!1gay&R%CnW#ApxgiStk7rWu$7{z9 zquZ)vfNNvl?LCL0K&Jo=s2fAgifrI)nPf3ltVv69QmXEX7jlA3v4pYjb8Y^`xBiR5fkd~|KHK_UcDB3h zu8;=nxx}b+=A4TPp5Vc zY1!&TAP0Oy`&YqYW=l6=pF!26Hc~N7pQ2E18oA$+x?kSoIDa;oEvGK{QjNArpH~+^ zS(RN}(B6Wq&Ser*hR58~@I~MnB?_u?m)OH`QFR5^}f#S>0)y7!`$ubdWfSy*n0i;Eqz!^=GysuF%OsmgY}MZpn35`-jhR|p0~!|^@i@U99GY`R^ZytBHLZ!>z_Rl2`q1LtPKCKE8cnLUXMWUlF;!Nqk4R% z6%2%A9%h;64=_}r5%71*7m&pmsH9UiBZF&FT?09v;#zO=2Y;N~f+*TN-tAC6VC~s< zr*7CuHly7CUdz3K+c!&V87XjMUfX?#ziZ{2jq3%o7td8lqFhGaf5LRA0uhI8j=tNN z`iCErq=7mQ(Z2NS32QqBdUEI$&Osx(YkvR|_Bp%$SvN>R>n)a;*8CbVt49CkhJZcJ zk{2-Q6~9^H{TGQu&^OdV#NT6nF3HDl>o4S!L@|}JE#;#Z&2XKB;psH}i@{N@YhiC} zcK18avw0CT5K@JC^Yl#3ktKjx^3KLTO91yw@p0YSI5{Zl)%VNZskZ6qweMN6+I>E!K(#F=t>gt-6Jp+gp z+ml-`Q%Fnl)Q&@_gs5ujn3>aBT5%avvbR3M!pmHcB|T8;&05S?LMd)+eQcGp_s$i& zw6L(Zk}_hwzClADbi1-t>8NdpU-q%RRmNJxsZ$%(FX7I3R;ZEm(Q@&v0miO#EPGp(@X6OrPqnLVhD(mfAkE0 zGmKt?SVIWmnC!3lj~Cr;Olot1Q+=UB$L9Xe#CA8u?72CIWt5_RY~J$Eze zpg)d|K0UI`R}}i*v5BumgyTO0uEXj}ySzrQkK&&O4P|+gCbcNamUfJ@t1Q+)8cTnE z1|8fo4{El|F|9p^6pbt$CkV{(Q2cyMQw9YK7x>QFo8XwgyU2)&5Z|i~wXtW_%UvuH ztdK5mmYV;wFab(=NEPf4`qhs?Usf3s^^xo;`3aRaCe+ZUSgyc;?;Y*g6tdS1a*vA` z(2$9_e(_&As78#z2?vGLp&xU0BUlY7>JXcj_?FkptO7V`G4Kwvl?^cB>`ZMg?0I|n z=tl!Hdyrlp5jxC~{ouFH|Kk28to`K0=Z{y?XPjRXH zGe(#ypdy@pusmB6{0oS;m|gs;$^v8k(aW4zOPI7Wry08ud&hzDnIO)n#5A*oD{a5S zIolDa$(tXYxOqx^n#hGKS6fMIOQ=pu;b_Pm?Q(dDnhc8=RKtsB62*5gFVmiWOghB8 z%IUC5xHluA;jtGyjQ9k-|1sRa^VSKX*hXAS)Xa(v8{AS>d<~3evsofvt_%0Y*HxQ2 z?u*pi5D^8 z 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